Запрос MqlTradeRequest

 

Добрый день. подскажите кто сталкивался с проблемой по эксперации лимитки.

В общем описываю, что лимитированный ордер должен быть до конца дня, но на следующий день лимитированный ордер не снимается.

Кто как решил проблему ?


Советник запускаю на форексе.

      MqlTradeRequest         request={0};
      MqlTradeResult          result={0};
      request.action =        TRADE_ACTION_PENDING;
      request.symbol =        _Symbol;
      request.volume =        Volumes;
      request.type_filling =  ORDER_FILLING_FOK;
      request.expiration   =  ORDER_TIME_DAY;
 
setborg:

Добрый день. подскажите кто сталкивался с проблемой по эксперации лимитки.

В общем описываю, что лимитированный ордер должен быть до конца дня, но на следующий день лимитированный ордер не снимается.

Кто как решил проблему ?


Советник запускаю на форексе.




MqlTradeRequest         request={0};

      MqlTradeResult          result={0};

      request.action =        TRADE_ACTION_PENDING;

      request.symbol =        _Symbol;

      request.volume =        Volumes;

      request.type_filling =  ORDER_FILLING_FOK;

      request.expiration   =  ORDER_TIME_DAY;

Потому, что не туда вы это записываете.

Срок действия ордера можно задать в поле type_time специальной структуры MqlTradeRequest при отправке торгового запроса функцией OrderSend(). Допустимы значения из перечисления ENUM_ORDER_TYPE_TIME. Для получения значения этого свойства используйте функцию OrderGetInteger() или HistoryOrderGetInteger() с модификатором ORDER_TYPE_TIME.


ENUM_ORDER_TYPE_TIME

Идентификатор

Описание

ORDER_TIME_GTC

Ордер будет находится в очереди до тех пор, пока не будет снят

ORDER_TIME_DAY

Ордер будет действовать только в течение текущего торгового дня

ORDER_TIME_SPECIFIED

Ордер будет действовать до даты истечения

ORDER_TIME_SPECIFIED_DAY

Ордер будет действовать до 23:59:59 указанного дня. Если это время не попадает на торговую сессию, истечение наступит в ближайшее торговое время.

Причина обращения: