Erreurs, bugs, questions - page 322

 
Renat:
Ainsi, la version 404 du testeur se bloque même lorsqu'on teste le conseiller expert en moyenne mobile standard ?
La confusion se produit à la fois avec la moyenne mobile et le MACD...
 
52_rus:

Test : MACD Sample pour un an sur TF H1. Immédiatement après le premier test, le second test : MACD Sample pendant un an sur le TF Н4 ; dans le rapport nous avons les résultats du premier test sur TF H1

Si nous attendons 5 minutes après le premier test et que nous exécutons le test suivant sur un autre TF, nous obtenons un nouveau rapport correct, différent du rapport du premier test.

Construire 404

Un lien vers un problème similaire : https://www.mql5.com/ru/forum/3139

Merci pour le message. Reproduit, nous allons le corriger.
 

Bonjour à tous et à toutes. Écrit un peu de code pour l'Expert Advisor :

   double Open1[1],Open2[1];
   int data1=CopyOpen(Symbol1,0,1,1,Open1);
   int data2=CopyOpen(Symbol1,0,5,1,Open2);
   double ss=MathAbs(Open1[0]-Open2[0]);

Calcule la différence entre 1 et 5 barres. Imprimé dans le journal

et j'ai obtenu ceci

ss est une différence modulo, avant cette ligne il y a des numéros ouverts 1 et 5 barres,

comme vous pouvez le voir la différence n'est pas claire comment elle est calculée et elle est la même pour tous les i-th

bars, devises et TF. Elle apparaît dans 1 cas sur 10. Peut-être que c'est un service ou que je me trompe sur quelque chose ?

... je me suis trompé ?

 
alexluek:

Bonjour à tous et à toutes. Écrit un peu de code pour l'Expert Advisor :

Calcule la différence entre 1 et 5 barres. Sortie vers le journal via Print

Que pensez-vous de ça ?

Print(DoubleToString(ss,SymbolInfoInteger(Symbol1,SYMBOL_DIGITS)));
 
alexvd:

Que pensez-vous de ça ?

OK, je vérifierai dans 3-4 heures quand le testeur sera terminé,

mais il n'est pas clair pourquoi cela est fait (conversion de nombre)dans Print

s'il le calcule de cette façon et c'est ainsi que le conseiller expert fonctionne.

Vous pouvez peut-être le deviner si vous faites la même chose dans le code ?

Il sera alors possible d'essayer votre construction dans le code

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Общие функции / Print - Документация по MQL5
 

La même...

 
alexluek:

La même...

Normaliser la différence

double ss=MathAbs(NormalizeDouble(Open1[0]-Open2[0], SymbolInfoInteger(Symbol1,SYMBOL_DIGITS)));

https://www.mql5.com/ru/articles/1561

https://www.mql5.com/ru/docs/convert/normalizedouble

https://www.mql5.com/ru/docs/basis/types/double

ou mieux encore

double ss=NormalizeDouble(MathAbs(Open1[0]-Open2[0]), SymbolInfoInteger(Symbol1,SYMBOL_DIGITS));
Особенности работы с числами типа double в MQL4 - Статьи по MQL4
  • www.mql5.com
Особенности работы с числами типа double в MQL4 - Статьи по MQL4: примеры использования экспертов, тестирования и оптимизации
 

J'essaierai dans une heure ou deux et répondrai...

 
alexluek:

Je vais essayer dans une heure ou deux...

Pour commencer, lisez les chiffres réels dans l'aide.
 

hmmm... C'est de retour.

possible loss of data due to type conversion

Il manque probablement quelque chose à NormalizeDouble

comme pour la gestion des tableaux (par exemple, il ne faut pas confondre ...[1]-identifier et [0] - utiliser)