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
Le flottement est la castration des chiffres et n'offre aucun avantage. Mieux vaut faire face à toutes les pertes de conversions et utiliser la plus grande précision possible - le double.
Merci. Je vais essayer de trouver où était mon erreur. En attendant, le flotteur fonctionne. Je n'ai pas l'habitude d'abandonner. Mais cette erreur m'a fait perdre la tête.
Personnellement, je n'utilise jamais dans les calculs et les comparaisons de nombres la méthode consistant à comparer la différence avec une valeur minimale acceptée, je travaille toujours avec la plus grande précision possible jusqu'au 16ème signe, et ce n'est que dans la dernière opération que je fais la normalisation. Si vous manipulez le double correctement, il n'y a aucun problème, ce que je vous conseille de faire, sinon vous rencontrerez des problèmes de distorsion des résultats associés à une perte de précision dans l'une des étapes des calculs / conversions.
C'est vous qui voyez, mais notez que TOUTES les fonctions mathématiques standard fonctionnent avec des nombres doubles et donnent des résultats doubles. L'application de ces fonctions à des nombres flottants est toujours une conversion interne en double, donc dans tous les cas, vous perdrez en précision et en validité des résultats obtenus.
Personnellement, je n'utilise jamais dans les calculs et les comparaisons de nombres la méthode consistant à comparer la différence avec une valeur minimale acceptée, je travaille toujours avec la plus grande précision possible jusqu'au 16ème signe, et ce n'est que dans la dernière opération que je fais la normalisation. Si vous travaillez avec le double correctement aucun problème, ce que je vous conseille de faire, sinon vous rencontrerez des problèmes de distorsion des résultats associés à une perte de précision dans une des étapes des calculs / conversions.
le prix de l'évaluation en 2017 est indiscutablement correct
le prix de l'évaluation en 2017 est indiscutablement correct
c'est comme ça que ça devrait être
double AUTOPRICE=MathFloor( NormalizeDouble(Averab,2) )*_Point;
ça devrait être comme ça.
double AUTOPRICE=MathFloor( NormalizeDouble(Averab,2) )*_Point;
Vous avez changé votre code plusieurs fois.
J'ai fait la même chose. J'ai expérimenté, j'ai compris ce que sont double et int, mais quand j'ai calculé explicitement, ce n'était pas ce dont j'avais besoin.
La première ligne est celle que vous avez suggérée.
2017.02.26 18:24:59.133 2017.01.02 00:03:00 Exp - DOUBLE TEST MATHFLOOR EURUSD,M30: DOUBLE askP2=105146 bidP2=105141 Averab2=105143.5000000000 AUTOPRICE=1.0514300000
2017.02.26 18:24:59.133 2017.01.02 00:03:00 Exp - DOUBLE TEST MATHFLOOR EURUSD,M30: FLOAT askP=105146 bidP=105141 Averab=105143.5000000000 AUTOPRICE=1.0514299870
donc c'est bien105143.5000000000 arrondi à la baisse 43 est...
(46-41)/2 = 2,5, arrondi au chiffre inférieur = 2
donc c'est bien105143.5000000000 arrondi à la baisse 43 est...
(46-41)/2 = 2,5, arrondi au chiffre inférieur = 2
c'est vrai,
mais avec des écarts différents (2,3,4,5,6,7), l'arrondi vers le bas est différent et parfois pas tout à fait exact.