![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Bien sûr, vous avez raison. Mais je vais le répéter. Pour 99,9% des tâches, il est absolument correct de remplacer les fonctions d'arrondi par une variante alternative plus rapide utilisant la conversion des types de fraction en (int) ou (long). Un programmeur expérimenté doit simplement être conscient de ce fait et l'appliquer quand c'est opportun.
Dans 99% des cas, il n'est pas nécessaire de se préoccuper des arrondis. Pour les comparaisons de prix, j'ai cette absurdité :
Vous pouvez remarquer que dans la plupart des cas, il n'arrivera pas du tout à round(), bien que je n'aie pas mesuré la vitesse.
voir ci-dessus
lorsque x = 3 (n'importe quel nombre entier), il y a une confiture :))
Respectueusement.
Y a-t-il un bug dans la mienne ou dans votre formule ?
Respectueusement.
Dans mon ancien :
et dans le vôtre :
quand x=3, dans les deux cas, la valeur de 4 sera fausse.
et la variante :
est jusqu'à présent le plus correct tout en maintenant une vitesse d'exécution maximale.
Dans mon ancien :
et dans le vôtre :
à x=3 dans les deux cas il y aura une valeur incorrecte de 4
et en cas de variante :
est jusqu'à présent la plus correcte tout en maintenant une vitesse d'exécution maximale.
mais pourquoi avez-vous besoin de cette formule lorsque vous donnez un nombre entier à son entrée ?
P.S. vous devez comprendre, si vous voulez être un bon programmeur, qu'il n'est pas nécessaire de pousser partout et pas toujours toutes sortes de fonctions accélératrices, cela dépend de la tâche à accomplir et de l'algorithme avec lequel vous travaillez.avec respect.
Mais pourquoi avez-vous besoin de cette formule lorsque vous donnez un nombre entier à son entrée ?
Sincèrement.
Vous ne savez peut-être pas s'il s'agit d'un entier ou d'un non-entier. Dans certains cas, un nombre double peut devenir un nombre entier.
P.S. Vous devez comprendre, si vous voulez être un bon programmeur, que vous n'avez pas besoin partout et pas toujours de pousser toutes sortes de fonctions accélératrices, cela dépend de la tâche à accomplir et de l'algorithme avec lequel vous travaillez.
Vous ne savez peut-être pas s'il s'agit d'un entier ou d'un non-entier. Il y a des moments où un nombre peut devenir un nombre entier.
Respectueusement.
P.S. Le double par définition ne peut pas être un nombre entier, la représentation d'un nombre dans la mémoire de la machine ne changera pas.Ensuite, vous devez faire tout un plat de vos choix de chiffres sur l'entrée.
respectueusement.
c'est pour ça, pour qu'on n'ait pas à en faire tout un plat :
C'est plus facile à écrire :
ou ceci.
donc tu n'as pas besoin d'en faire tout un plat :
c'est plus facile à écrire :
1-0.9999999999999998
vous n'y arriverez pas.
Avec cette approche, vous pouvez trouver un nombre à partir duquel votre formule ne fonctionnera pas.
Respectueusement.
à l'adresse
Ça ne va pas marcher.
Avec cette approche, vous trouverez un nombre à partir duquel votre formule ne fonctionnera pas.
Respectueusement.
J'en ai déjà parlé ici.
Je vous suggère de relire ce fil pour ne pas vous répéter.