Настраивая блок «Управление рисками» в программе TSLab столкнулся с вопросом, в каком часовом поясе указывать время для ограничения торгов.
Это рекомендуется делать в первые минуты начала торгов, а также в последние минуты перед перерывом и окончанием торговой сессии. Особенно это актуально для опционного дельта-хэджера.
И тут интересная ситуация.
Сам я живу в часовом поясе GMT+2
Биржа работает по московскому времени GMT+3
А в программе TSLab на часах возле индикатора соединения с сервером брокера отображалось время GMT+4
Брокер — АЛОР.
Сервер — дополнительный, rfut7.alor.ru, так как на обычном нельзя одновременно торговать и фьючерсами, и опционами.
У Алора есть отдельные сервера для торговли фьючерсами, отдельные для опционов, и как оказалось, отдельные для совместной торговли и фьючерсами, и опционами.
По умолчанию, при открытии счёта, подключают сервера для торговли только фьючерсами. Остальное — по звонку или тикету в техподдержку.
Протестировал, выставляя ограничение на торговлю в ближайшие 5 минут, указание какого времени блокирует выставление заявок в рынок блоком «управление рисками».
Выяснилось, что то которое транслируется брокером.
Почему он транслирует GMT+4 (МСК+1) я не знаю.
Так что настроил ограничения на совершение сделок торговыми роботами вот в таких интервалах:
Ограничения в выходные дни сделал не на весь день, потому что окончание торговой сессии в пятницу попадает на начало выходного дня в этом часовом поясе.
Думаю, что такая трансляция времени идёт из-за настроек часового пояса «Москва» на сервере брокера, работающем под Windows. У себя в домашней системе проверил — если выставить московское время, то компьютер автоматически выставляет GMT+4.
Видно переводы на летнее время и обратно, потом их отмена и повторное использование, которыми нас радовало правительство, в итоге дало такой «баг» в операционной системе.
А вот как TSLab будет реагировать на торговые ограничения по времени вшитые в сами торговые алгоритмы (например, где торгуется только вечерняя сессия, или наоборот) — ещё не понятно.
У Вас на машине установлены все апдейты винды, связанные с часовыми поясами?
Нет ли в настройке поставщика галочки "Использовать локальное время"? Если есть — попробуйте создать НОВЫЙ поставщик с таким же логином и таким же ключем, но указать ему в настройках "Локальное время".
Если Вы попытаетесь изменить эту настройку на живом уже существующем поставщике, это приведет к порче данных, которые накапливаются на Вашей машине.
Нет, в настройке поставщика нет галочки «Использовать локальное время».
Новый поставщик создал — там также нельзя указать такой параметр.
По обновлениям системы, касающимся часовых поясов — буду разбираться. Не смотрел в эту сторону. Отличная идея. Может быть как раз в этом дело.
Теперь всё корректно работает.