Bibliothèque: MultiTester - page 8

 
Nous pouvons créer un conseiller séparé pour le nettoyage de l'écran dans le kit du testeur multiple, jusqu'à ce que MQ supprime définitivement cette fonction avec des tableaux d'optimisation. D'ailleurs, je vais utiliser la possibilité d'exécuter un Expert Advisor supplémentaire dans le multitester pour le traitement final du tableau des résultats des tests.
 
Good Beer:
Vous pourriez créer un nettoyeur d'écran séparé EA dans le kit multitester, jusqu'à ce que MQ supprime enfin son tableau d'optimisation.
#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/fr/code/26132

void OnStart()
{
  while (MTTESTER::CloseNotChart() && !IsStopped())
    ;
}
 
fxsaber:
WOW !!!! Et c'était déjà le cas. Cela fonctionne ! Merci.
 
Good Beer:
WOW !!!! Et c'était déjà le cas. Cela fonctionne ! Merci.

Mais cela ne fonctionne bien et rapidement que si le script est lancé sur le graphique. S'il est appelé par TesterSettings.Add(), il efface tout lentement au début, puis il tourne en boucle. Apparemment !IsStopped() ne voit pas la commande de fin, et ExpertRemove() ne convient pas dans ce cas.

 
Good Beer:

Mais il ne fonctionne bien et rapidement que si le script est lancé sur le graphique. Si vous l'appelez via TesterSettings.Add(), il supprime tout lentement au début, puis il tourne en boucle.

Je doute que cela vous aide, mais essayez de remplacer ces lignes

        user32::SendMessageW(handle, WM_CLOSE, 0, 0);
        Res = true;


par celle-ci

        Res = user32::SendMessageW(handle, WM_CLOSE, 0, 0);


Honnêtement, ce n'est que cosmétique, donc je n'ai pas vraiment envie de m'en occuper. Apparemment, je suis en train de glisser vers un état où l'effort consacré au soutien des solutions affichées ne laisse aucune possibilité d'en créer de nouvelles. Je suppose qu'il s'agit d'une situation normale.

 
fxsaber:

Je doute que cela puisse aider, mais essayez de remplacer ces lignes


par celles-ci


Honnêtement, ce n'est que cosmétique, et je n'ai pas vraiment envie de m'en occuper. Apparemment, je suis en train de glisser vers un état où l'effort consacré au soutien des solutions affichées ne laisse aucune possibilité d'en créer de nouvelles. Je suppose qu'il s'agit d'une situation normale.

Je vous en remercie. Ces tableaux d'optimisation seront supprimés de toute façon, sinon c'est une honte pour MQ et c'est ringard. Il vaut mieux abandonner le script une fois que d'appuyer 300 fois sur F4.
 
Je vais l'enregistrer ici.

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

Nouvelle version de la plateforme MetaTrader 5 build 2190

fxsaber, 2019.10.31 08:53 pm.

J'ai deux add-ons dans des plans éloignés

  1. Calcul du portefeuille optimal pour des ensembles donnés. Optimisé, sélectionné les ensembles que vous aimez. Et ensuite l'add-in va assembler le portefeuille optimal à partir de ces ensembles.
  2. Optimisation adaptative. Vous exécutez le complément dans lequel vous définissez la durée de l'intervalle et la fréquence de la suroptimisation. Et pour chaque Expert Advisor, une passe adaptative est construite. Vous pouvez ainsi vérifier rapidement la robustesse du TS.
Nous avons besoin de tels add-ons tiers pour Tester. Il n'y a pas de limites techniques pour les écrire maintenant. J'aimerais qu'il n'y en ait plus à l'avenir.
 

Lorsque vous examinez un grand nombre de caches d'optimisation après un test multiple, vous procédez de la même manière.

  1. Vous choisissez le meilleur passage pour démarrer une seule exécution (via PCM).
  2. Si vous êtes satisfait, désactivez l'optimisation et augmentez l'intervalle.
  3. Cliquez sur Démarrer.

C'est au point 2 que l'on passe le plus de temps, car des erreurs sont souvent commises. Vous voulez être semi-automatique. Et il y a une solution !


Copiez ce texte dans le presse-papiers

[Tester]
Optimization=0
FromDate=2019.01.01


Appuyez ensuite sur CTRL+V dans l'onglet Paramètres. Cela désactivera automatiquement l'optimisation et fixera la date souhaitée.


ZY J'étais pressé de me réjouir. Les paramètres d'entrée du conseiller expert sont réinitialisés par défaut avec un tel tampon.

 
Fonctionnalité supplémentaire de MTTester.mqh.
 

Un saut qualitatif dans l'automatisation des testeurs.


#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/fr/code/26132

void OnStart()
{  
  MessageBox(MTTESTER::GetSettings()); // Paramètres du testeur de courant

  string Settings = "[Tester]\nFromDate=2019.09.01"; // Définition de la date de début de l'intervalle de test
  MTTESTER::SetSettings(Settings); // Définir les paramètres appropriés
}


Maintenant une liberté totale dans l'automatisation des testeurs.


Merci beaucoup @Slava pour ton aide !