Curso Forex MetaTrader4: ¿Qué es un bucle en MQL?

Después de haber explicado el tema de los operadores utilizados en la programación en el lenguaje MQL, nos toca ver más de cerca la cuestión de los bucles. El conocimiento de este término seguramente resultará útil a la hora de utilizar MetaEditor, que forma parte de la plataforma Forex MetaTrader4.
Además de la instrucción condicional IF, es preciso conocer también el tema de los bucles. Son instrucciones que permiten ejecutar una instrucción singular, o todo un bloque de instrucciones, un número de veces determinado. Un esquema simple de un bucle en bloque se encuentra a continuación:
Los bucles son utilizados usualmente para revisar un conjunto de valores dado, por ejemplo una tabla.
Otra manera común de utilizar los bucles es una ejecución múltiple de una instrucción repetitiva. El bucle FOR presentado más arriba se compone de una parte que controla el bucle y de un bloque de instrucciones. En la parte de control es requerido determinar la condición inicial del bucle, o sea, el valor a partir del cual se empieza a contar (por ejemplo, de 0 a 100, o de 10 a a). El segundo elemento es el valor final del bucle. Finalmente, la última parte es el valor con la cual el bucle cambia cada vez que ejecute el bloque de instrucciones.
Muy interesante es aquí el último elemento del bucle FOR, en este caso es el decremento. La operación de decremento en cada recorrido del bucle consiste en restar el valor de 1 de la variable que controla el bucle. Existe también un homólogo para añadir 1 al valor de la variable: es el incremento
El segundo tipo de bucles accesible en MQL es el bucle WHILE. Es utilizado normalmente cuando el número exacto de repeticiones del bucle no es conocido y el código en bloque es ejecutado hasta el cumplimiento de una condición determinada. Por ejemplo:
Algunos de los elementos adicionales útiles para el control del bucle son las instrucciones break y continue. En el primer caso, se trata de terminar la ejecución del bucle en el momento de la aparición de una condición determinada. Por ejemplo, el bucle contiene un valor dividido entre números siguientes, pero en el caso de dividir entre 0 el valor es omitido.
Una instrucción similar al continue es break. La diferencia principal consiste, sin embargo, en el hecho de que break termina inmediatamente la ejecución del bucle que la contiene.
En el código presentado más arriba las iteraciones del bucle son ejecutadas hasta el momento del cumplimiento de la condición, o sea, hasta encontrar un valor del bucle que se pueda dividir entre 17 – en este caso, los recorridos posteriores del bucle son parados y el resto del código es ejecutado.
Para leer la parte siguiente del curso, pulse aquí.