⚔️ So sánh Kỹ thuật

ONNX vs Python Socket vs DLL: Tích hợp AI Tốt nhất cho MT5?

Bởi Dan Machado · 10 phút đọc

Ba con đường để chạy AI bên trong Expert Advisor MT5. Mỗi cách có những đánh đổi thực sự. So sánh này thực tế — không phải ‘cái nào tốt hơn’, mà là ‘dùng cái nào trong tình huống nào’.

Cách mỗi cách tiếp cận hoạt động

1. ONNX native (khuyến nghị 2026)

EA gọi OnnxRun() trực tiếp. Mô hình được nhúng hoặc trong MQL5\Files. Suy luận chạy trong cùng tiến trình MT5 — không mạng, không executable riêng.

2. Python Socket

Bạn mở server Python (Flask, FastAPI, TCP socket) giữ mô hình đã tải. EA gửi features qua socket, server trả về dự đoán. Yêu cầu Python chạy song song.

3. DLL tùy chỉnh

Compile DLL C++ với libtorch, tensorflow-c hoặc onnxruntime. Hoạt động tốt trước 2023, hôm nay overkill trong hầu hết các trường hợp.

So sánh trực tiếp

Khía cạnh ONNX Socket DLL
Latency suy luận Tương đương C++ + overhead mạng Native C++
Setup ban đầu Đơn giản (1 file) Trung bình Phức tạp (C++)
Phụ thuộc Không Python + libs C++ + libs
VPS friendly Cần nhiều resource Có nhưng khó
Phân phối EA 1 file .ex5 EA + server EA + DLL
Rủi ro hỏng Thấp Cao (mạng) Cao (ABI)
Đường cong học tập Thấp Trung bình Cao (C++)

Latency — con số quan trọng

Tài liệu chính thức mql5.com nêu MQL5 với ONNX “tương đương ứng dụng C++”. Các con số bên dưới là ước tính bậc độ lớn — đo trên phần cứng của bạn.

Kịch bản ONNX Socket localhost Socket VPS→cloud DLL
Nhỏ (RF ~1 MB) < 1 ms ~5-15 ms ~30-100 ms < 1 ms
Trung bình (LSTM ~10 MB) ~2-5 ms ~10-25 ms ~50-150 ms ~2-5 ms
Lớn (Transformer ~100 MB) ~20-80 ms ~50-200 ms ~200-500 ms ~20-80 ms

Khi nào dùng cái nào

Dùng ONNX nếu:

✓ EA self-contained · ✓ VPS ít resource · ✓ Phân phối cho khách hàng · ✓ Bảo trì tối thiểu · ✓ Đã dùng PyTorch/TF/Sklearn · ✓ Default 2026 hợp lý

Dùng Python Socket nếu:

✓ Libs Python không có export ONNX · ✓ Prototyping nhanh · ✓ Đã có infra Python · ✓ Chia sẻ mô hình giữa nhiều EA · ✓ Pre-processing Python nặng (LLM, NLP)

Dùng DLL tùy chỉnh nếu:

✓ Đã là chuyên gia C++ · ✓ Lib cụ thể không có ONNX support · Nếu không: bỏ qua DLL.

Workflow production khuyến nghị

  1. Prototype trong Python notebook
  2. Xuất sang ONNX (skl2onnx / torch.onnx.export)
  3. Validate với onnxruntime trong Python
  4. Nhúng dưới dạng #resource trong EA MQL5
  5. Backtest trong Strategy Tester
  6. Demo trade 30 ngày
  7. Live với stake tối thiểu

Kết luận trung thực

🏆 Default 2026: ONNX. Cho 90% các use case AI-in-trading trên MT5, ONNX native là lựa chọn hiển nhiên. Đơn giản, nhanh, mạnh mẽ, được hỗ trợ chính thức. Dành socket cho các trường hợp Python phải tồn tại (LLMs, RL online, prototyping) và DLL hầu như không bao giờ.

🚀 Để kiểm tra EA với ONNX, demo Deriv MT5 miễn phí ($10.000 ảo):

Mở Demo Deriv MT5 →

DM

Dan Machado

Founder IA Trader Pro · Chuyên gia AI giao dịch

⚠️ Tuyên bố từ chối: Nội dung giáo dục, không phải lời khuyên đầu tư. Giao dịch có rủi ro đáng kể. Mô hình AI không đảm bảo lợi nhuận. Luôn kiểm tra trên demo trước khi giao dịch thật. Bài viết chứa liên kết liên kết Deriv.