Precios, lotes, dinero - precisión fija. Los indicadores son flotantes.
Esta diferencia es en esencia, aunque el doble se utiliza para representar a ambos. En realidad, determina lo que se llama "estilo de programación". De nuevo, el criterio de "corrección" de cada uno es diferente. A mi entender, por ejemplo, NormalizeDouble() es una función ridículamente ineficiente y, en consecuencia, absolutamente innecesaria.
Precios, lotes, dinero - precisión fija. Los indicadores son flotantes.
Esta diferencia es en esencia, aunque el doble se utiliza para representar a ambos. En realidad, determina lo que se llama "estilo de programación". De nuevo, el criterio de "corrección" de cada uno es diferente. A mi entender, por ejemplo, NormalizeDouble() es una función ridículamente ineficiente y, en consecuencia, absolutamente innecesaria.
Hace poco, en algún hilo (no recuerdo exactamente), una persona se quejaba del extraño funcionamiento del Asesor Experto. ¡Y resultó que incluso el precio tomado del servidor para su orden todavía necesita ser normalizado! Después de eso, simplemente acepté NormalizeDouble() como un procedimiento obligatorio. La verdad es que todavía no entiendo bien cómo funciona el código a veces, por eso me interesa saber cómo se debe hacer. ¿Y qué enfoque sugieres en lugar de NormalizeDouble()?
komposter: ¿Alguna sugerencia (a nivel de usuario, no de desarrollador de MT)?
Por ejemplo, el precio. Ofertas, ahí, preguntas, paradas:
intComparePrice(doublea, doubleb){a -= b;
b = Point / 2.;
if(a > b)return(1);
if(a < -b)return(-1);
return(0);
}
A menudo es mejor hacer todos los cálculos de lotes y niveles en números enteros. Muchas veces más rápido y sin errores de muestreo en principio.
Estoy de acuerdo, en Omega todo estaba en INT. ¿Sugiere convertir todo en MT a INT primero, y luego calcular? P.D. Y su ComparePrice es una solución muy interesante, ni siquiera lo entendí de inmediato.
Precios, lotes, dinero - precisión fija. Los indicadores son flotantes.
Esta diferencia es en esencia, aunque el doble se utiliza para representar a ambos. En realidad, determina lo que se llama "estilo de programación". De nuevo, el criterio de "corrección" de cada uno es diferente. A mi entender, por ejemplo, NormalizeDouble() es una función ridículamente ineficiente y, en consecuencia, absolutamente innecesaria.
Primero, escriba varios Asesores Expertos en su propia orden y sienta el vendaval de sus clientes que el stop loss de repente resultó ser 1 punto erróneo... Y luego explícales lo absurdo de la función NormalizeDouble(), me pregunto cómo te funcionará=)
VBAG: ¡¡¡Y resulta que incluso el precio tomado del servidor de su pedido todavía necesita ser normalizado!!!
No es probable (c). Las tripas de la MT son casi imposibles de normalizar. Hubo y hay un montón de conversaciones sobre el rendimiento incomprensible de la EA cuando se prueba en los datos históricos incomprensibles.
Primero, escriba algunos Asesores Expertos en su propia orden, sienta la tormenta de los clientes porque el stop-loss de repente resultó ser 1 pip equivocado... Y luego explícales lo absurdo de la función NormalizeDouble(), me pregunto cómo te funcionará=)
Déjame contarte un secreto. He escrito muchos más Asesores Expertos personalizados de los necesarios para empezar. Nunca he sentido la necesidad de comprarlos porque nunca he dado ninguna razón para hacerlo. En mis programas, se garantiza que el stoploss está (y no "parece") donde debe estar. Por lo tanto, no tengo que explicar nada de eso al cliente, especialmente sobre alguna función muy específica. Me parece que el objetivo de escribir un EA es librarse de esas preguntas y explicaciones para el cliente.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Precios, lotes, dinero - precisión fija.
Los indicadores son flotantes.
Esta diferencia es en esencia, aunque el doble se utiliza para representar a ambos. En realidad, determina lo que se llama "estilo de programación".
De nuevo, el criterio de "corrección" de cada uno es diferente. A mi entender, por ejemplo, NormalizeDouble() es una función ridículamente ineficiente y, en consecuencia, absolutamente innecesaria.
¿no sería mejor sustituirlo por
¿O está mal?
El problema de la comparación de números con doble precisión es exagerado y proviene de la ignorancia básica de las matemáticas.
O bien da instrucciones claras sobre cómo resolver este "problema", o una de las dos =)
Pero habrá problemas de rendimiento.
¿Alguna sugerencia (a nivel de usuario, no a nivel de desarrollador de MT)?
A menudo es mejor hacer todos los cálculos de lotes y niveles en números enteros. Muchas veces más rápido y sin errores de muestreo en principio.
Una vez más.
Precios, lotes, dinero - precisión fija.
Los indicadores son flotantes.
Esta diferencia es en esencia, aunque el doble se utiliza para representar a ambos. En realidad, determina lo que se llama "estilo de programación".
De nuevo, el criterio de "corrección" de cada uno es diferente. A mi entender, por ejemplo, NormalizeDouble() es una función ridículamente ineficiente y, en consecuencia, absolutamente innecesaria.
Después de eso, simplemente acepté NormalizeDouble() como un procedimiento obligatorio. La verdad es que todavía no entiendo bien cómo funciona el código a veces, por eso me interesa saber cómo se debe hacer.
¿Y qué enfoque sugieres en lugar de NormalizeDouble()?
¿Alguna sugerencia (a nivel de usuario, no de desarrollador de MT)?
A menudo es mejor hacer todos los cálculos de lotes y niveles en números enteros. Muchas veces más rápido y sin errores de muestreo en principio.
P.D. Y su ComparePrice es una solución muy interesante, ni siquiera lo entendí de inmediato.
Una vez más.
Precios, lotes, dinero - precisión fija.
Los indicadores son flotantes.
Esta diferencia es en esencia, aunque el doble se utiliza para representar a ambos. En realidad, determina lo que se llama "estilo de programación".
De nuevo, el criterio de "corrección" de cada uno es diferente. A mi entender, por ejemplo, NormalizeDouble() es una función ridículamente ineficiente y, en consecuencia, absolutamente innecesaria.
Primero, escriba varios Asesores Expertos en su propia orden y sienta el vendaval de sus clientes que el stop loss de repente resultó ser 1 punto erróneo... Y luego explícales lo absurdo de la función NormalizeDouble(), me pregunto cómo te funcionará=)
¡¡¡Y resulta que incluso el precio tomado del servidor de su pedido todavía necesita ser normalizado!!!
Hubo y hay un montón de conversaciones sobre el rendimiento incomprensible de la EA cuando se prueba en los datos históricos incomprensibles.
Por ejemplo, el precio. Ofertas, ahí, preguntas, paradas:
Si te dedicas a comparar precios, no necesitas una función tan sobrecargada como la mía.
Y en forma simplificada funciona tan rápido como ComparePrice:
Primero, escriba algunos Asesores Expertos en su propia orden, sienta la tormenta de los clientes porque el stop-loss de repente resultó ser 1 pip equivocado... Y luego explícales lo absurdo de la función NormalizeDouble(), me pregunto cómo te funcionará=)
Déjame contarte un secreto.
He escrito muchos más Asesores Expertos personalizados de los necesarios para empezar. Nunca he sentido la necesidad de comprarlos porque nunca he dado ninguna razón para hacerlo. En mis programas, se garantiza que el stoploss está (y no "parece") donde debe estar. Por lo tanto, no tengo que explicar nada de eso al cliente, especialmente sobre alguna función muy específica. Me parece que el objetivo de escribir un EA es librarse de esas preguntas y explicaciones para el cliente.