Crear Asesores Expertos en el Asistente MQL

Por lo tanto, estamos completando el estudio de las API de trading para el desarrollo de Asesores Expertos. A lo largo de este capítulo hemos considerado varios ejemplos, que puede utilizar como punto de partida para su propio proyecto. Sin embargo, si quiere empezar un Asesor Experto desde cero, no tiene que hacerlo literalmente «desde cero». El MetaEditor proporciona el Asistente MQL integrado que, entre otras cosas, permite la creación de plantillas de Asesor Experto. Además, en el caso del Asesor Experto, este Asistente ofrece dos formas diferentes de generar el código fuente.

Ya conocimos el primer paso del Asistente en la sección Asistente MQL y borrador del programa. Obviamente, en el primer paso, seleccionamos el tipo de proyecto que se va a crear. En el capítulo anterior creamos una plantilla de script. Más adelante, en el capítulo dedicado a los indicadores, hicimos un recorrido por la creación de un modelo de indicador. Ahora consideraremos las dos opciones siguientes:

  • Asesor Experto (plantilla)
  • Asesor Experto (generar)

La primera es más sencilla. Puede seleccionar un nombre, parámetros de entrada y manejadores de eventos requeridos, como se muestra en las capturas de pantalla que se muestran a continuación, pero no habrá lógica de trading ni algoritmos ya hechos en el archivo fuente resultante.

La segunda opción es más complicada. Dará como resultado un Asesor Experto ya hecho basado en la biblioteca estándar que proporciona un conjunto de clases en archivos de encabezado disponibles en el paquete estándar de MetaTrader 5. Los archivos se encuentran en las carpetas MQL5/Include/Expert/, MQL5/Include/Trade, MQL5/Include/Indicators y varias más. Las clases de la biblioteca implementan las señales de los indicadores más populares, mecanismos para realizar operaciones de trading basadas en combinaciones de señales, así como algoritmos de gestión de fondos y trailing stop. El estudio detallado de la biblioteca estándar queda fuera del alcance de este libro.

Independientemente de las opciones que seleccione, en el segundo paso del Asistente deberá introducir el nombre del Asesor Experto y los parámetros de entrada. El aspecto de este paso es similar al que ya se mostró en la sección Asistente MQL y borrador del programa. La única advertencia es que los Asesores Expertos basados en la biblioteca estándar deben tener dos parámetros obligatorios (no extraíbles): Symbol y TimeFrame.

Para una plantilla simple, en el 3er paso, se propone seleccionar los manejadores de eventos adicionales que se añadirán al código fuente, además de OnTick (OnTick siempre insertado).

Creación de una plantilla de expertos. Paso 3. Manejadores de eventos adicionales

Creación de una plantilla de Asesor Experto. Paso 3. Manejadores de eventos adicionales

El cuarto y último paso le permite especificar uno o más manejadores de eventos opcionales para el probador. De ellos hablaremos en el próximo capítulo.

Creación de una plantilla de expertos. Paso 4. Controladores de eventos del probador

Creación de una plantilla de Asesor Experto. Paso 4. Controladores de eventos del probador

Si el usuario elige generar un programa basado en la biblioteca estándar en el primer paso del Asistente, entonces el 3er paso consiste en configurar las señales de trading.

Generación de un experto preparado. Paso 3. Configuración de señales de trading

Generación de un Asesor Experto listo. Paso 3. Configuración de señales de trading

Puede obtener más información en la documentación.

Los pasos 4 y 5 están diseñados para incluir trailing en el Asesor Experto y seleccionar automáticamente los lotes según uno de los métodos predefinidos.

Generación de un experto preparado. Paso 4. Elección de un método de trailing stop

Generación de un Asesor Experto listo. Paso 4. Elección de un método de trailing stop

 

Generación de un experto preparado. Paso 5. Selección de lotes

Generación de un Asesor Experto listo. Paso 5. Selección de lotes

El Asistente, por supuesto, no es una herramienta universal, y el prototipo de programa resultante, por regla general, necesita mejorarse. No obstante, los conocimientos adquiridos en este capítulo le permitirán confiar más en los códigos fuente generados y ampliarlos según sea necesario.