- Init
- Magic
- InitSignal
- InitTrailing
- InitMoney
- InitTrade
- Deinit
- OnTickProcess
- OnTradeProcess
- OnTimerProcess
- OnChartEventProcess
- OnBookEventProcess
- MaxOrders
- Signal
- ValidationSettings
- InitIndicators
- OnTick
- OnTrade
- OnTimer
- OnChartEvent
- OnBookEvent
- InitParameters
- DeinitTrade
- DeinitSignal
- DeinitTrailing
- DeinitMoney
- DeinitIndicators
- Refresh
- Processing
- SelectPosition
- CheckOpen
- CheckOpenLong
- CheckOpenShort
- OpenLong
- OpenShort
- CheckReverse
- CheckReverseLong
- CheckReverseShort
- ReverseLong
- ReverseShort
- CheckClose
- CheckCloseLong
- CheckCloseShort
- CloseAll
- Close
- CloseLong
- CloseShort
- CheckTrailingStop
- CheckTrailingStopLong
- CheckTrailingStopShort
- TrailingStopLong
- TrailingStopShort
- CheckTrailingOrderLong
- CheckTrailingOrderShort
- TrailingOrderLong
- TrailingOrderShort
- CheckDeleteOrderLong
- CheckDeleteOrderShort
- DeleteOrders
- DeleteOrder
- DeleteOrderLong
- DeleteOrderShort
- LotOpenLong
- LotOpenShort
- LotReverse
- PrepareHistoryDate
- HistoryPoint
- CheckTradeState
- WaitEvent
- NoWaitEvent
- TradeEventPositionStopTake
- TradeEventOrderTriggered
- TradeEventPositionOpened
- TradeEventPositionVolumeChanged
- TradeEventPositionModified
- TradeEventPositionClosed
- TradeEventOrderPlaced
- TradeEventOrderModified
- TradeEventOrderDeleted
- TradeEventNotIdentified
- TimeframeAdd
- TimeframesFlags
CExpert
CExpert es la clase base de las estrategias de trading. Incorpora algoritmos para trabajar con series temporales, indicadores, así como un conjunto de métodos virtuales de estrategias de trading.
Cómo utilizarla:
1. Preparar un algoritmo para la estrategia;
2. Cree su propia clase, haciéndola heredar de CExpert;
3. Sobreescriba los métodos virtuales de su clase, escribiendo sus propios algoritmos.
Descripción
La clase CExpert ofrece un conjunto de métodos virtuales para implementar estrategias de trading.
Observación
La posición se determina mediante la pareja de propiedades m_symbol y m_magic, que pertenecen al experto y lo controlan. En el modo "cobertura", en la cuenta pueden existir de forma simultánea varias posiciones del mismo símbolo, por eso hay que prestar especial atención al valor m_magic.
Declaración
class CExpert : public CExpertBase |
Título
#include <Expert\Expert.mqh> |
Jerarquía de herenciaCExpert |
Métodos de la clase
Inicialización |
|
---|---|
Método de inicialización de la instancia de la clase |
|
virtual InitSignal |
Inicializa el objeto de la señal de trading |
virtual InitTrailing |
Inicializa el objeto de Trailing Stop |
virtual InitMoney |
Inicializa el objeto de la gestión del dinero |
virtual InitTrade |
Inicializa el objeto Trade |
virtual ValidationSettings |
Comprueba las configuraciones |
virtual InitIndicators |
Inicializa los indicadores y las series temporales |
virtual InitParameters |
Método de inicialización de los parámetros |
virtual Deinit |
Método de desinicialización de la instancia de la clase |
virtual DeinitSignal |
Desinicializa el objeto de la señal de trading |
virtual DeinitTrailing |
Desinicializa el objeto de Trailing Stop |
virtual DeinitMoney |
Desinicializa el objeto de la gestión del dinero |
virtual DeinitTrade |
Desinicializa el objeto Trade |
virtual DeinitIndicators |
Desinicializa los indicadores y las series temporales |
Parámetros |
|
Establece el ID del Asesor Experto |
|
Obtiene/Establece la cantidad máxima de órdenes permitidas |
|
Establece la bandera del evento "OnTick" |
|
Establece la bandera del evento "OnTrade" |
|
Establece la bandera del evento "OnTimer" |
|
Establece la bandera del evento "OnChartEvent" |
|
Establece la bandera del evento "OnBookEvent" |
|
Métodos de procesamiento de eventos |
|
Manejador del evento OnTick |
|
Manejador del evento OnTrade |
|
Manejador del evento OnTimer |
|
Manejador del evento OnChartEvent |
|
Manejador del evento OnBookEvent |
|
Métodos de actualización |
|
Actualiza todos los datos |
|
Processing |
|
Algoritmo de procesamiento principal |
|
Métodos de entrada al mercado |
|
Comprueba las condiciones de apertura de la posición |
|
Comprueba las condiciones de apertura de la posición larga |
|
Comprueba las condiciones de apertura de la posición corta |
|
Abre una posición larga |
|
Abre una posición corta |
|
Métodos de salida del mercado |
|
Comprueba las condiciones de cierre de la posición actual |
|
Comprueba las condiciones de cierre de la posición larga |
|
Comprueba las condiciones de cierre de la posición corta |
|
Cierra la posición abierta y borra todas las órdenes |
|
Cierra la posición abierta |
|
Cierra la posición larga |
|
Cierra la posición corta |
|
Métodos para revertir la posición |
|
Comprueba las condiciones para revertir la posición abierta |
|
Comprueba las condiciones para revertir la posición larga |
|
Comprueba las condiciones para revertir la posición corta |
|
Realiza la operación inversa de la posición larga |
|
Realiza la operación inversa de la posición corta |
|
Métodos de trailing de la posición/orden |
|
Comprueba las condiciones para modificar los parámetros de la posición |
|
Comprueba las condiciones de Trailing Stop de la posición larga |
|
Comprueba las condiciones de Trailing Stop de la posición corta |
|
Realiza el Trailing Stop de la posición larga |
|
Realiza el Trailing Stop de la posición corta |
|
Comprueba las condiciones de Trailing Stop de la orden pendiente Buy Limit/Stop |
|
Comprueba las condiciones de Trailing Stop de la orden pendiente Sell Limit/Stop |
|
Realiza el Trailing Stop de la orden pendiente Buy Limit/Stop |
|
Realiza el Trailing Stop de la orden pendiente Sell Limit/Stop |
|
Métodos para borrar la orden |
|
Comprueba las condiciones para borrar la orden pendiente de compra |
|
Comprueba las condiciones para borrar la orden pendiente de venta |
|
Borra todas las órdenes |
|
Borra la orden pendiente Stop/Limit |
|
Borra la orden pendiente Buy Limit/Stop |
|
Borra la orden pendiente Sell Limit/Stop |
|
Métodos de volumen de la operación |
|
Obtiene el volumen de la operación de compra |
|
Obtiene el volumen de la operación de venta |
|
Obtiene el volumen de la operación inversa de la posición |
|
Métodos del historial de operaciones |
|
Establece la fecha de inicio del seguimiento del historial de trading |
|
Crea un punto de control del historial de trading (guarda el número de posiciones, las órdenes y las transacciones) |
|
Compara el estado actual con el guardado y llama al manejador de evento correspondiente |
|
Banderas de eventos |
|
Establece la bandera de espera del evento |
|
Reinicia la bandera de espera del evento |
|
Métodos de procesamiento de eventos |
|
Manejador del evento "Disparar el Stop Loss/Take Profit de la posición" |
|
Manejador del evento "Disparar orden pendiente" |
|
Manejador del evento "Posición abierta" |
|
Manejador del evento "Volumen de la posición cambiado" |
|
Manejador del evento "Posición modificada" |
|
Manejador del evento "Posición cerrada" |
|
Manejador del evento "Orden pendiente colocada" |
|
Manejador del evento "Orden pendiente modificada" |
|
Manejador del evento "Orden pendiente borrada" |
|
Manejador del evento no identificado |
|
Métodos de servicio |
|
Agrega un periodo de tiempo a seguir |
|
Obtiene la bandera que indica los periodos de tiempo con una barra nueva |
|
Elegir una posición para trabajar posteriormente con ella. |
Métodos heredados de la clase CObject |
---|
Métodos heredados de la clase CExpertBase InitPhase, TrendType, UsedSeries, EveryTick, Open, High, Low, Close, Spread, Time, TickVolume, RealVolume, Symbol, Period, Magic, SetMarginMode, SetPriceSeries, SetOtherSeries |