Mengatasi warning pada coding script jadul forex expert advisor

Halo salam kenal para penggila EA forex. pada kesempatan ini saya akan membahas tentang coding khususnya pada saat compile EA jadul yang sudah kita modif. pada saat akan coding EA (expert Advisor) atau lebih dikenal dengan robot forex sering kita jumpai warning saat di compile ulang, meski sebenarnya EA tetep jalan dan dapat digunakan.

Hal tersebut terjadi seiring dengan perkembangan mt4 sehingga program mql4 juga perlu ada penyesuaian.

Contoh Kasus fungsi berikut ini:

 fungsinya:

 int j( int tipe){
 int total=0;for(int i=0; i<OrdersTotal(); i++)  {
 OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
 if(OrderSymbol()!=Symbol() ||  OrderType()!=tipe) continue;total++; }
 return(total);}



Cara menghilangkan dengan memperhatikan bagian OrderSelect

 int j( int tipe){
 int total=0;for(int i=0; i<OrdersTotal(); i++)  {
 if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))continue;
 if(OrderSymbol()!=Symbol() ||  OrderType()!=tipe) continue;total++; }
 return(total);}

Contoh lain pada bagian perintah order

 if(j(1)==1 ) {OrderSend(Symbol(),4,NR(Lots),as,3,0,0,"",0,0,Blue);}
 if(j(0)==1 ) {OrderSend(Symbol(),5,NR(Lots),bi,3,0,0,"",0,0,Red);}


Perbaikannya dengan menambahkan nilai integer (contoh int res), pada coding dibawah ini 

if(j(1)==1 ) {res=OrderSend(Symbol(),4,NR(Lots),as,3,0,0,"",0,0,Blue);}
if(j(0)==1 ) {res=OrderSend(Symbol(),5,NR(Lots),bi,3,0,0,"",0,0,Red);}

Pada kasus lain sebenarnya seperti OrderClose dan OrderDelete sama bisa ditambah kan  integer !


Semoga bermanfaat
Mengatasi warning pada coding script jadul forex expert advisor Mengatasi warning pada coding script jadul forex expert advisor Reviewed by Ifta on November 27, 2015 Rating: 5

9 comments:

  1. OrderSend(Symbol(), OP_BUY, g_lots_276, g_ask_252, slippage, g_price_236, g_price_244, "ARM 1" + MagicNumber, MagicNumber, 0, Blue);

    klo order send ky gitu jadi gmn gan..?

    ReplyDelete
  2. OrderClose(g_ticket_316, g_ord_lots_332, g_price_324, slippage, Yellow);

    ada order close juga itu gmn gan..?

    ReplyDelete
  3. OrderSelect(g_pos_232, SELECT_BY_POS, MODE_TRADES);

    jadi dibawah ini bukan..?

    if (!OrderSelect(g_pos_232, SELECT_BY_POS, MODE_TRADES))continue;

    itu bener gan..?

    ReplyDelete
    Replies
    1. coba aja di compile, klo bener semua warning hilang gan,..

      Delete
  4. OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderClosePrice() + TakeProfit * Point + TrailingStop * Point, 800, Yellow);

    order modify jd gmn gan..?

    ReplyDelete
  5. double profitCheck()
    {
    double profit=0

    Warning nya:declaration of'profit'hides global variable

    Ini gmna gan??

    ReplyDelete
    Replies
    1. harusnya tidak di deklarasi di bagian global gan,.. coba di declare di bawah Ontick() sebelum script penutup return;

      Delete
  6. #resource "EURUSD.txt" as string EURUSD
    #include

    void OnTick(){

    int bars = iBars(_Symbol,PERIOD_H1);
    static int totalBars = bars;
    if(totalBars !=bars){
    totalBars = bars;

    Ctrade trade;
    trade.PositionClose(_Symbol);

    string time = TimeToString(iTime(_Symbol,PERIOD_H1,0));
    StringReplace(time," ",",");

    int start = StringFind(EURUSD,time);

    int startOpen = StringFind(EURUSD,",",StringFind(EURUSD,",",start)+1)+1;
    int startHigh = StringFind(EURUSD,",",startOpen)+1;
    int startLow = StringFind(EURUSD,",",startHigh)+1;
    int startClose = StringFind(EURUSD,",",startLow)+1;
    int andClose = StringFind(EURUSD,",",startClose)+1;

    double open = StringToDouble(StringSubstr(EURUSD,startOpen,startHigh-startOpen-1));
    double high = StringToDouble(StringSubstr(EURUSD,startHigh,startLow-startHigh-1));
    double low = StringToDouble(StringSubstr(EURUSD,startLow,startClose-startLow-1));
    double close = StringToDouble(StringSubstr(EURUSD,startClose,startClose-startClose-1));

    if(open close){
    trade.Sell(1);
    }

    }





    ini salahnya dimana ya?mohon pencerahan

    ReplyDelete
  7. '}' - unexpected end of program hhop.mq5 36 1
    '{' - unbalanced parentheses hhop.mq5 4 14
    errornya disini

    ReplyDelete

Powered by Blogger.