Sesje handlowe
Od wydania cTrader Windows 4.5, API zawiera interfejs MarketSessions. Pozwala on uzyskać informacje o bieżących sesjach rynkowych i wykorzystać te dane w swoich cBotach i wskaźnikach.
Sesje handlowe w tworzeniu algorytmów
Typ MarketSession to enum z wartościami reprezentującymi różne sesje handlowe (takie jak Singapore lub London).
Z kolei właściwość MarketSessions jest typu MarketSession. Aby uzyskać wszystkie bieżące sesje rynkowe, użyj jej w następujący sposób.
1 | |
Wartość właściwości MarketSessions powinna odpowiadać sesjom wyświetlanym w polu Sesje handlowe w lewym dolnym rogu interfejsu cTrader.

Możesz użyć metody HasFlag, aby sprawdzić, czy bieżące sesje zawierają określoną sesję.
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 | |
Możesz również obsłużyć zdarzenie MarketSessionsChanged, aby wykryć i zareagować na wszelkie zmiany w sesjach rynkowych. Klasa MarketSessionChangedEventArgs ma dwie właściwości, mianowicie NewSessions i PreviousSessions, które działają w następujący sposób:
NewSessionszawiera wszystkie bieżące sesje, w tym wszelkie sesje, które właśnie się rozpoczęły. WartośćNewSessionsjest zawsze równa wartości właściwościMarketSessionscBota lub wskaźnika.PreviousSessionsrównież zawiera wszystkie bieżące sesje, ale zawiera również wszelkie przeszłe sesje, które właśnie się zakończyły. Jej wartość jest równa wartości właściwościMarketSessionscBota lub wskaźnika przed wywołaniemMarketSessionsChanged.
Aby bardziej szczegółowo przyjrzeć się działaniu NewSessions i PreviousSessions, zapoznaj się z poniższym przykładem.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
W dzienniku powinieneś zobaczyć dwa nowe wpisy dla każdej zmiany sesji. Te wpisy poinformują Cię o tym, jakie były przeszłe sesje handlowe i jakie są teraz.
Sesje handlowe podczas backtestingu
Właściwość MarketSessions działa zarówno w środowiskach na żywo, jak i podczas backtestingu. Podczas backtestingu ta właściwość będzie zawierać sesje względne do wybranych czasów backtestingu. Innymi słowy, możesz jej użyć, aby uzyskać dostęp do sesji handlowych, które były aktywne podczas określonego historycznego okresu handlowego.