⚔️ Comparatif Technique

ONNX vs Python Socket vs DLL : Meilleure Intégration IA pour MT5 ?

Par Dan Machado · 10 min de lecture

Trois chemins pour exécuter l’IA dans un Expert Advisor MT5. Chacun a des compromis réels. Ce comparatif est pratique — pas ‘lequel est meilleur’, mais ‘lequel utiliser dans quelle situation’.

Comment fonctionne chaque approche

1. ONNX natif (recommandé 2026)

L’EA appelle OnnxRun() directement. Modèle intégré ou dans MQL5\Files. L’inférence tourne dans le même processus MT5 — pas de réseau, pas d’exécutable séparé.

2. Python Socket

Vous ouvrez un serveur Python (Flask, FastAPI, socket TCP simple) tenant le modèle chargé. L’EA envoie les features par socket, le serveur retourne la prédiction. Nécessite Python en parallèle.

3. DLL personnalisée

Compilez une DLL C++ avec libtorch, tensorflow-c ou onnxruntime. Fonctionnait bien pré-2023, aujourd’hui exagéré dans la plupart des cas.

Comparatif tête-à-tête

Aspect ONNX Socket DLL
Latence inférence Comparable C++ + overhead réseau Natif C++
Setup initial Simple (1 fichier) Moyen (serveur) Complexe (C++)
Dépendances Zéro Python + libs C++ + libs
VPS friendly Oui Plus de ressources Oui mais pénible
Distribuer EA 1 fichier .ex5 EA + serveur EA + DLL
Risque casse Faible Élevé (réseau) Élevé (ABI)
Courbe apprentissage Faible Moyenne Élevée (C++)

Latence — le chiffre qui compte

La doc officielle mql5.com indique que MQL5 avec ONNX est « comparable aux applications C++ ». Les chiffres ci-dessous sont des estimations d’ordre de grandeur — mesurez sur votre hardware.

Scénario ONNX Socket localhost Socket VPS→cloud DLL
Petit (RF ~1 MB) < 1 ms ~5-15 ms ~30-100 ms < 1 ms
Moyen (LSTM ~10 MB) ~2-5 ms ~10-25 ms ~50-150 ms ~2-5 ms
Grand (Transformer ~100 MB) ~20-80 ms ~50-200 ms ~200-500 ms ~20-80 ms

Quand utiliser chacun

Utilisez ONNX si :

✓ EA self-contained · ✓ VPS avec peu de ressources · ✓ Distribuer aux clients · ✓ Maintenance minimale · ✓ Vous utilisez déjà PyTorch/TF/Sklearn · ✓ Choix sensible 2026

Utilisez Python Socket si :

✓ Libs Python sans export ONNX · ✓ Prototypage rapide · ✓ Vous avez déjà l’infra Python · ✓ Partager modèle entre EAs · ✓ Pré-traitement Python lourd (LLM, NLP)

Utilisez DLL personnalisée si :

✓ Vous êtes expert C++ · ✓ Lib spécifique sans support ONNX · Sinon : ignorez DLL.

Workflow de production recommandé

  1. Prototypez dans un notebook Python
  2. Exportez vers ONNX (skl2onnx / torch.onnx.export)
  3. Validez avec onnxruntime en Python
  4. Intégrez comme #resource dans l’EA MQL5
  5. Backtest dans Strategy Tester
  6. Démo trading 30 jours
  7. Live avec mise minimale

Conclusion honnête

🏆 Default 2026 : ONNX. Pour 90% des cas d’usage IA-in-trading sur MT5, ONNX natif est le choix évident. Simple, rapide, robuste, officiellement supporté. Réservez le socket pour les cas où Python doit rester vivant (LLMs, RL en ligne, prototypage) et la DLL presque jamais.

🚀 Pour tester des EA avec ONNX, démo gratuite Deriv MT5 (10 000 $ virtuels) :

Ouvrir la démo Deriv MT5 →

DM

Dan Machado

Fondateur IA Trader Pro · Expert IA appliquée au trading

⚠️ Avertissement : Contenu éducatif, pas un conseil d’investissement. Le trading implique un risque substantiel. Les modèles d’IA ne garantissent pas les profits. Testez toujours en démo avant le réel. L’article contient un lien d’affiliation Deriv.