Le terminal MT5 a été mis à jour aujourd'hui et la fenêtre "Optimisation" ne s'affiche pas pendant le test. - page 4

 
Renat Fatkhullin:

Pourquoi n'avez-vous pas dit dès le début que vous vous occupiez de génétique ?

Leprincipe même de la recherche génétique est basé sur le hasard et n'a donc aucun intérêt à "continuer ce que l'on a commencé". Son rôle est de fonctionner de manière aléatoire.

Et même dans ce cas, le cache est utilisé. C'est juste que votre probabilité de tomber sur les résultats calculés précédemment est très faible (vous avez une zone de recherche de 50 millions de variantes). On dirait donc qu'on commence par le début, puisque le point de départ est aléatoire.

Si vous lisez l'aide, elle dit exactement le contraire. Peut-être est-ce mal écrit ? J'aimerais comprendre.

https://www.metatrader5.com/ru/terminal/help/algotrading/optimization_types

  • Si le nombre total de pas d'optimisation dépasse 1 000 000 dans un système 32 bits ou 100 000 000 dans un système 64 bits, le mode d'optimisation rapide sera automatiquement appliqué.
  • Dans l'optimisation génétique, les résultats intermédiaires sont enregistrés dans le cache après le calcul de chaque génération (fichier_data_platform/tester/cache/*.gen). Ainsi, le processus d'optimisation génétique peut être interrompu à tout moment. Même si le processus d'optimisation génétique est interrompu en raison de causes externes (par exemple, une panne de courant), l'optimisation se poursuivra automatiquement à partir de la dernière génération calculée au prochain démarrage. Le cache de l'optimisation génétique est stocké jusqu'à ce que les paramètres d'optimisation soient modifiés ou que le processus d'optimisation soit terminé.
  • Si l'optimisation est arrêtée normalement (avec le bouton "Stop"), tous les passages calculés précédemment seront stockés. Si l'optimisation est reprise, le processus reprend là où il a été arrêté.
Типы оптимизации - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Типы оптимизации - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
В данном режиме происходит полный перебор всех возможных комбинаций значений входных переменных, выбранных для оптимизации на соответствующей вкладке. Быстрая (генетический алгоритм) В основу данного типа оптимизации заложен генетический алгоритм подбора наилучших значений входных параметров. Данный тип оптимизации значительно быстрее полного...
 
Il est donc écrit ci-dessus que nous avons complètement changé la façon dont le cache fonctionne. La documentation évoluera au fil du temps.

De plus, j'ai montré comment les résultats de la recherche dans le cache génétique améliorent considérablement les résultats de la ré-exécution. De 50 %.

L'intérêt d'un testeur génétique est qu'il doit être exécuté plusieurs fois pour que le randomiseur puisse sortir des extrêmes locaux. C'est ce que montre la capture d'écran ci-dessus, où le quatrième passage a trouvé une nouvelle diapositive.

Vous devez toujours comprendre les mécanismes du processus. Si l'espace de recherche de la solution se compte en trillions, il faut faire beaucoup d'essais avec la génétique.
 
Renat Fatkhullin:
Il est écrit ci-dessus que nous avons complètement changé la façon dont le cache fonctionne. Nous changerons la documentation en temps voulu.

De plus, j'ai montré comment les résultats de la recherche dans le cache génétique améliorent considérablement les résultats de la ré-exécution. De 50 %.

L'intérêt d'un testeur génétique est qu'il doit être exécuté plusieurs fois pour que le randomiseur puisse sortir des extrêmes locaux. C'est ce que montre la capture d'écran ci-dessus, où le quatrième passage a trouvé une nouvelle diapositive.

Vous devez toujours comprendre les mécanismes du processus. Si l'espace de recherche de solutions se compte en trillions, il faut faire beaucoup d'essais avec la génétique.

Merci pour le travail accompli !

J'aimerais voir des statistiques normales pour chaque symbole dans les tests multidevises, au minimum.

 
Renat Fatkhullin:

Pourquoi ne pas joindre une description pour la reproduction ?

Ne comprenez-vous pas qu'une photo n'est pas une preuve en l'absence totale de description ? Vous êtes sur un forum technique où l'on discute de questions techniques.

J'ai essayé de construire selon vos conditions :

  • votre moyenne mobile standard.
  • votre ensemble de paramètres pour 50 millions de passages
  • Serveur MetaQuotes-Demo, EURUSD H1, l'année dernière, mode Open Prices avec génétique
  • la génétique de la course

Voici le résultat : tout est normal et raisonnable, le testeur fonctionne, la génétique trouve les bons résultats...


Vous pouvez voir comment la génétique a atteint les zones vertes de meilleurs résultats et s'y est consolidée.

Le conseiller expert est une moyenne mobile standard.

J'ai effectué 4 optimisations. Les fichiers journaux sont en annexe. Tout cela est lié à la génétique.

J'en ai fait 2 sur une nouvelle construction. 2 sur l'ancien modèle.

1er passage - il a fallu 3,56 min. sur le nouveau sans s'arrêter du début à la fin.

3ème course - avec l'ancien sans s'arrêter du début à la fin a pris 2.15 min.

2ème manche - la nouvelle manche avec un arrêt du début à la fin a pris 2.25+7.57= 9.82 min.

La 4ème manche - sur l'ancienne avec un arrêt du début à la fin a pris 1.55+1.17= 2.72 min.

Dites-moi pourquoi la nouvelle construction fonctionne si mal.

Dossiers :
29_04_2018.zip  43 kb
 
Renat Fatkhullin:
Ainsi, il est écrit ci-dessus que nous avons complètement changé la façon dont le cache fonctionne. Nous modifierons la documentation en temps voulu.

De plus, j'ai montré comment les résultats de la recherche dans le cache génétique améliorent considérablement les résultats de la ré-exécution. De 50 %.

L'intérêt d'un testeur génétique est qu'il doit être exécuté plusieurs fois pour que le randomiseur puisse sortir des extrêmes locaux. C'est ce que montre la capture d'écran ci-dessus, où la quatrième manche a trouvé un nouveau toboggan.

Vous devez toujours comprendre les mécanismes du processus. Si l'espace de recherche de la solution se compte en trillions, il faut faire de nombreux essais.

Si vous avez besoin de l'exécuter plusieurs fois, pourquoi ne pas implémenter tout cela dans l'algorithme ? Et vous pouvez comprendre la mécanique du processus lorsque vous avez suffisamment d'informations sur l'objet. Mais ici, on donne à l'utilisateur une boîte noire dont il n'a qu'une idée générale sans connaître les détails (taille de la population, critères d'arrêt, etc.) Et donc il ne peut pas contrôler ces paramètres. Donc, si l'optimiseur s'accroche aux extrema locaux, les paramètres de l'algorithme ne sont probablement pas bien réglés.

 
Texnolog:

Advisor est une moyenne mobile standard.


Dites-moi pourquoi la nouvelle construction fonctionne si mal.

Veuillez formuler votre question avec précision.

 
Alexey Navoykov:

Si vous devez l'exécuter plusieurs fois, pourquoi ne pas tout mettre en œuvre dans l'algorithme ? Et la mécanique du processus peut être comprise lorsque nous disposons de suffisamment d'informations sur l'objet. Ici, l'utilisateur dispose d'une boîte noire dont il n'a qu'une idée générale, sans connaître les détails (taille de la population, critères d'arrêt, etc.). Et il ne peut donc pas contrôler ces paramètres. Donc, si l'optimiseur s'accroche à des extrema locaux, les paramètres de l'algorithme ne sont probablement pas bien réglés.

Car c'est là l'essence de la méthode génétique : dans un espace de recherche infini, elle produit une solution rapide en N générations lorsque l'incrément de la fonction cible tombe en dessous d'un certain niveau.

Mot clé : rapide.

L'algorithme génétique ne garantit pas un résultat absolument exact. Il s'agit d'une estimation rapide et sale pour obtenir les premières analyses.

Comment la génétique doit être utilisée :

  1. Fixer des limites de recherche larges sur des milliards/trillions de variantes
  2. Faites le premier passage.
  3. En utilisant la visualisation dans différents plans, y compris en 3D, déterminer quelles zones ont des résultats décents
  4. Réduire la recherche, en désactivant certains paramètres (en les verrouillant ou en les réduisant à un nombre raisonnable).
  5. Exécuter un nouveau cycle
  6. Ensuite, nous avons obtenu d'autres résultats par rapport au premier passage.
  7. Ré-estimé avec visualisation
  8. Passez à l'étape 4 jusqu'à ce que vous soyez satisfait du résultat.

Ne détournez pas la tête lorsque vous voyez 10 000 passages dans l'espace de recherche pour des billions de variantes. Les miracles n'arrivent pas.

La génétique doit être utilisée de manière réfléchie et manuelle.


En général, je recommande d'approfondir la théorie. Sans cela, je vois la génétique comme une attitude du type "appuyez sur le bouton et c'est tout" :

Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Vitaly Muzichenko:

Merci pour votre travail !

J'aimerais voir des statistiques normales pour chaque symbole dans le test multi-devises, au minimum

Nous avons commencé une grande mise à jour du testeur, en le réécrivant en partie. Nous sommes maintenant occupés à changer le schéma de travail avec les données.

Nous allons changer beaucoup de choses, y compris les rapports.

 
Renat Fatkhullin:

Nous sommes en train de procéder à une importante mise à niveau des performances du testeur et de redéfinir les modes de charge lourde. Des améliorations majeures ont été apportées et de nouvelles méthodes d'accélération seront bientôt mises en œuvre.

Nous avons décidé d'afficher la fenêtre de la liste des laissez-passer à la fin de l'exécution, afin de ne pas gaspiller de ressources réelles pour maintenir, re-trier et afficher la liste des laissez-passer qui change constamment.

Il y a vraiment eu un énorme gaspillage de ressources et des ralentissements. Surtout quand il s'agit de centaines de milliers de lignes, de millions et de dizaines de millions de passages. Il n'y a aucun sens raisonnable à regarder un tas de données préliminaires avec les yeux.


Nous effectuons des tests d'optimisation et d'exécution avec 100 millions de passages complets.

Il est clair qu'avec de tels chiffres, il est hors de question de retrier et d'afficher un tableau de 2-5-10-50 millions de valeurs en temps réel. La seule option est de tout rassembler rapidement et économiquement, de le trier finalement et de fournir une navigation à toute profondeur.

Tout cela est génial !

Cependant, veuillez retourner l'onglet "Optimisation" - il est impossible de travailler sans analyse opérationnelle ! Les grands tableaux sont lents - faisons un filtre - montrons les 20 premiers pour chaque critère - ce n'est pas si gourmand en ressources( ?), mais cela aidera beaucoup à voir le tableau. Et, ces milliards de passes - qui les fabrique ? Ce sont des unités dotées d'énormes capacités - vous parlez vous-même du caractère raisonnable de l'application de la génétique, et il n'y a pas de tels portmanteaux. C'est-à-dire que plus de 10 000 passages est une rareté.

Je ne comprends pas l'arrêt de l'optimisation, si j'ai des trames écrites dans le fichier, alors après le redémarrage un nouveau fichier sera écrit, parce que je ne peux pas dire au Conseiller Expert qu'ils ont continué à partir de là où ils se sont arrêtés et n'ont pas besoin de créer un nouveau fichier pour enregistrer les résultats. Et si c'est le cas, nous ne pouvons pas nous passer de contrôler les résultats actuels !

Si je n'en suis pas sûr, vous pouvez créer un graphique avec les résultats actuels de l'optimisation pour différents indicateurs, ce qui m'aidera à basculer le graphique sur celui qui est nécessaire et à suivre la situation de cette manière.

Et si vous avez pris le testeur, je vous demande de passer du paramètre "optimisation" au test en un seul passage après l'optimisation - j'ai perdu beaucoup de données à cause de cela et beaucoup de gens s'en sont plaints ici.

En ce qui concerne les agents dans le réseau local - s'il vous plaît leur apprendre à ne pas frotter le cache et l'ensemble de l'environnement pour un temps plus long - entre les optimisations le temps passe pour analyser les données, et non pas immédiatement courir pendant 5 minutes. Maintenant, il s'avère que dès que je recommence à optimiser et à distribuer quoi que ce soit, les agents commencent à travailler en 10 minutes. Oui, j'ai un internet lent pour le téléchargement, mais est-il possible de donner autant ? Pourquoi ne puis-je pas donner à chaque ordinateur local (un agent sur ce PC) et le laisser tout diviser entre les agents !

 
Renat Fatkhullin:

Formulez la question de façon précise, s'il vous plaît.

Pourquoi casser un bon vieil algorithme et le remplacer par un nouveau qui est 3 fois plus lent ?

Si vous devez introduire une nouvelle approche de la méthode génétique, ajoutez un nouvel élément à l'onglet "optimisation",

Créez une description et des techniques pour travailler avec elle.