Private Sub CommandButton1_Click()

Dim ara(1000) As Integer
Dim ara2(1000)
Dim prosentase As Integer






'koreksi
batasbawah = 0
selisihMAbefore = 0
selisihMAnow = 0
hargaclose = 0
barisku = 0
lowest = 0
himax = 0
target = 0
stoplos = 0
barcek% = 0
syaratlos% = 0
syaratarget% = 0
'koreksi selesai


On Error Resume Next
syaratlos% = TextBox5.Value
On Error Resume Next
syaratarget% = TextBox4.Value
On Error Resume Next
batasbawah = TextBox6.Value


sekak = 0
g% = 0
gg% = 0
baris% = 3
baris22% = 0
kolom% = 7
cek% = 0
datamax% = 0
pesan$ = "tidak ada tuh"



'mencari mulainya baris untuk MA
'MENGECEK jumlah data
    For cekdata = 1 To 20000
        gg = gg + 1
        data = Cells(gg, kolom + 2).Value
        If data <> "" Then Exit For
    Next cekdata
    



barisMA% = gg '+ 1




Label2.Caption = hargaclose
On Error Resume Next
xxx% = TextBox1.Value
On Error Resume Next
yyy% = TextBox2.Value
On Error Resume Next
cekt% = 0
On Error Resume Next
pipta% = xxx
On Error Resume Next
piptamin% = yyy
On Error Resume Next

'chivas88chi@yahoo.com


'checkedcandleamount% = TextBox3.Text
'targetpipatas% = TextBox4.Value
'bataspipbawah% = TextBox5.Value



ProgressBar1.Value = 1



    'MENGECEK jumlah data
    For cekdata = 1 To 20000
        gg = gg + 1
        data = Cells(baris + gg, kolom).Value
        If data = "" Then Exit For
    Next cekdata
    
    
    
    
    'siapkan properti progessbar
    ProgressBar1.Max = gg
    
    
    
    'program utama
    For w = 0 To gg  'kenapa dimulai dari nol 0--- disinyalir ada kelebihan loop
        
    
        hargaclose = Cells(baris + barisku, kolom).Value
        
        'tambahan
        selisihMAbefore = Cells(baris + barisku - 1, kolom + 3).Value
        On Error Resume Next
        selisihMAnow = Cells(baris + barisku, kolom + 3).Value
        'selisihMAnow =adalah harga close-dukurangi harga MA  pada baris = baris ditambah barisku
        'selisihMAbefore =adalah selisih MA 1 record data sebelumnya
        
        barisku = barisku + 1
        
        If selisihMAnow < 0 Then negatif = negatif + 1
        If selisihMAbefore < (selisihMAnow - batasbawah) And selisihMAnow > 0 And selisihMAnow >= pipta And selisihMAnow <= piptamin Then GoSub maxmin
         
        ' sinyal beli terjadi hanya jika close berada diatas MA antara x dan y pip
        'dan harga (close-MA) sebelumnya  lebih besar sekian pip dibawah (close dikurangi MA=+ dikurangi pip syarat) skrg
        
        ProgressBar1.Value = g
        g = g + 1
    
    'chivas88chi@yahoo.com
    
    
    Next w
    
prosentase% = (sekak / cek) * 100




Label1.Caption = cek & "  total sinyal"
Label2.Caption = sekak & "  sinyal benar"
Label3.Caption = prosentase & "  % memenuhi syarat"
Label4.Caption = barcek% & "  bar after"
Label5.Caption = gg & "  total data"
Label6.Caption = negatif & "  amount dibawah MA"


If cekt = 0 Then Label1.Caption = pesan






Label7.Caption = batasbawah






Exit Sub


'Label1.Caption = "tidak ada yg sesuai"










'prosedur pengecekan sekian bar sesudah harga close yg disyaratkan
maxmin:



        cekt% = 10000
        cek = cek + 1
        kolom = 7
        barcek% = TextBox3.Value 'jumlah bar yg dicek sejak terjadinya range tertentu close dengan MA
        On Error Resume Next
        hi = kolom - 2
        lo = kolom - 1
        go = 0
        go2 = 0
        
        hargaclosepatokan = Cells(baris + barisku, kolom).Value
        
               'simpan data hi ke aray
                For nex = 1 To barcek
                         
                        ara(nex) = Cells(baris + barisku + go, hi).Value
                        go = go + 1
                Next
                    
                    
                    
               'menyimpan data lo ke aray
                For nex = 1 To barcek
                         
                        ara2(nex) = Cells(baris + barisku + go2, lo).Value
                        go2 = go2 + 1
                Next
        
        
        
        'mencari harga tertingi di hi
        
        For nex = 1 To barcek
        
            patokan = ara(nex)
            
                For nexa = 1 To barcek
                
                    mark = ara(nexa)
                    If mark > patokan Then patokan = mark
                    patokan = patokan
                
                Next
            
            himax = patokan
        
        Next
        
        
        'mencari harga terendah sekian barcek setelah harga close yg disyaratkan
        
        For nex = 1 To barcek
        
            patokan2 = ara2(nex)
            
                For nexa = 1 To barcek
                
                    mark2 = ara2(nexa)
                    If mark2 < patokan2 Then patokan2 = mark2
                    patokan2 = patokan2
                
                Next
            'chivas88chi@yahoo.com
            lowest = patokan2
        
        Next
        
        
        'uji data untuk uptrend
        
        stoplos = 0
        target = 0
        stoplos = hargaclose - lowest
        target = himax - hargaclose
        If stoplos < syaratlos And target > syaratarget Then sekak = sekak + 1
        
                        'For n = 1 To 4
                         '   sdata(nex) = Cells(mbar + xx + n, kolomMin).Value            'baris ke n kolom ke 1
                        
                            'For nn = 1 To 4
                         '   sdata2(nn) = Cells(mbar + xx + nn, kolomMin).Value     'baris ke nn kolom ke 1
                          '  If sdata(n) <>= sdata2(nn) Then sdata(n) = sdata2(nn) Else sdata(n) = sdata(n)
		'chivas88chi@yahoo.com

                           ' Next nn
                            '
                            'datamin = sdata(n)
                                   
                       ' Next n
        
        'For nex2 = 0 To barcek
             '  ara(nex2) = Cells(baris22 + nex2, hi).Value
              ' If ara(nex) < ara2(nex2) Then ara(nex) = ara2(nex2) Else ara(nex) = ara(nex)
            'Next
            'datamax% = ara(nex)

Return


  






End Sub


Private Sub CommandButton2_Click()
End
End Sub

Private Sub CommandButton3_Click()

TextBox1.Text = 2
TextBox2.Text = 5
TextBox3.Text = 1
TextBox4.Text = 25
TextBox5.Text = 19
TextBox6.Text = 47

End Sub

Private Sub CommandButton4_Click()

TextBox1.Value = "close price sekian pip diatas SMA-c 7 min"
TextBox2.Value = "close price sekian pip diatas SMA-c 7 max"
TextBox3.Value = "jumlah candle yg dicek setelah close-nya"
TextBox4.Value = "target pip keatas minimal"
TextBox5.Value = "stop los pip kebawah maximal"
TextBox6.Value = "MA-close-pip??-predesessor"


End Sub

Private Sub UserForm_Click()

End Sub