L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 1064
![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
Parce que les modèles craignent toujours ^) avec de grosses erreurs, il faut des modèles qui fonctionnent plus longtemps
par exemple 2 mois d'apprentissage et 1 semaine de négociationVous avez peut-être raison, mais je ne pense pas que de tels modèles seront un jour découverts par RDF, qui pourraient fonctionner ne serait-ce qu'un jour complet, jusqu'à ce que nous puissions faire des simulations illimitées de bougies aléatoires semblables à l'algo "ALPHA ZERO".
En effet, les marchés changent presque toutes les heures et un modèle échouera terriblement si une nouvelle survient soudainement ou si le marché change de comportement pour une raison quelconque. Mais si nous avons effectué des millions de simulations de bougies, il est probable que le système puisse se rétablir avec une perte minimale en cas de changement de marché et qu'il puisse rapidement récupérer sa perte par la suite. Cela semble être possible.
Je vais essayer à la fois votre méthode de sélection de modèles et ma méthode de simulation de bougies pour voir comment tout se passe :))
Au fait, j'ai essayé un jour d'entraînement, cinq jours d'entraînement, etc. et ça a échoué le jour suivant : )))))))))))))))).
Un modèle peut donc ne pas fonctionner... mais je peux me tromper...
Aussi, j'ai une autre requête Maxim...
Lorsque vous publiez votre article, essayez de commenter le code autant que possible afin que les autres puissent comprendre rapidement et facilement le code et que nous puissions progresser plus rapidement...
Sinon, s'il me faut beaucoup de temps pour comprendre le code, il me faudra encore plus de temps pour le modifier.
Je vous demande donc d'ajouter autant de commentaires et d'explications du code que possible. Pour l'instant, je vais essayer de comprendre rapidement et je vous demanderai si je ne comprends pas quelque chose :))
Aussi, j'ai une autre requête Maxim...
Lorsque vous publiez votre article, essayez de commenter le code autant que possible afin que les autres puissent comprendre le code rapidement et facilement et que nous puissions progresser plus rapidement...
Sinon, s'il me faut beaucoup de temps pour comprendre le code, il me faudra encore plus de temps pour le modifier.
Je vous demande donc d'ajouter autant de commentaires et d'explications du code que possible. Pour l'instant, je vais essayer de comprendre rapidement et je vous demanderai si je ne comprends pas quelque chose :))
Ok, maintenant je change constamment beaucoup de choses et ça n'a pas de sens de le commenter.
vous pouvez aussi réfléchir à la façon de changer les sorties... peut-être utiliser le zigzag avec différents paramètres au lieu de la fonction de récompense ou autre chose.Ok, maintenant je change constamment beaucoup de choses et ça n'a pas de sens de le commenter.
vous pouvez aussi réfléchir à la façon de changer les sorties... peut-être utiliser le zigzag avec différents paramètres au lieu de la fonction de récompense ou autre chose.J'ai juste eu un aperçu rapide du code. Mais jusqu'à présent, je n'ai pas encore compris où se trouvent exactement les indicateurs ni comment ils décident des entrées de transaction. Je ne suis donc pas sûr de ce que je dois faire avec la sortie. Vous voulez dire la sortie en utilisant GDMH ?
Je viens de lancer le test avec différents paramètres, mais il semble placer des transactions complètement aléatoires.
En outre, dans la phase de test, il ne crée pas les fichiers texte "Mtrees", n'est-ce pas ?
Je veux dire que le code que vous avez fourni n'est pas complet, n'est-ce pas ? Ou est-il capable de placer des transactions s'il est attaché directement au graphique sans optimisation.
J'ai juste eu un aperçu rapide du code. Mais jusqu'à présent, je n'ai pas compris où se trouvent exactement les indicateurs ni comment ils décident des entrées de transaction. Je ne suis donc pas sûr de ce que je dois faire avec la sortie.
Je viens d'exécuter le test avec différents paramètres, mais il semble placer des transactions complètement aléatoires, car il a montré un comportement étrange et donc, j'ai juste redémarré mon serveur. Est-ce que cela a quelque chose à voir avec les noyaux réels du VPS ?
En outre, dans la phase de test, il ne crée pas les fichiers texte "Mtrees", n'est-ce pas ?
Lors de la première exécution dans le testeur, choisissez "true".
Il fera des échanges aléatoires et apprendra ensuite et sauvera les modèles.
2ème course choisir faux. C'est tout. Et il télécharge des modèles et les échange en +.
Ensuite, dans EA vous pouvez ajouter des agents, maintenant vous avez 5 agents, 100 caractéristiques pour chaque agent, 50 arbres.
Dans cette fonction, nous ajoutons 100 prix de clôture pour chaque agent (100 prédicteurs). Et ensuite normaliser les données. Vous pouvez ajouter différents indicateurs, par exemple les 50 premières caractéristiques - prix de clôture, les 25 suivantes rsi, les 25 suivantes adx, ou changer le nombre de prédicteurs lorsque vous déclarez l'agent.
Après chaque transaction, il met à jour les politiques, lorsque la transaction est conclue, il met à jour la récompense (TD, différence temporelle RL).
Utilisation très simple de la bibliothèque
En mode train il vous montrera les logs avec les erreurs pour chaque itération
En mode commerce, le testeur affiche les erreurs finales sur les sous-ensembles de formation et de test pour chaque agent.
Résultat pour 100 prix de clôture :
Lors de la première exécution dans le testeur, choisissez "true".
Il fera des échanges aléatoires et apprendra ensuite et sauvera les modèles.
La 2e manche a choisi faux. C'est tout. Et il télécharge des modèles et en échange +
Ensuite, dans EA vous pouvez ajouter des agents, maintenant vous avez 5 agents, 100 caractéristiques pour chaque agent, 50 arbres.
Dans cette fonction, nous ajoutons 100 prix de clôture pour chaque agent (100 prédicteurs). Et ensuite normaliser les données. Vous pouvez ajouter différents indicateurs, par exemple les 50 premières caractéristiques - prix de clôture, les 25 suivantes rsi, les 25 suivantes adx, ou changer le nombre de prédicteurs lorsque vous déclarez l'agent.
Après chaque transaction, il met à jour les politiques, lorsque la transaction est conclue, il met à jour la récompense (TD, différence temporelle RL).
Utilisation très simple de la bibliothèque
Oui, cela semble très simple et robuste à la fois... expérimentons et voyons... Bon travail !!!!!
Alors où est l'utilité du GDMH ?
Je pensais écrire mon code GDMH. Vous pouvez simplement me montrer le code où l'entrée et la sortie RDF se produisent ou où exactement vous essayez d'implémenter GDMH afin que j'essaie d'écrire mon morceau de code et ensuite, nous pouvons comparer les résultats à la fois de votre code et de mon code et évaluer.
Oui, cela semble très simple et robuste à la fois... expérimentons et voyons... Bon travail !!!!!
Alors où est l'utilité du GDMH ?
Je pensais écrire mon code GDMH. Vous pouvez simplement me montrer le code où l'entrée et la sortie RDF se produisent ou où exactement vous essayez d'implémenter GDMH afin que j'essaie d'écrire mon morceau de code et ensuite, nous pouvons comparer les résultats à la fois de votre code et de mon code et évaluer.
Ici, j'utilise le noyau simple CRLAgent::kernelizedMatrix(void) (dans la bibliothèque), il faut donc modifier cette fonction pour gdmh.
Ici, j'utilise le noyau simple CRLAgent::kernelizedMatrix(void) (dans la bibliothèque), il faut donc modifier cette fonction pour gdmh.
Ok, voyons si je peux écrire mon propre code....
S'il ne s'agit que de la logique GDMH, je peux facilement traduire ou convertir l'algo GDMH en code MQL5, mais s'il s'agit d'autres fonctions ou bibliothèques du noyau, j'ai besoin de temps pour étudier et convertir...
Autre fonctionnalité : vous pouvez configurer chaque agent en comité
Quand on remplit les valeurs des prédicteurs, il suffit de changer ici :
Vous pouvez également ajouter différents groupes d'agents
Ok, voyons si je peux écrire mon propre code....
s'il s'agit juste de la logique GDMH, alors je peux facilement traduire ou convertir l'algo GDMH en code MQL5, mais si cela concerne d'autres fonctions ou bibliothèques du noyau, alors j'ai besoin de temps pour étudier et convertir...
Si vous pouvez convertir la logique gmdh, ce sera très utile, je pourrai alors la modifier pour ma bibliothèque.