Belajar Membuat EA Sederhana 25 (Cut Switching)
Mungkin sudah pada ngintip di part 24
Kali ini kita akan bahas tentang EA model cut switching , saya sih juga gak begitu memahami betul tentang strategy ini tapi yang jelas ini termasuk juga EA martingel tapi untuk kondisi trending.
Ea ini setelah order maka bila floting negatif maka akan di cut loss dan dilanjutkan dengan order baru dengan arah yang berlawanan dengan memeperhitungkan kelipatan lotsnya
Nah sebenarnya bisa dibuat dengan beberapa model , tapi kali ini kita akan buat model menggunakan tidak menggunakan pending stop.
bagian triger digunakan indikator fractals
Perhatikan cara codingnya:
Kali ini kita akan bahas tentang EA model cut switching , saya sih juga gak begitu memahami betul tentang strategy ini tapi yang jelas ini termasuk juga EA martingel tapi untuk kondisi trending.
Ea ini setelah order maka bila floting negatif maka akan di cut loss dan dilanjutkan dengan order baru dengan arah yang berlawanan dengan memeperhitungkan kelipatan lotsnya
Nah sebenarnya bisa dibuat dengan beberapa model , tapi kali ini kita akan buat model menggunakan tidak menggunakan pending stop.
bagian triger digunakan indikator fractals
Perhatikan cara codingnya:
for(int d=0; d< Bars ; d++){
double up=iFractals(Symbol(),0,MODE_UPPER,d); if(up!=0 ) break;}
for(int e=0; e< Bars ; e++){
double lo=iFractals(Symbol(),0,MODE_LOWER,e);
if( lo!=0) break;}
int signal;
if(Bid > up) signal=1;// signal buy
if(Ask < lo)signal=2;//signal sell
Bagian lain yang perlu diperhatikan adalah membaca history orderprofit, ordertype dan magic number
double trad(int m)
{
double pr,op;
for (int i = 0; i < OrdersHistoryTotal(); i++) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() != Symbol()/* || OrderComment() != Nama_EA*/) continue;
if(m==1)pr=OrderProfit();
if(m==2)pr=OrderType();
if(m==3)pr=OrderMagicNumber();
}
return(pr);
}
- history orderprofit diperlukan untuk mengetahui orderprofit pada order close yang terakhir itu untung ata rugi
- history ordertype diperlukan untuk mengetahui type order pada order close yang terakhir itu type buy atau sell
- history magicnumber diperlukan untuk mengetahui membatasidan memperhitungkan level order
Untuk memperhitungkan perkalian lotsnya digunakan fungsi sbb:
double xlot()
{
double ylot,dlot;
for (int i = 0; i < OrdersHistoryTotal(); i++) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() != Symbol()/* || OrderComment() != Nama_EA */) continue;
dlot=OrderLots();
}
ylot=NR(dlot*DiMarti);
return(ylot);
}
Untuk penentuan trigernya saya coba gunakan indikator Fractals
12 komentar untuk "Belajar Membuat EA Sederhana 25 (Cut Switching)"
Pada ea diatas sudah sy beri filter hari senin no trade
DayOfWeek()>1
Kalau mau hari kamis dan jumat saja tinggal merubah
DayOfWeek()>3
gitu kira2
kira2 apanya ya...?
Error kodenya
sejauh ini ea ini normal koq
saya ingin membuat EA chandle..
Bila 2 chandle sebelumnya bul maka OP buy dan closs sell.
begitu juga ebaliknya bila chandle 2 sebelumnya ber maka OP sell dan closs buy...
cara kodingnya gimana ya master...? mohon pencerahannya... makasih..
contoh:
if(Open[2]Close[2] && Open[1]>Close[1] ) {signal sell; close_buy;}
kamsud sy jika SL OP 1 kena, maka OP 2 = lot OP1
jika SL OP 2 kena, maka OP3 = 2 lot
jika SL OP 3 kena, maka OP4 = 2 lot
dst
so deret martinya menjadi 11;22;33;44
ketika kita sell manual kemudian harga turun 5 pips ea op sell lagi, ketika turun 5 pip lagi ea op sell lagi, dan sterusnya, lotnya bertingkat pak ,0.01,0.02,0.03 , dan ketika harga naik melebihi op pertama , misal hrga op prtama 35, naik diatasnya op pertama 10pip, ea op buy dengan lot 0.01 ,dan jika naik 5 pip, ea buy , kemudian naik 5 pip lagi , ea buy lagi, dengan lot bertingkat,
ea bisa cut all posisi ketika target profit sudah tercapai , profit dlm bentuk dolar, bukan persen jg bukan pips,
ada tidak pak koding ea kyk gitu
for(int d=0; d< Bars ; d++){
double up=iFractals(Symbol(),0,MODE_UPPER,d);
if(up!=0 ) break;}
for(int e=0; e< Bars ; e++){
double lo=iFractals(Symbol(),0,MODE_LOWER,e);
if( lo!=0) break;}
int signal;
if(Bid > up) signal=1;
if(Ask < lo)signal=2;
disini saat saya compile terdapat error yang menyatakan (up) undecleration, saya sudah memperhatikan dengan seksama....tapi gak ketemu untuk perbaikannya....gmn om penyelesaiannya....terima kasih