Библиотеки: Control_Trade_Sessions

 

Control_Trade_Sessions:

Библиотека для контроля торговой сессии. При запуске считает время торговых сессий за все 7 дней недели (в сб и вс может быть торговля по криптовалютам), до 10 сессий в день. Затем в OnTick() можно делать проверки, и если тик пришел вне торговой сессии, то можно выйти из дальнейшей его обработки.

Автор: Forester

 

Всё это чушь. Если брокер заполнит спецификацию инструмента не так как в действительности идут котировки, то ваша библиотека будет откровенно врать как и брокер.

Пример можно запустить на финаме.

 
Alexey Viktorov #:

Всё это чушь. Если брокер заполнит спецификацию инструмента не так как в действительности идут котировки, то ваша библиотека будет откровенно врать как и брокер.

Пример можно запустить на финаме.

Кто виноват выяснили. А что делать?

Могу добавить вариант ввода сессий по дням через sinput-ы.
 
Отличная библиотека, спасибо! Основная фишка - скорость. Для оптимизатора - самое то.
 
Forester #:
Кто виноват выяснили. А что делать?

Могу добавить вариант ввода сессий по дням через sinput-ы.

Добавил такую опцию. См. описание и код.

 
Еще немного ускорил код. Раньше на каждом тике вне торговой сессии происходили вычисления времени и сравнение его с массивами сессий,
теперь при смене сессий вычисляю кроме времени окончания текущей сессии и время начала следующей сессии. В результате так же стала всего 1 проверка:
if(time < this.NextTradeStart ) { return false; }
 
Forester #:
Еще немного ускорил код. Раньше на каждом тике вне торговой сессии происходили вычисления времени и сравнение его с массивами сессий,
теперь при смене сессий вычисляю кроме времени окончания текущей сессии и время начала следующей сессии. В результате так же стала всего 1 проверка:

Это самый правильный подход для расчета попадания в любой интервал. Например, если торговля должна быть с 12 до 15 часов, то должен использоваться подобный NextTime-подход.

Из сторонних кодов только у Вас увидел такое.