эмуляция тиков

 
Часть функционала в индикаторе запускается по приходу нового тика. Соответственно если рынок закрыт то индикатор "не работает".
Вопросы:
 1. Как правильно определить что рынок по данному инструменту закрыт?
 2. Как лучше смодулировать "появление" тиков? Включать по таймеру или есть еще варианты?
 
Petr Vorob'ev:
1. Как правильно определить что рынок по данному инструменту закрыт?

Проблема очень давняя.

1. MQ не могут предложить ничего лучше, чем бомбардировка сервера ордерами (в том числе - "левыми", с очень далёкой ценой).

2. Тики могут приходить и когда торговля по инструменту закрыта (например, разрешено снятие или истечение ордеров).

 
Можно использовать расписание сессий на сервере или свое задать
https://www.mql5.com/ru/code/48059
Выходные дни не известны. С ними отдельное решение надо.
Control_Trade_Sessions
Control_Trade_Sessions
  • www.mql5.com
Библиотека для контроля торговой сессии. При запуске считает время торговых сессий за все 7 дней недели (в сб и вс может быть торговля по криптовалютам), до 10 сессий в день. Затем в OnTick() можно делать проверки, и если тик пришел вне торговой сессии, то можно выйти из дальнейшей его обработки.
 
Forester #:
Можно использовать расписание сессий на сервере или свое задать
https://www.mql5.com/ru/code/48059
Выходные дни не известны. С ними отдельное решение надо.

Расписание не всегда адекватное. А стоп-торги?

 
JRandomTrader #:

Расписание не всегда адекватное. А стоп-торги?

Потому и есть вариант ручного задания сессий.
Про стоп-торги не в курсе.
Библиотека просто будет блокировать обработку тиков по расписанию.  Стоп торги наверное можно туда занести.
 
JRandomTrader #:

Проблема очень давняя.

1. MQ не могут предложить ничего лучше, чем бомбардировка сервера ордерами (в том числе - "левыми", с очень далёкой ценой).

2. Тики могут приходить и когда торговля по инструменту закрыта (например, разрешено снятие или истечение ордеров).

если задача определения закрытия рынка стоит для индикатора, то я же не могу пользоваться открытием ордера и получить отклик сервера