OrderSend(...) странно работает !?

 
Вот кусок текста

case 18782098:
ExtParam1=OrderTicket();
Comment(OrdersTotal()," ",OrderTicket()," Typ1=",OrderType()," ",cnt," Ask=",Ask," == ",OrderOpenPrice());

(2) OrderSend(Symbol(),OP_BUY,0.10,Ask,3,0,0,"Переворот Ask 1",1111,0,White);

if (Ask <= OrderOpenPrice()-0.090)
{
if (err == 0)
if (OrderClose(18782098,0.1,Ask,3,Red) == 0)
Print(" Ошибка: Ask-0 ",ErrorDescription(err));
else
{
(1) OrderSend(Symbol(),OP_BUY,0.10,Ask,3,0,0,"Переворот Ask 1",1111,0,White);
err=GetLastError();
(3) if (err!=0) Print(" Ошибка переворота: ERR Ask-1 ",ErrorDescription(err)," ",err);
}
}
break;
Если покупка стоит в точке (1), а точка (2) убрана, то в точке (3) имеем ошибку 129.
Если убираю точку (1), то в точке (2) покупка проходит норально.
Ордер закрывается нормально в обоих случаях.

Т.е. пытаюсь сделать переворот, но только после предварительного закрытия ордера.
В чем дело ? Версия 211.
 
Перед OrderSend обнови данные через RefreshRates(). Закрытие ордера занимает до нескольких секунд, за это время данные по цене могут измениться.
 
Спасибо. Еще я после строки (1) дополнительно поставил сразу Print("......") и тоже заработало.
Кстати, раньше в OrderSend(....) можно было задавать\изменять графические символы.
Сейчас это не работает ?