Thiết kế MagicNumber khi chạy nhiều EA trên một tài khoản
Mục lục
Kết luận: MagicNumber là "bảng tên" của EA. Không để trùng trong cùng một tài khoản
Nếu chạy nhiều EA trên một tài khoản, việc đầu tiên cần quyết định là cách gán MagicNumber. MagicNumber là con số gắn vào lệnh và vị thế để cho biết "EA nào đã vào lệnh này". Phần lớn EA dựa vào con số này để xác định "vị thế nào là của mình".
Khi số bị trùng, một EA có thể nhầm vị thế của EA khác là của mình, rồi tự ý đóng lệnh hoặc sửa stop. Hệ thống không báo lỗi và trên giao diện cả hai EA đều trông như đang chạy bình thường, nên đây là sự cố rất khó nhận ra.
So sánh nhà môi giới khuyên dùng →
🎁 Tải EA miễn phí📧 Khóa học email miễn phí (8 email) + gói 13 chỉ báo MT5 dành riêng cho người đăng ký
* Quyền riêng tư được bảo vệ nghiêm ngặt. Bạn có thể hủy đăng ký bất cứ lúc nào.
Cơ chế: EA nhận ra "vị thế của mình" như thế nào
Trên MT5, khi EA gửi lệnh có thể gắn kèm một MagicNumber dạng số. Giá trị này được lưu trong vị thế (POSITION_MAGIC) và lịch sử giao dịch (DEAL_MAGIC). Lệnh đặt tay thông thường có giá trị 0.
Khi đếm hoặc quản lý vị thế, một EA thông thường sẽ lọc theo hai điều kiện sau:
- Biểu tượng có trùng với biểu tượng của biểu đồ đang chạy hay không
- MagicNumber có trùng với giá trị đã cài đặt của mình hay không
Chỉ những vị thế khớp cả hai điều kiện mới được coi là "phần của mình". Điều quan trọng ở đây là bản thân MT5 không ngăn việc trùng MagicNumber. Con số chỉ là một quy ước; có tuân thủ hay không phụ thuộc vào người vận hành và cách EA được viết.
Điều gì xảy ra khi bị trùng
Nếu hai EA chạy trên cùng biểu tượng với cùng MagicNumber, có thể xảy ra những tình huống như sau:
- Chặn vào lệnh: EA đặt "số vị thế tối đa là 1" đếm cả vị thế của EA kia là của mình nên bỏ qua tín hiệu vào lệnh mới
- Đóng vị thế của EA khác: khi có tín hiệu đóng lệnh, EA đóng luôn cả vị thế của EA kia
- Ghi đè stop: trailing stop dịch chuyển cả SL của vị thế thuộc EA kia
- Tính lot sai lệch: với EA quyết định lot dựa trên số vị thế đang giữ, khối lượng thực tế có thể lớn hơn dự kiến
Cả bốn trường hợp đều không tái hiện được trong backtest, vì Strategy Tester chạy từng EA một. Đây là một trong những nguyên nhân khiến kết quả kiểm chứng lệch với vận hành thực tế.
Theo dõi đóng lệnh một phần
Với EA có dùng đóng một phần, cần chú ý cả cách truy vết dữ liệu. Trên tài khoản hedging, dù đóng một phần thì mã định danh của vị thế (POSITION_IDENTIFIER) vẫn không đổi và được lưu trong giao dịch đóng ở lịch sử dưới dạng DEAL_POSITION_ID. Nếu muốn tổng hợp kết quả theo từng EA sau này, cách chắc chắn là lọc theo MagicNumber rồi nhóm theo ID vị thế này.
Tuy nhiên, MagicNumber ghi trong giao dịch đóng có thể là giá trị của bên gửi lệnh đóng. Nếu bạn tự đóng tay một phần vị thế do EA mở, giao dịch đó sẽ có số 0, và nếu chỉ tổng hợp theo MagicNumber thì số liệu có thể không khớp. Ô comment cũng có thể bị sàn hoặc máy chủ ghi đè, nên không đáng tin làm manh mối nhận diện.
Danh sách kiểm tra trước khi cài đặt
| Mục cần kiểm tra | Cách kiểm tra | Rủi ro nếu bỏ qua |
|---|---|---|
| MagicNumber của các EA có bị trùng không | Liệt kê từ màn hình tham số của từng EA và ghi lại | Xung đột khi đóng lệnh, sửa SL |
| Khi dùng cùng một EA trên nhiều biểu đồ, đã đặt số khác nhau chưa | Dù khác biểu tượng hay khung thời gian cũng nên dùng số khác nhau | Nhầm lẫn ở những EA không xét biểu tượng |
| Tài khoản có phải loại hedging không | Xem trong thông tin tài khoản | Tài khoản netting gộp các vị thế cùng biểu tượng thành một, không thể tách bằng số |
| Có đổi số khi EA đang chạy không | Trước khi đổi, hãy chắc chắn không còn vị thế nào | Vị thế hiện có bị bỏ lại không ai quản lý |
| Có trộn với giao dịch thủ công không | Giao dịch thủ công nên dùng tài khoản riêng | Số liệu tổng hợp lệch, thiếu ghi nhận do đóng tay |
Nếu đặt số theo quy tắc đơn giản, ví dụ "mỗi EA một dải chữ số riêng", bạn sẽ không bị rối khi xem lại lịch sử sau này. Vị trí màn hình cài đặt được tổng hợp trong Cách cài đặt EA.
Giới hạn và lưu ý
Có những vấn đề mà việc tách MagicNumber cũng không ngăn được. Xin nói thẳng như sau.
- Không có tác dụng với EA không xét MagicNumber: EA chỉ lọc theo biểu tượng, hoặc EA quản lý toàn bộ vị thế trong tài khoản, vẫn gây xung đột dù bạn đã tách số. Khi trộn EA của bên khác, chúng tôi không biết được cách chúng được viết.
- Va chạm giá trị mặc định: nhiều EA được phát hành với giá trị mặc định nguyên vẹn. Hoàn toàn có thể xảy ra việc EA của các nhà phát triển khác nhau tình cờ có cùng giá trị mặc định. Hãy luôn tự kiểm tra lại giá trị.
- EA giao dịch nhiều biểu tượng: với EA xử lý nhiều biểu tượng trong một EA như ATLAS hay TRINITY, EA sẽ cùng giao dịch một biểu tượng với các EA khác. Dù đã tách số, ký quỹ vẫn dùng chung, nên khả năng drawdown xảy ra đồng thời vẫn còn.
- Quản lý vốn không được tách rời: MagicNumber chỉ tách việc quản lý vị thế. Tỷ lệ ký quỹ và stop-out được tính trên toàn tài khoản. Nếu một EA thua lớn, các EA khác cũng bị kéo theo.
Nếu muốn tránh xung đột một cách chắc chắn, cách đơn giản nhất là dùng một tài khoản riêng cho mỗi EA. Hãy xem thiết kế số này là sự chuẩn bị tối thiểu khi bạn đã quyết định chạy chung trên một tài khoản.
Tóm tắt
- MagicNumber là số nhận diện EA lưu trong lệnh, vị thế và lịch sử; MT5 không ngăn việc trùng số
- Khi trùng, có thể xảy ra: chặn vào lệnh, đóng vị thế của EA khác, ghi đè SL, tính lot sai lệch. Các vấn đề này không tái hiện được trong backtest
- Theo dõi đóng một phần cần kết hợp MagicNumber và ID vị thế. Nếu đóng tay thì ghi nhận có thể bị lệch
- Tài khoản netting không thể tách vị thế bằng số. Nếu chạy nhiều EA, hãy dùng tài khoản hedging
- Dù đã tách số, ký quỹ vẫn dùng chung. Muốn tránh xung đột chắc chắn thì hãy tách tài khoản
Các kinh nghiệm vận hành khác được tổng hợp tại Kiến thức EA & MT5.
Liên quan
2026-11-02
Lệnh và vị thế MT5 | Tránh sự cố tài khoản Netting
2026-10-02
Kiểm Tra Hàng Ngày Khi Vận Hành EA
2026-10-29
OnTick và OnTimer trong MQL5: cách dùng khi thiết kế EA
2026-10-20
Múi giờ máy chủ khác nhau làm lệch bộ lọc khung giờ
📧 Khóa học email miễn phí (8 email) + gói 13 chỉ báo MT5 dành riêng cho người đăng ký
* Quyền riêng tư được bảo vệ nghiêm ngặt. Bạn có thể hủy đăng ký bất cứ lúc nào.
Bạn có câu hỏi về EA hay Forex?
Bạn có thể đăng câu hỏi trên diễn đàn giao dịch Nattzy (đăng ký miễn phí). Không nhất thiết liên quan đến bài viết này — cài đặt EA, chọn sàn môi giới, v.v. đều được.
Hỏi trên Nattzy ↗