Testeur de stratégie MetaTrader 5 et MQL5 Cloud Network - page 26

 
notused:

Avec la génétique, c'est compréhensible - attendre que le reste de la population renvoie le résultat.

Ah, donc ça pourrait être le but. Alors avec des agents locaux rapides, travailler avec des "nuages" est contre-indiqué ?
 
Yedelkin:
Ah, donc ça pourrait être le but. Le cloud computing est-il alors contre-indiqué pour les agents locaux rapides ?
Cela dépend du nombre d'agents locaux/à distance que vous avez. Si vous en avez une douzaine ou deux, le nuage ne fera probablement pas de différence, mais si vous n'en avez que deux, le nuage sera plus rapide. Pour les experts qui testent relativement "rapidement", le nuage sera utile même s'il y a beaucoup d'agents locaux/à distance.
 
notused:

Pourtant, il faut faire quelque chose à ce sujet :

Faites attention à la réponse renvoyée par le nuage. Il semble que pas une seule réponse correcte n'ait été reçue depuis hier (et les passes sont à 100% avec des transactions et sans erreurs). L'utilité du réseau dans un tel cas est de 0. Et l'affaire - 12 instruments depuis le début de l'année. Il y a quelques jours, les résultats étaient parfois corrects, mais aujourd'hui, il n'y en a aucun.

Étant donné que le nuage sera bientôt payé, je ne voudrais pas jeter de l'argent par les fenêtres sans aucun résultat (en mode test, j'ai reçu 7 dollars pour hier et aujourd'hui pour avoir utilisé le réseau, bien que, encore une fois, je n'en ai rien tiré, et que je n'ai utilisé le réseau qu'hier soir, car il ne fonctionnait pas pendant la journée).

+ parfois le nuage se met en état d'être terminé quand il est plein( !). Comment est-ce possible alors qu'il reste encore quelques milliers de laissez-passer ?

Avez-vous essayé d'exécuter un seul passage sur de tels résultats sur un agent local ?

Pouvez-vous décrire les paramètres de démarrage, la liste des agents, les paramètres d'optimisation dans votre demande au Service Desk + ajouter un expert (au moins ex5) ? Les journaux seraient également très utiles.

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
alexvd:

Avez-vous essayé d'exécuter un seul passage avec ces résultats sur un agent local ?

Pouvez-vous décrire les paramètres de lancement, la liste des agents, les paramètres d'optimisation de l'application au Service Desk + joindre un expert (au moins ex5) ? Et quelques journaux seraient vraiment utiles.

La question ne me concerne pas, mais oui, j'ai essayé. Sur l'agent local, le test passe sans erreur. On suppose que le problème est lié au timer (EST = EventSetTimer(3600)), car dans mon cas, l'erreur d'exécution critique est survenue au début du test (temps de test - 0 seconde). Texte littéral de OnInit (je ne peux pas l'insérer comme source pour une raison quelconque, IE8) :

int OnInit()
{
Print("hh=",hh," mm=",mm," MLEVEL=",MLEVEL," TP=",TP," SL=",SL," TS=",TS) ;
Print("OnInit commence SymbolsTotal : ",SymbolsTotal(true),"/",SymbolsTotal(false)) ;


// tumbling pour l'initialisation dans le testeur
for(uint i=0 ; i<maxsym ; i++)
{
SymbolSelect(SymbolName(i,false),true) ;
}

EST = EventSetTimer(3600) ;
if (!EST) {
Comment("Erreur : EventSetTimer= ", GetLastError() ;
Print("Erreur : EventSetTimer= ", GetLastError() ;

}

for(uint i=0 ; i<maxsym ; i++)
{
ea[i].Init(SymbolName(i,true),PERIOD_M1) ; // initialiser l'expert
Print(i,SymbolName(i,true)) ;
}
// exemple d'initialisation
// ea.Init(Symbol(), PERIOD_M5) ; // pour une période de temps fixe
// ea.Init("USDJPY", PERIOD_H2) ; // pour un symbole et une période de temps fixes.

Print("OnInit termine SymbolsTotal : ",SymbolsTotal(true),"/",SymbolsTotal(false)) ;

retour(0) ;
}

 

Quelqu'un peut-il me dire comment faire ?

J'essaie d'accélérer l'optimisation, je n'ai pas besoin (par exemple) de résultats avec un drawdown supérieur à 30%.

Ce que je fais, c'est ça :

input double Max_DD_EQ = 30;


double max_eq,max_dd,dd_percent;
bool dd_valid=true;

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(!dd_valid) return; 
   if(MQL5InfoInteger(MQL5_OPTIMIZATION) || MQL5InfoInteger(MQL5_TESTING))
     {
      max_eq=MathMax(max_eq,AccountInfoDouble(ACCOUNT_EQUITY));
      max_dd=MathMax(max_eq-AccountInfoDouble(ACCOUNT_EQUITY),max_dd);
      dd_percent=max_dd/(max_eq*0.01);
      if(dd_percent>Max_DD_EQ) { ClosAllPos(); dd_valid=false; return; }
     }
// дальше идет блок открытия (закрытия) поз

Je veux que l'exécution se termine après avoir dépassé le drawdown autorisé.

Mais le testeur, après avoir atteint le tirage maximal, compte comme avant. Je ne veux pas de courses vides (inutiles).

D'autres options ? Ou aux développeurs ?

Ou plus court : Comment mettre fin de manière forcée à l'exécution ? (Dans MT4, une telle chose existait).

 
ExpertRemove();
?
 
Vigor:
?

Merci beaucoup ! Ça a marché !

Je l'ai vérifié. C'est allé beaucoup plus vite maintenant.

 
alexvd:

Avez-vous essayé d'exécuter un seul passage avec ces résultats sur l'agent local ?

Non utilisé:

Je lance une seule passe sur le noyau local - tout va bien (j'ai essayé plusieurs fois, avec différents paramètres). Je suppose que l'agent réseau a peut-être manqué d'espace disque ou que la mémoire n'est pas suffisante (multicast) ou autre chose.

alexvd:

Pouvez-vous décrire les paramètres de démarrage, la liste des agents, les paramètres d'optimisation dans votre demande au Service Desk + joindre un Expert Advisor (au moins ex5) ? Et les journaux seraient très utiles.

Envoyé (#232346). Désolé, pas de logs - ils sont écrasés par le terminal. Mais je pense que vous n'aurez aucun problème à le reproduire.
Les cendres:

La question ne me concerne pas, mais oui, j'ai essayé. Sur l'agent local, le test passe sans erreur. On suppose que le problème est lié au timer (EST = EventSetTimer(3600)), car dans mon cas, l'erreur d'exécution critique est survenue au début du test (temps de test - 0 seconde).

En effet, la minuterie s'applique. Seulement dans mon cas, vous pouvez voir que les agents du réseau travaillent pendant environ 5 minutes sur les calculs, puis donnent un résultat vide.
 
notused:

comment la combattre ?


Parfois, j'obtiens des réponses comme celle-ci de la part du réseau en packs (Critical Runtime Error). Exécution de la passe sur le noyau local - tout va bien (j'ai essayé plusieurs fois, avec différents paramètres). Je suppose que l'agent de réseau a probablement manqué d'espace disque ou de mémoire (multicast) ou autre chose. Mais il est dommage qu'un passage généralement profitable soit exclu de la réflexion. Bien que, d'autre part, je pense que le problème n'est pas soluble en principe (comment puis-je savoir que le problème est avec l'agent et non avec l'ekspert ?) . Ou peut-être un paramètre "Ne pas utiliser les agents qui ont renvoyé une erreur d'exécution critique dans les dernières 24 heures sur votre compte" ?

Pas critique pour moi (suffisamment de cœurs distants), mais généralement un inconvénient.

Nous sommes en train de traiter ce problème.
 

Une telle question. J'ai un Core i7 à 8 cœurs, et une fois que j'ai fini de préparer le championnat, je n'en ai plus vraiment besoin. Sauf si je veux jouer à un jeu ou autre pendant six mois. Afin de ne pas rester inactif, il serait possible de transférer une partie de l'énergie vers un nuage, mais je me demande si l'ordinateur se refroidira de la même manière que si je l'optimisais localement. Bien sûr, un ordinateur peut survivre à 5 jours d'optimisation continue avec une surchauffe constante, mais je devais quand même garder un œil sur lui, le refroidir, etc.

...La composante monétaire ne m'intéresse pas. Si le revenu du nuage sera d'un centime, vous pouvez le faire gratuitement - NiVapros.

Raison: