Belajar Membuat EA Sederhana 18 Martingel
Pastian sudah mengikuti part 17 sebelumnya disiini
Pada pembahasan ali ini kita akan membuat EA yang bertype Martingel , saya rasa banyak penggemar Ea yang berjenis kelaminnya martingel heeeeeeee
Pada Ea martingel yang kita bikin ini hanya mengedit Ea sebelumnya di part 17 dan saya beri nama Jum+Donchian+v2
Seperti biasa dalam Ea martingel ada beberapa parameter tambahan bila dibanding dengan Ea non martingel, al:
Nah dari penambahan 3 parameter di atas maka kita akan membuat codingnya
Pengali lot
Ada banyak cara dalam membuat pengali lot order ini , pada bagian ini saya akan menggunakan fungsi matematika MathPow (merupakan fungsi matematika yang digunakan menghitung kelipatan).
Aturannya MathPow(double value1, double value 2)
value 1 = merupakan bilangan kelipatan
value 2 = bilangan level kelipatan
Jadi dalam hal ini kita gunakan Lots*MathPow(DiMarti,jumlahorder())
dalam hal ini pengali lot kita gunaan DiMarti
Cara lain selain dengan menggunakan MathPow adalah dengan mengalikan order lot terakhir dengan DiMarti
(lain kali kita bahas)
Nah dalam hal ini saya buat fungsinya sbb:
double xlot(int m)
Jarak antar order
Jarak antar order ini di hitung dari harga order sebelumnya sering disebut Orderopenprice.
Nah untuk menentukan besaran Orderopenprice pada order terahir perlu dibuat scrip pencacah atau untuk menghitung order openprice terahir
saya gunakan fungsi sbb:
Untuk membatasi order maka saya gunakan batasan jumlahorder(0)<Max_order , jumlahorder(1)<Max_order
Haaa wah udah hampir jadi nih .....
Nah saya aan tambahkan filter candel supaya kalau ada news panjang akan order setiap pergantian candel , dengan memanfaatan wt!=Time[0] seperti pembahasan sebelumnhya.
Terapan tambahan untuk order martingelnya saya buat sbb:
Untuk versi mt4 baru :
Nah sampai disini monggo di lihat penjelasan
Smoga bermanfaat!
Pastikan Membaca:
Belajar Membuat EA sederhana part 1
Belajar Membuat EA sederhana part 2
Belajar Membuat EA sederhana part 3
Belajar Membuat EA sederhana part 4
Belajar Membuat EA sederhana part 5
Belajar Membuat EA sederhana part 6
Belajar Membuat EA sederhana part 7
Belajar Membuat EA sederhana part 8
Belajar Membuat EA sederhana part 9
Belajar Membuat EA sederhana part 10
Belajar Membuat EA sederhana part 11
Belajar Membuat EA sederhana part 12
Belajar Membuat EA sederhana part 13
Belajar Membuat EA sederhana part 14
Belajar Membuat EA sederhana part 15
Belajar Membuat EA sederhana part 16
Belajar Membuat EA sederhana part 17
Belajar Membuat EA sederhana part 18
Belajar Membuat EA sederhana part 19
Belajar Membuat EA sederhana part 20
Belajar Membuat EA sederhana part 21
Belajar Membuat EA sederhana part 22
Pada pembahasan ali ini kita akan membuat EA yang bertype Martingel , saya rasa banyak penggemar Ea yang berjenis kelaminnya martingel heeeeeeee
Pada Ea martingel yang kita bikin ini hanya mengedit Ea sebelumnya di part 17 dan saya beri nama Jum+Donchian+v2
Seperti biasa dalam Ea martingel ada beberapa parameter tambahan bila dibanding dengan Ea non martingel, al:
- Pengali lot , sering diberi nama multiflier atau multi saja ..... atau dimarti haaa ya .. suka2 aja yang bikin.
- Jarak antar order , sering diberi nama pips atau range atau apalah suka2
- Banyaknya level order, ini merupaan batasan jumlah order masksimum
Nah dari penambahan 3 parameter di atas maka kita akan membuat codingnya
Pengali lot
Ada banyak cara dalam membuat pengali lot order ini , pada bagian ini saya akan menggunakan fungsi matematika MathPow (merupakan fungsi matematika yang digunakan menghitung kelipatan).
Aturannya MathPow(double value1, double value 2)
value 1 = merupakan bilangan kelipatan
value 2 = bilangan level kelipatan
Jadi dalam hal ini kita gunakan Lots*MathPow(DiMarti,jumlahorder())
dalam hal ini pengali lot kita gunaan DiMarti
Cara lain selain dengan menggunakan MathPow adalah dengan mengalikan order lot terakhir dengan DiMarti
(lain kali kita bahas)
Nah dalam hal ini saya buat fungsinya sbb:
double xlot(int m)
{
double ylot,dlot;
for (int i = 0; i < OrdersTotal(); i++) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic ||OrderType()!=m) continue;
dlot=OrderLots();
}
if(OrderType()==m)ylot=NR(Lots*MathPow(DiMarti,jumlahorder(m)));
return(ylot);
}
Jarak antar order
Jarak antar order ini di hitung dari harga order sebelumnya sering disebut Orderopenprice.
Nah untuk menentukan besaran Orderopenprice pada order terahir perlu dibuat scrip pencacah atau untuk menghitung order openprice terahir
saya gunakan fungsi sbb:
int trad()
{
int type,dp; double opb,ops,lastlotb,lastlots;
for (int i = 0; i < OrdersTotal(); i++) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
type=OrderType();
if(type==0)opb = OrderOpenPrice();
if(type==1)ops = OrderOpenPrice();
}
double as = opb - Jarak_order * pt;
double bi = ops + Jarak_order * pt;
if ( Ask <= as && jumlahorder(0)> 0 ) dp=1;
if ( Bid >= bi && jumlahorder(1)> 0 ) dp=2;
return(dp);
}
Banyaknya level orderUntuk membatasi order maka saya gunakan batasan jumlahorder(0)<Max_order , jumlahorder(1)<Max_order
Haaa wah udah hampir jadi nih .....
Nah saya aan tambahkan filter candel supaya kalau ada news panjang akan order setiap pergantian candel , dengan memanfaatan wt!=Time[0] seperti pembahasan sebelumnhya.
Terapan tambahan untuk order martingelnya saya buat sbb:
if(trad()==1 && wt!=Time[0] && jumlahorder(1)==0 && jumlahorder(0)<Max_order && Trade_buy && signal==2) {OrderSend(Symbol(),OP_BUY,xlot(0),Ask,3,slb, tpb,Nama_EA,Magic,0,Blue); wt=Time[0]; }
if(trad()==2 && wk!=Time[0] && jumlahorder(0)==0 && jumlahorder(1)<Max_order && Trade_sell && signal==1) {OrderSend(Symbol(),OP_SELL,xlot(1),Bid,3,sls, tps,Nama_EA,Magic,0,Red); wk=Time[0]; }
Dan untuk sedikit melihat info maka saya juga buatkan fungsi untuk membuat labelnya
void label()
{
Comment("\n ",
"\n ",
"\n ------------------------------------------------",
"\n :: =>+Jum+Donchian+v2<=",
"\n :: =>JumForex.blogspot.com<=",
"\n ------------------------------------------------",
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Leverage : 1 : ", AccountLeverage(),
"\n :: Equity : ", AccountEquity(),
"\n :: Jam Server :", Hour(), ":", Minute(),
"\n ------------------------------------------------",
"\n :: >>By: Jum69<<",
"\n ------------------------------------------------");
}
Sehingga jadinya gini dehUntuk versi mt4 baru :
Sepertinya EA ini udah layak di Coba deh untuk di Beck test ........Nah sampai disini monggo di lihat penjelasan
Smoga bermanfaat!
Pastikan Membaca:
9 komentar untuk "Belajar Membuat EA Sederhana 18 Martingel"
if(daBid) signal=2;//aturan sell
if(Jam_trade()==1){
if(SL==0)slb=0;else slb=Ask-SL*pt;
if(SL==0)sls=0;else sls=Bid+SL*pt;
if(TP==0)tpb=0;else tpb=Ask+TP*pt;
if(TP==0)tps=0;else tps=Bid-TP*pt;
if(jumlahorder(0)==0 && jumlahorder(1)==0 && Trade_buy && signal==2) {OrderSend(Symbol(),OP_BUY,NR(Lots),Ask,3,slb, tpb,Nama_EA,Magic,0,Blue);}
if(jumlahorder(0)==0 && jumlahorder(1)==0 && Trade_sell && signal==1) {OrderSend(Symbol(),OP_SELL,NR(Lots),Bid,3,sls, tps,Nama_EA,Magic,0,Red);}
}
if(trad()==1 && wt!=Time[0] && jumlahorder(1)==0 && jumlahorder(0)<max_order && Trade_buy && signal==2) {OrderSend(Symbol(),OP_BUY,xlot(0),Ask,3,slb, tpb,Nama_EA,Magic,0,Blue); wt=Time[0]; }
if(trad()==2 && wk!=Time[0] && jumlahorder(0)==0 && jumlahorder(1)<Max_order && Trade_sell && signal==1) {OrderSend(Symbol(),OP_SELL,xlot(1),Bid,3,sls, tps,Nama_EA,Magic,0,Red); wk=Time[0]; }
dihalaman 18 ini ea hanya bisa op satu arah jika terbuka buy maka ea ga bisa op sell jika masih ada op buy gimana caranya ea bisa terbuka buy dalam keadaan ada op sell dan sebaliknya
if(jumlahorder(0)==0 && Trade_buy && signal==2) {OrderSend(Symbol(),OP_BUY,NR(Lots),Ask,3,slb, tpb,Nama_EA,Magic,0,Blue);}
if( jumlahorder(1)==0 && Trade_sell && signal==1) {OrderSend(Symbol(),OP_SELL,NR(Lots),Bid,3,sls, tps,Nama_EA,Magic,0,Red);}
pada tutor ini martilnya OP lebih dari 1
nah bagaimana cara logiknya untuk martilnya cukup 1 saja
terima kasih
I just got done with a webinar with Mark and his partner, Antony, two days ago and it was AWESOME.
During the webinar MARK and ANTONY shared their secrets to success and answered questions about their new version of the GPS Forex Robot that is coming out TODAY!