Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Bonjour !
Quelle est la manière correcte d'utiliser "double" dans la boucle "for" ? Il ne semble pas y avoir d'interdiction d'utiliser "double" dans l'aide.
Quoi qu'il en soit, ma conclusion est que "double" n'est pas recommandé dans la boucle"for" en raison du manque de normalisation de ExpressionZ après chaque itération. Cela peut entraîner au moins deux problèmes :
1) un nombre d'itérations erroné ;
2) des résultats erronés si vous utilisez ExpressionZ pour calculer dans une instruction.
Merci, je comprends pourquoi cela arrive, c'est pourquoi j'ai essayé de normaliser. Ça n'a pas marché pour moi. L'option d'Alexey Viktorov n'a pas résolu le problème non plus, les valeurs restent non normalisées. La question demeure donc : peut-on utiliser "double" dans une boucle et obtenir toujours le nombre correct d'itérations ?
Multipliez par 10 au bon degré jusqu'à obtenir des nombres entiers. Au début, je me débattais aussi, mais maintenant, je peux même convertir les prix en nombres entiers et travailler avec des nombres entiers ou arrondir à des nombres entiers. J'ai moins d'erreurs, une meilleure lisibilité.
En général, comme l'a dit un programmeur après avoir reçu les résumés de la Bourse, je ne comprends pas pourquoi les nombres d'une certaine capacité numérique sont représentés par des nombres réels, plutôt que par des nombres entiers. Ce n'est pas logiquement correct. ))))
Multipliez par 10 au bon degré jusqu'à obtenir des nombres entiers. Au début, j'ai eu du mal moi aussi, mais maintenant je peux même convertir le prix en un nombre entier et travailler avec des nombres entiers ou arrondir à des nombres entiers. J'ai moins d'erreurs, une meilleure lisibilité.
En général, comme l'a dit un programmeur après avoir reçu les résumés de la Bourse, je ne comprends pas pourquoi les nombres d'une certaine capacité numérique sont représentés par des nombres réels, plutôt que par des nombres entiers. Ce n'est pas logiquement correct. ))))
Merci, je vais utiliser int à l'ancienne et ensuite diviser par double. ;)
Merci, mais votre exemple n'a pas donné le bon résultat non plus. Dans printf, vous pouvez voir qu'aucune normalisation n'a lieu :
Désolé, j'aurais dû vérifier. Et là, nous avons "Je voulais faire les choses bien, mais il s'est avéré que c'était la même chose que d'habitude".
Résultat
Code correct
Code correct
Attention à ne pas mettre step=0.04 ;)
Attention à ne pas mettre step=0.04 ;)
Ce ne sont que des conseils pour ceux qui ne savent pas utiliser leur cerveau.))))
Désolé, j'aurais dû vérifier. C'est juste, "Je voulais bien faire, mais c'est toujours la même chose."
Résultat
Code correct.
i=NormalizeDouble(i+step, 1)
Ah, merci ! Je n'y ai pas pensé moi-même. C'est justement le genre de chose qui nous aide, nous les débutants en programmation ! ;)
Je cherche desméthodes pour trier un tableau de structures. Quelqu'un a-t-il des variantes qui fonctionnent ?
https://www.mql5.com/ru/forum/170952/page134#comment_11532251
https://www.mql5.com/ru/forum/170952/page134#comment_11532251
Ça ne marche pas...