Invalid expiration в отложенных ордерах. Как правильно выставлять? - страница 2

 
Valeriy Yastremskiy:
Не менее 11 минут время жизни должно быть. Если менее ордер не выставляется.

Не вводите людей в заблуждение.

Экспирация может устанавливаться не менее 10 минут от текущего времени. Но бывают случаи когда «в пути» теряется секунда и получаете ошибку.

 
Valeriy Yastremskiy:
Не менее 11 минут время жизни должно быть. Если менее ордер не выставляется.

Коллеги точно такая же проблема в Открывашке, но я устанавливаю время эспираци (без него отложка не ставится в принципе) до конца дня :

   request.expiration  = ORDER_TIME_DAY;
Однако ошибка всё та же. Нужно ли указывать конкретное время для отложенного ордера более 11 минут???? И почему не работает указанное мною время эспирации??
 
Mihail Marchukajtes:

Коллеги точно такая же проблема в Открывашке, но я устанавливаю время эспираци (без него отложка не ставится в принципе) до конца дня :

Однако ошибка всё та же. Нужно ли указывать конкретное время для отложенного ордера более 11 минут???? И почему не работает указанное мною время эспирации??

Если правильно понимаю и помню в МТ5 нужно указывать явно и тип ордера по времени. Без явного указания тоже ошибку дает. И время обычно конкретное указывают.

 ENUM_ORDER_TYPE_TIME          type_time;        // Тип ордера по времени действия

Alexey Viktorov:

Не вводите людей в заблуждение.

Экспирация может устанавливаться не менее 10 минут от текущего времени. Но бывают случаи когда «в пути» теряется секунда и получаете ошибку.

Может и 10 минут. Но если сделать Время закрытия ордера Текущее время + 10 минут почему то в МТ4 дает ошибку, а + 11 минут нет.

Ну и в доках этого нет и это грусть. Топики на тему год назад находил года 2011 и больше ничего.

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Valeriy Yastremskiy:

Если правильно понимаю и помню в МТ5 нужно указывать явно и тип ордера по времени. Без явного указания тоже ошибку дает. И время обычно конкретное указывают.

 ENUM_ORDER_TYPE_TIME          type_time;        // Тип ордера по времени действия

Может и 10 минут. Но если сделать Время закрытия ордера Текущее время + 10 минут почему то в МТ4 дает ошибку, а + 11 минут нет.

Ну и в доках этого нет и это грусть. Топики на тему год назад находил года 2011 и больше ничего.

То есть вот эти два параметра обязательны?

   request.type_time   = ORDER_TIME_DAY;   
   request.expiration  = ORDER_TIME_DAY;
 
Valeriy Yastremskiy:

Если правильно понимаю и помню в МТ5 нужно указывать явно и тип ордера по времени. Без явного указания тоже ошибку дает. И время обычно конкретное указывают.

 ENUM_ORDER_TYPE_TIME          type_time;        // Тип ордера по времени действия

Может и 10 минут. Но если сделать Время закрытия ордера Текущее время + 10 минут почему то в МТ4 дает ошибку, а + 11 минут нет.

Ну и в доках этого нет и это грусть. Топики на тему год назад находил года 2011 и больше ничего.

TimeCurrent() это не текущее время, это время последней котировки. Соответственно считая от этого времени, да плюс к этому потеряется секунда «в пути» и вы получаете ошибку. Вы-же вместо того, чтобы разобраться в ситуации предпочли принять как аксиому неверную информацию, да ещё и распространяете её. Да плюс ко всему в теме о коде mql5 вы говорите о своём опыте в mql4.

 
Mihail Marchukajtes:

То есть вот эти два параметра обязательны?

https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_type_time

судя по докам да, но как в доках. Вернее если до окончания дня,  expiration не нужен.

expiration

Срок истечения отложенного ордера (для ордеров типа ORDER_TIME_SPECIFIED)

Срок действия ордера можно задать в поле 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 указанного дня. Если это время не попадает на торговую сессию, истечение наступит в ближайшее торговое время.

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Alexey Viktorov:

TimeCurrent() это не текущее время, это время последней котировки. Соответственно считая от этого времени, да плюс к этому потеряется секунда «в пути» и вы получаете ошибку. Вы-же вместо того, чтобы разобраться в ситуации предпочли принять как аксиому неверную информацию, да ещё и распространяете её. Да плюс ко всему в теме о коде mql5 вы говорите о своём опыте в mql4.

11 больше 10. И прибавляя 66 секунд и имея между тиками 7 секунд тоже еррор... А если на последнем тике дня)))) Вопрос не в этом, а в том что доках этого нет.

По МТ5 пользуюсь доками. Там кстати про 10 минут тоже не нашел.)

 
Valeriy Yastremskiy:

11 больше 10. И прибавляя 66 секунд и имея между тиками 7 секунд тоже еррор... А если на последнем тике дня)))) Вопрос не в этом, а в том что доках этого нет.

По МТ5 пользуюсь доками. Там кстати про 10 минут тоже не нашел.)

Виталий я так и сделал, посмотрим сможет ли поставить отложенник когда придёт его время ставить :-)
 
Mihail Marchukajtes:
Валерий я так и сделал, посмотрим сможет ли поставить отложенник когда придёт его время ставить :-)

Если правильно понимаю доки, то экспирация не нужна если ордер до окончания дня. Это типом ордера  ORDER_TIME_DAY можно определить. А экспирация только для одного типа ордера  ORDER_TIME_SPECIFIED применима.

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Valeriy Yastremskiy:

11 больше 10. И прибавляя 66 секунд и имея между тиками 7 секунд тоже еррор... А если на последнем тике дня)))) Вопрос не в этом, а в том что доках этого нет.

По МТ5 пользуюсь доками. Там кстати про 10 минут тоже не нашел.)

Ой… Как-бы сказать чтобы вас не обидеть. Вспомнился анекдот про индейца, и пары революционеров. Ну да ладно… Продолжайте ловить последний тик и ждать когда документацию превратят в учебник.