Critère de sélection automatique des résultats d'optimisation. - page 4

 
LeoV >>:

Согласен. Усложнение не даёт гарантии улучшения результата.

Je l'ai juste indiqué comme une variante de la tâche, c'est tout.

Et l'idée principale était de diviser les critères d'optimisation en classes typiques (optimisation multicritères) sans utiliser de filtres pour trier les résultats, car les filtres peuvent trier les types de CT prometteurs. Et les branches sans issue seront de toute façon écartées à la fin de l'optimisation, puisque seules les plus pertinentes pour chacune des classes seront sélectionnées.

 
joo писал(а) >>

Je l'ai juste indiqué comme une variante de la tâche, c'est tout.

Et l'idée principale était de diviser les critères d'optimisation en classes typiques (optimisation multicritères) sans utiliser de filtres pour trier les résultats, car les filtres peuvent trier les types de CT prometteurs. Et les branches sans issue seront de toute façon écartées à la fin de l'optimisation, car seules les plus pertinentes pour chacune des classes seront sélectionnées.

Théoriquement, c'est possible, mais dans la pratique, ....., on ne voit pas très bien comment cela peut être réalisé, de sorte que le cerveau ne se mette pas à bouillir pendant l'"optimisation multicritères" ....)))) et qu'après cela, on ait plus de forces pour le commerce.....)))).

 
StatBars писал(а) >>...

joo a écrit >>....

Aussi triste que cela soit, vos amis ont tout à fait raison. Je le comprends moi-même, même si c'est la première fois que j'entends parler d'"optimisation multicritères". J'ai fait une recherche sur Google, c'est une forêt noire intéressante), la tâche en elle-même est comparable à une négociation réussie.

Ce que j'essaie de déduire n'est qu'une approximation pour une utilisation quotidienne pratique, certes loin d'un idéal théorique, mais toujours meilleure que ce que la grande majorité des utilisateurs de testeurs/optimiseurs utilisent. Le critère rapide que j'ai fourni ci-dessus, composé à la volée en quelques secondes, se révèle meilleur que les critères d'optimisation couramment utilisés. Collectivement, nous pouvons trouver quelque chose de plus raisonnable. L'idée de l'équation linéaire est sympathique, mais le critère s'avère être très flexible, suffisamment polyvalent pour être applicable (en utilisant des pondérations différentes) à différentes classes de TS, pas si nombreuses...

Et ce critère ne suffira pas, si rien de bon n'en ressort, peut-être qu'après réflexion nous mettrons au point une technique pour utiliser ce que nous avons. Ce n'est pas mal non plus.

Réfléchissons donc au problème du point de vue de l'application pratique. Nous n'avons pas besoin d'un prix Nobel, mais d'un outil de travail. La tâche n'est rien : sélectionner un bon résultat d'optimisation), je ne vais pas crier sur les toits le meilleur). Nous pouvons aller dans la direction opposée, pour réfléchir au critère de rejet des résultats manifestement mauvais, bien que cela se passe aussi de cette façon.

 
Figar0 >>:

Согласен, фактор не маловажный. Сможете показать как практически рассчитать, облечь в математическую форму это распределения имея полный результат теста?


Variante 1

résultats de la stratégie somme cumulée des N dernières transactions, il devrait idéalement y avoir une ligne droite, ou une ligne très similaire à celle-ci . Traçons une ligne droite, prenons une régression linéaire par l'angle de pente et estimons la rentabilité. de plus, l'écart-type comme mesure du risque, imho le calcul de la dispersion est correct si nous avons une courbe de distribution symétrique en forme de cloche. Dans le cas contraire, nous avons une distribution hypothétique de transactions 10,10,10,10,10,10 etc. Si la somme est claire, calculez alors la variance sur cette ligne, elle dépendra de l'angle de pente, de la longueur de l'échantillon et, en cas de ligne brisée, du degré de dispersion. Ce que Sharpe suggère, à mon avis, n'est pas tout à fait adéquat.

Je mesure la variance comme la dispersion d'une variable aléatoire, en l'occurrence les résultats de la transaction, par rapport à la moyenne, mais par rapport à la ligne d'une régression linéaire. Alors cette variance délicate sur une ligne droite est égale à 0. Ainsi, plus la courbe est droite, plus la variance de la ruse est faible.

Si l'on divise l'angle de pente de la régression linéaire par la variance de la ruse, on obtient un nombre caractérisant la CT.

Les TS comparables doivent être calibrés par le même lot et le même nombre de dernières transactions.
Variante 2

https://www.mql5.com/ru/forum/122464

 
Critère = Somme des durées pendant lesquelles le TS a été bénéficiaire divisée par la somme des durées pendant lesquelles le TS a été déficitaire. Les segments avec profit et avec drawdown peuvent se chevaucher. Les segments peuvent être mesurés en minutes ou en nombre de transactions.
 

Figar0, ce que vous essayez d'estimer est la robustesse et il n'existe pas de paramètre complexe unique pour l'estimer. Pour commencer, vous devez trouver l'épine dorsale minimale du système, c'est-à-dire le signal à l'entrée, la sortie et un filtre. Tous peuvent avoir des paramètres, optimiser l'épine dorsale dans son ensemble. Il doit être rentable avec un nombre maximal de transactions et dans une large gamme de paramètres, de préférence dans différents symboles. Vient ensuite l'ajout de filtres pour une paire particulière et même pour un morceau d'histoire particulier (ils seront peut-être sur-optimisés). La variation des résultats en diapason de la modification des paramètres pour chaque filtre est analysée séparément. La décision concernant l'utilité ou l'inutilité du filtre est prise en fonction de certains critères. Ceci afin de préserver la validité statistique. Le système final est construit. Le système est assemblé comme une poupée matryoshka, mais le cœur du système doit être vraiment très simple et efficace avec un nombre maximum de transactions pour garantir qu'il utilise réellement la propriété réelle du marché et non un fantôme.

Je pense que la base est dans la synthèse correcte du TS et de l'évaluation par étapes (chaque étape a ses propres priorités et paramètres d'évaluation), plutôt que dans le choix d'un paramètre global complexe pour évaluer le TS dans l'assemblage final. Il n'y a tout simplement pas assez d'informations pour qu'il puisse évaluer la robustesse. imho

 

J'utilise un critère préfabriqué pour évaluer les résultats d'un expert en première approximation - pour choisir parmi d'autres options. Je me souviens avoir lu quelque chose comme ça dans une interview après un championnat. J'appelle cela la "qualité de l'équité" (estimation de la "fluidité", en d'autres termes) - c'est le rapport entre le profit réalisé (par lot pair, bien sûr) et le drawdown maximal. La subtilité n'est pas tout à fait évidente - il est raisonnable de ne comparer que les passages ayant pratiquement le même nombre de transactions, ce qui ne peut donc pas être utilisé automatiquement.

Je suis également en train de lire un livre intéressant de mehanizator (sa version électronique est disponible dans Zhj) sur la création de MTS. Il semble que les choses soient évidentes, mais il met tout en place. Cependant, la moitié du livre est consacrée aux spécificités du marché boursier. Ce week-end, je vais "classer" un système, issu de ma dernière série Experimental Expert Advisor (je les supprime de temps en temps et en commence une nouvelle :) ). - Principalement dans le but d'apprendre. J'ai donc pensé le proposer aux gens pour une discussion plus constructive. Le système est destiné à l'EURUSD sur D1.

En fait, je suggère des sujets de discussion :

1. est-il stable (essayez de l'exécuter - les paramètres flottent lentement, mais continuent de fonctionner année après année !); 2. est-il possible de le faire fonctionner sur des crosses et d'autres paires qui ne sont pas fortement corrigées avec l'EURUSD. (Encore une fois - est-ce durable, sinon ?)

Dossiers :
ea19.mq4  3 kb
 
Figar0 >>:

Как это не грустно, но Вы друзья совершенно правы. Простых решений тут нет и быть не может, грустно именно это, а не то что вы оба правы) Я и сам это понимаю, хотя "многокритериальная оптимизация" услышал впервые. Погуглил, да уж интересный темным лес), задача сама по себе сопоставимая с успешным трейдингом.

То что я пытаюсь вывести, это лишь некое приближение для практического повседневного использования, пусть и далекое от теоретического идеала, но все же лучше, чем пользуется подавляющее большинство пользователей тестера/оптимизатора. Корявенький критерий, приведенный мной выше, сочиненный на лету за пару секунд, показывается себя лучше общеиспользуемых критериев оптимизации. Помозговав коллективно можно вывести что-то более разумное. Идея линейного уравнения подкупает, засада с весами, зато критерий получается весьма гибкий, достаточно универсальный, чтобы подходить (при использовании разных весов) разным классам ТС, не так и их много..

Да и не сошелся свет клином на этом критерии, неполучится ничего путного - может, подумав, выработаем технику использования того что есть. Тоже неплохо.

Так что давайте подумаем над задачей с точки зрения практического применения. Нам же не Нобелевка нужна, а инструмент для работы. Задача-то всего ничего: отобрать хороший результат оптимизации), про лучший уже не заикаюсь, понял - не поднять). Можно пойти от противного, подумать над критерием отбраковки заведомо плохих результатов, хотя тож на то и выдет.

Si vous voulez quelque chose de plus simple, mais meilleur que ce que vous avez, utilisez une équation linéaire avec des pondérations pour les critères d'évaluation.

J'ai oublié de suggérer un autre critère - la symétrie du système. Pour éviter l'ajustement des tendances, vous pouvez introduire plusieurs de ces critères, mais il est bien sûr préférable d'en avoir un seul. Il s'agit simplement de la différence entre les ordres d'achat et de vente divisée par le nombre total de transactions - le critère doit être minimisé (en fait, la division n'est pas nécessaire). Ce critère peut ne pas convenir à tous les systèmes, car je n'ai vu que des systèmes qui se vendent, mais qui fonctionnent bien.

Au fait, j'ai l'impression que les gens ne comprennent pas bien que la principale difficulté n'est pas de penser à des paramètres d'évaluation (ils sont juste nombreux), mais de penser à un moyen de les rassembler, c'est-à-dire qu'il y a 1000 passages, on a pour chaque passage plusieurs indicateurs, comment choisir la meilleure stratégie sur ces plusieurs indicateurs ? ou 5 meilleures stratégies ?

 

Azzx,

Je me demande combien de commandes seront effectivement clôturées avec un profit sur le réel ?

      si(OrderProfit() > 0)
close_order(OrderTicket()) ;
 
StatBars >>:

т.е. имеется 1000 проходов, мы имеем на каждый проход несколько показателей, как по этим нескольким показателям выбрать лучшую стратегию? или 5 лучших стратегий?

Il est possible de normaliser ces quelques indicateurs et de les intégrer à l'entrée du SN ou d'un comité du SN. La sortie est le bénéfice sur l'OOS.

Raison: