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