Testeur de stratégie MetaTrader 5 : bugs, anomalies, suggestions d'amélioration - page 63

 
fxsaber:

Avant d'appuyer sur Stop, je vois dans les logs et dans le tableau d'optimisation que les passes erronées ont déjà été comptées. Puis j'appuie sur Stop, parce qu'il n'y a pas de raison de continuer.

J'ai mal compris la question.

Oui, en règle générale, vous devez appuyer sur Stop au moins une fois sur l'Optimisation précédente. Mais dès que l'on touche une Optimisation erronée, toutes les suivantes le deviennent aussi (je ne change plus l'intervalle de temps).


Peut-être que quelqu'un se connectera au replay. C'est étrange qu'il ne fonctionne pas pour vous, mais il joue rapidement sur un terminal propre pour moi.

Joué exactement avec le stop pressé.

Trouver une solution

 
Slava:

Reproduit exactement avec une presse de l'arrêt.

Faites-en l'expérience

Je me pends pour avoir attrapé l'insaisissable Joe.

 

Il arrive souvent que l'on commence l'optimisation et que l'on oublie de prendre en compte un élément. Vous devez vous arrêter, corriger et recommencer exactement ce que vous vouliez à l'origine.

Ainsi, cette variante erronée du lancement de l'optimisation est laissée en suspens sous forme de cache inutile, clignotant sous vos yeux dans la liste des caches, etc.


Je vous suggère de réfléchir à cette option. Si le bouton "Stop" a été cliqué, affichez un X à côté, ce qui supprime cette entrée de cache inutile lorsque vous cliquez dessus.

La chaîne de recherche est : Uluchshenie 008.
 

Une grande demande lors de l'ouverture d'un graphique à passage unique dans le commentaire du graphique, pour donner non seulement les données de l'EA, mais aussi le nom du fichier tst correspondant.

Une demande similaire pour les tableaux d'optimisation. Indiquez au moins quelque part le nom du fichier d'option.

Chaîne de recherche: Uluchshenie 009.
 

Cela fait longtemps que je n'ai pas pu utiliser correctement le testeur de stratégie de MT5.

Avant aujourd'hui, j'étais capable d'utiliser la version 2280 sur mon noyau CPU local et d'obtenir les résultats corrects.

Les agents testeurs déployés sur des cœurs de processeur distants sur le réseau local sont toujours obligés de mettre à niveau vers des versions défectueuses après 2280, ce qui fait que tous les agents testeurs distants renvoient des résultats incorrects.


Pendant longtemps, j'ai donc dû attendre patiemment que les optimisations soient effectuées sur l'ordinateur local, alors qu'une grande partie de la puissance de calcul déployée sur le réseau local était gaspillée.

J'espère vraiment que metaquotes corrigera les bugs dans la nouvelle version, faisant du testeur de stratégie un outil qui fonctionne au moins.

Et aujourd'hui, j'ai enfin obtenu la version 2340.

J'ai ensuite découvert que même les tâches d'optimisation sur le cœur du CPU local n'obtenaient pas les bons résultats.


Je suis désolé de ne pas avoir traduit mon message de l'anglais au russe, car je crains que la qualité de traduction du logiciel ne soit pas bonne.


 
tickfenix:

J'ai ensuite découvert que même les tâches d'optimisation sur le cœur du CPU local n'obtenaient pas les bons résultats.

Plusieurs dernières pages de ce fil sont consacrées à ce problème. Les développeurs ont réussi à reproduire le bug hier et sont en train de le corriger.

 
fxsaber:

Les dernières pages de ce fil de discussion ont été consacrées à ce problème. Les développeurs ont réussi à reproduire le bug hier et travaillent à le corriger.

Heureux de l'entendre ! Maintenant, je commence à prier.

 
fxsaber:

Merci pour votre aide !

Pas d'interdiction

 

J'ai une DLL écrite en C#. Ça marchait hier !

Aujourd'hui, en essayant d'exécuter un tel EA (simplifié au minimum) :

#import "core.dll"

int OnInit() {
   Class1::Inc();
   return(INIT_SUCCEEDED);
}

Il s'éteint dans la bûche :

2020.02.22 16:29:16.925 Tester  file C:\Program Files\MetaTrader 5\MQL5\Libraries\core.dll.ex5 open error [2]

Apparemment, le problème est que pour une raison quelconque, le fichier ex5(((( est recherché.

 

Bonjour, désolé de ne pas poster en russe car je ne connais pas cette langue.


Je viens de mettre à jour MetaTrader 2340 et j'ai remarqué que le chargement de la DLL C++ personnalisée dansStrategy Tester était interrompu. J'ai un EA qui utilise une DLL personnalisée et il a cessé de fonctionner parce que le Strategy Tester est incapable de charger la DLL. Avant la version 2340, tout fonctionnait correctement. J'utilise le mode de visualisation.

J'ai écrit un EA simple avec un test.dll pour reproduire cette erreur. La DLL de test n'exporte qu'une seule fonction, qui est "void __stdcall test(int & x)".

Lorsque j'essaie d'exécuter l'EA dans le testeur de stratégie, j'obtiens cette erreur :

2020.02.21 22:57:17.607 Fichier de test C:\Users\Luis\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Experts\Luis\tests\TestExpert\TestDLL.ex5 open error [2]

Voici le code de l'EA :

#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"


#import "TestDLL.dll"
void test (int& x);
#import

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   int p = 0;
   test(p);
   
   Print (p);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   

Et voici le code de la DLL (C++)


#define _DLLAPI extern "C" __declspec(dllexport)

_DLLAPI void __stdcall  test(int & x)
{
    x = 25;
    return;
}


BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}

J'ai joint l'exemple d'EA pour reproduire ce problème. Comment résoudre ce problème ?


Merci

Dossiers :
TestExpert.zip  19 kb