Торговые сессии
С момента выпуска cTrader Windows 4.5 API включает интерфейс MarketSessions. Он позволяет получать информацию о текущих рыночных сессиях и использовать эти данные в ваших сиБотах и индикаторах.
Торговые сессии в разработке алгоритмов
Тип MarketSession является enum со значениями, представляющими различные торговые сессии (такие как Singapore или London).
В свою очередь, свойство MarketSessions имеет тип MarketSession. Чтобы получить все текущие рыночные сессии, используйте его следующим образом.
1 | |
Значение свойства MarketSessions должно соответствовать сессиям, которые отображаются в поле Торговые сессии в левом нижнем углу пользовательского интерфейса cTrader.

Вы можете использовать метод HasFlag, чтобы проверить, содержат ли текущие сессии определенную сессию.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Вы также можете обработать событие MarketSessionsChanged, чтобы обнаружить и отреагировать на любые изменения в рыночных сессиях. Класс MarketSessionChangedEventArgs имеет два свойства, а именно NewSessions и PreviousSessions, которые работают следующим образом:
NewSessionsсодержит все текущие сессии, включая любые сессии, которые только что начались. ЗначениеNewSessionsвсегда равно значению свойстваMarketSessionsсиБота или индикатора.PreviousSessionsтакже содержит все текущие сессии, но также содержит любые прошлые сессии, которые только что завершились. Его значение равно значению свойстваMarketSessionsсиБота или индикатора до того, как было запущено событиеMarketSessionsChanged.
Для более подробного рассмотрения того, как работают NewSessions и PreviousSessions, обратитесь к примеру ниже.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
В журнале вы должны увидеть две новые записи для каждого изменения сессии. Эти записи сообщат вам, какими были прошлые торговые сессии и какими они являются сейчас.
Торговые сессии во время бэктестинга
Свойство MarketSessions работает как в реальной, так и в среде бэктестинга. Во время бэктестинга это свойство будет содержать сессии относительно выбранных временных рамок бэктестинга. Другими словами, вы можете использовать его для доступа к торговым сессиям, которые были активны в течение определенного исторического торгового периода.