Phiên giao dịch
Kể từ khi phát hành cTrader Windows 4.5, API bao gồm giao diện MarketSessions. Nó cho phép bạn lấy thông tin về các phiên giao dịch hiện tại và sử dụng dữ liệu này trong cBot và chỉ báo của bạn.
Phiên giao dịch trong phát triển thuật toán
Kiểu MarketSession là một enum với các giá trị đại diện cho các phiên giao dịch khác nhau (như Singapore hoặc London).
Đến lượt nó, thuộc tính MarketSessions thuộc kiểu MarketSession. Để lấy tất cả các phiên giao dịch hiện tại, sử dụng nó như sau.
1 | |
Giá trị của thuộc tính MarketSessions phải khớp với các phiên được hiển thị trong trường Phiên giao dịch ở góc dưới bên trái của giao diện cTrader.

Bạn có thể sử dụng phương thức HasFlag để kiểm tra xem các phiên hiện tại có chứa một phiên cụ thể hay không.
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 | |
Bạn cũng có thể xử lý sự kiện MarketSessionsChanged để phát hiện và phản ứng với bất kỳ thay đổi nào trong các phiên giao dịch. Lớp MarketSessionChangedEventArgs có hai thuộc tính, cụ thể là NewSessions và PreviousSessions, hoạt động như sau:
NewSessionschứa tất cả các phiên hiện tại bao gồm bất kỳ phiên nào vừa mới bắt đầu. Giá trị củaNewSessionsluôn bằng giá trị của thuộc tínhMarketSessionscủa một cBot hoặc chỉ báo.PreviousSessionscũng chứa tất cả các phiên hiện tại nhưng nó cũng chứa bất kỳ phiên nào trong quá khứ vừa mới kết thúc. Giá trị của nó bằng giá trị của thuộc tínhMarketSessionscủa một cBot hoặc chỉ báo trước khiMarketSessionsChangedđược kích hoạt.
Để xem xét kỹ hơn cách NewSessions và PreviousSessions hoạt động, hãy tham khảo ví dụ dưới đây.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Trong nhật ký, bạn sẽ thấy hai mục mới cho mỗi thay đổi phiên. Các mục này sẽ thông báo cho bạn về các phiên giao dịch trước đó là gì và hiện tại là gì.
Phiên giao dịch trong quá trình backtest
Thuộc tính MarketSessions hoạt động trên cả môi trường trực tiếp và backtest. Trong quá trình backtest, thuộc tính này sẽ chứa các phiên tương ứng với thời gian backtest đã chọn. Nói cách khác, bạn có thể sử dụng nó để truy cập các phiên giao dịch đã hoạt động trong một giai đoạn giao dịch lịch sử cụ thể.