Discussion de l'article "Algorithmes d'optimisation de la population : Semis et Croissance des Jeunes Arbres, ou Saplings Sowing and Growing up en anglais (SSG)" - page 6

 
Andrey Dik #:
J'essaie simplement de faire comprendre qu'il est possible d'éviter cinq optimisations et d'entrer dans la région verte en une seule fois, dans le cadre d'une optimisation. à cette fin, il est nécessaire d'introduire le FF principal par rapport au FF mineur. le FF principal doit décrire la région verte et est le maximum global.
Ainsi, le FF figurant sur l'image n'est pas ce dont nous avons besoin, nous avons besoin d'un FF où nous devons chercher le maximum global.
Il est difficile de l'expliquer avec les doigts, mais vous pouvez le faire dans l'article )))).

Il est clair qu'avec une approche compétente, personne n'optimise selon le même critère d'équilibre. Ils essaient de prendre en compte l'absence de dépassement, le nombre statistiquement significatif de transactions, etc.

J'ai écrit un peu sur le sujet ici.

Vous devriez obtenir une image similaire des transactions à chaque passage. Ici, vous pouvez voir des transactions malhonnêtes et des briques de CT.


Pour former le critère d'optimisation, il est souhaitable d'éliminer les transactions qui sont aberrantes.

Mais c'est là le sujet de la formation d'un FF pratique. Même s'il est totalement dépourvu de pics et qu'il a une nature vallonnée, ces collines ne seront pas trouvées en un seul passage. C'est pourquoi je procède de cette manière.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Discussion autour de l'article "Algorithmes d'optimisation de la population : algorithme SSG (Saplings Sowing and Growing up)"

fxsaber, 2023.03.22 00:32

Je trouve indirectement local l'interruption forcée de l'optimisation lorsqu'un grand nombre de cœurs est impliqué. En gros, il y a 20 agents dans Tester, j'interromps l'optimisation après 2000 passes.

Mais c'est très approximatif. Il est plus fiable de rejeter la meilleure colline et de répéter l'optimisation.
Уменьшаем выборку - увеличиваем стат. значимость?
Уменьшаем выборку - увеличиваем стат. значимость?
  • 2022.01.28
  • www.mql5.com
Торговый робот должен (условно) удовлетворять следующим условиям: Совершать достаточно много сделок на интервале настройки (оптимизации). Показывать столь же стабильный результат вне интервала
 
fxsaber critère d'optimisation).

Si vous effectuez une optimisation complète pour un CT avec deux paramètres chaque jour pendant un an ou deux pour obtenir une image similaire, et que vous formez ensuite une vidéo à partir de ces images, vous obtiendrez quelque chose comme ceci :


Il serait naïf de supposer que la surface reste statique.
La question est donc la suivante :
Quel est l'intérêt ?

 
Andrey Dik groupe qui s'est trop agrandi est expulsé du groupe, qui est forcé de former des groupes dans des extrêmes distincts.

Pour être franc, il ne s'agit pas d'un souhait spécifique, mais d'un outil qui doit être inclus dans un logiciel sérieux pour l'algo-trading - Tester.

Mais il est réaliste de le régler soi-même.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading.

Discussion autour de l'article "Algorithmes d'optimisation de la population : algorithme SSG (Saplings Sowing and Growing up)"

fxsaber, 2023.03.23 19:51

Si vous avez les données de la zone à couper, vous pouvez très facilement (même dans le Tester normal) faire l'optimisation sans l'emplacement de l'espace.

Mais je ne sais pas du tout comment définir la zone autour du maximum global trouvé dans les résultats de l'AG.

Les algorithmes GA sont très différents. Je suppose que si un maximum est trouvé en 1000 passes et que l'algorithme s'arrête, alors les 100 dernières passes sont des points autour du maximum trouvé. Nous prenons alors ces 100 points et formons immédiatement la zone à rejeter dans les optimisations futures.

En principe, si le même AG régulier n'est exécuté qu'une seule fois, les 100 dernières entrées du fichier opt devraient correspondre à ces points. Cependant, je ne suis pas sûr que ce soit le cas avec une approche multicœur. C'est pourquoi un certain type de regroupement est nécessaire. Il existe de nombreux articles sur ce sujet, vous devriez les étudier.

 
Nikolai Semko #:

Il serait naïf de penser que la surface reste statique.

J'ai besoin d'un point relativement statique dans cette surface bouillonnante. J'en ai trouvé.

Et pourtant, nous ne devrions pas réduire le sujet à l'habileté et à la signification de la cuisine. Il faut une casserole pour cuisiner.

 
fxsaber #:

Cependant, ne réduisez pas le sujet à la compétence et à la signification de la cuisine. Il faut une casserole pour cuisiner.

+++

 
fxsaber #:

Pour être franc, il ne s'agit pas d'un souhait spécifique, mais d'un outil qui doit être inclus dans un logiciel d'algo-trading sérieux - Tester.

Mais vous pouvez vraiment le régler vous-même

Les algorithmes GA sont très différents. Je suppose que si un maximum est trouvé pour 1000 passages et que l'algorithme s'arrête, les 100 derniers passages sont des points autour du maximum trouvé. Il suffit alors de prendre ces 100 points et de former immédiatement une région qui sera éliminée lors des optimisations futures.

En principe, si le même AG régulier n'est exécuté qu'une seule fois, les 100 dernières entrées du fichier opt devraient correspondre à ces points. Cependant, je ne suis pas sûr que ce soit le cas avec une approche multicœur. C'est pourquoi un certain type de regroupement est nécessaire. Il y a pas mal d'articles sur ce sujet, il faut faire des recherches.


Je pense que les 100 dernières entrées seront remarquablement différentes selon l'algorithme utilisé. Par expérience, je peux me permettre de penser ainsi, et il est donc raisonnable de noter que le choix des algorithmes pour les tâches est judicieux, et qu'il ne s'agit pas simplement de prendre le meilleur dans la table.....
Par conséquent, je trouve l'idée de créer un tel tableau de classement utile.
tâche spécifique - je voulais dire spécifiquement une telle tâche, pas une tâche rare. il y a un besoin, donc il devrait être pris en compte dans la plateforme, de préférence.

 
Les 100 derniers enregistrements ne correspondront pas à des pics différents, ils seront tous centrés autour d'un dernier pic trouvé.
 
Andrey Dik #:

Je pense que les 100 derniers enregistrements seront étonnamment différents selon les algorithmes. L'expérience me permet de le penser, et il est donc raisonnable de noter que le choix des algorithmes pour les tâches est judicieux, et qu'il ne s'agit pas simplement de prendre le meilleur du tableau...

C'est pourquoi je trouve l'idée de créer un tel tableau d'évaluation utile.

À nous le classement ! Plus d'objectivité. Mais je suis encore un peu perdu. Je suis toujours en train d'examiner les problèmes pratiques auxquels je suis confronté.

Tâche spécifique - je voulais dire spécifiquement telle, pas rare. il y a un besoin, donc il devrait être pris en compte dans la plateforme, de préférence.

Dans le testeur, j'ajouterais une coche "jeter les zones des maxima trouvés lors des optimisations précédentes".

Ensuite, la première exécution se fera sans cette coche, les autres avec. Effectuez 20 optimisations - obtenez 20 pics.

Ensuite, chargez-les dans OOS-check (20 exécutions individuelles) et évaluez-les, tout en évaluant l'ensemble du TS/FF.

 
fxsaber #:

J'ai besoin d'un point relativement statique dans cette surface bouillonnante. J'ai trouvé ces...

mais je pense que trouver de tels points avait un caractère probabiliste.
Mon message est qu'il ne devrait pas y avoir de paramètres d'entrée nécessitant une "optimisation" à l'entrée du CT. De tels paramètres transforment le TS en une pièce de monnaie.
Même l'auto-optimisation interne des paramètres internes est également une auto-illusion.

 
fxsaber #:

Dans Tester, j'ajouterais une case à cocher "discard areas of found maxima of previous optimisations".

Implémentation indépendante :

  1. J'ai lu le dernier fichier opt et généré une région à partir des 100 dernières passes (ce qui n' est pas tout à fait correct).
  2. J'ai ajouté cette région au fichier commun.
  3. Le conseiller expert lit ces zones dans le fichier commun lors de l'initialisation. Et il y a aussi une vérification que si l'entrée a touché ces zones, nous faisons INIT_FAILED.
Tout est prêt ! Il est seulement important de former correctement la zone au point 1.