Selasa, 25 September 2012

Belajar Membuat EA Sederhana 12

pastikan untuk mengikuti posting ini mengikuti part  11

Kali ini kita akan coba melanjutkan tentang  membuat EA sederhana yang sebelumnya sudah banyak saya bahas di post sebelumnya.
EA yang dibikin di posting ini telah saya  becktest ternyata hasilnya termasuk lumayan untuk sebuah EA sederhana, ini imagenya:
Haaaaaa menarik kan!

Langsung saja kita  EA tersebut  rulenya sbb
Untuk buy
  1. Open candel 2 dibawah MA 2 dan close candel 2  diatas MA 2
  2. Open candel 1 diatas MA 1 dan close candel diatas MA 1
  3. Harga masih di atas MA1
Untuk sell kebalikan dari buy
Hal yang lain perlu ditambahkan adalah
  1. Jam trading
  2. SL dan TP bisa di atur 0
  3. Trailing  yang bisa di atur 
  4. TF suka2 ditadak ditentukan
Nah dari rule diatas mungkin ada hal yang baru dalam EA kali ini al;

 1. TP dan SL supaya bisa di isi dengan 0

Pada  EA sebelumnya bila TP dan SL  diisi dengan 0 , maka akan error hal ini karena belum ada digunakan fasilitas untuk itu. Nah dalam supaya TP dan SL bisa diisi dengan 0 maka harus di buat variabel untuk mewakili pada harga TP maupun SL.
Untuk mudahnya harga pada Takeprofit buy saya buat ==>    double tpb, untuk takeprofit sell==>double tps , harga pada stoploss buy==> double slb dan stoploss sell==> double sls.

terlebih dahulu  dibuat deklarasi
  double slb,tpb,sls,tps,pt;
dan membuat logikanya

   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-SL*pt;
   if(TP==0)tps=0;else tps=Bid+SL*pt;
 OrderSend(Symbol(),OP_BUY,NR(Lots),Ask,3,slb, tpb,Nama_EA,Magic,0,Blue);
OrderSend(Symbol(),OP_SELL,NR(Lots),Bid,3,sls, tps,Nama_EA,Magic,0,Red);


2. Trailing

Untuk membuat script trailing ada banyak cara , tapi pada trailing yang akan kita buat ini saya buat dengan fungsi untuk perintah dengan mnggunakan void
perhatikan


void dtrailing()
{
for(int i=0; i<OrdersTotal(); i++){
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
        if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic ) continue;
        if(OrderType()==OP_BUY)  {
         if(Bid-OrderOpenPrice()>pt*TrailingStop)  {
           if((OrderStopLoss()<Bid-pt*TrailingStop) || (OrderStopLoss()==0)) {
              OrderModify(OrderTicket(),OrderOpenPrice(),Bid-pt*TrailingStop,OrderTakeProfit(),0,Green);
              return(0);
              }
              }
           }
        if(OrderType()==OP_SELL)  {
         if((OrderOpenPrice()-Ask)>(pt*TrailingStop)){
           if(OrderStopLoss()>(Ask+pt*TrailingStop) || (OrderStopLoss()==0)){
              OrderModify(OrderTicket(),OrderOpenPrice(),Ask+pt*TrailingStop,OrderTakeProfit(),0,Red);
              return(0);
              }
              }
           }
     }
  
}

void digunakan sebagai fungsi trailing  , sehingga dtrailing() harus dibuat di bawah int star()

 3. Logika buy dan sell

sesuai rule diatas maka dibuat logika sbb:


double MA2 =iMA(Symbol(),0,Pereode,0,MODE_SMA,PRICE_CLOSE ,2);
double MA1 =iMA(Symbol(),0,Pereode,0,MODE_SMA,PRICE_CLOSE ,1);
int signal;
if(Open[2]<MA2 && Close[2]>MA2 && Open[1]>MA1 && Close[1]>MA1 && Ask>MA1) signal=1;// aturan buy
if(Open[2]>MA2 && Close[2]<MA2 && Open[1]<MA1 && Close[1]<MA1 && Bid<MA1) signal=2;//aturan sell

Nah logika diatas dibuat signal =1 berarti order buy dan bila signal=2 berarti order sell

Nah siahkan dilihat hasilnya dan menambah wawasan dari EA rule diatas





EA ini sebenarnya sudah termasuk bagus bisa digunakan sebagai bahan pembelajaran
Silahkan di coba di becktes hasilnya cukup bagus untuk sebuah EA sederhana dan mungkin bisa di coba untuk di Fowardtes

dan  bila ada yang belum jelas silahkan kasih komen!
//sudah dikoreksi ada sedikit kesalahan paste //
Semoga 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


  • Tidak ada komentar:

    Posting Komentar