Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114280
Forex Trader  
Вот кусок текста

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.
Forex Trader
114280
Forex Trader  
Перед OrderSend обнови данные через RefreshRates(). Закрытие ордера занимает до нескольких секунд, за это время данные по цене могут измениться.
Forex Trader
114280
Forex Trader  
Спасибо. Еще я после строки (1) дополнительно поставил сразу Print("......") и тоже заработало.
Кстати, раньше в OrderSend(....) можно было задавать\изменять графические символы.
Сейчас это не работает ?
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий