L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 2958

 
Vladimir Perervenko #:

Je vais vous expliquer avec mes doigts. Dans ONNX.Price.Prediction.mq5 vous obtenez 10 OHLC. Ensuite, sur ces données , vous déterminez la moyenne et le sd, et vous normalisez ces 10 valeurs avec eux. Ce n'est pas correct.

Pour ces nouvelles données, vous devez utiliser la moyenne et l'écart obtenus sur l'ensemble d'entraînement. C'est-à-dire dans le script précédent. Est-ce clair ?

Bien sûr que oui. Il n'y a pas de problème. Ce modèle a été réalisé très rapidement. Prenons un exemple.

Nous avons dû vérifier très rapidement l'exactitude de l'inférence dans MQL5.

Et bien sûr, nous avons vérifié l'efficacité de la prédiction sur les données actuelles. Environ 52 %. J'ai écrit un script de vérification le vendredi avec des commentaires détaillés sur les détails techniques. Rashid a écrit un Expert Advisor basé sur ce modèle pour l'exécuter dans le testeur. Apparemment, il n'a pas encore été publié

 
Vladimir Perervenko #:

Bien sûr, je m'en suis rendu compte. Mais les personnes qui utilisent l'exemple le comprennent-elles ?

52 % d'efficacité. Ils devraient comprendre.

MAE=0,0005

 
Permettez-moi d'expliquer un peu la situation. Il est clair pour tout le monde ici que les exemples sont de nature purement technique. Mais les personnes qui commencent à se familiariser avec la TA et qui viennent de la science des données peuvent avoir une impression désagréable en voyant cet exemple. C'est pourquoi Vladimir Perervenko suggère de calculer toutes les normalisations en utilisant des données d'entraînement, afin que l'information ne s'échappe pas de l'échantillon de test.
 
Aleksey Nikolayev #:

Ce problème est résolu par l'utilisation d'une fonction de perte appropriée lors de la formation des modèles de MO. Deux problèmes se posent à cet égard. Le premier est d'ordre technique : les fonctions de perte standard des progiciels de MO ne sont liées à la maximisation du profit que de manière indirecte, ce qui oblige à en créer de nouvelles. C'est assez difficile à faire - vous devez avoir une bonne compréhension des progiciels de MO au niveau du code. Si ce problème est résolu, un second problème, d'ordre mathématique, peut apparaître lorsque la fonction de perte personnalisée n'est pas adaptée à l'entraînement du modèle.

Si quelqu'un résout un problème aussi difficile, il est peu probable qu'il partage la solution.

Apparemment, les fonctions de perte valent la peine d'être lues. Si je comprends bien, il s'avère, par exemple, que sur un marché où l'on ne peut acheter que la fonction de perte :

somme de la différence entre le prix d'achat et le prix de vente, pour les cas où : "prix d'achat" - "prix de vente" < 0.

Dans ce cas, nous obtenons une somme avec une valeur négative, c'est-à-dire qu'elle devrait tendre vers 0 ou vers le maximum. Pour qu'elle tende vers le minimum avant la somme des différences, il faut mettre un signe moins.

En ce qui concerne le fait que si quelqu'un a résolu un problème aussi difficile, il ne partagera pas la solution, je n'y comptais pas, je veux juste comprendre comment maximiser le profit ou voir comme exemple au moins un certain modèle (peu importe qu'il soit rentable ou non, il suffit de comprendre le cadre général).

Et donc, bien sûr, je pense que les fonctions de perte personnalisées seront généralement mauvaises pour l'entraînement d'un modèle parce que ce n'est pas l'essentiel.

 
Maxim Dmitrievsky #:
Optimisez votre stratégie (si vous êtes trop paresseux pour faire une autre majoration) en fonction du critère de profit maximal, puis entraînez-vous sur ce TS. Ou prenez n'importe quel TS rentable du marché. La même formation avec un professeur.

Si vous êtes intéressé par la dérivation d'un TS sur la base du NS uniquement, je peux vous proposer une variante de mon dernier article. Vous pouvez le faire d'une manière similaire. Au départ, je me demandais comment faire une telle chose. Exclusif.

Je ne dirais pas que j'ai la flemme de faire d'autres balisages, j'essaie différentes variantes et comme je ne suis pas un spécialiste de l'apprentissage automatique, lorsqu'une idée me vient à l'esprit, j'essaie de trouver au moins quelques variantes d'exemples avec des tentatives pour atteindre le résultat.

Lorsque j'ai essayé de faire une variante paramétrique de la solution avec ses propres valeurs d'indicateurs, il s'est avéré qu'il y a tellement de variantes de l'ensemble des valeurs d'indicateurs qu'avec la puissance de calcul actuelle, la sélection des paramètres se fera sur près de 10 ans).

J'ai été surpris lorsque j'ai lu la phrase "prendre toute position rentable sur le marché". Je n'avais même pas envisagé une telle option, car je pensais qu'ils n'existaient pas.

 
mytarmailS #:
Je l'ai déjà partagé tellement de fois qu'à un moment donné, j'en ai eu marre.....

Les gens commencent à réfléchir et à parler de ce dont j'ai parlé il y a des années, mais personne ne comprend.

Tout le monde ne connaissait pas l'apprentissage automatique il y a quelques années. Si vos messages sont relus, les discussions devraient se retrouver dans le même fil de discussion/branche ?

Apparemment, cela vaut la peine d'essayer de comprendre les 3000 pages du fil de discussion pendant qu'il se développe encore.

 
Elvin Nasirov #:
Apparemment, vous devriez essayer de comprendre les 3000 pages du sujet avant qu'il ne prenne de l'ampleur.

Il est préférable de lire les articles de Vladimir Perervenko et de Maxim Dmitrievsky. Vous passerez votre temps plus utilement. Le forum est essentiellement constitué d'eau.

Vladimir Perervenko
Vladimir Perervenko
  • www.mql5.com
Профиль трейдера
 
Forester #:

Comprenez mieux les articles de Vladimir Perervenko et Maxim Dmitrievsky. Vous passerez votre temps plus utilement. Le forum est essentiellement constitué d'eau.

Merci de votre attention !

 
Elvin Nasirov #:

Tout le monde n'était pas familiarisé avec l'apprentissage automatique il y a quelques années. Si vous relisez vos messages, les discussions devraient se retrouver dans le même fil de discussion/branche ?

Apparemment, cela vaut la peine d'essayer de comprendre les 3000 pages du fil de discussion pendant qu'il se développe encore.

Votre problème est un problème d'optimisation, à la recherche de paramètres inconnus.

Voici le SEUL article dont vous avez besoin pour étudier https://www.mql5.com/ru/articles/2225.


Si vous voulez enseigner l'AMO pour maximiser le profit et minimiser le drawdown :


vous devez

1) créer une fonction d'aptitude, une fonction qui comptabilisera les profits et les pertes des signaux de trading.

2) tout algorithme AMO qui génère des signaux de trading, pour la fonction d'aptitude (p.1)

3) tout algorithme d'optimisation (génétique, essaim de particules, barattage) - qui générera des signaux comme cibles pour l'AMO (point 2).


L'algorithme est le suivant

1) l'AO crée une cible pour l'AMO

2) l'AMO apprend sur la base de ce ciblage

3) l'AMO crée une prévision de signaux commerciaux

4) les signaux commerciaux sont évalués par FF et produisent un résultat

5) le résultat de FF est évalué par AO et maximisé/minimisé davantage et ainsi de suite en cercle jusqu'à ce que vous obteniez un résultat acceptable.


==========

AO - algorithme d'optimisation

AMO - algorithme d'apprentissage automatique

FF - fonction d'aptitude

=========


ps. si vous voulez travailler avec neuronka et non avec un AMO, vous pouvez changer les poids en utilisant les outils AO, sans apprendre le ciblage.

Самооптимизация экспертов: Эволюционные и генетические алгоритмы
Самооптимизация экспертов: Эволюционные и генетические алгоритмы
  • www.mql5.com
В статье будут рассмотрены основные принципы, заложенные в эволюционных алгоритмах, их разновидности и особенности. На примере простого эксперта с помощью экспериментов покажем, что может дать нашей торговой системе использование оптимизации. Рассмотрим программные пакеты, реализующие генетические, эволюционные и другие виды оптимизации и приведем примеры применения при оптимизации набора предикторов и оптимизации параметров торговой системы.
 
mytarmailS #:

Votre problème est un problème d'optimisation, à la recherche de paramètres inconnus.

Voici le SEUL article dont vous avez besoin pour étudier https://www.mql5.com/ru/articles/2225


si vous voulez apprendre au réseau à maximiser le profit et à minimiser la perte :


il faut

1) créer une fonction d'aptitude, une fonction qui comptabilisera les profits et les pertes des signaux de négociation.

2) un algorithme MO quelconque qui génère des signaux pour le trading, pour la fonction fitness (p.1)

3) tout algorithme d'optimisation (génétique, essaim de particules, barattage) - qui générera des signaux comme cibles pour l'AMO (p.2).


algorithme de ce type

1) L'AO crée une cible pour l'AMO



AO - algorithme d'optimisation

AMO - algorithme d'apprentissage automatique

FF - fonction d'aptitude

Pouvez-vous me donner un exemple d'AO ? J'avais l'impression que la recherche d'un enseignant était un travail de longue haleine qui se prêtait à l'automatisation.

Raison: