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:

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);
}

  1. history orderprofit diperlukan untuk mengetahui orderprofit pada order close yang terakhir itu untung ata rugi
  2. history ordertype diperlukan untuk mengetahui type order pada order close yang terakhir itu type buy atau sell
  3. 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





untuk mt4 yang baru sbb;


Nah  begini  testnya:



Okey silahkan di test dan mudaha2an bisa digunakan untuk mendia belajar

Pastikan mengikuti:




  • 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
  • Belajar Membuat EA sederhana part 23
  • Belajar Membuat EA sederhana part 24
  • Belajar Membuat EA sederhana part 25
  • Belajar Membuat EA sederhana part 26

  • 12 komentar untuk "Belajar Membuat EA Sederhana 25 (Cut Switching)"

    1. kang jum kayakya cocognya di pakai pada kamis malam dan jumat malam saja, supaya ea hanya jalan kamis dan jumat saja mana yang harus di edit kang?

      BalasHapus
      Balasan
      1. ea ini emang cocok pada kondisi trending
        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

        Hapus
    2. Kang Saya Coba Backtest EA ini kok Mismatched Charts Errors nya kok banyak banget ya dan backtesnya lama banget...
      kira2 apanya ya...?

      BalasHapus
      Balasan
      1. lihat tab jurnalnya
        Error kodenya

        sejauh ini ea ini normal koq

        Hapus
    3. Master Jum,, salam kenal,,
      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..

      BalasHapus
    4. di part awal sebenarnya udah pernah sy bahas tentang candel
      contoh:
      if(Open[2]Close[2] && Open[1]>Close[1] ) {signal sell; close_buy;}

      BalasHapus
    5. Master, Kalau item martinya d, pengen dirubah menjadi model 1.1;2.2;3.3 ...dst gimana caranya.

      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

      BalasHapus
    6. Bagaimana contoh kode supaya ea tetap melakukan order setelah tp terpenuhi ,dan tidak melakukan order kembali jika terkena stop loss,jadi ea mesti direset kalo terkena stop loss supaya ea bisa bekerja kembali.mohon bantuannya.terimakasih

      BalasHapus
    7. pak jum, ada tidak kode untuk ea yang kyak gini,
      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

      BalasHapus
    8. salam kenal om..., blog nya sangat membantu untuk perkembangan pelajaran dalam pembuatan EA robot, saya sudah mengikuti pelajaran dari pelajaran yang ada dan sudah dapat memodifikasi...,tapi dalam hal ini saya temukan satu masalah tentang scrip ini :

      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

      BalasHapus
    9. salam kenal kang..oia gimana ya coding buat op awal manual tapi selanjutnya di lanjut ea secara otomatis dan bertipe cutswitc marti..misal open buy dg TP 100 SL 40 ,jika kena SL akan dilanjut marti sell dst..trims

      BalasHapus