- Evento principal de Asesores Expertos: OnTick
- Principios y conceptos básicos: orden, transacción y posición
- Tipos de operaciones de trading
- Tipos de órdenes
- Modos de ejecución de órdenes por precio y volumen
- Fechas de vencimiento de órdenes pendientes
- Cálculo del margen para una orden futura: OrderCalcMargin
- Estimación del beneficio de una operación de trading: OrderCalcProfit
- Estructura MqlTradeRequest
- Estructura MqlTradeCheckResult
- Solicitar validación: OrderCheck
- Solicitar resultado del envío: estructura MqlTradeResult
- Enviar una solicitud de trading: OrderSend y OrderSendAsync
- Operaciones de compraventa
- Modificar los niveles de Stop Loss y/o Take Profit de una posición
- Trailing stop
- Cierre de una posición: total y parcial
- Cierre de posiciones opuestas: total y parcial
- Colocar una orden pendiente
- Modificar una orden pendiente
- Borrar una orden pendiente
- Obtener una lista de órdenes activas
- Propiedades de una orden (activas e históricas)
- Funciones para leer las propiedades de órdenes activas
- Seleccionar órdenes por propiedades
- Obtener la lista de posiciones
- Propiedades de posiciones
- Funciones de lectura de propiedades de posición
- Propiedades de transacción
- Seleccionar órdenes y transacciones del historial
- Funciones para leer propiedades de órdenes del historial
- Funciones para leer propiedades de transacciones del historial
- Tipos de transacciones de trading
- Evento OnTradeTransaction
- Peticiones síncronas y asíncronas
- Evento OnTrade
- Seguimiento de los cambios en el entorno de trading
- Crear Asesores Expertos multisímbolo
- Limitaciones y ventajas de los Asesores Expertos
- Crear Asesores Expertos en el Asistente MQL
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 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 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 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 Asesor Experto listo. Paso 4. Elección de un método de trailing stop
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.