Experts: Exemples tirés du livre "Réseaux neuronaux pour le trading algorithmique avec MQL5" - page 3
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
A partir de quel script dois-je générer ce fichier study_data_not_norm.csv? J'ai essayé le script create_initial data mais cela n'a pas fonctionné. J'ai obtenu une plage hors limites lors de l'exécution du script gpt_test_not_norm.mq5.
Chers administrateurs,
Merci beaucoup de m'avoir donné l'occasion d'apprendre dans un domaine aussi unique !
J'aimerais revenir sur les messages précédents concernant l'erreur 5008.
Je n'ai pas non plus réussi à charger le testeur de stratégie pour le modèle entraîné gpt_not_norm.net avec error 5008, the model file is not loaded.
En même temps, lors de l'exécution sur un graphique, le robot se comporte correctement, le fichier modèle récupère des valeurs adéquates après un passage direct, je les ai affichées sur le graphique, tout va bien.
Le fichier modèle, comme il se doit, est situé dans le répertoire correspondant au drapeau True pour Common \Terminal\Common\Files .
De plus, lorsque j'ai exécuté la même chose sur une autre comp, sur mon ordinateur portable, le testeur de stratégie a démarré sans erreur.
Se pourrait-il que certains paramètres du système empêchent le testeur de stratégie de fonctionner ?
1. le testeur de stratégie ne fonctionne pas sur un ordinateur équipé de
Processeur Intel Core i5-9400F 2.90GHz, 16295 MB
Windows 10 home.
2. Strategy Tester fonctionne sur un ordinateur portable avec
Intel Core i7-2760QM 2 .40GHz processor, 12238 MB
Windows 10 Pro.
Merci de m'aider à résoudre ce problème.
J'ai vraiment besoin d'engager la comp, il a une carte vidéo sur elle et est plus rapide à coup sûr.
Lors de l'exécution du script gpt_test_not_norm.mq5, j'ai obtenu une sortie hors plage.
A la 40ème ligne du programme :
if(!loss_history.Resize(0,Epochs))
Remplacer par :
if(!loss_history.Resize(Epochs))
Bonjour. J'ai beaucoup écrit, et cela s'est transformé en un livre. J'ai commencé à le lire et j'ai pensé écrire quelque chose pour le marché.
C'est un bon travail. Parce qu'il n'y a rien d'autre d'aussi universel qui expliquerait comment aborder l'apprentissage automatique avec les outils mql5.
Cependant, l'exemple est divisé en trois parties.
L'échantillon est divisé en trois parties : 60 % pour la formation, 20 % pour la validation et 20 % pour le test. Sur les 40 barres de chaque chaîne de barres, 35 barres sont répétées. Moralité - il faut former et valider en utilisant les mêmes données. J'ai fait un dessin. Ce n'est pas seulement le problème de ce livre, je le rencontre encore et encore.
Au début, je pensais que l'indicateur Zigzag était exactement ce qu'il fallait pour mettre en évidence les mouvements qui ne se répètent pas. Comme un sommet à un creux, un creux à un creux, un creux à un sommet. Il s'agirait de schémas uniques, comme il est dit dans le livre. Mais non, l'auteur construit des modèles barre par barre, et c'est bien sûr une erreur grossière. Et vous n'avez pas besoin d'un Zigzag pour cela. Il suffit de regarder 10 barres à l'avance et de calculer la direction qu'a prise le marché.
C'est le premier point - pratique. Le deuxième point est d'ordre technique et est également erroné. L'auteur propose une formation avec validation uniquement en Tensorflow ? C'est cool, Tensorflow est une bibliothèque d'apprentissage automatique créée par Google. Mais le but de ce travail était de montrer comment le faire avec les outils mql5, n'est-ce pas ?
Il n'y a pas d'exemples d'apprentissage avec validation dans mql5. Je n'ai pas encore trouvé d'exemples avec validation. Je les écrirai plus tard si vous le souhaitez. Bien sûr, vous devriez essayer de le faire vous-même. Bien sûr que vous devriez. Il y a beaucoup de travail pour préparer l'historique et sélectionner les paramètres d'entraînement. Tensorflow semble avoir tout ce qu'il faut, mais il y a tellement de choses à faire. Et il s'avère que la partie technique n'est pas terminée.
Est-ce le 95% qui perd de la valeur sans 5% ?
Je m'arrêterai au fait que c'est du bon travail. Parce qu'il n'y a rien d'autre comme ça.
La méthode d'optimisation d'Adam n'ajuste-t-elle pas le taux d'apprentissage en fonction du taux d'apprentissage ? Elle utilise également un "plafond" plutôt qu'une valeur constante.
Si l'on utilise un réseau récurrent, pourquoi ajouter des couches cachées à lien complet ? Le thème du lien intégral détruit le thème de lstm. Bien sûr, à la fin du réseau, vous avez besoin d'un neurone à lien complet pour l'activer.
Le décrochage est une propriété de couche dans tout réseau neuronal. Par exemple, dans lstm, la propriété dropout est obligatoire, sinon elle s'habitue aux données sur plusieurs époques. Je sais que dans pytorch, la propriété dropout ne peut être utilisée que dans une transition entre deux couches identiques, ce qui nécessite 2 couches récurrentes. Et dans tensorflow, n'importe quelle couche peut avoir un dropout. Avantage évident de tensorflow sur pytorch.
Batch processing in back propagation. Pourquoi l'auteur a t'il un batch is any number ! Il s'avère qu'à chaque époque, il choisit une quantité aléatoire de données à entraîner. Un lot est une quantité ! Par exemple, si l'on échantillonne 1 000 articles, on obtient 10 paquets de 100 valeurs chacun. Chaque époque est un paquet différent, mais il y a toujours 100 valeurs. J'effectue l'apprentissage paquet par paquet et j'ajuste les poids à la fin de chaque paquet. Cela permet de s'assurer que je ne reste pas bloqué à un minimum local. Et j'utilise tous les échantillons de données, pas seulement certains.
L'optimisation commerciale ne fonctionne pas encore. Une erreur étrange apparaît dans la fenêtre de dialogue. L'ordinateur s'est éteint une fois. En d'autres termes, si vous entraînez le réseau et que vous essayez ensuite d'optimiser la transaction avec lui.
À mon avis, l'utilisation d'un stimulateur graphique pour le forex est une erreur. Quel que soit le point de vue, il n'y a pas beaucoup de données. Il serait plus correct, à mon avis, d'utiliser des agents Metatrader dans l'optimiseur pour exécuter différents flux d'entraînement pour différents réseaux. Par exemple, dans tensorflow, je forme 7 flux. L'un d'eux s'épuise, un autre est ajouté. Et ainsi de suite par ordre de 100 variantes. Ensuite, je les exécute sur l'historique.
Ce qu'il faut retenir, c'est qu'un réseau neuronal peut être bon. Mais tous les réseaux neuronaux ne peuvent pas réussir leur historique de formation. C'est pourquoi vous avez besoin d'un grand nombre de variantes de réseaux.
ChatGPT suggère que la meilleure façon de classer les deux est d'utiliser une sigmoïde. Et c'est exactement ce que je n'ai pas trouvé. Et les fonctions d'activation sont différentes. Mais la fonction de perte est la même - MSE ?
La tangente reste une régression, pas une classification. -1 à 1 n'est pas une probabilité, c'est un calcul de valeur.
En bref, c'est ce qu'il faut faire. Il n'y a rien d'autre à faire. Le travail est donc certainement bon. Je l'utiliserai.
LG 2 10:07:44.216 Core 1 déconnecté
KP 0 10:07:44.216 Core 1 connexion fermée
Avez-vous réussi à trouver une solution ? Si j'en trouve une, je la posterai.
Il n'y a pas de fichier"our_model.net " IMO