Bibliothèque: MultiTester - page 27

 
fxsaber:

La bibliothèque MTTester permet depuis longtemps de faire absolument tout ce qu'un utilisateur peut faire via l'interface graphique.

Je maîtrise MTTester.

Connexion seulement

#include <fxsaber\MultiTester\MTTester.mqh>

Je ne comprends pas comment attendre la fin du test? J'exécute de telles lignes

MTTESTER::Run( NULL,SimvolTorg[i]);
Sleep(10000);
MTTESTER::IsReady();

Le résultat de l'attente de la fin des tests ne se produit pas. Dois-je résoudre ce problème moi-même ? Ou existe-t-il déjà une solution toute prête ?

 
pivomoe:

Par conséquent, l'attente de la fin du test ne se produit pas. Dois-je résoudre ce problème moi-même ? Ou existe-t-il déjà une solution toute prête ?

Des exemples ont été donnés plus haut. Je n'utilise moi-même que quatre fonctions :

MTTESTER::IsReady - Тестер готов к запуску.
MTTESTER::ClickStart - Нажать на кнопку Старт/Стоп.
MTTESTER::GetSettings - получить полные текушие настройки тестера.
MTTESTER::SetSettings2 - задать любые настройки тестера.
 
while(1)
        {
         Sleep(1000);
         if( MTTESTER::IsReady() ) break;
        }
Je vous remercie. Cela m'a aidé.
 
pivomoe:
Je vous remercie. Cela m'a aidé.

Et quatre autres pour une utilisation plus avancée.

MTTESTER::GetPassesDone - количество выполненных прогонов идущей оптимизации.
MTTESTER::GetLastOptCache - последний opt-файл.
MTTESTER::GetLastTstCache - последний tst-файл.
MTTESTER::CloseNotChart - закрывает график оптимизации.


Je n'utilise rien d'autre.

 
Pouvez-vous me dire s'il est possible d'ajouter une fonction - en cas d'optimisation désactivée lors du test d'un EA déjà optimisé - sous la forme d'un appui automatique sur les onglets dans le testeur "graphique" et "backtest" avec des pauses de 15 secondes entre le changement de la paire testée et le cadre temporel ? Si dans un Expert Advisor optimisé il est nécessaire de tester de nombreuses paires sur de nombreuses périodes, il n'est pas possible d'utiliser un multi-test car il est nécessaire de s'assurer sur chaque instrument de l'exactitude des indicateurs entrés lors de l'optimisation. Ou je peux insérer une pause quelque part pour avoir le temps de revoir les résultats du test passé. Merci.
 
Il'ya Matviyenko:
Pouvez-vous me dire s'il est possible d'ajouter une fonction - dans le cas d'une optimisation désactivée lors du test d'un EA déjà optimisé - sous la forme d'un clic automatique sur les onglets dans le testeur "graphique" et "backtest" avec des pauses de 15 secondes entre le changement de la paire testée et le cadre temporel ? Si dans un Expert Advisor optimisé il est nécessaire de tester de nombreuses paires sur de nombreuses périodes, il n'est pas possible d'utiliser un multi-test car il est nécessaire de s'assurer sur chaque instrument de l'exactitude des indicateurs entrés lors de l'optimisation. Ou alors il faut insérer une pause pour avoir le temps de visualiser les résultats du test passé. Merci.

Je n'ai même pas essayé de passer d'un onglet à l'autre, car c'est trop compliqué pour moi. Peut-être que quelqu'un peut le faire et le partager ici. Je n'ai pas eu de chance jusqu'à présent.

 
fxsaber:

Je n'ai même pas essayé de passer d'un onglet à l'autre, car c'est trop compliqué pour moi. Peut-être que quelqu'un peut le faire et le partager ici. Je n'ai pas eu de chance jusqu'à présent.

Il existait (peut-être existe-t-il encore) un tel code

user32::SendMessageW(user32::GetDlgItem(Handle, 0x2712), WM_LBUTTONDOWN, 1, 0x17007C); // Sélection de l'onglet "Paramètres

Les autres onglets devraient être similaires. Ou est-ce que je me trompe ?

 
traveller00:

Il existait (il existe peut-être encore) un tel code

C'est vrai ! J'avais oublié.

 

Tout s'est avéré beaucoup plus simple. Dans MultiTester.mqh il suffit d'ajouter :

.....................

void OnTimer()
{
static const int Size = TesterSettings.GetSize() ;
static bool IsRun = false ;
static int Pos = 0 ;
static datetime StartTime = 0 ;
static bool Init = false ;
static int Attempts = 0 ;
static int Errors = 0 ;
if(MessageBox("Continue ?",MB_OK)==IDOK) {
if (!Size || IsStopped())
{
EventKillTimer() ;
ExpertRemove() ;

}

................

et vous pouvez admirer les résultats des tests intermédiaires autant que vous le souhaitez

 
Il'ya Matviyenko:

Tout s'est avéré beaucoup plus simple. Dans MultiTester.mqh il suffit d'ajouter :

et vous pouvez admirer les résultats des tests intermédiaires autant que vous le souhaitez

C'est la raison pour laquelle tout est open source.