Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 199
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
F11
Hola, pueden darme algún consejo. estoy escribiendo mi propio EA. probablemente lo estoy haciendo todo el tiempo, lo estoy probando y viendo lo que funciona y lo que no. el problema es este. terminé de escribir el código, lo probé, todo funciona como debería, entonces algún tiempo después, empiezo a probarlo de nuevo, empieza a tener fallos (no se abre la posición o no realiza algunas funciones), ¿por qué es esto?
¿Ha enviado alguna información de depuración al diario? ¿No? No deberías. Ya habrías visto la razón.
¿Sale alguna información de depuración en el registro? ¿No? No deberías haberlo hecho. Ya deberías haber visto la causa por ti mismo.
Todavía no sé cómo mostrar esta información, ¿dónde puedo encontrar cómo hacerlo?
Todavía no sé cómo imprimir esta información, ¿dónde puedo ver cómo hacerlo?
Imprimir()
Imprimir()
Conozco esta función, ¿qué debo escribir ahí?)
Conozco esta función, ¿qué debo escribir ahí?)
El problema es que he terminado de escribir el código y lo he probado, todo funciona y luego empieza a dar fallos (después de un tiempo, empiezo a probarlo de nuevo y entonces falla). Ya he copiado el código, lo he probado y funciona como debería. Un tiempo después, vuelvo a probarlo y empieza a funcionar incorrectamente (no se abre la posición o no se ejecuta la función), ¿a qué se debe?
Bueno, obviamente, para entender la razón por la que algo no funciona hay que comprobar las condiciones de ese "algo" antes de ejecutarlo.
En el depurador puedes moverte escrupulosamente por las líneas de código controlando los valores de todas las variables con la esperanza de que en algún momento aparezca la razón de la no ejecución.
O puede, antes de llamar a una función que, en su opinión, no se ejecuta en algún momento oscuro cuando debería hacerlo, anotar los valores de todas las variables que provocan la llamada de la función. Y esperar tranquilamente a que estas entradas aparezcan en el diario. Usando estos registros podemos entender por qué la función no ha sido llamada. De la misma manera cuando se abren las posiciones - primero asegúrese de que el terminal escribe allí los errores, y si no hay errores, a continuación, busque los errores lógicos en el programa. Cómo: véase más arriba.
Obviamente, para entender la razón por la que no se ejecuta algo, hay que comprobar las condiciones de ejecución de ese "algo" antes de ejecutar ese "algo".
Puedes recorrer escrupulosamente las líneas de código en el depurador, comprobando los valores de todas las variables con la esperanza de que en algún momento aparezca una razón de no ejecución.
Y antes de llamar a una función, que en algún momento oscuro en su opinión no se ejecuta cuando se supone que es, puede escribir en el registro todas las variables que causan la función que se llama. Y esperar tranquilamente a que estas entradas aparezcan en el diario. Usando estos registros podemos entender por qué la función no ha sido llamada. De la misma manera cuando se abren las posiciones - primero asegúrese de que el terminal escribe allí los errores, y si no hay errores, a continuación, busque los errores lógicos en el programa. Cómo: véase más arriba.
Gracias por la idea)))