int GetLastOrder(string sym,int magic)
{
int ticket=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderType()>1) continue;
if(OrderMagicNumber()!=magic) continue;
if(OrderSymbol()!=sym) continue;
ticket=OrderTicket();
}
//if(ticket==0) Alert("Its so strange... GetLastOrder return zero result!!!");
return(ticket);
}
видимо после выбора ордера Вы с ним что-то делаете, раз он на цену ругается... ибо данная ошибка возникает в OrderClose, OrderModify, OrderSend когда неверно выбрана цена, например бид с аском перепутан.у меня выбирает только первый ордер селл и бай, а дальше ступор при этом постоянно выдает ошибку 4107