[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 248
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
ERR_INVALID_TRADE_VOLUME 131 Volumen incorrecto - conozca esta forma y establezca el volumen "correcto" según su tipo de cuenta, por ejemplo en las cuentas micro el volumen suele ser de 0,01 lote, en las cuentas 'clásicas' de 0,1 lote... Introduzca un valor constante de 0,1 lotes en su función de apertura de órdenes y compruebe si el volumen...
¿Has hecho la prueba entre semana? ¿El diferencial es flotante?
¿Por qué aparece esta alerta? Me costó mucho esfuerzo descubrir que al comparar un dígito con una parte fraccionaria, necesito normalizarlo con NormalizeDouble(). Pero hoy he decidido probarlo por diversión y ¡la alerta aparece! ¿Qué tipo de fallos? ¿O no hay fallos?
El EA opera con un determinado % del ekvit, es decir, sólo puedo introducir un porcentaje, por ejemplo 10, 5, no hay opción de introducir un lote de 0,1 o 0,01. Este problema sólo ha ocurrido con un corredor de 4 dígitos.
¿Por qué aparece esta alerta? Anteriormente, me esforcé mucho en averiguar que al comparar un dígito con una parte fraccionaria, necesitaba normalizarlo utilizando la función NormalizeDouble(). Pero hoy he decidido probarlo por diversión y ¡la alerta aparece! ¿Qué tipo de fallos? ¿O no hay fallos?
1). El compilador puede simplemente ignorar esta condición (sentencia if).
2). Sin embargo, si el compilador no ignora esta condición, escribirá cada número en la memoria y asignará 8 bits para cada número. Compara los números, no como hacemos nosotros con los ojos, sino poco a poco. Los números en la memoria son los mismos y la condición se mantendrá.
Estoy muy sorprendido por su pregunta, porque no puedo entender cómo estos dos números (dos registros) no se perciben como iguales?
No has respondido a mi pregunta sobre la extensión.
A raíz de tu comentario, lo he probado en un terminal de 4 dígitos con una extensión fija, todo está bien. Pero apareció otro problema, el error número 131, que no se produjo en el terminal de 5 dígitos.
Por favor, aconséjeme cómo hacer esto correctamente. Mi función de cálculo de MM es compleja y en una parte de ella, al calcular el lote, la función devuelve 0,18 como lote máximo posible y se puede abrir 0,1, 0,2 o 0,3, es decir, el paso es 0,1.
Si normalizo el lote se redondea hacia abajo a 0,2 y ya no se permite el pedido, aunque el lote máximo permitido es 0,18. ¿Cuál es la forma correcta de redondearlo hacia abajo o de normalizarlo correctamente?
""""...
Я очень удивлён был Вашему вопросу, так как не могу понять как можно два эти числа (две записи) воспринять не равными??""""