Các nguyên nhân phổ biến gây sai lệch giữa kích hoạt cảnh báo chiến lược và lệnh chiến lược trên biểu đồ
Việc sử dụng các tính năng chiến lược được liệt kê dưới đây có thể khiến lệnh được thực hiện khác nhau giữa giao dịch thời gian thực và giao dịch trên dữ liệu lịch sử (tức là thay đổi mức giá khớp lệnh).
Do đó, các kích hoạt cảnh báo chiến lược có thể không khớp với các lệnh chiến lược hiển thị trên biểu đồ.
- Bật tùy chọn
calc_on_every_tick
Nếu tùy chọn này bị tắt, chiến lược sẽ được tính toán lại một lần trong cả dữ liệu lịch sử và thời gian thực, tại thời điểm đóng của mỗi thanh.
Nếu tùy chọn này được bật, chiến lược sẽ được tính toán lại theo thời gian thực tại mỗi tick trong quá trình hình thành thanh.
Các lần tính toán lại trong nội bộ thanh như vậy có thể dẫn đến việc đặt và thực hiện thêm các lệnh (những lệnh này sẽ không xuất hiện khi tính toán lại trên dữ liệu lịch sử), từ đó dẫn đến kết quả tính toán chiến lược khác nhau giữa cảnh báo và biểu đồ.
- Bật tùy chọn
calc_on_order_fills
Trong trường hợp này, nếu một lệnh được thực hiện trong khi thanh đang hình thành, chiến lược sẽ được tính toán lại có tính đến dữ liệu OHLC đã biết tại thời điểm thực hiện.
Nếu bạn đợi đến khi thanh đóng và làm mới trang, chiến lược cũng sẽ được tính toán lại khi lệnh được thực hiện trên thanh đó. Tuy nhiên, lần này việc tính toán sẽ dựa trên dữ liệu OHLC đã biết tại thời điểm thanh đóng, vì thông thường khi tính toán lại chiến lược trên thanh lịch sử, sẽ không có thông tin về biến động giá bên trong thanh.
Điều này có nghĩa là các lệnh có thể được đặt khác nhau giữa tính toán thời gian thực và tính toán lịch sử. Vì vậy, kết quả tính toán chiến lược trong cảnh báo và trên biểu đồ cũng có thể không khớp.
- Sử dụng lệnh bám đuổi
Mức thực hiện của lệnh bám đuổi phụ thuộc vào biến động giá bên trong thanh và tham số trail_offset.
Trong thời gian thực, các biến động này có thể diễn ra tùy ý: giá có thể tăng và giảm nhiều lần. Khi tính toán trên dữ liệu lịch sử, không có thông tin về chuyển động giá bên trong thanh. Vì vậy, máy chủ sẽ đưa ra giả định về chuyển động này, như được mô tả trong bài viết: Broker emulator documentation
Sự khác biệt giữa chuyển động nội bộ thanh thực tế và chuyển động được ước tính có nghĩa là các lệnh bám đuổi có thể được thực hiện ở các mức giá khác nhau giữa thời gian thực và dữ liệu lịch sử.
Điều này dẫn đến kết quả tính toán chiến lược khác nhau giữa cảnh báo và biểu đồ.