- Support ONNX
- Conversion de Formats
- Conversion automatique des types
- Création d'un modèle
- Exécution d'un modèle
- Exécuter dans le Testeur de Stratégie
- OnnxCreate
- OnnxCreateFromBuffer
- OnnxRelease
- OnnxRun
- OnnxGetInputCount
- OnnxGetOutputCount
- OnnxGetInputName
- OnnxGetOutputName
- OnnxGetInputTypeInfo
- OnnxGetOutputTypeInfo
- OnnxSetInputShape
- OnnxSetOutputShape
- Structures de données
Création d'un modèle
Plusieurs méthodes sont disponibles pour obtenir un modèle prêt au format ONNX. La bibliothèque populaire ONNX Model Zoo contient plusieurs modèles ONNX pré-formés pour différents types de tâches. L'avantage de cette collection est que le bloc-notes de chaque modèle contient des liens vers l'ensemble de données de formation et des références vers l'article original qui décrit l'architecture du modèle.
La plupart des frameworks d'apprentissage automatique utilisent Python. Pour installer le runtime ONNX pour Python, utilisez l'une des commandes suivantes :
pip install onnxruntime # CPU build
|
Pour invoquer le runtime ONNX en Python, utilisez la commande suivante :
import onnxruntime
|
Pour les entrées et sorties du modèle, consultez la documentation du modèle concerné. Vous pouvez également utiliser des outils de visualisation pour afficher le modèle, tels que Netron ou WinML Dashboard. Dans le runtime ONNX, vous pouvez également interroger les métadonnées d'un modèle et ses entrées et sorties :
results = session.run(["output1", "output2"], {
|
Vous pouvez créer des modèles ONNX directement dans le terminal MetaTrader 5 ou dans MetaEditor en utilisant Python.
Python dans MetaTrader 5
MetaTrader 5 fournit un support prêt à l'emploi pour les scripts Python. Pour activer ces opérations, les développeurs de terminaux fournissent le module MetaTrader5 pour Python : https://pypi.org/project/MetaTrader5.
Dans l'environnement de développement intégré MetaEditor, en plus de créer des applications dans MQL5, vous pouvez également exécuter des scripts Python directement depuis l'éditeur. Pour cela, indiquez le chemin d'accès à l'exécutable dans Paramètres MetaEditor :
Si Python n'est pas installé sur votre ordinateur, cliquez sur Installer pour télécharger le fichier d'installation.
Vous pouvez créer un script Python dans MetaEdtior ou le télécharger dans le dossier de données du terminal et l'exécuter immédiatement à l'aide de la touche F7 (Compiler). Cela ouvrira le terminal MetaTrader 5 avec le script exécuté sur le graphique actuel. Les messages de la console Python (stdout, stderr) seront affichés dans la section Erreurs.
Opérations avec des modèles dans MetaTrader 5
Le langage MQL5 vous permet d'exécuter des modèles ONNX directement dans le terminal MetaTrader 5. Cela se fait en trois étapes :
- Entraînez le modèle sur une plateforme tierce, telle que Python.
- Convertissez le modèle en ONNX.
- Incluez le modèle ONNX dans un Expert Advisor en utilisant la fonction ONNX et exécutez-le dans le terminal MetaTrader 5.
L'intégration de Python dans MQL5 permet d'exécuter un script python et d'enregistrer un modèle ONNX dans MetaEditor ou de l'exécuter directement sur un graphique dans MetaTrader 5. Vous pouvez entraîner le modèle à l'aide d'un script Python pré-écrit aussi souvent que nécessaire directement dans le terminal. La bibliothèque comprend des fonctions prêtes à l'emploi pour obtenir des données de prix, qui peuvent être entrées dans un modèle ONNX :
- copy_rates_from - obtient les barres à partir de la date spécifiée
- copy_rates_from_pos - obtient les barres à partir de l'index spécifié
- copy_rates_range - obtient les barres pour l'intervalle de dates spécifié
- copy_ticks_from - obtient les ticks à partir de la date spécifiéee
- copy_ticks_range - obtient les ticks pour la plage de dates spécifiée
Exemple de modèle #
Un exemple de modèle ONNX fini est disponible dans les projets publics. Vous devez d'abord activer MQL5 Storage dans le Navigateur en spécifiant votre login MQL5 dans les paramètres MetaEditor (sensible à la casse).
Après l'activation, recherchez le projet ONNX.Price.Prediction et rejoignez-le via la commande du menu contextuel.
Ensuite, mettez à jour le projet à partir de MQL5 Storage.
Le projet contient un modèle ONNX, deux scripts python, un script MQL5 pour le fonctionnement du projet et un fichier de projet MQL5 (ONNX.Price.Prediction.mqproj).
Vous pouvez créer vous-même le modèle ONNX à l'aide du script PricePredictionTraining.py inclus dans le projet. Pour ce faire, vous devez d'abord installer les modules requis à partir de la ligne de commande.
python.exe -m pip install --upgrade pip
|
Après avoir installé les modules, ouvrez le script PricePredictionTraining.py dans MetaEditor et exécutez-le avec le bouton Compiler ou avec la touche F7.
Avant d'exécuter le script Python, assurez-vous que le terminal MetaTrader 5 est connecté à un serveur avec le symbole EURUSD disponible. Par exemple, connectez-vous au serveur MetaQuotes-Demo et cochez "Intégration avec Python" dans les paramètresdu terminal.
Lors de la formation du réseau, MetaEditor imprimera les messages du script Python jusqu'à ce que la formation soit terminée.
Lorsque le résultat est de 100 %, le modèle ONNX est prêt et il est enregistré dans le dossier du projet dans <répertoire des données du terminal>\MQL5\Shared Projects\ONNX.Price.Prediction\Python.
Vous pouvez vérifier le modèle résultant en exécutant le deuxième script PricePrediction.py, en appuyant sur F7.