Всё это чушь. Если брокер заполнит спецификацию инструмента не так как в действительности идут котировки, то ваша библиотека будет откровенно врать как и брокер.
Пример можно запустить на финаме.
Alexey Viktorov #:
Кто виноват выяснили. А что делать?Всё это чушь. Если брокер заполнит спецификацию инструмента не так как в действительности идут котировки, то ваша библиотека будет откровенно врать как и брокер.
Пример можно запустить на финаме.
Могу добавить вариант ввода сессий по дням через sinput-ы.
Отличная библиотека, спасибо! Основная фишка - скорость. Для оптимизатора - самое то.
Еще немного ускорил код. Раньше на каждом тике вне торговой сессии происходили вычисления времени и сравнение его с массивами сессий,
теперь при смене сессий вычисляю кроме времени окончания текущей сессии и время начала следующей сессии. В результате так же стала всего 1 проверка:
теперь при смене сессий вычисляю кроме времени окончания текущей сессии и время начала следующей сессии. В результате так же стала всего 1 проверка:
if(time < this.NextTradeStart ) { return false; }
Forester #:
Еще немного ускорил код. Раньше на каждом тике вне торговой сессии происходили вычисления времени и сравнение его с массивами сессий,
теперь при смене сессий вычисляю кроме времени окончания текущей сессии и время начала следующей сессии. В результате так же стала всего 1 проверка:
Еще немного ускорил код. Раньше на каждом тике вне торговой сессии происходили вычисления времени и сравнение его с массивами сессий,
теперь при смене сессий вычисляю кроме времени окончания текущей сессии и время начала следующей сессии. В результате так же стала всего 1 проверка:
Это самый правильный подход для расчета попадания в любой интервал. Например, если торговля должна быть с 12 до 15 часов, то должен использоваться подобный NextTime-подход.
Из сторонних кодов только у Вас увидел такое.
SymbolInfoSessionTrade error 4307
Я не очень сильно вчитывался, но похоже текущая реализация предполагает, что сессия должна лежать строго в пределах одного дня, что не так при существенной разнице в часовых поясах, то есть, например, если европейские сессии торгуются от азиатского брокера или наоборот. То есть, бывают случаи, когда время To меньше From, если отбросить дату из datetime.
Stanislav Korotky #:
Я не очень сильно вчитывался, но похоже текущая реализация предполагает, что сессия должна лежать строго в пределах одного дня, что не так при существенной разнице в часовых поясах, то есть, например, если европейские сессии торгуются от азиатского брокера или наоборот. То есть, бывают случаи, когда время To меньше From, если отбросить дату из datetime.
Просто сравнение по времени идет.Я не очень сильно вчитывался, но похоже текущая реализация предполагает, что сессия должна лежать строго в пределах одного дня, что не так при существенной разнице в часовых поясах, то есть, например, если европейские сессии торгуются от азиатского брокера или наоборот. То есть, бывают случаи, когда время To меньше From, если отбросить дату из datetime.
if(!TradeSession.isSessionTrade(TimeCurrent())){Print("Market closed. OnTick return");return;}Вместо
TimeCurrent()Можете любое задать, кстати.Время сессий берется от брокера или можно установить вручную.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Control_Trade_Sessions:
Библиотека для контроля торговой сессии. При запуске считает время торговых сессий за все 7 дней недели (в сб и вс может быть торговля по криптовалютам), до 10 сессий в день. Затем в OnTick() можно делать проверки, и если тик пришел вне торговой сессии, то можно выйти из дальнейшей его обработки.
Автор: Forester