L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 11
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
C'est une idée intéressante. J'ai des EAs qui fonctionnent aussi. Je vais peut-être réfléchir à la façon de les améliorer. Mais je ne vois pas très bien ce qui doit être amélioré. Que devez-vous apprendre à la machine ?
Le conseiller expert a une logique rigide pour l'ouverture et la fermeture des positions. Dans l'apprentissage automatique, la décision est prise d'une manière légèrement différente.
C'est-à-dire que l'on ne sait pas exactement ce que l'on va faire.
Vous pouvez le voir ici à partir de mon post ci-dessus :
Je prends la direction générale de la barre fixe. Mais quand on regarde de près l'heure, on constate un décalage monstrueux, notamment au niveau des barres inférieures. Donc, si c'est D1 mais que je négocie sur M5, il s'avère que je prends presque les données d'avant-hier pour direction. Même le fait de prédire un pas en avant pour D1 avec une erreur de 30 % a radicalement amélioré la rentabilité de l'EA, et surtout, cela a renforcé la confiance dans le fait qu'elle ne sera pas épuisée.
Dans mon cas, je vais utiliser les données décalées des indicateurs pour une prédiction R appropriée.
Voici une note de mon post ci-dessus :
La direction générale est prise à partir de la barre fixe. Mais quand on regarde de près l'heure, on constate un décalage monstrueux, notamment au niveau des barres inférieures. Donc, si c'est D1 mais que je négocie sur M5, il s'avère que je prends presque les données d'avant-hier pour direction. Même en prévoyant un pas en avant pour D1 avec une erreur de 30 %, on améliore radicalement la rentabilité du conseiller expert, et surtout on augmente la confiance dans le fait qu'il ne sera pas épuisé.
Dans mon cas particulier, j'ai décidé d'utiliser les données décalées des indicateurs pour les prédictions correspondantes de R.
J'ai une grande nouvelle.
Lors d'un voyage d'affaires, le soir, je faisais tourner les machines d'apprentissage sur mes données. J'ai essayé différentes combinaisons d'approches. Et on dirait qu'une fleur en pierre est sortie - tout d'un coup.
J'ai donc utilisé les données du lien que j'ai cité pour effectuer de plus en plus d'entraînements, en essayant des choses qui ont déjà été décrites dans mon blog. Mais j'ai ajouté quelques astuces supplémentaires. Par exemple, j'ai sélectionné les paramètres d'apprentissage pour lesquels le bénéfice de la validation croisée est le plus élevé, plutôt que la précision de la supposition abstraite.
Pour cela, j'ai bien sûr dû écrire ma fonction de fitness.
Sur le graphique figurent des paires de valeurs d'espérance sur la formation et la validation pour différents horizons de prédiction et paramètres de formation. J'ai également utilisé l'idée d'une "zone grise", c'est-à-dire un espace de prédiction où rien ne se passe.
Comme vous pouvez le voir, j'ai obtenu des valeurs de MO tout à fait saines sur les deux formations et des valeurs corrélées sur la validation ! Notez que la simulation a utilisé un écart de 0,00020 (vingt picks).
J'ai également calculé le montant total de la transaction, y compris le spread. Les valeurs sont également très belles. Le profit maximum est atteint à partir d'un certain rapport entre le nombre de transactions et le MO de la transaction, le tout sur un horizon de planification de 12 heures. Le graphique présente tous les horizons de planification, toutes les valeurs de la zone grise et les meilleurs paramètres d'apprentissage du modèle. Voir ci-dessous :
Eh bien, et afin de diffuser cette connaissance, je joins un fichier avec tous les résultats, y compris même les paramètres de formation des échafaudages. Mais sans les entrées. Les entrées de mes données sont sélectionnées. Ce sera un petit secret. Je vais réfléchir au code complet de l'expérience ou pas. Je veux maintenant faire l'intégration avec MT de cette machine, parce que le résultat me semble déjà très fonctionnel.
Alexey
J'ai une grande nouvelle.
Lors d'un voyage d'affaires, le soir, je faisais tourner les machines d'apprentissage sur mes données. J'ai essayé différentes combinaisons d'approches. Et on dirait qu'une fleur en pierre est sortie - tout d'un coup.
Quoi qu'il en soit, sur mes données provenant du lien que j'ai donné, j'ai exécuté l'entraînement encore et encore, en essayant des choses qui ont déjà été décrites sur mon blog. Mais j'ai ajouté quelques astuces supplémentaires. Par exemple, la sélection des paramètres d'apprentissage pour lesquels il y a plus de profit sur la validation croisée, plutôt que la précision abstraite de la devinette.
Pour cela, j'ai bien sûr dû écrire ma fonction de fitness.
Sur le graphique figurent des paires de valeurs d'espérance sur la formation et la validation pour différents horizons de prédiction et paramètres de formation. J'ai également utilisé l'idée d'une "zone grise", c'est-à-dire un espace de prédiction où rien ne se passe.
Comme vous pouvez le voir, j'ai obtenu des valeurs de MO tout à fait saines sur les deux formations et des valeurs corrélées sur la validation ! Notez que la simulation a utilisé un écart de 0,00020 (vingt picks).
J'ai également compté le total de la transaction, y compris le spread. Les valeurs sont également très belles. Le profit maximum est atteint à partir d'un certain rapport entre le nombre de transactions et le MO de la transaction, le tout sur un horizon de planification de 12 heures. Le graphique présente tous les horizons de planification, toutes les valeurs de la zone grise et les meilleurs paramètres d'apprentissage du modèle. Voir ci-dessous :
Eh bien, et afin de diffuser cette connaissance, je joins un fichier avec tous les résultats, y compris même les paramètres de formation des échafaudages. Mais sans les entrées. Les entrées de mes données sont sélectionnées. Ce sera un petit secret. Je vais réfléchir au code complet de l'expérience ou pas. Je veux maintenant faire l'intégration avec MT de cette machine, parce que le résultat me semble déjà très fonctionnel.
Alexey
Le bénéfice total en pips n'est pas un indicateur. C'est le rapport entre le bénéfice total et le nombre de barres d'histoire, sur lesquelles il est obtenu, qui est le facteur de qualité qui est indicatif. Je le dis depuis longtemps et je l'utilise uniquement pour l'optimisation et l'estimation de modèles.
Le travail acharné donne des résultats.
Bonne chance
Le bénéfice total en pips n'est pas l'indicateur. C'est le rapport entre ce bénéfice total et le nombre de barres d'histoire, sur lesquelles il est acquis, qui est le facteur de qualité qui est indicatif. Je le dis depuis longtemps, et je ne l'utilise que pour l'optimisation et l'estimation de modèles.
Le travail acharné donne des résultats.
Bonne chance
Pour moi, l'un n'exclut pas l'autre.
Alexey a surmonté l'inconvénient évident de toutes les évaluations de prédictions de classement : il est évident que la valeur d'une prédiction correcte de barre de 1 pip et la valeur d'une prédiction de barre de 10 pip sont complètement différentes.
Félicitations à toi Alexey !
Le bénéfice total en pips n'est pas un indicateur. C'est le rapport entre ce bénéfice total et le nombre de barres d'histoire sur lesquelles il est obtenu - c'est le coefficient de qualité qui est indicatif. Je l'ai longtemps dit et ne l'utilise que pour l'optimisation et l'estimation de modèles.
Le travail acharné donne des résultats.
Bonne chance
Laissez-moi vous expliquer.
Prévisions 12 heures à l'avance (724 minutes pour être exact).
Le nombre de transactions est supérieur à 5000 pour chacun des échantillons de validation. La moyenne du résultat est calculée sur 49 échantillons de validation. Les transactions au sein de chaque échantillon se produisent par incréments d'environ 12 heures, c'est-à-dire qu'il n'y a pas de dépendance évidente ni de chevauchement des résultats. Je posterai d'autres graphiques de la simulation de trading dans un moment. Les résultats sont trop bons. Mais jusqu'à présent, tout se confirme.
Données finales sur mon expérience :
Simulation des signaux de trading d'une machine entraînée sur 49 échantillons de validation (en pips) :
Distribution du résultat du trade en pips pour 49 échantillons :
Et effectuer un test d'hypothèse d'une différence significative entre la MO moyenne (médiane) de chaque échantillon de validation et zéro :
La distribution au sein des échantillons n'est pas normale. Le test de Wilcoxon montre que le MO est significativement différent de zéro.
D'ailleurs, le changement dans le modèle de croissance de la courbe de la somme des points dans les 3/5 dernières parties des échantillons de validation est explicable.
J'ai un nombre à peu près égal d'observations pour les 5 majors au sein des échantillons et elles vont dans l'ordre suivant :
Je suis sûr que pour les trois dernières paires la volatilité est plus élevée et le spread est plus élevé (nous devrions prendre 25-30 pips au lieu de 20 pips). Par conséquent, leur résultat brut et le pourcentage de directions devinées sont meilleurs. Mais le fait de saisir un écart plus important ne rendra pas les statistiques nulles de toute façon. Juste pour comprendre ce qui se passe.
PM.
De la manière dont je vois les choses, l'un n'exclut pas l'autre.
Alexey a surmonté l'inconvénient évident de toutes les évaluations de prédictions de classement : de toute évidence, la valeur d'une prédiction correcte de barre de 1 pip et la valeur d'une prédiction de barre de 10 pip sont complètement différentes.
Félicitations à toi Alexey !
Attention. J'ai trouvé un bug dans le code, qui a donné de bons résultats. Toutes mes optimisations sont annulées jusqu'à l'analyse détaillée !