![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
Y no es una puesta a cero incondicional, sino sólo si last_error_fifo == 0. En resumen, es lo mismo que los huevos en el perfil. comprobar lo que la función devuelve antes de comprobar los errores.
Desarrolle el tema.
Exactamente para usted, vea :
Opciones de terminación de OrderSend();
1. No hay error. Sigue llamando a GetLastError() - en principio está bien si el error anterior es leído, procesado y reiniciado.
En mi opinión, no es necesario.
2. Hay un error - al llamar a GetLastError (), según tengo entendido, se analiza un único error, aunque puede haber muchos.
En mi opinión, es más correcto:
El último es ErrReaction(err) - esto es el manejo de errores.
Por ejemplo, así :
La función de procesamiento divide los errores en "reparables" e "irrecuperables" -el "reparable" intenta eliminarlo, el código del irrecuperable lo devuelve- para su procesamiento en un procedimiento externo (de llamada).
Bueno de todos modos mis cucarachas son más geniales porque no hay necesidad de comprobar lo que devolvió cada función por lo que el código se ve mejor... Además, puedes organizar tus propios códigos de error.
Además, puedes organizar tus propios códigos de error.
de alguna manera tenemos lo suficiente para hacer la nuestra también.
Depende de su lógica. Al fin y al cabo, se puede hacer el tratamiento de todos los errores, y se pueden hacer sólo los que son importantes en esta situación.
Es deseable, por supuesto, tener una función para procesar todos los errores más significativos, y entonces la lógica inherente al Asesor Experto "ajustará" las prioridades.
Por otra parte, pido disculpas al iniciador del tema si mi pregunta se aleja de la dirección principal del tema.
De alguna manera tenemos suficiente para hacer la nuestra también.
¿Quiénes son los inventores de MQL5 que se esfuerzan por crear SetUserError... se reservaron hasta 65535 códigos de error para ellos, y todo lo que esté por encima de eso está bien, puedes organizar el tuyo propio :)
Sólo para usted, vea :
2. Hay un error - al llamar a GetLastError () por lo que entiendo se analiza un solo error, aunque puede haber muchos.
IMHO - variante más correcta:
El último es ErrReaction(err) - esto es el manejo de errores.
vit46:
Ознакомьтесь с этим материалом. imho, не повредит.
https://www.mql5.com/ru/forum/131373
Es deseable, por supuesto, tener una función para procesar todos los errores más significativos, y entonces la lógica inherente al Asesor Experto "corregirá" las prioridades.
Por ejemplo, creo que es suficiente con intentar abrir una orden 5 veces y luego dejar de intentarlo, mientras que usted puede pensar que necesita abrir una orden 20 veces o "para ganar".
Yo, por ejemplo, creo que es suficiente con intentar abrir una orden 5 veces y luego dejar de intentarlo, pero tú puedes pensar que tienes que intentarlo 20 veces o abrir "hasta que ganes".
No, no estoy contando nada. No tengo una opinión firme e inequívoca, por lo que le pido que me recomiende la función de corrección de errores más decente.