Que mettre à l'entrée du réseau neuronal ? Vos idées... - page 11

 

Tick = Transaction = (Heure, Prix, Volume)

Le volume confirme que le prix ne provient pas du plafond. Il n'y a PAS de volume sur le Forex, le prix est donc "informatif" (dessiné). C'est pourquoi rien ne fonctionne... en dessous de H4 à coup sûr - la volatilité soudaine est élevée.

Sur les marchés boursiers, c'est le volume qui explique la volatilité.

 
J'ai fait une erreur lors du test, dans le script d'exportation j'ai spécifié d'exporter seulement une donnée, mais dans l'Expert Advisor j'ai oublié de dupliquer cette règle pour l'entrée, comme résultat - sur le graphique du testeur il y a un charabia logique, mais....

si vous augmentez le seuil (filtre) des transactions, vous pouvez obtenir des bénéfices sur le back et le forward. J'ai choisi au hasard 2 mois de forwards, le premier - novembre 2021, le second - juillet 2022. Entraîné avant chaque mois, j'ai répété les actions "erronées". Les premières séries de la liste optimisée donnent un résultat positif non seulement pour ces mois, mais aussi ne drainent pas (se maintiennent à plat) jusqu'à la fin de 2022. En général, ces lignes, cette approche sans complaisance et cette moquerie pure et simple des réseaux neuronaux et du bon sens font souffrir les professionnels ici présents, ne vous fâchez pas. Et nous continuons. Nous continuons à faire des essais pendant quelques mois encore.
 
Ivan Butko #:
J'ai fait une erreur lors du test, dans le script d'exportation j'ai spécifié d'exporter seulement une donnée, mais dans l'Expert Advisor j'ai oublié de dupliquer cette règle pour l'entrée, comme résultat - sur le graphique du testeur c'est un charabia logique, mais....

si vous augmentez le seuil (filtre) des transactions, vous pouvez obtenir des bénéfices sur le back et le forward. J'ai choisi au hasard 2 mois de forwards, le premier - novembre 2021, le second - juillet 2022. Entraîné avant chaque mois, j'ai répété les actions "erronées". Les premières séries de la liste optimisée donnent un résultat positif non seulement pour ces mois, mais aussi ne drainent pas (se maintiennent à plat) jusqu'à la fin de 2022. En général, ces lignes, cette approche sans complaisance et cette moquerie pure et simple des réseaux neuronaux et du bon sens font souffrir les professionnels ici présents, ne vous fâchez pas. Et nous continuons. J'essaierai encore quelques mois.

Nous pouvons continuer encore et encore. En théorie, il existe une valeur optimale pour les deux prochaines années.

 
Maxim Kuznetsov #:

vous pouvez encore passer par la semence. En théorie, il existe une valeur optimale pour les deux prochaines années

Veuillez préciser ce que vous entendez par là. J'ai trouvé le mot "graine" dans le script du perceptron dans l'article brésilien sur le perceptron multicouche, où il désigne une fonction d'un nombre aléatoire.

void seed(int seed=-1)

  {

   if(seed!=-1)

      _RandomSeed=seed;

  }  

 
Je n'aime pas prédire N pas en avant, mais parfois cela frappe. Vous pouvez le tourner dans cette direction. Ci-dessous, à gauche, une prédiction, à droite, un fait.

 
Ivan Butko #:
Je n'aime pas prédire N pas en avant, mais parfois cela frappe. Vous pouvez la tourner dans ce sens.

Ci-dessous, à gauche, une prédiction, à droite, un fait.
Il est très probable que "parfois" = 50 %. Mais vérifiez, c'est peut-être votre mine d'or.
 




J'ai essayé de saisir la différence entre Close[1] et l'extrema toutes les bougies de N*2 heures (24, 48, 96, 192, 384, 768, 1536, 3072). C'est-à-dire l'extrema d'aujourd'hui, ........ pour une demi-année. Entraînement - une année.





De 2021 à 2022. En avant de 2022 à aujourd'hui. Il y a 16 valeurs au total. Le résultat est intéressant parce que le graphique d'équilibre a essayé de monter pour la première fois en avant. Auparavant, il pouvait se maintenir pendant quelques mois au maximum, mais continuait à baisser sur la distance. Programme Neuro Pro










En même temps, je n'ai pas alimenté le réseau avec une valeur qui correspondrait à l'entrée précédente dans l'échantillon précédent
(Close[1]- Close[2]), c'est-à-dire qu'il n'y a pas de valeurs réelles parmi les prédicteurs. Bien que le graphique soit terrible, il donne au moins une raison de croire que travailler avec des extrema peut donner quelques résultats si c'est fait correctement. UPD Alexey, qui a aidé à faire fonctionner le réseau neuronal à partir de la documentation : pas de résultats jusqu'à présent, une image chaotique. Soit il n'est pas conçu pour les prix, soit il doit être affiné et cuisiné différemment d'une manière ou d'une autre.

 

L'entrée neuronique doit être alimentée

Je suis désolée.

 
Point intéressant : l'algorithme génétique du testeur de stratégie est généralement conçu pour trouver des transactions rentables. Par conséquent, il recherche des valeurs pour lesquelles la transaction pour la période sélectionnée sera meilleure. J'ai essayé de définir la tâche d'une manière différente : ouvrir une transaction lorsque la sortie du réseau neuronal est égale au prix suivant +/- n points, et la clôturer immédiatement. Seuls deux prix de clôture précédents doivent être utilisés comme données d'entrée. Les paramètres optimisés sont les poids. Mais il n'y a pas de réseau neuronal au sens habituel - nous multiplions simplement les poids pour ces deux entrées. Le résultat de l'addition des valeurs positives et négatives donne une "oscillation" du nombre de sortie dans le voisinage du prix suivant.

Et moins nous fixons le paramètre n, plus la sortie correspondra au prix suivant +/- n. Par conséquent, le nombre de transactions a commencé à augmenter au cours du processus.



En d'autres termes, le testeur habituel, dont les possibilités sont limitées par le nombre de paramètres optimisés, a commencé à "suivre le prix" de plus en plus près. Alors, à quoi tout cela sert-il : nous attendons la fin de l'optimisation, nous choisissons l'ensemble avec le plus grand nombre de transactions et nous fixons une autre condition : lorsque la prévision s'éloigne de "beaucoup" de points, nous ouvrons une transaction dans cette direction. Ce n'est qu'une observation, nous devrons essayer de la tester plus avant.
 
Il y a quelques mois, j'ai essayé une approche différente :

J'ai choisi un point du graphique où il y avait une tendance à la baisse à long terme. Et ce, du début à la fin.

Je n'optimise que les opérations d'ACHAT
Les opérations de vente sont désactivées.

À la fin, je sélectionne l'ensemble le plus élevé dans la catégorie "Solution complexe maximale" ou "Facteur de récupération maximal".

Je commence le forward avec ce BUY - un an et demi de croissance stable. Et, ce qui est magnifique, je monte légèrement en secouant l'équilibre, comme si, après une entrée infructueuse, vous entriez à nouveau à un meilleur prix.

L'idée est la suivante : entraîner dans un neurone (avec un backward pass) ou optimiser (dans un testeur) VENDRE sur un graphique descendant ou ACHETER sur un graphique ascendant, c'est se réentraîner.

Une telle position est confirmée par l'entraînement sur l'eurodollar pour 2020, après quoi la tendance s'inverse exactement au début de la nouvelle année. Et tous les top sets de l'optimiseur ou les modèles entraînés de trush neuronka échouent.

Et si vous entraînez 2021, la grande majorité des ensembles ou des modèles gèrent presque toute l'année 2022 jusqu'à ce qu'il y ait un renversement de tendance à long terme en novembre ou quelque part à l'automne.

// ---------

À propos des idées d'entrée :

Trush Neuronics a essayé le marquage graphique de la manière suivante : nous regardons vers l'avant et, à partir du dernier cours de clôture, nous comptons l'amplitude maximale des cours de clôture à la hausse et à la baisse qui ont suivi.

Quel que soit le côté qui a dépassé 100 pips, la majoration est faite dans cette direction (analogue du stop loss du côté opposé, qui n'a pas fonctionné).
En d'autres termes, nous avons bouclé le forward et si le 3e, 5e, 10e prix de clôture est supérieur à 100 pips et que ce prix est plus élevé que le prix actuel, alors l'ensemble des variables entrantes dans l'entrée neuronka est marqué comme 1, si l'inverse est vrai, alors -1.

Comme données d'entrée, j'ai donné toutes les amplitudes possibles de mouvement de prix, afin de ne pas ignorer tout mouvement (comme dans le cas où l'on ne donne que les prix de clôture, ce qui fait perdre essentiellement des informations sur le graphique, il devient castré) du type suivant :

Première ombre - corps - deuxième ombre.
En conséquence, si la bougie est à la hausse, la première ombre est un mouvement à la baisse, sa taille sera avec le signe "-".
J'ai ensuite converti toutes les valeurs dans l'intervalle de -1,0 à 1,0.

En conséquence, avec MLP-neuron (NeuroPro) et l'architecture 10-10-10, le forward a voyagé pendant 4-5 mois avec une ligne d'équilibre fine et croissante, et plus important encore - avec une fréquence élevée de transactions.

Avec NeuroPro, j'ai obtenu le meilleur résultat ponctuel jusqu'à présent. Dans 99,9℅ des cas, il surentraîne autant qu'il le peut.

// -----

En parallèle, je joue avec les neurones dans l'optimiseur.

J'ai écrit un réseau neuronal convolutif (CNN) avec pooling en langage procédural. Il s'est avéré qu'il est possible de se passer de cycles avec des tableaux.

Étant donné que l'optimiseur est limité par le nombre de variables externes et le pas de changement, nous devons économiser de l'argent.

Maintenant CNN-MLP est construit, 8 filtres, pooling de taille 2, après cela il y a 4 sorties, qui sont passées à une couche MLP entièrement connectée de 4 neurones avec une fonction d'activation sigmoïdale (ou tangente, je ne me souviens pas).

Je veux maintenant ajouter une LSTM, une technologie super-performante pour oublier ou stocker l'état de chaque couche. J'ai cherché sur Google - c'est un peu compliqué, mais avec mql5 des méthodes procédurales peuvent être implémentées.

Nous obtiendrons une architecture CNN-LSTM-MLP sur un algorithme génétique (optimiseur).

Je sais que tout réseau neuronal avec rétropropagation d'erreur (apprentissage réel) perd son sens lorsqu'on passe à une sélection de poids basée sur l'optimisation.
Mais, ici, je suis juste curieux de me tordre les mains