Il y a une idée de commerce intéressante. Aidez-moi à trouver des erreurs dans le code (mql4). - page 7

 
Sergey Gritsay:
Cette variante convient si vous avez un EA à devise unique, si vous faites un EA multi-devises, alors vous devez créer des indicateurs pour toutes les paires dans l'Iniq.
Je vois - j'ai manqué ce point, cela signifie-t-il pour toutes les devises qui sont ouvertes dans le terminal ?
 
La version MT5 a besoin de plus de travail, la version que j'ai postée est assez glitchy.
 
Сергей Криушин:
Je vois - j'ai manqué ce point, cela signifie-t-il pour toutes les devises qui sont ouvertes dans le terminal ?

oui

 

Bonjour à tous, J'ai réécrit mon EA pour MT5 en utilisant des classes standards. Jusqu'à présent, le vol est OK, testons-le et signalons toute erreur. Pour tester l'EA en mode visualisation dans le testeur, je dois prescrire les symboles nécessaires, la fonction ressemble à ceci

bool symbol_tester(string symbol)
  {
   if(!MQLInfoInteger(MQL_VISUAL_MODE))return(true);
//if(!MQLInfoInteger(MQL_TESTER))return(true);
//if(!MQLInfoInteger(MQL_OPTIMIZATION))return(true);

   if(symbol=="EURUSD")return(true);
   if(symbol=="AUDUSD")return(true);
   if(symbol=="GBPUSD")return(true);
   if(symbol=="USDCAD")return(true);
   if(symbol=="USDCHF")return(true);
   if(symbol=="USDJPY")return(true);
   if(symbol=="NZDUSD")return(true);
   if(symbol=="GBPCAD")return(true);

   return(false);
  }
Dossiers :
 

Quelque chose ne va pas avec les classes d'indicateurs ou elles sont vraiment lourdes, le testeur perd de la vitesse devant mes yeux. En général, j'ai retravaillé le traitement des indicateurs sans classes standard. Ajout d'une sélection de signaux.

signal_01 - si le cci(13) est inférieur à -100 pour un achat, supérieur à 100 pour une vente.

signal_02 - si le cci(13) croise -100 de la hausse à la baisse pour acheter, si le cci(13) croise 100 de la baisse à la hausse pour vendre

signal_03 - si le cci(13) croise -100 par le bas pour vendre, si le cci(13) croise 100 par le haut pour vendre

signal_04 - si le cci(13) croise 100 de bas en haut, si le cci(13) croise -100 de haut en bas pour la vente

signal_05 - si le cci(13) croise au-dessus de 100 pour un achat, en dessous de -100 pour une vente.

Suppression de certains problèmes dans le panneau, correction de la recherche de tendance au redémarrage de l'EA.

Dossiers :
 
ajout d'une sélection de signaux dans la version mt4
Dossiers :
 

Correction de l'erreur des arrêts erronés. J'ai également remarqué que dans le testeur MT5, le conseiller expert fonctionne plus rapidement dans la fonction OnTick() que dans OnTimer(). Je recommande donc de les remplacer dans le code lors de l'exécution sur le testeur.

Dossiers :
 
Sergey Gritsay:

Correction de l'erreur des arrêts erronés. J'ai également remarqué que dans le testeur MT5, le conseiller expert fonctionne plus rapidement dans la fonction OnTick() que dans OnTimer(). Je recommande donc de les remplacer dans le code lors de l'exécution sur le testeur.

Dans le Strategy Tester, il ne fonctionne pas du tout... On ne sait pas comment il fait des lots sans s'arrêter dans MT5 et place des positions sur des paires qui ne sont pas présentes dans le terminal : USDSEK ; USD ZAR ; USDMXM, mais elles sont dans Market Watch... c'est peut-être pour ça que le testeur ralentit...

 
le tableau devient 2 colonnes en plein écran - une colonne
 

Bogues corrigés. Instruments testés réalisés dans les paramètres d'entrée, écrits avec une virgule. Vérifié sur les futures sur la démo fonctionne également.

Dossiers :