Manual de referencia de MQL5 
Documentación para el lenguaje del trading automático

Manual de referencia MQL5

MetaQuotes Language 5 (MQL5) es un lenguaje de programación de indicadores técnicos, robots comerciales y aplicaciones auxiliares para automatizar el comercio en los mercados financieros. MQL5 es un lenguaje moderno de alto nivel, desarrollado por MetaQuotes Software Corp. para su propia plataforma comercial e informativa. La sintaxis es muy semejante a С++ y permite escribir programas en el estilo de la programación orientada a objetos (POO).

Para escribir programas en MQL5, dentro de la plataforma comercial se ofrece el entorno de desarrollo MetaEditor con todas las herramientas modernas necesarias para escribir código, incluyendo plantillas, snipetts, depuración, perfilado, autocompletar y el repositorio de versiones incorporado MQL5 Storage.

El soporte y el desarrollo del lenguaje tiene lugar en el sitio web MQL5.community, donde podrá encontrar una amplia bibilioteca de códigos gratuitos y multitud de artículos. Estos artículos abarcan todos los temas del trading moderno: redes neuronales, estadística y análisis, trading de alta frecuencia, arbitraje, simulación y optimización de estrategias comerciales, uso de robots para automatizar el comercio y mucho más.

Los tráders y desarrolladores de programas MQL5 pueden comunicarse en el foro, realizar encargos en Freelance y comprar y vender programas protegidos en el Mercado, la tienda de aplicaciones para trading ya preparadas.

El lenguaje MQL5 contiene funciones comerciales especializadas y procesadores de eventos predeterminados para escribir asesores expertos (Expert Advisors).  Los asesores gestionan automáticamente los procesos comerciales basándose en las reglas comerciales implementadas en ellos. Asimismo, en MQL5 es posible crear indicadores técnicos propios (Custom Indicators), scrips y bibliotecas de funciones (Libraries).

El manual de referencia de MQL5 contiene funciones, operaciones, palabras reservadas y otras construcciones del lenguaje, todo dividido en categorías. Asimismo, permite conocer la descripción de cada elemento usado e incluido en el lenguaje. Además, en el manual de referencia, se muestra la descripción de las clases de la Biblioteca estándar, para crear estrategias comerciales, paneles de control, gráficos personalizados y trabajos con archivos.

Aparte del manual de referencia de CodeBase, se ha publicado la biblioteca de análisis numérico ALGLIB, que permite resolver multitud de tareas matemáticas.
 

Tipos de aplicaciones en MQL5

Para ejecutar tareas concretas de automatización de operaciones comerciales, los programas MQL5 se dividen en cuatro tipos especializados:

  • Asesor: sistema comercial automático, vinculado a un gráfico determinado. El asesor contiene funciones-manejadores de eventos predeterminados; cuando estos tienen lugar, se ejecutan los elementos correspondientes de la estrategia comercial. Ejemplos de estos eventos: inicialización y desinicialización del programa, llegada de un nuevo tick, activación del temporizador, cambio en la profundidad del mercado, eventos personalizados.
    El asesor no solo puede calcular señales comerciales según las reglas implementadas, sino también ejecutar transacciones automáticamente en la cuenta comercial, dirigiéndolas directamente al servidor comercial. El asesor se guarda en el directorio <catálogo_del_terminal>\MQL5\Experts.
  • Indicador personalizado: indicador técnico escrito por el usuario en adición a los indicadores ya integrados en la plataforma comercial. Los indicadores personalizados, al igual que los incorporados, no pueden comerciar automáticamente y están pensados solo para implementar funciones analíticas. Los indicadores personalizados pueden utilizar en sus cálculos los valores de otros indicadores, además, también se pueden llamar en asesores.
    Los indicadores personalizados se guardan en el directorio <catálogo_del_terminal>\MQL5\Indicators.
  • Script: programa diseñado para la ejecución única de algunas acciones. A diferencia de los expertos, los scripts no procesan ningún evento, aparte de los eventos de inicio, inicialización y desinicialización. Para que el script funcione, en su código deberá estar la función-manejador OnStart. Los scripts se guardan en el directorio <catálogo_del_terminal>\MQL5\Scripts.
  • Biblioteca: biblioteca de funciones personalizadas, diseñada para guardar y distribuir los bloques más utilizados de los programas personalizados. Las bibliotecas no pueden iniciarse para su ejecución de forma autónoma.
    Las bibliotecas se guardan en el directorio <catálogo_del_terminal>\MQL5\Libraries
  • Archivo de inclusión: código fuente de bloques (usados con frecuencia) de programas personalizados. Estos archivos pueden incluirse en los códigos fuente de los expertos, scripts, indicadores personalizados y bibliotecas en la etapa de compilación. Los archivos de inclusión utilizados son preferibles a las bibliotecas personalizadas, debido a la sobrecarga adicional que supone llamar a las funciones de las bibliotecas.
    Los archivos de inclusión pueden encontrarse en el mismo directorio que el archivo fuente, en este caso, se usa la directiva #include con comillas dobles. Otro lugar de guardado de los archivos de inclusión es el directorio <catálogo_del_terminal>\MQL5\Include, en este caso, se usa la directiva #include con paréntesis angulares.