Trong lập trình MQL5 thực chiến, có một kỹ thuật được gọi là “đánh phủ đầu” để trị dứt điểm Race Condition, đó chính là Instant Lock (Phong tỏa tức thì).
Thông thường, trader thường code theo kiểu: Gọi lệnh OrderSend -> Nếu thành công thì mới làm gì đó. Nhưng trong 0.5 giây chờ đợi lệnh đó bay đến server, hàng chục tick giá có thể ập đến và kích hoạt lệnh trùng.
Bí mật của Nhị Quái V7.6 nằm ở hàm phát lệnh. Quy trình được đảo ngược:
- Chốt khóa ngay lập tức: Gọi
SetFSMState(STEP_BUSY) ngay TRƯỚC khi gọi lệnh OrderSend().
- Phát lệnh: Sau khi đã khóa trạng thái, Robot mới thực hiện gửi yêu cầu giao dịch lên sàn.
- Hậu kiểm: Nếu lệnh vì lý do gì đó bị sàn từ chối (Requote, cạn tiền…), Robot mới mở khóa
STEP_READY để thử lại.
Kỹ thuật này giúp Robot tự phong tỏa chính mình ngay từ trong “ý định”. Ngay cả khi đường truyền internet cực chậm hoặc sàn bị lag, Robot vẫn bảo vệ được tài khoản vì nó biết mình đã phát một yêu cầu đi rồi. Đây là tiêu chuẩn vàng của các Robot High-Frequency Trading (HFT) để đảm bảo không bao giờ xảy ra lỗi tranh chấp lệnh.
Nguồn tham khảo: HuongNghiepDuLieu.Com