Características del lenguaje mql5, sutilezas y técnicas - página 241
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Te niegas a entender.
Tal vez lo haría si conociera el trasfondo de la situación. Pero tal como está, parece correcto.
Mientras las dos cantidades sean iguales, cualquiera de ellas es un mínimo válido. Considere MathMin(1, 1), no difiere si la función devuelve el primero (1) o el segundo (1).
Por lo tanto, devolver 0.0 no es diferente de -0.0.
Edición: por cierto, las dos expresiones resaltadas NO son idénticas.Creo que estoy de acuerdo con mi colega amrali. También añadiría que existe una función nativa MathMin(). También piensa que los ceros con distinto signo son iguales. Por lo que tengo entendido, su algoritmo es bastante sencillo. Lo he duplicado en mi función CustomMathMin().
Lo tenemos en el registro:
Es fácil ver que a partir de dos números iguales, el algoritmo tomará el segundo número como valor mínimo de...
Te niegas a entender.
no es nada especial. Sólo -0.0==0.0.
nada especial. Sólo -0.0==0.0
Conozco muy bien la pregunta, así que escribí ambas variantes de MathMin para demostrar que funciones matemáticamente idénticas en lenguajes de programación producen resultados diferentes.
Por eso escribí ambas versiones de MathMin para demostrar que funciones matemáticamente idénticas en lenguajes de programación producen resultados diferentes.
Entonces, ¿qué es lo inusual?
El hecho de que en los números 0.0 y -0.0 no todos los 64 bits son iguales es obvio:
pero aún así 0.0 == -0.0
Los signos < y <= parecen ser diferentes.....
de acuerdo
Entonces, ¿qué es lo inusual?
El hecho de que en los números 0,0 y -0,0 no todos los 64 bits sean iguales es obvio:
Espera que MathMin() sea determinista. Es decir, que dé siempre el mismo resultado cuando los dos argumentos son iguales. Y no un resultado diferente dependiendo de qué argumento es el primero o el segundo.
fxsaber tiene razón, esto es un problema.
Espera que la función MathMin() sea determinista. Es decir, que dé siempre el mismo resultado cuando los dos argumentos sean iguales. Y no un resultado diferente dependiendo de qué argumento es el primero o el segundo....
Y así es. Cuando 2 números son iguales, se devuelve el segundo. Lo he mostrado arriba con un ejemplo...
y no hay nada malo en ello.
Espera que la función MathMin() sea determinista. Es decir, que dé siempre el mismo resultado cuando los dos argumentos sean iguales. Y no un resultado diferente dependiendo de qué argumento es el primero o el segundo.
fxsaber tiene razón, esto es un problema.
Me ha entendido bien. Puedes encontrarte con el problema de obtener resultados diferentes en código grande. Por eso avisé a la comunidad en este hilo.