ONNX vs Python Socket vs DLL: MT5 के लिए सर्वश्रेष्ठ AI Integration?
MT5 Expert Advisor के अंदर AI चलाने के तीन रास्ते। प्रत्येक के वास्तविक trade-offs हैं। यह तुलना practical है — ‘कौन सा बेहतर है’ नहीं, बल्कि ‘किस स्थिति में किसका उपयोग करें’।
प्रत्येक approach कैसे काम करता है
1. Native ONNX (2026 recommended)
EA सीधे OnnxRun() call करता है। Model embedded या MQL5\Files में। Inference same MT5 process में चलता है — कोई network नहीं, कोई separate executable नहीं।
2. Python Socket
आप Python server (Flask, FastAPI, simple TCP socket) खोलते हैं loaded model के साथ। EA features भेजता है, server prediction return करता है। Python parallel में चलना चाहिए।
3. Custom DLL
libtorch, tensorflow-c या onnxruntime के साथ C++ DLL compile करें। Pre-2023 अच्छा था, आज overkill।
Head-to-head तुलना
| पहलू | ONNX | Socket | DLL |
|---|---|---|---|
| Inference latency | C++ के बराबर | + network overhead | Native C++ |
| Initial setup | सरल | मध्यम | जटिल |
| External deps | Zero | Python + libs | C++ + libs |
| VPS friendly | हाँ | अधिक resources | हाँ लेकिन कठिन |
| EA distribution | 1 file .ex5 | EA + server | EA + DLL |
| टूटने का खतरा | कम | उच्च | उच्च |
| Learning curve | कम | मध्यम | उच्च |
Latency — वह संख्या जो महत्वपूर्ण है
Official mql5.com docs कहते हैं MQL5 with ONNX “C++ applications के बराबर” है। नीचे की संख्याएँ order-of-magnitude estimates हैं — अपने hardware पर मापें।
| Scenario | ONNX | Socket localhost | Socket VPS→cloud | DLL |
|---|---|---|---|---|
| Small (RF ~1 MB) | < 1 ms | ~5-15 ms | ~30-100 ms | < 1 ms |
| Medium (LSTM ~10 MB) | ~2-5 ms | ~10-25 ms | ~50-150 ms | ~2-5 ms |
| Large (Transformer ~100 MB) | ~20-80 ms | ~50-200 ms | ~200-500 ms | ~20-80 ms |
कब किसका उपयोग करें
ONNX उपयोग करें यदि:
✓ Self-contained EA · ✓ कम resources वाला VPS · ✓ Clients को distribute · ✓ Minimal maintenance · ✓ PyTorch/TF/Sklearn पहले से उपयोग · ✓ 2026 sensible default
Python Socket उपयोग करें यदि:
✓ ONNX export के बिना Python libs · ✓ Rapid prototyping · ✓ Python infra पहले से · ✓ कई EAs में model share · ✓ Heavy Python pre-processing
Custom DLL उपयोग करें यदि:
✓ C++ expert हैं · ✓ ONNX support के बिना specific lib · अन्यथा: DLL skip करें।
Recommended production workflow
- Python notebook में prototype
- ONNX में export (skl2onnx / torch.onnx.export)
- Python में onnxruntime से validate
- MQL5 EA में #resource के रूप में embed
- Strategy Tester में backtest
- 30 दिन demo trade
- Minimal stake के साथ live
ईमानदार निष्कर्ष
🏆 Default 2026: ONNX. MT5 में AI-in-trading के 90% use cases के लिए, native ONNX स्पष्ट विकल्प है। सरल, तेज़, robust, officially supported। Socket को उन cases के लिए reserve करें जहाँ Python जीवित रहना चाहिए (LLMs, online RL, prototyping) और DLL लगभग कभी नहीं।
🚀 ONNX EA परीक्षण के लिए, मुफ्त Deriv MT5 डेमो ($10,000 वर्चुअल):
