Arrondir les nombres dans MT4 via NormalizeDouble - page 8 123456789101112131415...17 Nouveau commentaire Vladimir Suslov 2016.02.25 19:13 #71 Dmitry Fedoseev: Bien et mal.Soustraire, normaliser à deux chiffres, puis à un.Essayez-le donc :) Dmitry Fedoseev 2016.02.25 19:14 #72 Event: Alors essayez-le :) Qu'y a-t-il à essayer ? C'est assez clair. Le résultat de la soustraction n'est pas normalisé, il y aura donc parfois des surprises si vous ne normalisez pas à deux chiffres. [Supprimé] 2016.02.25 19:16 #73 Event: Lequel vous faut-il ?vous avez besoin de connaîtrela longueur de la corde? - Êtes-vous sûr d'avoir les bonnes branches ?Un code ?Si c'est plus de 2 lignes comme le mien, alors votre code est plus compliqué. Vladimir Suslov 2016.02.25 19:22 #74 Vasyl Nosal: Un code ?Si c'est plus de 2 lignes comme le mien, alors votre code est plus compliqué.Vous ne lisez pas attentivement vos messages.Je vous ai donné le code - il y a une ligne. [Supprimé] 2016.02.25 20:05 #75 Event: Vous ne lisez pas attentivement les messages.Je t'ai donné le code - il y a une ligne dedans. C'est cool. Je vais écrire 1.15 normalise dans mon code comme ça : ))))))))))))))))))))))))))))))))))))))))))))))))))). Lilita Bogachkova 2016.02.25 20:12 #76 Vasyl Nosal: +++Toutefois, si un nombre est supérieur à 15 décimales, il doit être tronqué d'une manière ou d'une autre, sinon il ne fonctionnera pas correctement.//+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { ushort Characters_delete=15; for(int i=0;i<=Characters_delete;i++) { double v1=1.123456789012345; v1=DoubleCrop(v1,i,Characters_delete); Print("v1 = ",i," = ",DoubleToString(v1,Characters_delete-i)); } Print("---"); } //+------------------------------------------------------------------+ //| Double Crop function | //+------------------------------------------------------------------+ double DoubleCrop(double value,int ii,ushort Characters) { string data="",resoult=""; data=DoubleToString(value,Characters); resoult=StringSubstr(data,0,StringLen(data)-ii); return StringToDouble(resoult); } //+------------------------------------------------------------------+ Dmitry Fedoseev 2016.02.25 20:32 #77 Event: Alors essayez-le :) Avec zéro et avec des nombres négatifs, c'est faux. Avec des positifs, étonnamment, sans aucune surprise, correct. Dmitry Fedoseev 2016.02.25 20:33 #78 Vasyl Nosal:extern ushort Characters_delete = 1; /////////////////////////////////////////// string data=DoubleToString(Bid,Digits); string resoult=StringSubstr(data,0,StringLen(data)-Characters_delete); Heh. C'est le mauvais sens. Résultats totalement faux. Vladimir Suslov 2016.02.25 20:43 #79 Dmitry Fedoseev: C'est faux avec le zéro et les nombres négatifs. Avec des positifs, étonnamment, sans surprises, c'est correct.Les valeurs négatives doivent être ajoutées (si Normalize augmente le modulo lors de l'arrondi).Et probablement ne rien faire avec zéro.Si elle est appliquée à une citation - sa probabilité de devenir <= 0 est faible... :) FOMC 21.09.2016 Pourquoi le classement a-t-il Quelqu'un a-t-il fait de Алексей Тарабанов 2016.02.25 20:46 #80 Huit pages sur les arrondis. Je crois que c'est ce qui était enseigné en quatrième année. 123456789101112131415...17 Nouveau commentaire
Bien et mal.
Soustraire, normaliser à deux chiffres, puis à un.
Essayez-le donc :)
Alors essayez-le :)
Lequel vous faut-il ?
vous avez besoin de connaîtrela longueur de la corde? - Êtes-vous sûr d'avoir les bonnes branches ?
Un code ?
Si c'est plus de 2 lignes comme le mien, alors votre code est plus compliqué.
Un code ?
Si c'est plus de 2 lignes comme le mien, alors votre code est plus compliqué.
Vous ne lisez pas attentivement vos messages.
Je vous ai donné le code - il y a une ligne.
Vous ne lisez pas attentivement les messages.
Je t'ai donné le code - il y a une ligne dedans.
+++
Toutefois, si un nombre est supérieur à 15 décimales, il doit être tronqué d'une manière ou d'une autre, sinon il ne fonctionnera pas correctement.
Alors essayez-le :)
Vasyl Nosal:
C'est faux avec le zéro et les nombres négatifs. Avec des positifs, étonnamment, sans surprises, c'est correct.
Les valeurs négatives doivent être ajoutées (si Normalize augmente le modulo lors de l'arrondi).
Et probablement ne rien faire avec zéro.
Si elle est appliquée à une citation - sa probabilité de devenir <= 0 est faible... :)