
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
Les mathématiques. En 6e année. Manuel. Nikolsky S.M., Potapov M.K. Moscou : 2012. - 256 с
Arrondissement.
Quel sujet passionnant que celui-ci. MT4 semble fonctionner correctement avec les arrondis.
Je voulais queNormalizeDouble(0.055,2) n'arrondisse pas le nombre"0.055" à "0.06", mais le réduise à "0.05".
J'ai du mal à comprendre ces fonctions MKL. Je ne comprends pas vraiment pourquoi les prix "1,0015223567" devraient être arrondis à l'aide de la fonction NormalizeDouble, si tout ce que vous voulez est de prendre le nombre DIRECT au chiffre de droite.
Autrement dit, NormalizeDouble(1.001526789, 5) donnerait "1.00152". Iln'est pas nécessaire de l'arrondirà "1,00153". Il doit y avoir la fonction RoundDouble pour cela =)
Est-ce possible ? Ou est-il nécessaire de l'arrondir tout le temps et d'obtenir des chiffres erronés ?
Vous feriez mieux de vous décider. C'est un arrondi :
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Arrondir les nombres dans MT4 via NormalizeDouble
Roman Starinskij, 2016.01.21 10:03
Bonjour. Pouvez-vous me dire quel est le problème ?
Pourquoi la fonction NormalizeDouble(0.055,2) arrondit le nombre "0.055" à "0.06" ?
Il ne s'agit pas d'une fonction d'arrondi de fraction.
Ce n'est pas le cas :
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Arrondir les nombres dans MT4 via NormalizeDouble
Roman Starinskij, 2016.01.25 14:30
Quel sujet passionnant que celui-ci. MT4 semble fonctionner correctement avec les arrondis.
Je voulais direNormalizeDouble(0.055,2) non pas pour arrondir le nombre"0.055" à "0.06", mais pour le réduire à "0.05".
J'ai du mal à comprendre ces fonctions MKL. Je ne comprends pas vraiment pourquoi "1.0015223567" devrait être arrondi avec la fonction NormalizeDouble, si tout ce que vous voulez est d'amener le nombre BORROWN au bon endroit.
Autrement dit, NormalizeDouble(1.001526789, 5) donnerait "1.00152". Iln'est pas nécessaire de l'arrondirà "1,00153". Il doit y avoir la fonction RoundDouble pour cela =)
Est-ce possible ? Ou est-il nécessaire de l'arrondir tout le temps et d'obtenir des chiffres que vous ne voulez pas ?
Et pour le bien de l'expérimentation :
Quel sujet passionnant que celui-ci. MT4 semble fonctionner correctement avec les arrondis.
Je voulais queNormalizeDouble(0.055,2) n'arrondisse pas le nombre"0.055" à "0.06", mais le réduise à "0.05".
J'ai du mal à comprendre ces fonctions MKL. Je ne comprends pas vraiment pourquoi les prix "1,0015223567" devraient être arrondis à l'aide de la fonction NormalizeDouble, si tout ce que vous voulez est de prendre le nombre DIRECT au chiffre de droite.
Autrement dit, NormalizeDouble(1.001526789, 5) donnerait "1.00152". Iln'est pas nécessaire de l'arrondirà "1,00153". Il doit y avoir la fonction RoundDouble pour cela =)
Est-ce possible ? Ou devez-vous l'arrondir tout le temps et obtenir des chiffres que vous ne voulez pas ?
Si vous devez couper, coupez ; si vous devez arrondir, arrondissez. La fonction NormalkizeDouble() fait le tour et c'est ce dont vous avez besoin le plus souvent.
Pourquoi pensez-vous que RoundDouble() devrait être utilisé au lieu de NormalizeDouble() ? Avez-vous créé ce monde ? Est-il normal qu'une balle roule et qu'un carré ait quatre coins ?
Quel sujet passionnant que celui-ci.
Cela est dû au fait que l'auteur ne lit pas la documentation linguistique et n'écoute pas ce qu'on lui dit.
Le comportement suivant de division et d'arrondi des fractions est un peu flou.
Il y a 2 équations :
0.06-0.02 = 0.03999999999999999
0.06-0.024 = 0.036
En utilisant la fonction recommandée NormalizeDouble, nous obtenons ces résultats :
0.03999999999999999 = 0.04
0.036 = 0.04
Dans le premier exemple, nous devons vraiment obtenir la valeur 0,04, mais dans le second, nous avons besoin de 0,03 (c'est ainsi que fonctionne une calculatrice normale).
NormalizeDouble devrait être utilisé car les fractions renvoyées ne sont pas complètes, mais dans le second cas, la fonction renvoie des valeurs incorrectes, et vous ne pouvez pas non plus ne pas l'utiliser pour le premier exemple.
Le comportement suivant de division et d'arrondi des fractions est un peu flou.
Il y a deux équations :
0.06-0.02 = 0.03999999999999999
0.06-0.024 = 0.036
En utilisant la fonction recommandée NormalizeDouble, nous obtenons ces résultats :
0.03999999999999999 = 0.04
0.036 = 0.04
Dans le premier exemple, nous devons vraiment obtenir la valeur 0,04, mais dans le second, nous avons besoin de 0,03 (c'est ainsi que fonctionne une calculatrice normale).
NormalizeDouble devrait être utilisé car les fractions renvoyées ne sont pas complètes, mais dans le second cas, la fonction renvoie des valeurs incorrectes, et vous ne pouvez pas non plus ne pas l'utiliser pour le premier exemple.
Votre calculatrice normale ne calcule pas correctement, elle devrait :
Tout cela parce que le démarreur ne lit pas la documentation linguistique et n'écoute pas ce qu'on lui dit.
si le chiffre N+1 < 5, alors le Nième chiffre est conservé et N+1 et tous les chiffres suivants sont mis à zéro ;
si le chiffre N+1 est ≥ 5, le Nième chiffre est incrémenté de un et N+1 et tous les chiffres suivants sont mis à zéro ;
Désolé, mais je ne comprends toujours pas pourquoi l'arrondi par '2' ne permet pas immédiatement = 0.06000000
v1 = 0,06000000, v2 = 0,06000000
v1 = 0,06000000, v2 = 0,05000000
---
Je suis désolé, mais je ne comprends toujours pas pourquoi l'arrondi par '2' ne permet pas d'obtenir = 0.06000000
Je suis désolé, mais je ne comprends toujours pas pourquoi l'arrondi par '2' rend impossible l'obtention de = 0,06000000.
Lorsqu'un seul chiffre est normalisé, c'est simple : 0, 1, 2, 3, 4 -> 0, et 5, 6, 7, 8, 9 -> 1.
Lors de la normalisation, les nombres à deux chiffres sont pris en compte : 0 - 49 -> 0, et 50 - 99 -> 1. Après tout, si le nombre 1,49 doit être arrondi aux nombres entiers, devons-nous vraiment obtenir 2, qui représente 51 centièmes par rapport aux 49 centièmes de distance à 1 disponibles ?
Idem pour les chiffres à trois, quatre, etc.