- 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
Limitaciones y ventajas de los Asesores Expertos
Debido a su funcionamiento específico, los Asesores Expertos tienen algunas limitaciones, así como ventajas sobre otros tipos de programas MQL. En concreto, todas las funciones destinadas a los indicadores están prohibidas en los Asesores Expertos:
- SetIndexBuffer
- IndicatorSetDouble
- IndicatorSetInteger
- IndicatorSetString
- PlotIndexSetDouble
- PlotIndexSetInteger
- PlotIndexSetString
- PlotIndexGetInteger
Además, los Asesores Expertos no deben describir manejadores de eventos que son típicos para otros tipos de programas: OnStart (scripts y servicios) y OnCalculate (indicadores).
A diferencia de los indicadores, sólo se puede colocar un Asesor Experto en cada gráfico.
Al mismo tiempo, los Asesores Expertos son el único tipo de programas MQL que además de probarse (lo que ya hemos hecho tanto para los indicadores como para los Asesores Expertos), también pueden optimizarse. El optimizador permite encontrar los mejores parámetros de entrada en función de varios criterios, tanto de trading como matemáticos abstractos. Para estos fines, la API incluye funciones adicionales y varios manejadores de eventos específicos. Estudiaremos este material en el próximo capítulo.
Además, en los Asesores Expertos (así como en los scripts y servicios, es decir, en todos los tipos de programas excepto los indicadores) están disponibles grupos de funciones MQL5 integradas para trabajar con la red a nivel de socket y varios protocolos de Internet (HTTP, FTP, SMTP). Las estudiaremos en la séptima parte del libro.