Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 990

 
Alexandr Sokolov:

***

Ici, j'ai juste alerté, et en multipliant par EMPTY_VALUE, on obtient inf.

***

О ! Très bon exemple ! Besoin d'économiser ...

   double a=EMPTY_VALUE;
   Print("- - -");
   Print("EMPTY_VALUE / 2 = ",a/2.0);
   Print("EMPTY_VALUE * 2 = ",a*2.0);
   Print("EMPTY_VALUE - 2 = ",a-2.0);
   Print("EMPTY_VALUE + 2 = ",a+2.0);
   Print("EMPTY_VALUE = ",a);

et le résultat :

2019.11.02 07:50:48.131 INF (ATD.B.XTSE,H1)     - - -
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE / 2 = 8.988465674311579 e+307
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE * 2 = inf
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE - 2 = 1.797693134862316 e+308
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE + 2 = 1.797693134862316 e+308
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE = 1.797693134862316 e+308
 

https://www.mql5.com/ru/docs/constants/namedconstants/otherconstants

EMPTY_VALUE  Пустое значение в индикаторном буфере DBL_MAX


inf est un débordement
 
werter:

Hilarant.

Il s'agit de BuySellVolume. Le volume total n'est pas égal à la somme des achats et des ventes, mais seulement légèrement supérieur.

Vous décrivez le problème en détail, supprimez les choses inutiles du code...

Je ne veux pas creuser dans un code aussi merdique, même s'il est petit...

 
Vladimir Pastushak:

Vous décrivez le problème en détail, supprimez les choses inutiles du code...

Je n'ai pas envie de fouiller dans un code aussi merdique, même s'il est petit...

Je n'en ai plus besoin, merci, j'ai trouvé l'erreur.
 
LuckyTrader:

Tableau hors de portée

L'erreur s'est produite après l'ajout d'un strict

Le compilateur vous indique la ligne et la position du curseur où l'erreur se produira, si vous n'apprenez pas à utiliser ME, il est inutile de continuer à le faire.

 
LuckyTrader:
Je vous ai montré la ligne :

cela signifie que la variable i dans la boucle

for(int i=0; i<62; i++)

est devenu plus grand que le tableau numberFibo[]

recherchez l'endroit où vous décrivez le tableau ou modifiez la taille de ce tableau

vous pouvez préfixer la boucle avec

Print("Размер массива numberFibo = " , ArraySize(numberFibo));
 

Comment rendre ce message lisible ?

Alert("Тестовое \r\nсообщение №1");
Alert("Тестовое \r\nсообщение №2");


Le fait est que le dernier message dans la fenêtre d'alerte près de la grande cloche peut être lu dans son intégralité, mais les précédents uniquement dans le journal expert (mais il faut alors concentrer son attention pour les trier les uns des autres).


Que peut-on faire pour le rendre plus pratique pour un utilisateur régulier ? Imaginez ce qui se passera si, par exemple, j'indique un symbole, une période, le sens de la transaction, le prix d'ouverture, le stop et le profit ?

 
LuckyTrader:

Tableau hors de portée

L'erreur s'est produite après l'ajout d'un strict

Ce site

   for(int i=0; i<62; i++)
     {
      numberFibo            [i]=0;
      numberPesavento       [i]=0;
      numberGartley         [i]=0;
      numberGilmorQuality   [i]=0;
      numberGilmorGeometric [i]=0;
      numberGilmorHarmonic  [i]=0;
      numberGilmorArithmetic[i]=0;
      numberGilmorGoldenMean[i]=0;
      numberSquare          [i]=0;
      numberCube            [i]=0;
      numberRectangle       [i]=0;
      numberExt             [i]=0;
     }

peut être remplacé par

ZeroMemory(numberFibo);
ZeroMemory(numberPesavento);
ZeroMemory(numberGartley);
ZeroMemory(numberGilmorQuality);
ZeroMemory(numberGilmorGeometric);
ZeroMemory(numberGilmorHarmonic);
ZeroMemory(numberGilmorArithmetic);
ZeroMemory(numberGilmorGoldenMean);
ZeroMemory(numberSquare);
ZeroMemory(numberCube);
ZeroMemory(numberRectangle);
ZeroMemory(numberExt);

Et ensuite, pour une raison quelconque, je ne vois pas le tableau se redimensionner. Avant le remplissage, quelle est la taille attribuée au tableau ?

 
Alexandr Sokolov:

Comment rendre ce message lisible ?


Le fait est que le dernier message dans la fenêtre d'alerte près de la grande cloche peut être lu dans son intégralité, mais les précédents uniquement dans le journal expert (mais il faut alors concentrer son attention pour les trier les uns des autres).


Que peut-on faire pour le rendre plus pratique pour un utilisateur régulier ? Imaginez ce qui se passera si, par exemple, j'indique un symbole, une période, le sens de la transaction, le prix d'ouverture, le stop et le profit ?

J'aimerais que les développeurs fassent en sorte, dans la prochaine mise à jour, d'afficher un message à côté de la grande cloche sur laquelle l'utilisateur a cliqué en dessous dans la fenêtre d'alerte

 
LuckyTrader:

Vous avez eu une erreur lorsque vous travailliez en boucle.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Toutes les questions des débutants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes.

LuckyTrader, 2019.11.04 09:08

Chaîne affichée (le compilateur ne montre rien, l'erreur apparaît dans l'indicateur lors du test, trouvée dans le journal) :

      numberFibo            [i]=0;

et vous montrez un exemple complètement différent. Il ne devrait pas y avoir d'erreur dans ce gribouillage sur la page précédente.
Raison: