Cómo depurar un sistema en VBA

A petición de algunos usuarios, en el presente artículo vamos a explicar cómo se puede depurar el código de un sistema (o indicador o estudio) paso a paso a través del editor de Visual Basic de Visual Chart.

La depuración de un sistema nos va a servir para detectar posibles problemas en el diseño de nuestra estrategia que se nos escapen a simple vista. Lo más interesante del proceso de depuración es poder observar los valores que van recogiendo las distintas funciones y variables de la estrategia en cada barra, dato sumamente importante para confirmar que el diseño sigue las pautas correctas.

El proceso para depurar sería el siguiente:

1) Abrir el código VBA del programa (sistema, indicador o estudio).

2) Pinchar sobre la línea sobre la que se quiera empezar a depurar. Lo ideal es depurar dentro del método OnCalculateBar().

3) Pulsar la tecla F9. La línea quedará seleccionada. Otra opción es pinchar con el botón derecho sobre dicha línea y seleccionar en el menú emergente Toggle+BreakPoint:




4) Seguidamente, acceder al menú y pinchar sobre el icono Run Project:


5) Ahora, abrir un gráfico en Visual Chart e insertar el sistema (indicador o estudio). Si ya había un sistema insertado previamente no le va a afectar al proceso. Por eso hay que insertar un sistema tras pulsar Run Project.

6) Al hacerlo, saltará el código en la línea seleccionada:


7) Para poder ir avanzando, el proceso es el mismo que en Visual Basic de Excel (o similares): F8 para ir paso a paso y F5 para saltar hasta el siguiente punto de interrupción. Esto no cambia. Otra opción es pinchar el comando concreto para realizar el paso a paso:


8) Cuando queramos detener la depuración, volvemos a pulsar el botón Run Project y finalizamos el proceso.

El sistema insertado durante el proceso de depuración se debe eliminar del gráfico, pues tras detener la depuración se desactiva y deja de actuar.

Comentarios

Entradas populares de este blog

Como consultar el GAP % de un conjunto de valores

MANEJO DE PLANTILLAS. Eliminar plantilla de un gráfico activa

Estudio de las divergencias en el RSI