Curso Forex MetaTrader4: Depuración del código MQL. ¿Cómo eliminar el 100% de errores?
En el artículo descubrirás:

¿Qué tipos de errores hay?

¿Cómo detectarlos?

En la última parte de nuestro curso hemos hablado sobre las funciones integradas init(), start() y deinit(). Hoy, nos centramos en el tema de la depuración del código, que ya ha sido señalado en uno de los artículos anteriores.

 

Depuración del código

Desafortunadamente, uno de los problemas más graves en el momento de escribir estrategias automáticas en MQL 4 es la falta de debugger, es decir, del depurador. Es un programa que permite seguir sobre la marcha los cambios en el programa durante su ejecución. La falta de esta herramienta es especialmente visible durante el análisis de programas compuestos, donde los errores son muy difíciles de localizar. A continuación, se presenta una de las maneras de detectar errores en el código.

Antes que nada, hay que intentar limitar, por supuesto,  el número de errores – sobre todo a través de la creación de fragmentos del código transparentes, que es mejor probar sobre la marcha.

 Gráfico 1

Para empezar, hay que reconocer que gran parte de ellos son, por ejemplo, errores de sintaxis fáciles de encontrar. En esta situación, basta con mirar la ventana "Errores", leer y analizar la información. Sin embargo, hay que tener en cuenta que los errores más graves son los llamados errores lógicos: cuando el programa como tal funciona sin fallos, pero las señales de compra/venta que nos llegan desde el sistema no coinciden con la realidad. En este caso, vale la pena verificar si el sistema creado "realmente tiene posibilidad de funcionar". En otras palabras, si en el diagrama se puede encontrar el momento cuando el sistema debería dar la señal y, si es así, cuál fue la causa de la falta de tal señal.

Resulta que la función Alert() desempeña aquí un papel muy importante. Es una de las funciones integradas, que permite introducir cualquier texto en la pantalla (una alternativa puede ser la función MessageBox()). La causa de la falta de señal puede ser una interpretación incorrecta de la señal que llega desde un par de divisas dado. En este punto vale la pena tener a mano una descripción detallada de la función que genera la señal, junto con los datos que debe facilitar. Transmitiendo el valor facilitado a la función Alert(), se puede verificar cuál fue el resultado del funcionamiento de un fragmento del código (comprobando, al mismo tiempo,  el resultado con el valor esperado al final).

 Gráfico 2

El análisis de todas las funciones permite indicar el fragmento del programa que genera señales erróneas. El estudio de los fragmentos dentro de la función permitirá identificar líneas del código concretas que son las causas del error. Por supuesto, en ciertas situaciones ya en la etapa del análisis inicial puede resultar que la función que genera la señal es construida erróneamente. El proceso de depuración descrito más arriba puede parecer molesto, pero con un poco de práctica permite eliminar prácticamente el 100% de errores en el programa. Para terminar, es preciso recordar una cuestión bastante importante: las correcciones del código con el método mencionado son posibles sólo cuando el mercado de divisas no esté cerrado.

 

Para leer la parte siguiente del curso, pulse aquí.


Agata Zep

Editor del portal FXMAG

Ir a los artículos del autor
Artículos que deberían interesarte..