𝗦𝗰𝗮𝗿𝗮𝗯 𝗗𝗶𝗮𝗴𝗻𝗼𝘀𝘁𝗶𝗰 𝗦𝘂𝗶𝘁𝗲 𝗙𝗶𝗲𝗹𝗱 𝗧𝗲𝘀𝘁 #𝟬𝟯𝟬
Scarab Diagnostic Suite đã phát hiện một lỗi trong Hummingbot.
Vấn đề nằm ở PositionExecutor. Một lệnh đóng (close order) bị lỗi và kích hoạt một vòng lặp thử lại (retry loop). Nếu một lệnh khớp muộn (late fill) xuất hiện trong vòng lặp này, hệ thống sẽ bỏ qua nó. Bộ thực thi (executor) đã không liên kết lệnh khớp muộn đó với lệnh bị lỗi. Điều này khiến hệ thống gửi thêm một lệnh đóng thị trường (market close order) thứ hai.
Các lệnh trùng lặp tạo ra rủi ro tài chính.
Bản sửa lỗi giúp bảo toàn danh tính của các lệnh đóng bị lỗi. Điều này cho phép PositionExecutor đối soát các lệnh khớp muộn. Nếu một lệnh khớp xuất hiện sau khi xảy ra lỗi, hệ thống sẽ đánh dấu nó là thành công. Sau đó, bộ thực thi sẽ tránh đặt một lệnh trùng lặp.
Kết quả kiểm thử:
- Bài kiểm tra hồi quy (regression test) cho tình trạng tranh chấp lệnh đóng (close-order race) đã vượt qua.
- 35 bài kiểm tra đã vượt qua trong tệp PositionExecutor.
- 35 bài kiểm tra đã vượt qua trong tệp ClientOrderTracker.
- PR công khai đang mở để xem xét.
Bài kiểm tra này đưa Scarab tiến vào giai đoạn thực thi giao dịch. Trong lĩnh vực này, danh tính lệnh và trạng thái vòng đời là cực kỳ quan trọng. Các lệnh khớp muộn và việc thử lại xác định cách thức một hệ thống vận hành.
Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi