L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 337
![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
Et le Chasseur de Chaos ? Donnez-moi un lien spécifique.
également intéressant.
Personne ne va passer des mois à développer une stratégie pour ensuite aller s'en vanter sur un compte de démonstration. Ces choses sont échangées sur le marché réel, et l'historique des transactions est caché à tout le monde. J'ai même lu sur le forum que des personnes traitent délibérément avec deux courtiers, perdant tour à tour sur l'un et compensant les pertes sur l'autre, de sorte que même le courtier ne sait pas quelles transactions ont été effectuées en utilisant la stratégie et lesquelles étaient fausses.
Il y a des résultats. Parfois, de bonnes combinaisons de prédicteurs et le modèle apportent des bénéfices pendant quelques mois, plus souvent - moins. Mais ils sont remplacés par d'autres.
Mon opinion personnelle - neurones, forêt, régressions - tout cela est trop faible pour le forex. La raison en est que le comportement des prix change tout le temps, les règles qui sont rentables aujourd'hui peuvent ne pas l'être il y a une semaine. Et l'approche standard - prendre les indicateurs et les prix pendant quelques mois et entraîner les neurones - signifie qu'il doit trouver les mêmes règles de comportement des prix pour les deux mois. Et il n'y a pas de telles règles et personne ne sait ce qu'il trouvera, mais il se trompera dans 99 % des cas. Parfois, le modèle peut avoir de la chance et tomber dans ce 1%, mais il est trop loin du graal et de tels conseillers experts tradent généralement bien jusqu'au premier stop loss et peuvent alors être jetés.
J'étudie actuellement des modèles de reconnaissance de modèles qui examinent le comportement des prix sur l'historique après des modèles similaires, et tradent avec de telles statistiques.
Je n'ai pas vu de package en R qui fasse tout ce dont j'ai besoin, j'ai un modèle assemblé au coup par coup à partir d'autres, plus mes propres vélos. Ce qui se rapproche le plus d'une description de modèle se trouve dans un autre fil de discussion, je conseillerais de commencer à construire votre graal avec ceci (citation ci-dessous). De nouveaux problèmes apparaîtront au cours du processus, vous devrez y réfléchir et les expérimenter.
Deux mois ne suffisent pas, car il n'y a aucun moyen de savoir avec certitude quand Kolyan viendra.
Bonne chance à tous !
Si je ne me trompe pas, le RNN serait extrêmement difficile à mettre en œuvre dans MT5, et pour obtenir de bons résultats, il faut soit acheter, soit développer son propre système, ce qui nécessite une main-d'œuvre importante.
Et si dans MLP, à part les informations sur le prix, les indicateurs sur la barre actuelle, nous transmettons toutes les mêmes informations pour 10-30 barres précédentes, ce sera une sorte de mémoire. Une partie des neurones traitera l'état actuel, et une autre partie traitera la situation dans le passé le plus proche.
Il ne fonctionnera pas comme il le devrait de toute façon, il y a des principes de fonctionnement très différents... Le MLP se contentera de classer les prédicteurs dans des groupes d'achat/vente, s'il le peut, et s'il ne le peut pas, il produira à nouveau une sortie molle. Par exemple, vous pouvez utiliser Random Forest au lieu de MLP, ce sera la même chose et vous n'aurez pas à vous en soucier.
Sur OpenCL, pas si vous n'êtes pas paresseux ;)
OpenCL semble être capable de lire uniquement sur sa propre machine, et non sur le réseau. J'ai peur que le 1er PC ne soit pas suffisant.
J'envisage d'utiliser des cadres et de remplacer ALGLIB par la sauvegarde des données de chaque passage dans un fichier, puis, par exemple, tous les millièmes passages (ou à la fin du cycle d'apprentissage - époque), ce fichier est lu et les agents sont autorisés (via le fichier) à calculer l'époque suivante. Bien que je vois déjà un problème - les agents distants seront-ils en mesure de lire le fichier-permission.... ? doivent trouver une solution. Je ne pense pas((.
Seule la variante la plus simple comme https://www.mql5.com/ru/articles/497 sera capable de séparer les calculs, mais elle est trop simple, à une seule couche, et on ne sait pas comment l'entraîner avec ses propres commandes.
Je me penche sur les cadres, et réécrit ALGLIB avec la sauvegarde des données de chaque passage dans un fichier, puis par exemple tous les millièmes passages (ou à la fin du cycle d'apprentissage-époque) ce fichier est lu et la permission est donnée aux agents (via le fichier) de calculer la prochaine époque. Bien que je vois déjà un problème - si les agents distants sont capables de lire le fichier-permission.... nous devrons trouver une solution.
Les calculs ne peuvent être distribués que pour la version la plus simple, comme https://www.mql5.com/ru/articles/497, mais elle est trop simple, monocouche, et il n'est pas évident de l'enseigner par ses propres commandes.
Il faut créer quelques neurones de ce type, et ajouter des poids supplémentaires aux incursions pour les connexions entre les neurones (tout comme pour les poids entre la couche d'entrée et le neurone), seulement il y aura beaucoup d'incursions. D'autre part, vous n'aurez pas besoin d'un oppenzl, il calculera rapidement dans le cloud.
c'est-à-dire qu'à partir du premier neurone, il y aura 5 connexions vers 5 neurones de la deuxième couche, et à partir de ceux-ci, 5 connexions supplémentaires vers la sortie, en quelque sorte
et il est entraîné dans l'optimiseur par la sélection de poids, puis la meilleure exécution de l'optimiseur pour choisir
Exactement comme imaginé)
Seulement, j'ai bien peur que ce ne soit pas 5 neurones, mais au moins 500 (si l'on substitue les données de plusieurs barres, par analogie avec la mémoire).
Et qu'en est-il de l'apprentissage sur les commandes manuelles ou en zigzag ? Il n'y a pas moyen de le visser ?
Exactement comme imaginé)
Seulement, j'ai bien peur que ce ne soit pas 5 neurones, mais au moins 500 (si l'on substitue les données de plusieurs barres, par analogie avec la mémoire).
Et qu'en est-il de l'apprentissage sur les commandes manuelles ou en zigzag ? Pas moyen de le visser ?
Pourquoi, juste sur la sortie, on lui donnera 0 ou 1, selon que le zigzag était ascendant ou descendant, c'est-à-dire que l'entrée reçoit l'historique décalé de n barres, et la sortie - si c'était ascendant ou descendant.
Pourquoi, vous lui donnez simplement 0 ou 1, selon que le zigzag a augmenté ou diminué, c'est-à-dire que l'entrée est un historique de n barres décalé vers l'arrière, et la sortie est une prévision - que le zigzag ait augmenté ou diminué.
Si nous utilisons les sorties de substitution au lieu des sorties calculées dans ce code https://www.mql5.com/ru/articles/497, nous aurons le même résultat pour n'importe quelle combinaison d'entrées - nous utiliserons toujours la réponse pré-spécifiée, après tout. C'est-à-dire qu'il n'y aura pas d'apprentissage.
il y aura donc différentes sorties
Oh, je vois, il y a un non-neurone ici).
il y aura donc différentes sorties
Je ne comprends pas votre idée (