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
Beaucoup de calculs au lieu d'une solution simple.
Je suis arrivé à cette solution qui transforme les doubles en ints dans le but de comparer les doubles . . .
J'ai moi aussi trouvé une solution créative qui a fonctionné pour moi (jusqu'à présent) pour comparer des prix :
J'élève le prix à un int qui représente le prix en points exprimés sous forme de nombre entier. Ainsi :
ne peut jamais être vrai.
CompareDoubles() de la stdlib.mq4 est-elle disqualifiée de cette discussion ? Elle fonctionne bien pour moi si elle est utilisée pour le prix.
Une division flottante, une addition flottante, une conversion en int, un appel de fonction (copie, saut, retour = 3,) * 2 tous les temps deux. (18) Et cela en supposant que la division et la conversion sont sur un pied d'égalité avec les autres opérations - ce n'est pas le cas.
vs
une soustraction, un test, 1/2 négation (en moyenne,) et comparaison. (3 1/2 si point/2 est fait dans init et ABS est remplacé par un IF)
Ne pas trop compliquer les choses
if (a > b)
if (a >= b)
if (a != b)
Une division flottante, une addition flottante, une conversion en int, un appel de fonction (copie, saut, retour = 3,) * 2 tous les temps deux. (18) Et cela en supposant que la division et la conversion sont au même niveau que les autres opérations - ce n'est pas le cas.
vs
une soustraction, un test, 1/2 négation (en moyenne,) et comparaison. (3 1/2 si point/2 est fait dans init et ABS est remplacé par un IF)
Ne pas trop compliquer les choses
2013.04.03 17:39:11 TestSpeed-CompareDbls USDJPY,M5 : ConvertToPoints 9000000 fois en 1887 ms.
2013.04.03 17:46:02 TestSpeed-CompareDbls USDJPY,M5 : Flat(price) 9000000 fois en 3604 ms.
"La méthode "MathAbs(a-b)" est environ 7 fois plus rapide que la méthode ConvertToPoints() et presque 14 fois plus rapide que ma méthode "Flat()
2013.04.04 14:27:38 TestSpeed-CompareDbls EURUSD,H4 : MathAbs(a - b) HalfAPoint 99999999 fois en 3403 ms.
2013.04.04 14:27:42 TestSpeed-CompareDbls EURUSD,H4 : (intRecord > intCheck) 99999999 fois en 2505 ms.
Mais la 3ième ne peut pas être pratiquée, et la 2ième (intRecord > intCheck) avait 1 assignation de plus dans le intCheck avant la comparaison.
J'ai testé (intRecord > price / point) et
2013.04.04 14:27:38 TestSpeed-CompareDbls EURUSD,H4 : MathAbs(a - b) HalfAPoint 99999999 fois en 3403 ms.
2013.04.04 14:27:42 TestSpeed-CompareDbls EURUSD,H4 : (intRecord > intCheck) 99999999 fois en 2505 ms.
Mais la 3ième ne peut pas être pratiquée, et la 2ième (intRecord > intCheck) avait 1 assignation de plus dans le intCheck avant la comparaison.