Asistente MQL y borrador del programa

Aquí vamos a considerar el programa MQL más simple que en realidad no hace nada. Con ello se pretende introducir el proceso de escritura de un código fuente en el editor, compilarlo y lanzarlo en el terminal. Siguiendo de forma independiente los pasos que se indican a continuación, se asegurará de que la programación esté al alcance de los usuarios ocasionales y empezará a adaptarse al entorno de desarrollo integrado de los programas MQL5. Siempre será necesario para consolidar el material abordado.

Los programas MQL5 más sencillos son los scripts. Por lo tanto, lo que vamos a intentar crear es un script. Para ello, vamos a iniciar el Asistente de MQL5 (Archivo -> Nuevo). Como primer paso, seleccionamos Script en la lista de tipos y pulsamos Siguiente:

Creación de un script mediante el Asistente MQL. Paso 1

Creación de un script mediante el Asistente MQL. Paso 1

En el segundo paso, introduciremos el nombre del script en el campo Nombre, habiéndolo añadido tras la carpeta por defecto mencionada anteriormente y una barra invertida: «Scripts\». Por ejemplo, vamos a ponerle al script el nombre «Hello» (es decir, el campo Nombre contendrá la línea «Scripts\Hello») y, sin cambiar nada más, pulsamos Finalizar.

Creación de un script mediante el Asistente MQL. Paso 2

Creación de un script mediante el Asistente MQL. Paso 2

Como resultado, el Asistente creará un archivo llamado Hello.mq5 y lo abrirá para su edición. El archivo se encuentra en la carpeta MQL5/Scripts (ubicación estándar para scripts) porque hemos utilizado la carpeta por defecto; sin embargo, podríamos añadir cualquier subcarpeta, o incluso una jerarquía de subcarpetas. Por ejemplo, si escribimos «Scripts\Exercise\Hello» en el campo Nombre en el paso 1 del Asistente, la subcarpeta Exercise se creará automáticamente en la carpeta Scripts y el archivo Hello.mq5 se ubicará en esa subcarpeta.

Todos los ejemplos de este libro se encontrarán en las carpetas MQL5Book dentro de los catálogos asignados para los programas MQL de los tipos relevantes. Esto es necesario para facilitar la instalación de los ejemplos en su copia de trabajo del terminal y descartar cualquier conflicto de nombres con otros programas MQL que ya tenga instalados.
 
Por ejemplo, el archivo Hello.mq5 entregado como parte de este libro se encuentra en MQL5\Scripts\MQL5Book\p1\, donde p1 significa Parte 1 a la que este ejemplo se refiere.

La plantilla resultante del script Hello.mq5 contiene el siguiente texto:

//+------------------------------------------------------------------+
//|                                                        Hello.mq5 |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
 
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
}
 
//+------------------------------------------------------------------+

Es este script el que se muestra en las capturas de pantalla anteriores de MetaEditor y MetaTrader 5.

Todas las cadenas que empiezan por «//» son los comentarios y no afectan a la intención del programa: no son procesados por el compilador ni ejecutados por el terminal. Sólo se utilizan para intercambiar información explicativa entre desarrolladores o para resaltar visualmente las partes del código con el fin de mejorar la legibilidad del texto. Por ejemplo, en esta plantilla, el archivo comienza con un bloque que contiene un comentario en el que se espera que se especifique el nombre del script y el copyright del autor. El segundo bloque de comentarios es el encabezamiento de la función principal del script, a la que nos referiremos con más detalle seguidamente. Por último, la última cadena de comentarios enfatiza visualmente el final del archivo.

Tres cadenas que comienzan con una directiva especial, #property, proporcionan al compilador algunos atributos que incorpora al programa de forma especial. En nuestro caso, por ahora no son importantes e incluso pueden suprimirse. Los directorios específicos están disponibles para cada tipo de programa MQL; los conoceremos en cuanto procedamos al aprendizaje de los tipos de programas concretos.

La parte principal del script, en la que vamos a describir la esencia de las acciones del programa, está representada por la función OnStart. Aquí tenemos que aprender los conceptos de 'bloque de código' y 'función'.