Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Bel article. Le graphique de prédiction sur les données de test est décevant. Vous pourriez tout aussi bien vous passer de toute cette modélisation/formation DNN et utiliser simplement une prédiction du prochain prix égale au dernier prix connu. Je parie que la précision de prédiction de ce modèle trivial sera supérieure à celle de votre modèle DNN. Je suggère de comparer ces deux précisions et de les montrer ici. En général, l'utilisation de DNN pour prédire les prix est une mauvaise idée. Ils sont mieux adaptés à la classification des modèles de prix (par exemple, achat, vente, maintien). De plus, le nombre de poids dans votre DNN est astronomique. Il doit s'agir d'un surajustement.
Merci Vladimir.
Juste pour la discussion, lorsque le temps le permettra, je modifierai ce modèle pour effectuer une classification à des fins de comparaison.
N'hésitez pas à me faire part de vos idées.
Le tutoriel donne une entrée d'un lot SAMPLE_SIZE nombre d'entrées proches, vous voulez un lot d'entrées input_count.
De plus, votre modèle n'utilise pas de flottants comme entrées, mais des doubles,
Note du modérateur : Ce message est hors séquence car les messages ci-dessous ont été déplacés d'un autre sujet. Veuillez consulter le message ci-dessous.
Bonjour à la communauté MQL5, J'ai essayé de suivre ce tutoriel sur la façon d'utiliser ONNX dans vos EA. Dans le tutoriel, un réseau neuronal était le modèle choisi, j'ai utilisé un arbre boosté par le gradient.
J'ai construit le modèle en utilisant le package Python InterpretML, et je l'ai exporté vers ONNX en utilisant ebm2onnx.
Je vais résumer le processus par lequel le modèle a été entraîné.
1) Le modèle a été entraîné sur 5 entrées, OHLC et hauteur, la hauteur est calculée comme ((H + L) / 2) - C.
2) Le modèle est un classificateur binaire, visant à classer la prochaine bougie comme étant à la hausse (1) ou à la baisse (0).
Les données utilisées pour former le modèle.
3) Le modèle a ensuite été exporté au format ONNX.
Représentation du modèle ONNX.
Pour faire fonctionner le modèle, je me suis écarté du code du tutoriel et j'ai continué à éditer le code pour essayer de faire fonctionner le modèle ONNX, mais maintenant je ne sais vraiment pas ce que je fais de travers. Je n'arrête pas de recevoir une erreur indiquant que la poignée du modèle n'est pas valide.
J'ai joint le code MQL5 ci-dessous.
Je vais maintenant résumer les étapes que j'ai suivies dans mon code qui s'écartent de ce qui est indiqué dans le tutoriel, et j'expliquerai également pourquoi je me suis écarté du tutoriel.
1) LINE 57 : Setting Model Input Shape.
Dans le tutoriel, 3 dimensions ont été utilisées pour définir la forme de l'entrée et de la sortie, c'est-à-dire {1,SAMPLE_SIZE,1} ; Cependant, lorsque j'ai suivi cette approche, je n'ai cessé d'obtenir une erreur, en particulier l'erreur 5808. Après le processus habituel d'essais et d'erreurs, j'ai réalisé que si j'utilisais une seule dimension, le nombre d'entrées, l'erreur disparaissait.
2) LIGNE 68 : Définition de la forme de la sortie du modèle.
Même logique que ci-dessus.
Les autres écarts que j'ai faits n'affectent pas le modèle ; par exemple, j'ai suivi le temps en utilisant une logique que j'ai trouvée plus intuitive que celle mise en œuvre dans le didacticiel. Je n'ai pas eu besoin de normaliser les entrées car il s'agit d'un modèle basé sur les arbres.
Si vous pouvez repérer d'autres erreurs que j'ai commises, je vous serais reconnaissant de bien vouloir m'en faire part.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Discussion de l'article "Comment utiliser les modèles ONNX dans MQL5"
Stian Andreassen, 2023.12.08 20:51
Le tutoriel donne une entrée d'un lot SAMPLE_SIZE nombre d'entrées proches, vous voulez un lot d'entrées input_count.
De plus, votre modèle n'utilise pas de flottants comme entrées, mais des doubles,
J'ai appliqué ce que vous avez indiqué, mais l'erreur est toujours là.
Un lot d'entrées input_count.

Définir l'entrée à double
Message d'erreur.
Hello MQL5 community, I've been trying to follow this tutorial on how to use ONNX in your EA's. In the tutorial a neural network was the model of choice, I've used a gradient boosted tree.
J'ai construit le modèle en utilisant le package InterpretML Python, et je l'ai exporté vers ONNX en utilisant ebm2onnx.
Je vais résumer le processus par lequel le modèle a été entraîné.
1) Le modèle a été entraîné sur 5 entrées, OHLC et hauteur, la hauteur est calculée comme ((H + L) / 2) - C.
2) Le modèle est un classificateur binaire, visant à classer la prochaine bougie comme étant à la hausse (1) ou à la baisse (0).
Les données utilisées pour former le modèle.
3) Le modèle a ensuite été exporté au format ONNX.
Représentation du modèle ONNX.
Pour faire fonctionner le modèle, je me suis écarté du code du tutoriel et j'ai continué à éditer le code pour essayer de faire fonctionner le modèle ONNX, mais maintenant je ne sais vraiment pas ce que je fais de travers. Je n'arrête pas de recevoir une erreur indiquant que la poignée du modèle n'est pas valide.
J'ai joint le code MQL5 ci-dessous.
Je vais maintenant résumer les étapes que j'ai suivies dans mon code qui s'écartent de ce qui est indiqué dans le tutoriel, et j'expliquerai également pourquoi je me suis écarté du tutoriel.
1) LINE 57 : Setting Model Input Shape.
Dans le tutoriel, 3 dimensions ont été utilisées pour définir la forme de l'entrée et de la sortie, c'est-à-dire {1,SAMPLE_SIZE,1} ; Cependant, lorsque j'ai suivi cette approche, je n'ai cessé d'obtenir une erreur, en particulier l'erreur 5808. Après le processus habituel d'essais et d'erreurs, j'ai réalisé que si j'utilisais une seule dimension, le nombre d'entrées, l'erreur disparaissait.
2) LIGNE 68 : Définition de la forme de la sortie du modèle.
Même logique que ci-dessus.
Les autres écarts que j'ai faits n'affectent pas le modèle ; par exemple, j'ai suivi le temps en utilisant une logique que j'ai trouvée plus intuitive que celle mise en œuvre dans le didacticiel. Je n'ai pas eu besoin de normaliser les entrées car il s'agit d'un modèle basé sur les arbres.
Si vous pouvez repérer d'autres erreurs que j'ai commises, je vous serais reconnaissant de bien vouloir m'en faire part.
J'ai appliqué ce que vous avez indiqué, mais l'erreur est toujours là.
Un lot d'entrées input_count.
Définir l'entrée à double
Message d'erreur.
Il semble que MQL5 ne supporte pas (ou plutôt ONNXMLTools ne supporte pas) encore l'ONNX d'EBM :
https://www.mql5.com/fr/docs/onnx/onnx_conversion
Si vous vous référez aux pièces jointes ONNX (en particulier model.eurusd.D1.10.class.onnx qui utilise 4 entrées) à partir de https://www.mql5.com/fr/articles/12484 ; et utilisez Netron(version web) pour visualiser les fichiers onnx, vous verrez les différences.
Je pense que les deux articles suivants vous aideront également à mieux comprendre :
Les modèles de régression de la bibliothèque Scikit-learn et leur exportation vers ONNX
Modèles de classification de la bibliothèque Scikit-Learn et leur exportation vers ONNX
Bonjour à tous,
Nous essayons d'utiliser un réseau neuronal keras avec 11 prédicteurs à un moment donné (taille de lot 32) pour faire des prédictions sur le XauUsd (où la sortie est un nombre singulier entre 0 et 1). Tout d'abord, nous chargeons à partir de OnnxCreatefrombuffer (parce que OnnxCreate lui-même ne fonctionne pas pour nous), puis nous obtenons toujours une erreur à l'étape OnnxRun, où j'ai joint les deux erreurs ci-dessous. Si vous avez besoin d'aide pour savoir à quelle dimension donner une nouvelle forme à l'entrée, dans quel format mettre notre vecteur prédicteur (s'il doit être un vecteur ?), ou si vous avez besoin d'aide ou de suggestions sur la syntaxe pour résoudre ces erreurs, je vous en prie, je vous en prie. Nous avons essayé de remodeler en toutes sortes de combinaisons de vecteurs 32, 1, 11, mais sans succès, et nous n'avons aucune idée des étapes suivantes... Merci beaucoup à tous ceux qui peuvent nous aider ! Ben.
' error 5808'
ONNX : le paramètre d'entrée #0 tenseur a une mauvaise dimension [0], essayez d'utiliser OnnxSetInputShape'
ONNX : la taille du paramètre d'entrée #0 n'est pas valide, 1408 octets attendus au lieu de 480.
Bonjour, j'essaie d'utiliser le script de fichier
OnnxModelInfo.mq5mais je n'arrive pas à le faire fonctionner, qu'est ce que je fais de travers ? ça ne peut pas être si compliqué !
J'ai copié-collé le script OnnxModelInfo, et je l'ai sauvegardé dans le dossier Files.
J'ai un modèle Onnx (ci-joint)
et lorsque je compile le script, 21 erreurs apparaissent.
Est-ce que quelqu'un peut m'aider ? Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées.
Un nouvel article Utiliser les modèles ONNX dans MQL5 a été publié :
Auteur : MetaQuotes
Bonjour messieurs.
Quelqu'un peut-il m'aider, car à la fin du processus en python, l'erreur suivante apparaît : AttributeError : 'Sequential' object has no attribute 'output_names'. Je ne connais pas grand-chose à Python ou à la programmation. Toute aide serait donc appréciée ! Je vous remercie.
Bonjour Alberto, merci de poster la partie de votre code[en utilisant le boutonCODE (Alt -S)] où l'erreur se produit afin que quelqu'un qui connaît Python(MetaTrader for Python | ONNX Models) puisse vous indiquer la solution...