Hi, there,
I wrote an EA, which opens a buy limit when MA is up, sell limit when MA is down. Strangely it works fine under one directory of Alpari's Medatrader, but it always opens two same orders under another directory of Alpari's MT, e.g. it opens 2 buy limit orders today. Could anyone here guess what the reason is?
Many thanks in advance!
I wrote an EA, which opens a buy limit when MA is up, sell limit when MA is down. Strangely it works fine under one directory of Alpari's Medatrader, but it always opens two same orders under another directory of Alpari's MT, e.g. it opens 2 buy limit orders today. Could anyone here guess what the reason is?
Many thanks in advance!
Inserted Code
gtotal=OrdersTotal(); for(int i=0;i<gtotal;i++) { OrderSelect(i,SELECT_BY_POS); if(OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) total++; } if(total==0 && Hour()==TheHour) { if(sma1-sma2 > MAthreshold) OrderSend(Symbol(), OP_BUYLIMIT, lots, Low1-order_filled_buffer+Spread, 3, Low1 - sl_buffer, Low1 + Spread - order_filled_buffer + TakeProfit,"au_buy_sell_limit",MagicNumber); else if (sma1-sma2 < -MAthreshold) OrderSend(Symbol(), OP_SELLLIMIT, lots, High1+order_filled_buffer, 3, High1 + sl_buffer + Spread, High1 + order_filled_buffer - TakeProfit,"au_buy_sell_limit",MagicNumber); return(0); } if(total==1 && Hour()==TheHour) { for(i=0; i<OrdersTotal(); i++) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol() == Symbol() && sma1-sma2<-MAthreshold && (OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT)) { OrderSend(Symbol(), OP_SELLLIMIT, lots, High1+order_filled_buffer, 3, High1 + sl_buffer + Spread, High1 + order_filled_buffer - TakeProfit,"au_buy_sell_limit",MagicNumber); return(0); } if(OrderSymbol() == Symbol() && sma1-sma2>MAthreshold && (OrderType()==OP_SELL || OrderType()==OP_SELLLIMIT)) { Print("Why......................---------------",OrderType()); OrderSend(Symbol(), OP_BUYLIMIT, lots, Low1-order_filled_buffer+Spread, 3, Low1 - sl_buffer, Low1 + Spread - order_filled_buffer + TakeProfit,"au_buy_sell_limit",MagicNumber); return(0); } } }