트레이딩 세션
cTrader Windows 4.5 출시 이후, API에는 MarketSessions 인터페이스가 포함되었습니다. 이를 통해 현재 시장 세션에 대한 정보를 얻고 이 데이터를 cBot 및 지표에 사용할 수 있습니다.
알고리즘 개발에서의 트레이딩 세션
MarketSession 타입은 다양한 트레이딩 세션(예: Singapore 또는 London)을 나타내는 enum 값입니다.
MarketSessions 속성은 MarketSession 타입입니다. 모든 현재 시장 세션을 얻으려면 다음과 같이 사용하세요.
1 | |
MarketSessions 속성의 값은 cTrader UI의 왼쪽 하단에 있는 트레이딩 세션 필드에 표시된 세션과 일치해야 합니다.

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의 값은 항상 cBot 또는 지표의MarketSessions속성 값과 동일합니다.PreviousSessions도 모든 현재 세션을 포함하지만 방금 종료된 과거 세션도 포함합니다. 이 값은MarketSessionsChanged가 트리거되기 전의 cBot 또는 지표의MarketSessions속성 값과 동일합니다.
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 속성은 라이브 및 백테스트 환경 모두에서 작동합니다. 백테스트 중에는 이 속성은 선택된 백테스트 타이밍에 상대적인 세션을 포함합니다. 즉, 특정 과거 트레이딩 기간 동안 활성화된 트레이딩 세션에 접근하는 데 사용할 수 있습니다.