Sekarang kita membuat fungsi move to breakevent. fungsi ini gunanya untuk memindahkan stoploss ke brak event point.
//+------------------------------------------------------------------+ //| move to break event | //+------------------------------------------------------------------+ void breakevent() // we check our opened order to see { // posibility to move its stoploss double stoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL); // stoplevel for(int i=OrdersTotal()-1; i>=0; i--) // lets scan all order and position { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); // is this our order? if(OrderSymbol()!=Symbol() || // if symbol of order didn't match OrderMagicNumber()!=MagicNumber) // with current chart symbol continue; // or the magic numb of order // didn't match with our magic // number, it is not our's if(OrderType()==OP_BUY) // order type need to be identified { // in order price selection (bid or ask) if( OrderStopLoss()>=OrderOpenPrice() // common calculation ) break; if( Bid>=OrderOpenPrice()+(stoplevel+LockedPips)*pt ) // common price calculation { OrderModify( // moving stoploss OrderTicket(), OrderOpenPrice(), OrderOpenPrice()+ LockedPips*pt, OrderTakeProfit(), CLR_NONE); } } if(OrderType()==OP_SELL) { if( OrderStopLoss()<=OrderOpenPrice() // common calculation ) break; if( Ask<=OrderOpenPrice()-(stoplevel+LockedPips)*pt ) // common price calculation { OrderModify( // moving stoploss OrderTicket(), OrderOpenPrice(), OrderOpenPrice()- LockedPips*pt, OrderTakeProfit(), CLR_NONE); } } } }
next code: code ini saya namakan order management karena sesuai dengan fungsinya yaitu memanage order dari EA ini.
selanjutnya kita mendayagunakan fungsi ini() yang direferensikan oleh mql4. satu kode yang biasa kita letakkan dalam fungsi ini adalah kode untuk membuat EA beradaptasi dan bekerja dengan baik pada broker dengan 4 digits atau 5 digits pricing. selain ini, kode yang biasa diletakkan disini adalah code untuk mengadaptasikan StopLoss dan TakeProfit EA dengan StopLoss dan TakeProfit minimal yang diijinkan oleh broker perhatikan codenya:
kemudian kita teruskan dengan merangkai sedikit kode di start() function. lihat apa yang telah saya rangkai:
last step
kemudian kita selesaikan pembuatan ea ini dengan melengkapi deinit() function dengan code ini: kemudian lakukan bectesting supaya bisa tahu apakah ea ini bisa berfungsi sebagaimana mestinya atau tidak.
No comments:
Post a Comment