Download - Belajar Ea Sampai Mahir
-
7/26/2019 Belajar Ea Sampai Mahir
1/53
MQL4Kali ini di sela2 nganggur nunggu Adzan beduk heeeeeeeeeeeee
Sesuai dengan janji saya di post sebelumnya maka saya akan coba share carabelajar bikin EA sederhana .Mengingat saya bukan programer karena saya belajar otodidak dari forum2
untuk itu saya akan memaparkan dengan gaya saya bukan seperti programerkarena keterbatasan kemampuanjadilah bahasa saya mudah2an mudah dipahami
Okey!Saya mencoba mengajak rekan2 untuk sedikit belajar atau mengengal sebuah AsederhanaKarena bagi trader yang sudah lama menekuni "ore# rasanya kurang lengka$ kalaubelum bisa bikin A sendiri% meski$un itu sangat sedehana
Sudah banyak "orum2 membahas masalah bahasa m&l4 % mungkin melihat sekilastulisan huru"2 yang banyak akan $using
'a$i sebenarnya tidak juga kalau mau niat belajar (((((() enjoy aja!
Kuncinya belajar bikin A adalah tekun dan rajin bertanya!dan juga rajin ngum$ulun scri$t library scri$theeeeeeee gitumaksudnya ngum$ulun scri$t gimana ya*
tia$ A di bikin dengan $arameter2 dan seuai ketentuan yang bikin Acontoh yang sederhana adalah scri$t $erintah order+$erintah buy
OrderSend,Symbol,-%.%start/lot%Ask%0%Ask1SL3oint%Ask'33oint%56umoke5%Magic%.%7lue -
kadang adajuga ditulis se$erti ini
OrderSend,Symbol,-%O3/789%start/lot%Ask%sli$age%Ask1SL3oint%
Ask'33oint%56umoke5%Magic%.%7lue-:
sekilas beda sebenarnya sama saja;ah untuk lebih detil nanti kita bahas di $ost berikutnya
Oke;ah untuk belajar kali ini saya mulai dari setengah dasar anggab lah yang baca inisudah $ernah membuka metaeditor
dan gak usah banya teori kita langsung aja buka metaeditorkemudian (() tekan keyboardnya CTR !maka akan muncul
-
7/26/2019 Belajar Ea Sampai Mahir
2/53
3astikan $ada $ilihan #$ert Ad++1111++1111 return,.-: ?+ +111111111111111111111111111111111111111111111111111111111111111111
++ @ e#$ert start "unction @+ +111111111111111111111111111111111111111111111111111111111111111111int start,- >++1111++1111 return,.-:
-
7/26/2019 Belajar Ea Sampai Mahir
3/53
Kali ini kita akan langsung bikin A yang sudah sia$ bisa digunakan
engan rule sbbB= 7ila tidak ada order maka akan melakukan buy
2 Menggunakan '3 dan SL
Okey cuku$ sederhana sehingga in$ut $arameternya sbbB= ;ama A ( 7uy saja2 '30 SL4 LotsC Magic;umber
3ada $osting saya sebelumnya ,di $art =- sudah saya jelaskan untuk memulai KetikaMetaeditor kita sudah di buka maka tekan D'EL ; maka akan muncul jendela menu$ilihan #$ert Ad++1111
-
7/26/2019 Belajar Ea Sampai Mahir
4/53
8ntuk $enamaan ini menggunakan ty$e daya String yaitu data beru$a teks sebagaikomen Akomen ini dalam bahasa m&l ( OrderDomment,-Diri $enulisan data ty$e ini adalah di dahului dengan kata string dan dilanjutkandengan nama yang diinginkan tidak bese$asi % setelah itu Sama dengan ,$- dan
kemudiaan di beri tanda &diisi seseuai keingingan ditutu$ dengan tanda &dan'Sehingga untuk $arameter = bisa di tulis
e#tern string ;ama/A ( 57uy Saja5:
sehingga jadinyaB
#property copyright "Copyright 2012, MetaQuotes Software Corp."#property link "http:www.!etauotes.net"
e&tern string (a!a)*+ "-uy Saa"/
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
% e&pert initiali'ation function %
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
(arameter 2
'3 ( =='3 atau 'ake $roHt ini di tulis dalam bahasa m&l ( Order'ake3roHt,-8ntuk '3 ini menggunakan ty$e data int ,integer- ciri data ini data beru$a angkabilangan bulat ,tidak berkoma -
Diri $enulisan ty$e data ini didahului dengan kata intdilanjutkan dengan nama yangdiinginkan tidak berse$asi % setelah itu Sama dengan ,$- dan kemudiaan di beri ankatidak berkoma dengan tanda '
sehingga di tulisB
e&tern int 11/
(arameter )SL ( =..SL atau sto$ loss dalam bahasa m&l ditulis OrderSto$Loss,-3enulisan SL ini sama dengan '3% karena ty$e data integer ,int- sehingga aturan
$enulisan samaditulis sbbBe&tern int S 100/
Sehingga bila dimasukan ke metaeditor sbbB
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-
7/26/2019 Belajar Ea Sampai Mahir
5/53
% -uy Saa.!3 %% Copyright 2012, MetaQuotes Software Corp. %% http:www.!etauotes.net %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#property copyright "Copyright 2012, MetaQuotes Software Corp."#property link "http:www.!etauotes.net"
e&tern string (a!a)*+ "-uy Saa"/e&tern int 11/e&tern int S 100/
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% e&pert initiali'ation function %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
(arameter *Lots ( .=Lots dalam bahasa MQL ditulis ( OrderLots,-
'i$e data lots ini yang digunakan ty$e double yaitu te$e data yang bilangannyaberkomaciri nya didahului dengan kata double dilanjutkan dengan nama ,lots -yang diinginkantidak berse$asi % setelah itu Sama dengan ,$- dan kemudiaan di beri anka bolehberkoma atau tidak tanda koma disini dengan tulisan titik ,.- bukan ,+- dan diakhiridengan tanda 'sehingga ditulisBe&tern 4ou5le ots 0.1/
;ah jadi deh kita lihat hasilnyabeginiB
;ah kalau sudah jadi se$erti ini maka klik Compile dan kalau berhasil akan muncultulisanDom$ilingI7uy Sajam&4I. error,s-% . Farning,s-
caranya lihat gambar berikutB
+ +111111111111111111111111111111111111111111111111111111111111111111++@ 7uy Sajam&4 @+ +@ Do$yright 2.=2% MetaQuotes So"tFare Dor$ @+ +@ htt$B++FFFmeta&uotesnet @+ +111111111111111111111111111111111111111111111111111111111111111111G$ro$erty co$yright 5Do$yright 2.=2% MetaQuotes So"tFare Dor$5G$ro$erty link 5htt$B++FFFmeta&uotesnet5
e#tern string ;ama/A (57uy Saja5:e#tern int '3 (==:e#tern int SL (=..:e#tern double Lots (.=:
+ +111111111111111111111111111111111111111111111111111111111111111111++@ e#$ert initialization "unction @
-
7/26/2019 Belajar Ea Sampai Mahir
6/53
;ah jadi deh hasilnya kita bisa lihat di Mt4 coba kita cari di "older e#$ert maka A 7uySaja sudah terlihat tinggal dobel klik maka akan muncul $arameter A se$erti gambarberikut
Jasil ini setelah di Dom$ile dan $astikan tidak ada error7ila masih ada error maka $arameter ini gak akan muncul di mt4
Okey mudah kan*
Jeeeeeeee $asti jaFabanya Muuuuuudah!
Semoga bisa dimengerti
-
7/26/2019 Belajar Ea Sampai Mahir
7/53
Kita lanjut di $art 0
3ada $ost sebelumnya kita sudah bikin $arameter A sbbB
an kita sudah bahas 0 ty$e data yaitu string% int dan double
;ah kali ini saya akan menambahkan satu $arameter yang sering digunakan sebagai
identitas order A yaitu nomer Magic ,magicnumber- dalam bahasa m&l4 ()OrderMagic;umber,-
A$a sih sebenarnya magicnumber*
Magicnumber adalah sebagai Kt$ order atau d % loh ko& bisa K'3 ya*Karena magicnumber sering digunakan sebagai identititas order sebuah A untukmembedakan order dengan A lain% meki sebenarnya tidak hanya itu $enggunaannyabisa digunakan lebih luasuntuk mengetahui nomer magic $ada sebuah order biasanya tunjuk $ointer $adasebuah order maka disitu akan muncul angka nomer order dan nomer magiccontoh3ada image berikutnya ;umermaginya adalah = ,id =-
-
7/26/2019 Belajar Ea Sampai Mahir
8/53
;ah itu gambaran kegunaan magic number !;ah dalam $arameter A yang akan kita buat kali ini kita akan tambahkan nomor magic;omor magic ini meu$akan ty$e data int ,bilangan bulat tan$a koma-sehingga bisa dituliskan$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
% -uy Saa.!3 %% Copyright 2012, MetaQuotes Software Corp. %% http:www.!etauotes.net %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#property copyright "Copyright 2012, MetaQuotes Software Corp."#property link "http:www.!etauotes.net"
e&tern string (a!a)*+ "-uy Saa"/e&tern int 11/e&tern int S 100/e&tern 4ou5le ots 0.1/e&tern int Magic 67/
Oke tinggal di Dom$ile lagi dan di cek tidak ada errornya maka kita lihat di mt4 kalauberhasil maka akan terlihat se$erti image berikut setelah ea 7uy Saja kita attack
Si$ deh $arameter A sudah jadi !
A$a A sudah bisa jalan *Kalau jalan sih bisa saja ta$i belum bisa order heeeeeeee
;ah su$aya bisa order sesuai rules yang kita tentukan maka kita akan $rogram
3rogram kita akan tem$atkan di baFah int start,-
int start89 $$$$Disini
$$$$ return809/
;8ntuk memulai $rogram sesuai rule yaitu bila tidak ada order maka akan melakukanorder 7uy3rogram yang dibuat menggunakan o$erasiif3enulisannya dimulai dengn kata if dan di mulai tanda kurung $embuka , dan di akhiridengan tutu$ kurung-kemudian tanda Kurung kuraFal $embuka dan di akhiri tutu$kurung kuraFal $enutu$ /
Ketentuannnya B
-
7/26/2019 Belajar Ea Sampai Mahir
9/53
if, bila ada kondisi yang ditentukan - perintah yang diinginkan diakhiritanda titik koma ' /Kadang juga bisa di tulis tn$a kurung kuraFal dalam kondisi khusus ,$erintahsederhana-if, bila ada kondisi yang ditentukan - perintah yang diinginkan diakhiri tandatitik koma '
Oke deh mungkin gambarannya mudah di$ahamiSekarang kembali rules A buy saja yang akan kita buat
dimana bila tidak ada order maka A akan melakukan order buy artinya hanya ada =order buyif, tidak ada order - melakukan order buy'
tidak ada order artinya order total (.% ketentuan $enulisan sama dengan ,(- di dalamkondisi harus di tulis 2 kali , $$ -order total di dalam mt4 disediakan sebagai
-
7/26/2019 Belajar Ea Sampai Mahir
10/53
;ah hasilnya setelah dimasukkan ke dalam int start,- dan seluruhnya adalah
6angan lu$a untuk klik Compile dan $astikan tidak adaerror
Setelah sukses taha$ berikutnya adalah kita coba 7eck test untuk mengetahui a$akahA sudah bisa order
;ah silah di coba
dan saya coba 7eck tes hasilnya sbbB
'ernyata A ini sudah bisa order dan sia$ digunakan demo haaaaaaaaaa
;ah silahkan kasih komen ya kalau sudah berhail atau masih belum jelas
Kalau ternyata ada yang error berarti madih ada yang salah teliti ulang caranya dobel
klik $ada bagian yang ditunjuk
Kalau di $erhatikan $ada A yang di buat $ada $art 0 ada bebera$a kelemahan alB
= Janya bisa digunakan satu $air saja ,= $asang mata uang-
2 Janya bisa melakukan order buy
0 'idak ada batasan Faktu trading
4 'idak menggunakan indikator untuk trigernya ,$emicu ordernya-Kali ini kita bahas dulu tentang Hlter $air su$aya A yg telah kita buat di $art 0 bisadigunakan di semua $air
return,.-: ?+ +111111111111111111111111111111111111111111111111111111111111111111++ @ e#$ert start "unction @+ +111111111111111111111111111111111111111111111111111111111111111111
int start,- >++1111 i",Orders'otal,-((.-> OrderSend,Symbol,-%O3/789%Lots%Ask%0%Ask1SL3oint% A++1111 return,.-: ?+ +111111111111111111111111111111111111111111111111111111111111111111
-
7/26/2019 Belajar Ea Sampai Mahir
11/53
di $art 0 kita menggunakanBi",Orders'otal,-((.-yang dimaksud Orders'otal ini adalah jumlah semua order diadalam Mt4 dari semua$air % termasuk $ending order 6adi kalau ada = $ending buysto$ di 8E8S dan ada 2buy di N738S jadi jumlahnya 0 order% sehingga karena kita membuatkondisi Orders'otal,- ((. maka total order dihitung semua order
Ada bebera$a cara untuk membuat Hlter $air dan saya akan bahas 2 macem cara yangumum digunakan menurut bahasa sederhana
#. Cara langsung
Dara ini biasa dibuat skri$ diatas $erintah order untuk menggantikan Orders'otal,-Skri$ ini ada tinggal sim$an di library sebagai scri$ standar yang mungkin suatu saatdi$akai lagi
int Bu!lah5uy0/ int Bu!lahsell0/ for8int i0/ iA
-
7/26/2019 Belajar Ea Sampai Mahir
12/53
Kemudian i",Order'y$e,-((O3/789- 6umlahbuy:artinya membatasi order buy saja yang dihintung dinyatakan kedalam sebuah
int total(.:
-
7/26/2019 Belajar Ea Sampai Mahir
13/53
"or,int i(.: iOrders'otal,-: i-
>
OrderSelect,i%SLD'/79/3OS%MO/'EAS-:
i",OrderSymbol,-!(Symbol,- @@ OrderMagic;umber,-!(Magic @@ Order'y$e,-!(ti$e-
continue: total:
?
return,total- :
?
ni meru$akan skri$ untuk Hlter order menggunakan "ungsi
Dara menggunkan nya
jumlahorder,O3/789-ini meru$akan jumlah buy
jumlahorder,O3/SLL- ini meru$akan jumlah selljumlahorder,O3/789S'O3- ini meru$akan jumlah $ending order 7uysto$
dst
'y$e order bisa juga dinyatakan dalam bilangan
O3/789 ( .
O3/SLL ( =
O3/789LM' ( 2
O3/SLLLM' ( 0
O3/789S'O3 ( 4
O3/SLLS'O3 ( C
Sehingga
jumlahorder,O3/789- bisa ditulis jugajumlahorder,.-
demikian juga untukjumlahorder,O3/SLL- bisa ditulisjumlahorder,=-
Sehingga $ada A diatas bisa diganti
i",6umlahbuy((.- menjadii",jumlahorder,O3/789-((.- atau i",jumlahorder,.-((.-
an kalau dimasukan ke dalam Anya
-
7/26/2019 Belajar Ea Sampai Mahir
14/53
;ah silahkan di Dom$ile hasil dari $embuatan terebut bila sukses berarti A terebutsudah bisa digunakan% ta$i bila masih ada errornya maka silahkan dikoreksei ulangmulai dari aFal dan bandingkan dengan hasil di atas ,co$ykan hasil di atas ke
metaeditor -
OKe semuanyaKalau $ada A yang sudah kita buat $ada $art 4 bahFa A sudah bisa digunakan disemua $air dan telah digunakan iter $air
Kali ini kita akan menambahkan su$aya A juga bisa melakukan order sell% mengingat$ada A sebelumnya hanya melakukan order buy saja
8ntuk menambahkan Su$aya bisa order sell maka yang di$erlukan adalah skri$$erintah order sell% sbbB
OrderSend,Symbol,-%O3/SLL%Lots%7id%0%7idSL3oint% 7id1
'33oint%;ama/A%Magic%.%Eed-:
Doba bandingkan dengan $erintah order buy!Ada $erbedaan yang $erlu diketahui bahFa order buy mengacu $ada hargaberjalan Asksedangkan order sell menggunakan 7idSelisih antara Askdan bidinilah yang sering di sebut dengan spreed
3ada order buyAsk1SL3oint%Ask'33oint%
3ada order sell
7idSL3oint%
+ +111111111111111111111111111111111111111111111111111111111111111111++ @ 7uy Sajam&4 @+ + @ Do$yright 2.=2% MetaQuotes So"tFare Dor$ @+ + @ htt$B++FFFmeta&uotesnet @+ +111111111111111111111111111111111111111111111111111111111111111111G$ro$erty co$yright 5Do$yright 2.=2% MetaQuotes So"tFare Dor$5G$ro$erty link 5htt$B+ +FFFmeta&uotesnet5
e#tern string ;ama/A (57uy Saja5:e#tern int '3 (==:e#tern int SL (=..:e#tern double Lots (.=:e#tern int Magic (R:+ +111111111111111111111111111111111111111111111111111111111111111111++ @ e#$ert initialization "unction @
-
7/26/2019 Belajar Ea Sampai Mahir
15/53
7id1'33oint
an untuk membedakan Farna order disini saya gunakan blue untuk buy dan reduntuksell
;ah sekarang bagaimana untuk memasukkan $erintah order sell*
3ada A = di $art 4 bahFa menggunakan Hlter $air langung% untuk itu sudah disediakan OrderSend,Symbol,-%O3/789%Lots%Ask%0%Ask1SL3oint% Ask
i",6umlahsell((.->OrderSend,Symbol,-%O3/SLL%Lots%7id%0%7idSL3oint% 7id1'3
++1111 return,.-: ?+ +111111111111111111111111111111111111111111111111111111111111111111
-
7/26/2019 Belajar Ea Sampai Mahir
16/53
6adi deh silahkan di Dom$ile dulu kalau sukses berari A sudah bisa Order sell % artnyabila tidak order buy maka akanmmelakukan order buy dan bila tidak ada order sell
maka akan melakukan order sell sehingga A ini akan melakukan hedge ,order buy dansell secara bersamaan-
Mudah kan*
8ntuk A 2 menggunakan Hlter "ungsi sebagai berikut
Oke silahkan di coba di Dom$ile dulu dan kemudian di 7eck test % dan bila manaberhasil maka A akan kelihatan melakukan buy dan sell
emudaian hal lain yang perlu di ketahui bah3a dalam bahasa program m4l*
untuk membuat keterangan yang dimana keterangan tersebut tidak di bacasebaga program biasa nya digunakan tanda 55 untuk satu baris tetapi bila
terdiri dari banya baris digunakan tanda 56 keterangan dan diakhiri 65
Sebelum membahas tentang Hlter Faktu kita akan tambahkan tentang ty$e dataSebelum nya kita sudah bahas tentang string% int dan doubel Ada satu lagi yang seringdigunakan untuk sebagai $ilihan yaitu bool7ool ini mengahilkan nilai = bila true dan . bila "alse
6adi data ti$e ini dalam sebiah deklarasi di dahului dengan kata bool dan ditambahkankata tan$a se$asi kemudian ( ,sama dengan- dan di beri $ilihan "alse atau true dan
diakhiri dengan : ,titik koma-contohBKita mau menambahkan $ilihan untuk A sebelumnya su$aya ada $ilihan untuk buysaja atau sell saja
Kita buat deklarasi dulue#tern bool 'rade/buy( true:e#tern bool 'rade/sell( true:
int jumlahorder, int ti$e->int total(.:"or,int i(.: iOrders'otal,-: i- > OrderSelect,i%SLD'/79/3OS%MO/'EAS-: i",OrderSymbol,-!(Symbol,- @@ OrderMagic;umber,-!(Magic @@ Order'y$e,-!(ti$e total: ?
return,total-:?
-
7/26/2019 Belajar Ea Sampai Mahir
17/53
terus dimana harus ditambahkan *8ntuk menambahkan ini maka yang $erlu dicari adalah bagian triger atau $emicuordernya% yaitu i",jumlahorder,.-((.- jadinnya i",jumlahorder,.-((. 'rade/buy(( true - i",jumlahorder,=-((.- jadinya i",jumlahorder,=-((. 'rade/sell((true-
3enulisan'rade/buy(( true bisa juga ditulis'rade/buy(( = atau hanya 'rade/buySedangkan'rade/buy(("alse bisa juga ditulis'rade/buy(( . atau !'rade/buy
Kita coba masukakan kedalam Anya
;ah a di atas $ada A 2 yang menggunakan sedang kan untuk A = silahkan ditambah
akan sendiri
Setelah kita Dom$ile sukses maka kalau kita attack Anya akan tam$ak sbbB
telah kita bikin A yang bisa buy dan sell dengan tambahan $aremeter $ilihan untukterus trading buy atau sell dengan menggunakan boolian sehingga bisa digunakan$ilihan true ata "alse
Kali kita akan bahas tentang menambahkan Faktu trading
aktu trading kali ini kita bahas menggunakan Faktu trading broker ,time broker-dengan menggunkan
-
7/26/2019 Belajar Ea Sampai Mahir
18/53
kita coba tera$kan dalam $erintah A kita
if8Four89 G HH Minute89I9
if8u!lahor4er8090 HH ra4e)5uy9
-
7/26/2019 Belajar Ea Sampai Mahir
19/53
Sebelumnya kita buat deklarasi Faktu mulai dan mengakhiri trading
e&tern int Mulai)Ba! 22/
e&ter int +khir)Ba! 3/
kemudian "ungsi Faktunya sbbB
int Ba!)tra4e89
5ool tra4e false/
if8Mulai)Ba! J +khir)Ba!9
if 8Four89 J Mulai)Ba! %% Four89 A +khir)Ba!9 tra4e true/
; else
if 8Four89 J Mulai)Ba! HH Four89 A +khir)Ba!9 tra4e true/
return 8tra4e9/
;
Karena skri$ tersebut dalam bentuk "ungsi maka $enem$atannya diluar int start,-Sekilas dari skri$ tersebut menggunakan bool dalam tera$an Faktu trading dan harusbernilai = Silahkan di simak dan di telaah "ungsi terebut diatas!
untuk tera$an $enggunaanya dalam A i",6am/trade,-((=->?
Kalau kita masukkan ke dalam A 2 sbbB
0ke bro EA sudah jadi silahkan di Compile dan EA siap digunakan untuk trade.
(arameter sudah lengkap tapi mengenai pro9t dan tidaknya yang silahkan dicoba sendiri
int jumlahorder, int ti$e->int total(.:"or,int i(.: iOrders'otal,-: i- > OrderSelect,i%SLD'/79/3OS%MO/'EAS-: i",OrderSymbol,-!(Symbol,- @@ OrderMagic;umber,-!(Magic @@ Order'y$e,-!(ti$e total: ?
return,total-:?
-
7/26/2019 Belajar Ea Sampai Mahir
20/53
talah banyak kita bahas $arameter A sederhana dimana A yang sudah jadi telah bisamelakukan order buy dan sell ,hedge- secara terus menerus ketika ty$e order . dandengan $enambahan Hlter jam trading
Kelemahan $ada A yang telah kita buat sebelum adalah belum su$ort untuk broker Cdigits
8ntuk itu kali saya akan tambahkan Hlter broker C digits3erbedaan antara broker 4 digits dan C digits terletak $ada (oints
Ada banyak cara untuk membuat A agar da$at digunakan di broker C digits ta$i sayaakan beri 2 cara sederhana% alB= membuat skri$ langsung
kita buat deklarasi dulu % mengingat nilai $oint meru$akan bilangan berkoma makatermasuk ty$e data double%double $t(.:++ ini di letakkan di dklarasi
kita buat skri$ sbbB
if8igits? %% igitsI9 pt10@oint/ else ptoint/
Maksudnya adalah bila digits(0 atau digits(C maka $t ( =. # $oint else ,artinya bilatidak- maka $t ($ointdisisi$kan di baFah int init,-
jadinya
int init89 $$$$
if8igits? %% igitsI9 pt10@oint/ else ptoint/$$$$
return809/ ;
A$a maksudnya di tem$at kan disini *
int init,- ini menyim$an data saat A di attack % sebenarkan tidak mesti harusditem$atkan di dalam init,- bisa juga ditem$atkan di dalam int start,-
'erus a$a bedanya bila di tem$atkan di init,- dan di start,-*
7ila di tem$atkan di dalam init,- maka nilai $t ,$ont- akan di baca baik di dalam intstart,- mau$un diluar teta$i kalau di tem$at kan di int start,- maka diluar int start,-tidak terbaca
terus gimana cara merubahnya*
kita lihat bagian A sebelumnya yang terkait dengan $oint
if8Ba!)tra4e8919 if8u!lahor4er8090 HH ra4e)5uy9
-
7/26/2019 Belajar Ea Sampai Mahir
21/53
int total(.:"or,int i(.: iOrders'otal,-: i- > OrderSelect,i%SLD'/79/3OS%MO/'EAS-: i",OrderSymbol,-!(Symbol,- @@ OrderMagic;umber,-!(Magic @@ Order'y$e,-!(ti$e total: ?
return,total-:?
-
7/26/2019 Belajar Ea Sampai Mahir
22/53
Saya yakin tidak sulit ini tinggal di Dom$ile saja jadi deh
Mudahkan
Kali ini kita akan membahas tentang ter lotsKegunaannya ini untuk mencegah terjadinya error yang di sebabkan oleh $arameter lotsyang tidak sesuai
i $embahasan sebelumnya kita sudah banyak membahas juga tentang $enggunaan
scri$ secara langsung dan juga bisa menggunakn "ungsi 6ada $ada dasar setia$ traderdalam menuangkan kode $rogram itu $unya gaya sendiri % dan tidak mesti sama setia$
orang
;ah untuk menambahkan Hlter lots ini saya akan berbagi scri$t dalam bentuk "ungsi
yang selama ini saya gunakan% sbbB
4ou5le (D84ou5le thelot9
4ou5le !a&lots MarketKnfo8Sy!5ol89, M OrderSelect,i%SLD'/79/3OS%MO/'EAS-: i",OrderSymbol,-!(Symbol,- @@ OrderMagic;umber,-!(Magic @@ Order'y$e,-!(ti$e total: ?
return,total-:?
-
7/26/2019 Belajar Ea Sampai Mahir
23/53
;E,Lots-
Sehingga sebelumnya
if8Ba!)tra4e8919
if8u!lahor4er8090 HH ra4e)5uy9
-
7/26/2019 Belajar Ea Sampai Mahir
24/53
Setelah kita belajar di $art sebelumnya bahFa A sudah bisa order buy dan sell denganjam yang bisa disesuaikan serta order hanya terbatas masing2 = order $erty$e6adi dasar Order A sebelumnya ,triger- adalah jumlah order buy(. atau jumlah sell (
.
;ah dasar order A inilah yang $erlu dikembangkan berdasarkan keinginan
8ntuk menambah FaFaan tetntang triger ini saya akan membasar tentang :ndikator
:ndikator yang paling sederhan di dalam Mt* adalah Candelistik
Doba $erhatikan image berikutB
#. ;arga tertinggi disebut dengan ;igh
8ntuk mengetahui harga high ini dengan cara custum sbb iJigh,string Symbul %int time "rime % int shit-string symbul untuk $air yang di attack digunakan Symbul,-untuk $air langsung bisa ditulikan contoh 5N738S5 atau 58E8S5
int time"reme bisa ditentukan % coba $erhatikan
nah tinggal di$ilih aja yang mau digunakan% ta$i kalau mau membaca candel $ada A diattack maka bisa diisi dngan angka .
int shi" ini untuk menentukan kondisi candel %contoh Bbila . artinya candel saat berlangsung%bila = artinya = candel sebelum sekarang
-
7/26/2019 Belajar Ea Sampai Mahir
25/53
2 artinya 2 candel sebelum sekarang
Karena harga Jigh ini meru$akan bilangan berkoma maka termasuk ti$e data double%sehingga untuk menentukan membuat
-
7/26/2019 Belajar Ea Sampai Mahir
26/53
Dontoh dalam tera$an sebuah A yang biasanya digunakan sebagai triger
i",DloseV2W DloseV=W- > 11111order buy 11111 ?atau
i",iDlose,Symbol,-%.% 2- iDlose,Symbol,-%.% =-- > 11111order buy 11111?
artinya bila harga $enutu$an candel 2 sebelumnya lebih kecil dengan $enutu$an candel=sebelumnya maka order buy7isa juga dibuat
-
7/26/2019 Belajar Ea Sampai Mahir
27/53
'ah untuk membuat custom nya biaanya dibuat !ariabel duhulu (meskipun ini tidak wajib)$
arena !ariabel datanya biaaya berkoma maka menggunkan double$
Secara umum indikator mt4 custom indikatornya biasanya nama indikator di tambahkan huru i
didepan nama indikatornya,
"ontohnya adalah M (Mo!ing !erage)
kita buat !ariabel M, double M(saya membuat nama M)$
M ini custom indinya iM"oba perhatikan gambar beikut*
etika kita menuliskaniMa( maka Mt4 secara otomatis memberikan arahan tentang indikator
ini, ada beberapa parameter yang harus dibuat sesuai urutannya$
sepeti gambar diatas maka iMa(string symbul, int timerame, int ma+pereod, int ma+shit, intma+methot, int applied+price, int shit)
kita lihat parameter Ma berikut*
string symbul (penjelaannya sama sepeti candelitsik) bisa ditulis Symbul(), bisa juga '-.$
int timerame (penjelaannya sama sepeti candelitsik)$int ma+pereod ini merupakan data integer (tidak berkoma) sering disebut pereodenya,besarannya bisa ditulis langsung atau dibuat deklasi supaya bisa dirubah angkanya dengan
mudah , contoh*
e/tern int 0ereode+Ma$
int ma+shit , int ma+methot , int applied+price (bisa di isi langsung atau di buat deklarasi,)
int shit ini merupakan kedudukan Ma seperti halnya candelitik kalau diisi 1 artinya pada
-
7/26/2019 Belajar Ea Sampai Mahir
28/53
kedudukan yaitu nilai Ma pada candel sedang berjalan, bila diisi 2 artinya nilai Ma pada saat 2
candel sebelum sekarang dst , (bisa di isi langsung atau di buat deklarasi,)
"ontoh custom indi Ma sbb*
double M 3iM('-..,1,0ereode+Ma,1,MDE+SM,0#I"E+".SE ,2)
ataudouble M 3iM(Symbol(),1,0ereode+Ma,1,MDE+SM,0#I"E+".SE ,2)
nah contoh diatas untuk pereodenya di buat deklarasi dulue/tern int 0ereode+Ma$351
6erus gimana terapanya dalam triger &
%anyak sekali cara membuat triger menggunakan indikator Ma ini , contohnya
2$ bila harga diatas Ma maka buy dan sebaliknya bila dibawah Ma maka sell
i(sk 7 M) 8 order buy 9
i(%id : M) 8 order sell 9
5$%ila pembukaan 2 candel sebelum sekarang dibawah Ma dan penutupan di atas Ma maka buy i(pen;2< 7 M == "lose;2
-
7/26/2019 Belajar Ea Sampai Mahir
29/53
Jaaaaaa menarik kan!
Langsung saja kita A tersebut rulenya sbb8ntuk buy
= O$en candel 2 dibaFah MA 2 dan close candel 2 diatas MA 2
2 O$en candel = diatas MA = dan close candel diatas MA =
0 Jarga masih di atas MA=8ntuk sell kebalikan dari buyJal yang lain $erlu ditambahkan adalah
= 6am trading
2 SL dan '3 bisa di atur .
0 'railing yang bisa di atur
4 'P suka2 ditadak ditentukan;ah dari rule diatas mungkin ada hal yang baru dalam A kali ini al:
#. T( dan S supaya bisa di isi dengan OrderSelect,i% SLD'/79/3OS% MO/'EAS-: i" ,OrderSymbol,- !(Symbol,- @@ OrderMagic;umber,-!(Magic- continue: d$ (Order3roHt,-:?return,d$-:?
-
7/26/2019 Belajar Ea Sampai Mahir
35/53
3ada bagian ini kita akan memodiHkasi A $ada $art =4 dengan sedikit $enambahanhedge a
-
7/26/2019 Belajar Ea Sampai Mahir
36/53
Kali ini Kita akan bahas membuat A dengan indikator diluar Mt4;ah kali ini kita aan bahas membuat A dengan indikator onchian 7andsndikator ini sudah cuku$ terkenal
;ah sebelum kita coba membuat custom indiator ini% hal yang $erlu diketahui sebelummembuat custom indinya adalah mencek nilai indikator dulu % caranyaB
attack indikator ke chart di mt*tekan Ctrl =
;ah sekarang $erhatikan nilai yang ada dalam jendela tersebut!Mengingat banyanya indikator yang dibikin oleh $ara $rogramer tentu untuk membacaindikator dan menentukan nilai $erlu latihan dan sering mencoba dan mencoba!
3ada gambar di atas adalah cara menentukan indikator yang tidak ada di mt4% didahului dengan iDustom
double donci $ iCustom,Symbol,-+ Timeframe+ &!ama indiatornya&+ bufer+mode+ shift-'
Saya beri nama donci ,contoh saja- %'ime"rame bisa di sesuaikan lihat $embahasan di $art aFal;ama indikator disesuaikan dengan tanda 5 5bu"er ini tergantung indikatornya % setia$ indikator $unya bu"er berbeda1beda maksimal
jumlahnya Ycontoh kalo ada 0 bu"erdouble indi>" $ iCustom,Symbol,-+ Timeframe+ &!ama indiatornya&+ bufer#+bufer2+ bufer)+ mode+ shift-'
Mode adalah urutan nilai yang keluar dari indikatornya ,bisa di cek $ada jendela Dtrl -%ini dimulai dari . :Shi"t adalah se$erti $ada candel yang telah dibahas sebelumnya % contoh diisi . artinyacandel yang sedang berjalan% diisi = artinya candel 2 sebelumnya
Oke kita lanjut membuat custom dengan indikator onchian 7ands % namun seblum itusilahkan doFnload dulu indiatornya disini
http://www.4shared.com/rar/2Z8Fhtjm/indi_DBands.html?http://www.4shared.com/rar/2Z8Fhtjm/indi_DBands.html?http://www.4shared.com/rar/2Z8Fhtjm/indi_DBands.html? -
7/26/2019 Belajar Ea Sampai Mahir
37/53
;ah kalu sudah di doFnload silahan di attac ke Mt4 dan kemudian tekan Dtrl
3erhatikan $ada jendela data FindoFsAda 0 buah nilai % $aling atas ini adalah mode .% sedangkan di baFahnya mode = dan$aling baFah mode 2
3ada tam$ilan indiator trsebut ada 0 buah garis yaitu $aling atas merah% tengah hijaudan baFah merah8ntuk menetuan nilai 0 garis tersebut arahan $ointer ke garis tersebut!3ada garis $aling atas maka kalau di cek data FindoFs $ada saat diarahan garis merah
atas maka nilainya akan sama dengan mode .%3ada garis hijau tengah maka nilainya cocok dengan mode 0dan $ada garis baFah merah nilainya cocok dengan mode 2
;ah dari nilai diatas untu menentuan customnya
Searang kita lihat nilai bu"ernya % tekan Dtrl dan double klik $ada indikator onchian7ands % maa aan tam$il sbbB
Maka terda$at satu nilai bu"er % yaitu 3eriod
Sekarang dari data di atas kita coba buat customnyaKarena ada 0 buah modenya sehingga kita buat 0 buah nama % yaitu da% db dan dt,nama ini sebarang saja-
double da ( iDustom,Symbol,-% .%5onchian 7ands5%3eriod% .%. - :++ garis atasmodenya .double db ( iDustom,Symbol,-% .%5onchian 7ands5%3eriod% =%. - : ++ garis baFahmodenya =double dt ( iDustom,Symbol,-% .%5onchian 7ands5%3eriod% 2%. - :++ garis tengah
-
7/26/2019 Belajar Ea Sampai Mahir
38/53
modenya 2
$ada shi"t nya kebetulan saya ini . artinya candel yang sedang berjalan
8ntuk mengecek a$akah custom yang kita buat tersebut berhasil membaca nilanyamaka kita lihat dengan mman"aatkan comment
Saya coba buatkan Anya
dari A $embaca tersebut akan terlihat sbbB
Oke cuku$ mudah kan*
Oke deh yang sudah mengerti silahan dibuat Anya ya dengan mengacu $ada A $ada
$art sebelumnya% saya kira cuu$ mudah!
Semoga sukses
6angan lu$a asih komen kalau sudah berhasil !
+ +111111111111111111111111111111111111111111111111111111111111111111int start,- >++1111double da (iDustom,Symbol,-% .%5onchian 7ands5%3eriod% .%. - :++ garis atasdouble db (iDustom,Symbol,-% .%5onchian 7ands5%3eriod% =%. - :++ garis baFadouble dt (iDustom,Symbol,-% .%5onchian 7ands5%3eriod% 2%. - :++ garis tenga
Domment,5garis atas 5%da%5garis tengah 5%dt% 5garis baFah 5%db-:++1111 return,.-: ?
+ +111111111111111111111111111111111111111111111111111111111111111111
-
7/26/2019 Belajar Ea Sampai Mahir
39/53
;ah setelah kita $elajari cara membuat custom indikator onchian $ada $art
sebelumnya % maka kita akan coba bikin Anya dengan indikator tersebut9andg belum $unya indikator silahkan doFnload dulu di $art =C
Eulenya sbbB
mode trend7uy B 3ada saat harga di atas garis merah atasSell B 3ada saat harga di baFah garis merah baFah
mode redouble d$ (.:int i:"or ,i (.: i Orders'otal,-: i- > OrderSelect,i% SLD'/79/3OS% MO/'EAS-:
i" ,OrderSymbol,- !(Symbol,- @@ OrderMagic;umber,-!(Magic- continue: d$ (Order3roHt,-:?return,d$-:?
-
7/26/2019 Belajar Ea Sampai Mahir
40/53
6adi dehMudah2 an dengan gambaran A di atas akan membuka FaFasan bagi trader
semuanya
3ada $embahasan ali ini kita akan membuat A yang berty$e Martingel % saya rasabanyak $enggemar a yang berjenis kelaminnya martingel heeeeeeee
3ada a martingel yang kita bikin ini hanya mengedit a sebelumnya di $art =T dan saya
beri nama Jum+Donchian+v2
Se$erti biasa dalam a martingel ada bebera$a $arameter tambahan bila dibanding
dengan a non martingel% alB
= 3engali lot % sering diberi nama multiier atau multi saja atau dimarti haaa
ya suka2 aja yang bikin
2 6arak antar order % sering diberi nama $i$s atau range atau a$alah suka2
0 7anyaknya le
-
7/26/2019 Belajar Ea Sampai Mahir
41/53
if 8E)
-
7/26/2019 Belajar Ea Sampai Mahir
42/53
if8tra4892 HH wkEi!eP0 HH u!lahor4er8090 HH u!lahor4er819AMa&)or4er
HH ra4e)sell HH signal19
-
7/26/2019 Belajar Ea Sampai Mahir
43/53
7erbicara A martingel tentu gak ada habisnya !7anyak trader yang anti dengan A martingel ta$i juga banyak trader $enggemarmartingelJaaaaa7iasanya banyak trader yang kebetulan habis MD gara2 A martingel $asti akanmemberi sum$ah sera$ah5 asar A martingel heeeee ka$ok deh menggunakan A
martingel5
Sebagai $engguna A martingel tentu saja bagi saya A martingel meru$akan A yg$roHtabel terle$as dari kekurangan dan kelemahannya % yang $enting bisa memahamidan mem$erhitungankan risikonya tentu tidak menjadi masalah
Oke $ada $art =R ini saya akan bahas tentang A martingel sederhana denganmenggunakan 2 buah indikator yaitu zigzag dan candel mingguan
Eulesnya B%uy @
[igzag muncul dibaFah ,loFer-
Jarga di atas harga o$en candel minggu yang sedang berjalan
o$ tidak dalam candel yang sama se$erti $ada $art =Y
8ntuk sel kebalikannya!
'ambahan lain $ada A kali ini adalah menggunakan target &uety , jika target e&uety
ter$enuhi maka A berhenti trading- A yang akan kita gunakan masih sama se$erti
$ada$art =Y
Oke yang $erlu dibahas dulu adalah indikator igag;ah $ada indikator zigzagyang $erlu di$ahami adalah bahFa indikator ini berubahmengikuti harga tertinggi ,8$er- dan terendah ,loFer-Kita buat customnyaB
4ou5le upiCusto!8Sy!5ol89,0,"igag", *&tepth , *&teNiation,*&t-ackstep, M
-
7/26/2019 Belajar Ea Sampai Mahir
44/53
*&t-ackstep, M
-
7/26/2019 Belajar Ea Sampai Mahir
45/53
saja % jadi suka1suka saja!
'ambahan lain adalah target E4uety ,jika target e&uety ter$enuhi maka A berhentitrading-
e&tern 4ou5le arget)*uety 1000/
su$aya bisa data balance ketika A di attack ke chart tersim$an maka kita buat duludata balance yang ditem$atkan di baFah int init,-
int init89 5al +ccount-alance89/ return809/
;
dan untuk menghentikan ketika target ter$enuhi maka harus dibuat coding target
dibaFah int start,- % sbbB
if8arget)*uetyA+ccount*uity899 closeall809/ closeall819/ +lert8"Cek arget)*uetynya "9/ return809/ ;
Setelah di coba penampakannya sbb@
!ah silahkan di rakit sendiri dulu ya 8
Okey $ada $art ini saya akan coba bahas tentang A yang terkait dengan 3ending orderAda macam ty$e yaitu
-
7/26/2019 Belajar Ea Sampai Mahir
46/53
= 'y$e . yaitu ( 7uy
2 'y$e = yaitu ( Sell
0 'y$e 2 yaitu ( 7uylimit
4 'y$e 0 yaitu ( Selllimit
C 'y$e 4 yaitu ( 7uysto$
'y$e C yaitu ( Sellsto$
ari macam ty$e order tersebut ty$e $ending order ada 4 macam ,$astikan juga
sudah membaca $ada bagian $art aFal yang juga membahas ty$e order-
8ntuk itulah kita akan bahas ty$e $ending order
#. %uylimit
7uy limit meru$akan order $esanan dibaFah harga yang sedangan berjalan %
sehingga $ada strkur order yang $erlu durubah adalah ty$e order dan harga yang
di$esan
3erhatikan $ada order buy berikutB
-
7/26/2019 Belajar Ea Sampai Mahir
47/53
Selllimit meru$akan order $esanan di atas harga yang sedang bergerak
Se$erti halnya $ada order buylimiit bagian yg $enting adalah type order dan jarak+
;ah silahkan di banding kan
-
7/26/2019 Belajar Ea Sampai Mahir
48/53
-
7/26/2019 Belajar Ea Sampai Mahir
49/53
start)lot, -i4Barak@oint, ?, -i4 Barak@ointS@oint,-i4Barak@oint$
@oint, "", Magic, 0, De49/
atau
if8u!lahor4er8?909
-
7/26/2019 Belajar Ea Sampai Mahir
50/53
Doba $erhatikan gambar di atas $ada tanda $anah % jadi $ada jam ser
-
7/26/2019 Belajar Ea Sampai Mahir
51/53
;if8u!lahor4er8090 HH u!lahor4er81919
closeall839/ ;
sedang bagian untuk mendelet ordersto$ yang tidak tersentuh maka $ada jam tersentu
di deletcontoh jam 20
if8Four892?9 closeall839/ closeall8I9/ ;
8ntuk asesoris order 3ending sto$ B
4ou5le as +sk Barak)stop@pt/ 4ou5le 5i -i4 $ Barak)stop@pt/ if8S09sl50/else sl5as$S@pt/
if8S09sls0/else sls5iS@pt/ if809tp50/else tp5as@pt/ if809tps0/else tps5i$@pt/
7agian lain untuk membuat A libut trading hari senin adalah
ayO"eek,-!(=
;ah A jadinya sbb
;ah jadi deh
5Z n 1111111111111111111111111111111111111111111111115% 5Zn BB S$read B 5% Marketn"o,Symbol,-% MO/S3EA-% 5Z n BB Le
-
7/26/2019 Belajar Ea Sampai Mahir
52/53
Martingel yang di maksud juga mengacu $ada jarak ,range- order dan $ergantiancandel untuk mencegah terjadinya bebera$a order ketika terjadi lonjakan harga dancandel $anjang % se$erti $ada $art =Y
3enambahan coding martingelnya B
= Pungsi untuk $erintah order martingelnya
if8tra4891 HH wtEi!eP0 HH u!lahor4er8190 HH u!lahor4er809AMa&)or4er 9
-
7/26/2019 Belajar Ea Sampai Mahir
53/53
ni hasil 7'nyaB
Okey seilahkan de coba ya
i" ,!OrderSelect,i% SLD'/79/3OS% MO/'EAS-- continue: i" ,OrderSymbol,- !(Symbol,- @@ OrderMagic;umber,- !(Magic @@Order'y$e,-!(m- dlot(OrderLots,-: ?i",Order'y$e,-((m-ylot(;E,LotsMath3oF,iMarti%jumlahorder,m---:
return,ylot-:?