Questions des débutants MQL5 MT5 MetaTrader 5 - page 820

 

Étudiez les mathématiques. Confusion entre deux pins...

Il y a ça :

int OnCalculate (const int rates_total,      // размер массива price[] 
                 const int prev_calculated,  // обработано баров на предыдущем вызове 
                 const int begin,            // откуда начинаются значимые данные 
                 const double& price[]       // массив для расчета 

Questions sur le début:

1. Qu'est-ce que c'est ? Sa valeur = 0. S'agit-il d'un index ?

2. Qu'est-ce que c'est essentiellement ? Qu'est-ce que des données significatives ? Quels autres types de données existe-t-il ?

3. sur quelle base cette valeur est-elle calculée ? Et quelles sont les variations possibles en principe ? Par exemple, des données significatives peuvent-elles ne pas commencer à l'indice 0 mais à l'indice 5 ?

4. Pourquoi ce paramètre est-il inséré dans OnCalculate?

Si je n'ai pas vu l'endroit où cela est écrit dans l'aide, veuillez me le signaler.

 

Quelqu'un peut-il me conseiller sur la façon de se débarrasser de ces valeurs à plusieurs chiffres dans la fenêtre de débogage (les variables sont normalisées) ?


 
Андрей:

Quelqu'un peut-il me conseiller sur la façon de se débarrasser de ces valeurs à plusieurs chiffres dans la fenêtre de débogage (les variables sont normalisées) ?


Ajoutez une variable detype chaîne, définissez-la à DoubleToString() et observez-la dans la fenêtre de débogage.

Vous pourriez mettre tout cela dans une macro #ifdef _DEBUG

 
Alexey Viktorov:

Ajoutez une variable detype chaîne, définissez-la à DoubleToString() et observez-la dans la fenêtre de débogage.

Vous pourriez mettre tout cela dans une macro #ifdef _DEBUG

Merci, mais la question se pose - ces valeurs à plusieurs chiffres, correspondent-elles à la réalité ou alors, à un "jeu de lumière".

L'important n'est pas d'avoir une belle apparence, mais de savoir quelles valeurs sont utilisées pour les calculs ultérieurs.

 
Андрей:

Merci, mais une question se pose : ces valeurs multiples sont-elles vraies, ou s'agit-il simplement d'un "jeu de lumière" ?

Il ne s'agit pas d'enjoliver les choses, mais de déterminer les valeurs utilisées pour les calculs ultérieurs.

Ces valeurs à plusieurs chiffres correspondent à la réalité. Et ils gâchent parfois l'image, notamment dans les expressions de comparaison.
Pour être sûr, il est recommandé d'utiliser NormalizeDouble() avec une précision donnée.
 
Et personne n'a même pris la peine de dire quoi que ce soit sur la béguine. Ça doit être quelque chose de complètement étranger...
 
User_mt5:
Ce sont ceux qui ont plusieurs significations. Et ils gâchent parfois l'image, notamment dans les expressions de comparaison.
Pour être sûr, il est recommandé d'utiliser NormalizeDouble() avec la précision voulue.
Ces "rampants" émergent donc de valeurs normalisées. Il semble qu'il manque quelque chose dans cette soupe (MT5).
 
Андрей:
Ce sont donc ces "bougres" qui sortent des valeurs normalisées. Il semble qu'il manque quelque chose dans cette soupe (MT5).

Jusqu'à présent, je croyais naïvement que la normalisation était la vérité en dernier ressort.
Pourriez-vous me montrer un fragment de code où le problème se produit. La cause est peut-être autre.

 
User_mt5:

Jusqu'à présent, je croyais naïvement que la normalisation était la vérité en dernier ressort.
Pourriez-vous me montrer un fragment de code où le problème se produit. La cause est peut-être autre.

Voici cependant un extrait qui suffit pour voir l'"effet".

Voici le résultat :

C'est la même chose avec ou sans normalisation.

 

Андрей:

C'est la même chose avec ou sans normalisation.

Ouais.

En fait, dans les expressions de comparaison (comme "à la volée"), la normalisation fonctionne.
D'après ce que j'ai compris, les problèmes surviennent lors d'un simple calcul.
Mais si un nombre est normalisé, le nombre normalisé doit également être stocké.

Mais hélas.

Je me demande ce que les développeurs ont à dire à ce sujet.

Raison: