TL;DR
- ONNX (Open Neural Network Exchange) est un format open-source pour exécuter des modèles ML directement dans MT5 — sans serveurs externes ni appels API.
- MetaTrader 5 a un support natif ONNX Runtime depuis la build 3600+, avec des fonctions MQL5 dédiées.
- C'est ce qui sépare les vrais EAs IA des faux : pas de fichier .onnx = pas de machine learning.
- Karat Killer utilise 4 modèles ONNX (XGBoost, LightGBM, CatBoost, Réseau Neuronal) en ensemble dans MT5 pour le XAUUSD.
Qu'est-ce que ONNX ? (Et Pourquoi les Traders Devraient S'en Soucier)
ONNX (Open Neural Network Exchange) est un format open-source pour les modèles de machine learning. C'est un traducteur universel : vous entraînez un modèle en Python avec PyTorch, TensorFlow, XGBoost ou scikit-learn — puis vous l'exportez au format .onnx pour qu'il fonctionne partout.
Pour les traders, c'est important car MetaTrader 5 a un support natif ONNX Runtime. Vous pouvez entraîner un modèle ML sophistiqué, l'exporter en .onnx, l'intégrer directement dans un Expert Advisor et l'exécuter à chaque tick — sans serveurs, appels API ni dépendances Internet.
Avant ONNX, exécuter des modèles ML dans MT5 signifiait :
- Coder en dur les poids dans MQL5 (fragile, limité)
- Appels HTTP vers un serveur Python (latence, fiabilité)
- Imports DLL (sécurité, compatibilité)
ONNX résout les trois. Le modèle tourne nativement dans le terminal, à la vitesse du C++. Le projet est soutenu par Microsoft, Meta, Amazon — c'est le standard de l'industrie.
Comment ONNX Fonctionne dans MetaTrader 5
MetaQuotes a ajouté le support natif ONNX depuis la build 3600+.
Le Pipeline : Entraîner → Exporter → Intégrer → Exécuter
- Entraîner le modèle en Python avec feature engineering et validation walk-forward.
- Exporter vers .onnx avec
onnxmltoolsouskl2onnx. - Intégrer le fichier .onnx comme ressource dans l'EA MQL5.
- Exécuter avec
OnnxCreate(),OnnxRun(),OnnxRelease().
Fonctions MQL5 Clés
OnnxCreate()— Charger un modèleOnnxRun()— Exécuter les prédictionsOnnxSetInputShape()— Configurer les dimensionsOnnxRelease()— Libérer la mémoire
Performance
L'inférence d'un modèle typique prend moins de 1 milliseconde. Assez rapide pour l'analyse tick par tick même sur les instruments les plus volatils.
Pourquoi ONNX Change la Donne pour le Développement d'EAs
1. Indépendance du Framework
XGBoost, LightGBM, PyTorch — tous exportent vers le même format .onnx.
2. Aucune Dépendance Externe
Le modèle tourne dans le processus MT5. Pas de serveur Python, pas d'API, pas d'Internet nécessaire.
3. Compatibilité Strategy Tester
Backtestez un EA ML sur 10+ ans de données tick, exactement comme un EA traditionnel.
4. Mises à Jour Sans Changement de Code
Remplacez simplement le fichier .onnx lors du ré-entraînement.
5. Architecture Multi-Modèles
MT5 peut charger plusieurs modèles ONNX simultanément pour des approches ensemble.
Le Workflow d'Entraînement ONNX (Étape par Étape)
Étape 1 : Feature Engineering
Les données brutes sont inutiles pour le ML. Transformez-les en features significatives : indicateurs techniques, mesures de volatilité, patterns temporels. 80% du travail se fait ici.
Étape 2 : Entraînement & Validation
Validation walk-forward obligatoire — jamais de splits aléatoires pour les séries temporelles. Entraînez sur 2015-2020, validez sur 2021, testez sur 2022.
Plus de détails dans notre article sur les Expert Advisors ML : hype vs réalité.
Étape 3 : Export ONNX
Exportez avec onnxmltools ou skl2onnx. Fichier typique : 100KB à 5MB.
Étape 4 : Intégration MQL5
Intégrez la ressource .onnx, chargez dans OnInit(), prédisez dans OnTick().
Étape 5 : Validation Strategy Tester
Backtestez avec le modèle ONNX intégré sur l'ensemble des données, y compris les périodes hors échantillon.
Modèles Ensemble : Pourquoi un Seul ONNX ne Suffit Pas
En ML compétitif, les modèles individuels gagnent rarement. Les ensembles surpassent systématiquement.
- XGBoost — relations non-linéaires
- LightGBM — rapidité et haute dimension
- CatBoost — résistance au surapprentissage
- Réseaux Neuronaux — patterns temporels complexes
Notre Karat Killer EA utilise 4 modèles ONNX en parallèle pour le XAUUSD. Trades exécutés uniquement par consensus. Résultat backtest : +7 229% sur 10 ans.
ONNX vs Autres Approches IA dans MT5
| Approche | Avantages | Inconvénients | Idéal pour |
|---|---|---|---|
| ONNX Runtime | Support natif, rapide, fiable, backtestable | Expertise ML requise | EAs ML production |
| API Externe | Écosystème Python complet | Latence, fiabilité | Recherche |
| Poids hardcodés | Simple | Fragile, limité | Modèles très simples |
| DLL | Flexibilité totale | Sécurité, MQL5 Market interdit | Systèmes institutionnels |
| Label "IA" seul | Marketing facile | Pas vraiment de l'IA | Marketing (malheureusement courant) |
Pour le ML sérieux en trading, ONNX est le choix évident.
Comment BLODSALGO Utilise ONNX (Notre Architecture Réelle)
Karat Killer — Ensemble 4 Modèles XAUUSD
- 4 modèles ONNX : XGBoost, LightGBM, CatBoost, réseau neuronal profond
- 60+ features engineerées
- Système de consensus : les 4 modèles doivent s'accorder
- Backtest : +7 229% sur 10 ans
Stability Killer AI — ML AUDCAD
- Max drawdown live : 4,08%
- Croissance live : +15,6% vérifié
Les deux EAs incluent les fichiers .onnx comme ressources. Pour l'intersection or et IA, lisez notre article sur l'IA et le machine learning pour le XAUUSD.
Débuter avec ONNX dans Vos Propres EAs
Prérequis
- Python 3.8+ avec scikit-learn, XGBoost ou PyTorch
- MetaTrader 5 build 3600+
- Bases en machine learning
- Données historiques (5+ ans minimum)
Exemple Minimal
int handle = OnnxCreate("model.onnx", 0);OnnxSetInputShape(handle, 0, input_shape);OnnxRun(handle, 0, features, prediction);OnnxRelease(handle);
Pièges Courants
- Désalignement des features MQL5/Python
- Erreurs de forme des tenseurs
- Surapprentissage — utilisez la validation walk-forward
- Normalisation différente entre Python et MQL5
Consultez la documentation ONNX de MetaQuotes.
L'Avenir d'ONNX dans le Trading Algorithmique
L'adoption d'ONNX dans MT5 est encore précoce. La plupart des EAs sont purement basés sur des règles — l'avantage du vrai ML est significatif.
Ce qui arrive
- Transformers pour la prédiction de séries temporelles
- Reinforcement learning pour les politiques de trading optimales
- Features plus larges avec données alternatives
- Ré-entraînement automatisé
Comprendre ONNX est une compétence pratique : ça vous permet de distinguer les vrais produits ML du marketing "IA".
FAQ : Modèles ONNX dans MetaTrader 5
- Quelle version de MT5 supporte ONNX ?
- Depuis la build 3600+. Vérifiez via Aide → À propos.
- Les modèles ONNX ralentissent-ils mon EA ?
- Impact minimal. Moins de 1ms par prédiction. Un ensemble de 4 modèles ajoute 2-3ms par tick.
- ONNX fonctionne-t-il dans le Strategy Tester ?
- Oui — nativement. C'est un avantage majeur.
- Quels frameworks exportent vers ONNX ?
- scikit-learn, XGBoost, LightGBM, CatBoost, PyTorch, TensorFlow, Keras, etc.
- Comment vérifier qu'un EA utilise ONNX ?
- Ouvrez l'EA dans MetaEditor, onglet Ressources. Pas de .onnx = pas de ML.
- ONNX fonctionne-t-il avec un VPS ?
- Oui. L'ONNX Runtime tourne dans le processus MT5, compatible avec tout système.
Risk Disclaimer: Trading foreign exchange, gold (XAUUSD), and other financial instruments involves significant risk of loss and is not suitable for all investors. The information in this article is for educational purposes only and does not constitute financial advice. Past performance of any Expert Advisor does not guarantee future results. Always test strategies on a demo account before trading with real capital, and never risk money you cannot afford to lose.