Помогите разобраться с отменой установки ордера ордера!

 
 if(signal == ORDER_TYPE_BUY_LIMIT &&
          !ExtTrade.BuyLimit(TradeSizeOptimized(),NormalizeDouble(price, _Digits),Symbol(),NormalizeDouble( stop ,_Digits),NormalizeDouble( teyk ,_Digits),ORDER_TIME_SPECIFIED,TimeCurrent()+(24-StartHour+FinichHour)*3600,EXP_Comment))
     {
      //--- сообщим о неудаче
      Print("Метод BuyLimit() потерпел неудачу. Код возврата=",ExtTrade.ResultRetcode(),
            ". Описание кода: ",ExtTrade.ResultRetcodeDescription());
     }
   else
     {
      Print("Метод BuyLimit() выполнен успешно. Код возврата=",ExtTrade.ResultRetcode(),
            " (",ExtTrade.ResultRetcodeDescription(),")");
     }  

Код в советнике идет установка лиминтного ордера  ордера.

Ответ и код возврата  через принт

  Код возврата

 И тут же ордер отменяется.

  otmena

В чем причина не пойму ?

 
Попробуйте без экспирации.
 
Пробовал ставил 

ORDER_TIME_GTC

 пока не будет снят и  0 

  AA


то же самое 

 
Ищите у себя OrderDelete.
 
Igor Petrov:

Код в советнике идет установка лиминтного ордера  ордера.

Ответ и код возврата  через принт

 

 И тут же ордер отменяется.

 

В чем причина не пойму ?

У вас время истечения, вероятно(?), раньше открытия, поэтому он сбрасывается. Проверьте эту связку -
ORDER_TIME_SPECIFIED,TimeCurrent()+(24-StartHour+FinichHour)*3600,

P.S.  Он вообще не должен устанавливаться. Даже есть специальная строка:

Коды возврата торгового сервера

10022

TRADE_RETCODE_INVALID_EXPIRATION

Неверная дата истечения ордера в запросе

 
Спасибо понял! думал функция   OrderDelete должна срабатывать позже, не правильно прописал закрытие.
Причина обращения: