Discussion de l'article "Programmation d'un Réseau de Neurones Profond à partir de zéro à l'aide du langage MQL" - page 5
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
J'ai modifié l'entrée "bodyPer". Au lieu de charger simplement la longueur relative du corps, je calcule cette valeur : bodyPer=0.5+((close-open)/p100)/2 ;
Ainsi, en plus de la longueur relative, la variable capture également la direction de la bougie. Cela libère un emplacement pour une quatrième variable, je suppose.
int error=CandlePatterns(rates[0].high,rates[0].low,rates[0].open,rates[0].close,rates[0].close-rates[0].open,_xValues) ;
Ici, nous transmettons les données d'une bougie qui ne s'est pas encore formée. En réalité, tous les paramètres seront les mêmes lorsque la bougie s'ouvrira. Tous seront = rates[0].open
int error=CandlePatterns(rates[0].high,rates[0].low,rates[0].open,rates[0].close,rates[0].close-rates[0].open,_xValues) ;
Ici, nous transmettons les données d'une bougie qui ne s'est pas encore formée. En réalité, tous les paramètres seront les mêmes lorsque la bougie s'ouvrira. Tous seront = rates[0].open
Incorrect !
Ici la copie est effectuée non pas à partir de la barre zéro, mais à partir de la première, donc ici :
CandlePatterns(rates[0].high,rates[0].low,rates[0].open,rates[0].close,rates[0].close-rates[0].open,_xValues);
seront les valeurs de la dernière barre...
Je ne pense pas qu'il soit nécessaire de copier 5 barres, il suffit de copier 1 barre passée comme ceci :
Bonjour Anddy, vous avez fait un excellent travail !!!
Je suis en train d'analyser ton code pour l'adapter à ma stratégie et jusqu'à présent je peux dire que ton DNN est incroyable ! Merci pour votre partage.
J'ai juste une question : je ne reconnais pas l'utilisation de "yValues[2]>0.6" dans n'importe quelle situation. Après plusieurs tentatives avec différents actifs, aucune transaction n'a été fermée en raison de cette condition. Est-ce correct ?
Je vous remercie de votre attention.
Cordialement,
Alexandre
Dans ce forum, veuillez commenter en portugais. Utilisez l'outil de traduction automatique ou commentez dans l'un des forums dans une autre langue.
Il y a une erreur de logique dans le code !
Comportement étrange : lorsque la variable de tendance est modifiée, les résultats de l'entraînement sont toujours différents, pourquoi ?
Il y a une erreur de logique dans le code !
Spécificité de la fonction d'activation.
Et plus les valeurs atteignent ou franchissent la limite du seuil, plus il y a de positions ou d'opportunités d'adapter (mémoriser le chemin) le graphique des prix au réseau neuronal.Plus il y a de couches, plus il y a d'atténuation - les valeurs seront plus proches de 0.
Le décalage résout un peu ce problème.
Ainsi, lorsque le seuil est fixé à 0,6, la plupart des ensembles possibles sont rejetés. Et si vous introduisez un ou plusieurs grands nombres en entrée, même un passage direct amènera plus de valeurs possibles à l'extrémité du réseau neuronal.
Spécificité de la fonction d'activation.
Et plus les valeurs atteignent ou franchissent la limite du seuil, plus il y a de positions ou d'opportunités d'adapter (rappelez-vous le chemin) le graphique des prix au réseau neuronal.Plus il y a de couches, plus l'atténuation est importante - les valeurs seront plus proches de 0.
Le décalage résout un peu ce problème.
Ainsi, lorsque le seuil est fixé à 0,6, la plupart des ensembles possibles sont écartés. Et si vous introduisez un ou plusieurs grands nombres en entrée, même un passage direct amènera plus de valeurs possibles à l'extrémité du réseau neuronal.
Quoi qu'il en soit, les résultats de l'entraînement sont toujours très variables, quel que soit le type d'optimisation, ce qui soulève certains doutes quant à son applicabilité à la négociation réelle - il y aura toujours de meilleurs paramètres de pondération dans les combinaisons de re-tri. Quelle est l'explication de cette particularité de ce NS ?
Quoi qu'il en soit, les résultats de l'entraînement sont toujours très variables, quel que soit le type d'optimisation, ce qui soulève certains doutes quant à l'applicabilité à la négociation réelle - il y aura toujours de meilleurs paramètres de pondération lors du re-tri des combinaisons. Comment expliquer cette particularité de la NS ?
Vous donnez beaucoup d'importance à ce NS, en fait à tous les NS et à tout ce qui est lié à la MO, en général - partout où il y a des multiplications de nombres par des nombres et un additionneur dans la fonction d'activation - tout s'adaptera au graphique. Un système totalement instable.
Il est intéressant de creuser la question, de construire des architectures, d'ajouter des neurones et des couches. Mais c'est absolument inutile, pas mieux que de croiser de la mashka.En outre, la fixation des prix est un processus non stationnaire. Chaque fois qu'il y a de nouvelles données, et si vous divisez le graphique en motifs, ils auront tendance à s'adapter à 50/50 sur l'historique.
Le NS est pour les systèmes stationnaires, répétitifs.
Mais pour le Forex et ainsi de suite, vous avez besoin de systèmes plus avancés, plus intelligents. Quelque chose comme plusieurs NS, connectés les uns aux autres d'une manière ou d'une autre, s'adaptant comme par magie au changement des statistiques du modèle, etc.
Le NS lui-même est une mémorisation de la trajectoire du prix, ou une moyenne des résultats, si la quantité de nouvelles données est supérieure aux combinaisons possibles de nombres obtenus par multiplication (ou, pour parler simplement, l'architecture NS la plus simple avec deux ou trois entrées).