Guía de ayuda de MetaTrader 5Trading algorítmico, robots comercialesCómo crear un EA o indicador

Cómo crear un EA o indicador

Para poder crear los sistemas de trading, en la plataforma está integrado su propio lenguaje de programación MetaQuotes Language 5 (MQL5), entorno de desarrollo MetaEditor y las herramientas de prueba de las estrategias.

Cualquier información respecto al desarrollo de estrategias comerciales en el lenguaje MQL5 se puede encontrar en la página oficial MQL5.Community. En la misma página en el apartado Code Base se puede encontrar los ejemplos de las aplicaciones hechas.

Lenguaje de programación built-in de estrategias comerciales MQL5 #

La plataforma cuenta con el lenguaje de programación de estrategias comerciales MetaQuotes Language 5. Se trata de la quinta generación de lenguajes MQL. Permite escribir los Asesores Expertos que automatizan la gestión de los procesos de trading, así como realizar sus propias estrategias comerciales. Además, utilizando MQL5 se puede crear los indicadores personalizados, scripts y bibliotecas de funciones.

Particularidades del lenguaje MQL5:

  • La programación orientada a objetos;
  • La sintaxis de MQL5 parece a la sintaxis del lenguaje C++;
  • Contiene una gran cantidad de funciones necesarias para analizar las cotizaciones, administrar posiciones, llamar a los indicadores, etc.;
  • Se caracteriza con una gran productividad;
  • Un gran nivel de protección contra la decompilación: nuevos y complejos algoritmos de cifrado, verificación de la integridad de archivos y complejidad del mismo lenguaje;
  • Soporte de OpenCL, lo que permite utilizar las tarjetas de vídeo para la realización del cálculo en los programas MQL5;
  • Tiene el entorno de desarrollo integrado MetaEditor que incluye el depurador.

La descripción detallada de todas las construcciones del lenguaje y sus funciones se puede encontrar en el manual de referencia de MQL5. Además, toda la información necesaria sobre MQL5 se puede encontrar en la página de la comunidad de desarrolladores https://www.mql5.com.

Editor para el desarrollo de aplicaciones de trading MetaEditor #

MetaEditor es el entorno de desarrollo integrado en el lenguaje MQL5 que forma parte integrante de la plataforma. MetaEditor permite crear, editar, compilar y depurar los textos fuentes de los programas escritos en MQL5.

  • Asistente MQL5 para crear plantillas y robots comerciales
    En MetaEditor está incorporado el "Asistente MQL5" que permite crear rápido nuevos programas MQL5. Gracias al Asistente para MQL5 el trader puede crear los EAs sin poseer conocimientos especializados en el ámbito de programación. Lo único que hay que hacer es seleccionar las señales comerciales que va a utilizar el EA, los algoritmos de administración de dinero (Money Management) y de Trailing Stop. El código del EA se genera automáticamente a base de los parámetros seleccionados.
    Aparte de eso, el Asistente para MQL5 permite crear las plantillas de los programas MQL5, lo que a su vez facilita el trabajo del desarrollador.
  • Ayuda en el trabajo con el código fuente
    MetaEditor identifica diferentes construcciones del lenguaje: muestra los tooltips sobre cómo utilizar las funciones y colorea diferentes elementos del código del programa. De esta manera, el mismo editor facilita la navegación en el código de programas y acelera el proceso de su desarrollo.
  • Depuración para la búsqueda de errores
    MetaEditor permite realizar la depuración de programas lo que facilita muchísimo la búsqueda de los errores. Se puede ir ejecutando el código fuente paso a paso y observar los valores de las variables.
  • Perfilaje
    En el editor está disponible la opción del Perfilaje. Usted podrá detectar las funciones más lentas en el código fuente y optimizar al máximo el trabajo de los programas comerciales.
  • Artículos sobre programación y bibliotecas de códigos fuente
    Directamente en e editor hay una gran cantidad de artículos de formación sobre la programación en MQL5. Además, se puede acceder a una enorme biblioteca de programas gratuitos para el trading automático en forma de códigos fuente.
  • MQL5 Storage – repositorio en línea con el soporte de las versiones
    El repositorio ofrece grandes ventajas: almacenamiento seguro de los archivos y posibilidad de recuperarlos si su ordenador de ja de funcionar, acceso inmediato a sus códigos desde cualquier ordenador a través de la cuenta en MQL5.community, posibilidad de trabajar en equipo con los proyectos.

La descripción detallada del MetaEditor se puede encontrar en la ayuda incorporada para este programa. La descripción del lenguaje MQL5 se puede encontrar en el manual de referencia incorporado o en la página oficial MQL5.Community.

Artículos sobre el desarrollo de aplicaciones comerciales #

En el sitio web MQL5.community está a su disposición de la biblioteca de artículos sobre programación en MQL4/MQL5. Los artículos suponen un material de referencia excelente sobre la creación de programas, en ellos se analizan multitud de tareas prácticas de trading algorítmico. Cada semana se publican nuevos artículos.

Directamente en el MetaEditor se representa una lista completa de todos los artículos disponibles. Para encontrar material interesante, use la búsqueda online.

Artículos sobre programación en MQL4/MQL5

Qué tipos de aplicaciones hay en MQL5 #

Existen tres tipos principales de aplicaciones comerciales:

Asesores Expertos

Los Asesores Expertos son sistemas automáticos de trading que permiten automatizar totalmente la actividad analítico-comercial para operar con eficacia en los mercados financieros. Estos programas permiten realizar rápido el análisis técnico de los datos de precios, y basándose en las señales recibidas gestionar la actividad de trading. Además, ayudan a seguir estrictamente una estrategia comercial, evitando así la influencia del factor emocional.

Todos los EAs se guardan en la carpeta /MQL5/Experts de la plataforma.

Indicadores personalizados

Los indicadores personalizados son indicadores técnicos creados personalmente que sirven para analizar la dinámica de los precios. A base de los algoritmos de estos indicadores se diseñan las tácticas comerciales y se desarrollan los EAs. Los indicadores personalizados se utilizan exclusivamente para el análisis de la dinámica de los precios de los instrumentos financieros. Los indicadores no pueden realizar la actividad comercial y no tienen acceso a los gráficos.

Todos los indicadores se guardan en la carpeta /MQL5/Indicators de la plataforma comercial.

Scripts

Un script es un programa escrito en el lenguaje MQL5 y que se utiliza para ejecutar una vez cualquier tipo de acciones. Un script puede realizar tanto funciones analíticas como las comerciales. A diferencia de los Asesores Expertos, los scripts se ejecutan a petición. En otras palabras, si un EA trabaja prácticamente de forma permanente, un script finaliza su trabajo tras haber realizado su tarea una vez.

Todos los scripts se guardan en a carpeta /MQL5/Scripts de la plataforma.

Servicios

Los servicios nos permiten usar nuestras propias fuentes de datos de precios para la plataforma y transmitir los precios de sistemas externos en tiempo real igual que los servidores comerciales de los brókeres. Asimismo, los servicios se pueden usar para ejecutar otras tareas auxiliares en segundo plano.

A diferencia de los asesores, indicadores y scripts, los servicios no están vinculados a un gráfico concreto. Los servicios funcionan en segundo plano, y comienzan a funcionar automáticamente al iniciarse el terminal (si no han sido detenidos forzosamente).

Todos los servicios se guardan en la carpeta /MQL5/Services de la plataforma comercial.

Dentro de las carpetas Experts, Indicators, Scripts y Services los programas pueden estar ordenados por subcarpetas. En este caso en la ventana del "Navegador" se mostrará la estructura de su ubicación.

Cómo crear e iniciar una aplicación comercial #

Pulse "Crear en MetaEditor Crear en MetaEditor" en el menú contextual de la ventana "Navegador" en la sección "Asesores Expertos", "Indicadores" o "Scripts". Además, se puede pulsar F4 pata iniciar MetaEditor.

Empezar a crear una aplicación comercial

Después de eso, se iniciará MetaEditor, y dentro de él se abrirá "Asistente para MQL5". Permitirá generar la plantilla del programa necesario para empezar rápidamente con el diseño del programa. Como ejemplo vamos a crear un simple script que va a mostrar en el registro la entrada "Hello world".

Asistente para MQL5 va a generar la plantilla de la aplicación

En la plantilla obtenida escribiremos el código Print("Hello World"); y haremos la compilación con F7 con el fin de obtener el archivo de ejecución. El archivo de ejecución tiene la extensión EX5, precisamente este archivo se puede iniciar en la plataforma comercial.

Compilación y sus resultados

Los resultados de la compilación se muestran en el registro del editor.

En función del tipo del programa, el código fuente ha sido guardado en la carpeta MQL5\Scripts\. En la misma carpeta ha sido creado el archivo de ejecución. Ahora se puede regresar a la plataforma comercial e iniciar el script creado.

Inicio del script en la plataforma comercial

Las particularidades de trabajo con los programas para el trading automático se describen en la sección "Asesores Expertos e indicadores personalizados".

Cómo modificar una aplicación comercial #

Para modificar un robot o indicador personalizado, hay que pulsar "Modificar Modificar" en su menú contextual en la ventana del "Navegador", o seleccionarlo y pulsar la tecla "Enter". En este caso se abre el MetaEditoren el que ya estará cargado el código fuente del indicador seleccionado. Después de modificar el indicador, hay que volver a compilarlo (F7). Si no lo hace, la plataforma seguirá usando la versión anterior, sin tener en cuenta las modificaciones realizadas.

Cómo terminar el trabajo de una aplicación comercial #

Hay varias maneras para terminar el trabajo de una aplicación comercial dentro de la plataforma.

Robot comercial

Indicador técnico personalizado

Script

  • Ejecutar el comando "Eliminar" en la ventana "Lista de Asesores Expertos";
  • Cambiar la plantilla del gráfico;
  • Cambiar el perfil, con la condición de que en los ajustes de la plataforma esté activada la opción correspondiente;
  • Salir de la plataforma;
  • Cerrar el gráfico al que está adjuntado el EA;
  • Aplicar otro EA al mismo gráfico;
  • Pulse "Eliminar el Asesor Experto Eliminar" en el menú contextual del icono del EA en el gráfico.
  • Pulse "Eliminar indicador Eliminar" o "Eliminar la ventana del indicador Eliminar la ventana del indicador" en el menú contextual del indicador;
  • Ejecutar el comando "Eliminar" en la ventana "Lista de indicadores";
  • Cambiar la plantilla del gráfico;
  • Volver a abrir el gráfico.
  • Ejecutar el comando "Eliminar" en la ventana "Lista de Asesores Expertos". Esta ventana también contiene la lista de los scripts que han sido iniciados;
  • Cambiar la plantilla del gráfico;
  • Cambiar el perfil, con la condición de que en los ajustes de la plataforma esté activada la opción correspondiente;
  • Cambiar el símbolo del gráfico;
  • Cambiar el período del gráfico;
  • Salir de la plataforma;
  • Cerrar el gráfico al que está adjuntado el script;
  • Aplicar otro script al mismo gráfico;
  • Pulse "Eliminar script Eliminar" en el menú contextual del icono del script en el gráfico.
  • Si la aplicación está iniciada en el gráfico, la eliminación de su archivo de ejecución desde la ventana "Navegador" no terminará su trabajo.
  • La desactivación de los EAs en los ajustes de la plataforma no ofrece la garantía de su completa desactivación. Esta opción simplemente les prohibe realizar las operaciones comerciales.

Cómo iniciar el archivo descargado del código fuente MQ5 #

Si dispone sólo del archivo con el código fuente (*.MQ5), colóquelo en la carpeta correspondiente de la aplicación:

  • Para los EAs /MQL5/Experts
  • Para los indicadores /MQL5/Indicators
  • Para los scripts /MQL5/Scripts

Para pasar rápidamente a la carpeta donde se almacenan los datos de la plataforma, pulse "Abrir carpeta de datos Abrir carpeta de datos" en el menú "Archivo".

Para iniciar el archivo en la plataforma comercial, hay que compilarlo en MetaEditor:

  • Abra MetaEditor con la tecla F4.
  • En MetaEditor en la ventana "Navegador" abra el archivo del código fuente haciendo doble clic izquierdo en él.
  • Haga la compilación usando la tecla F7.

Como resultado Usted obtiene el archivo de ejecución *.EX5 que puede iniciar en la plataforma comercial.

Los archivos fuente (*.MQ5) no se muestran en la ventana "Navegador" de la plataforma comercial.