Hi, Gurus, need your help really.
i cannot find the bug in my script, a very simple one that tries to open a buylimit or selllimit order.
Could you please check for the 'bug'? many thanks!
It keeps giving "error 3, invalid trade parameters". Not sure why.
i cannot find the bug in my script, a very simple one that tries to open a buylimit or selllimit order.
Could you please check for the 'bug'? many thanks!
It keeps giving "error 3, invalid trade parameters". Not sure why.
Inserted Code
// allow script to accept inputs from user #property show_inputs //user input extern double Lots = 0.01; extern string Dir = "1 long, 0 short."; extern int LongShort = 0; extern string PairSymbol = "EURUSD"; extern double EntryAt = 1.3; extern bool isIBFXmini=false; extern int MagicNumber = 6; // might use date. extern string TradeComment="lPhan_Ml"; // globals string mySymbol; string postfix; // used for verbose error logging #include <stdlib.mqh> //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int init() { if(isIBFXmini) postfix="m"; mySymbol=PairSymbol+postfix; OpenPos(); } int deinit() { } int start() { } void OpenPos() { int gle=0; int ticket=0; int loopcount=0; while(true) { if (LongShort == 0) { ticket=OrderSend(mySymbol,OP_SELLLIMIT,Lots,NormalizeDouble(EntryAt,MarketInfo(mySymbol,MODE_DIGITS)),0,0,0,TradeComment,MagicNumber,Red); gle=GetLastError(); } else if (LongShort == 1) { ticket=OrderSend(mySymbol,OP_BUYLIMIT,Lots,NormalizeDouble(EntryAt,MarketInfo(mySymbol,MODE_DIGITS)),0,0,0,TradeComment,MagicNumber,Green); gle=GetLastError(); } if(gle==0) { Alert("Order PLACED Ticket="+ticket+" Lots="+Lots); break; } else { Alert("-----ERROR----- placing order: Lots="+Lots+", ticket="+ticket+" Err="+gle+" "+ErrorDescription(gle)); RefreshRates(); Sleep(500); loopcount++; if(loopcount>10) { Print("---ERROR--- The Script gave up placing order"); return(gle); } } }//while }//SELLme