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 herencia

  CObject

      CExpertBase

          CExpert

Métodos de la clase

Inicialización

 

Init

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

 

Magic

Establece el ID del Asesor Experto

MaxOrders

Obtiene/Establece la cantidad máxima de órdenes permitidas

OnTickProcess

Establece la bandera del evento "OnTick"

OnTradeProcess

Establece la bandera del evento "OnTrade"

OnTimerProcess

Establece la bandera del evento "OnTimer"

OnChartEventProcess

Establece la bandera del evento "OnChartEvent"

OnBookEventProcess

Establece la bandera del evento "OnBookEvent"

Métodos de procesamiento de eventos

 

OnTick

Manejador del evento OnTick

OnTrade

Manejador del evento OnTrade

OnTimer

Manejador del evento OnTimer

OnChartEvent

Manejador del evento OnChartEvent

OnBookEvent

Manejador del evento OnBookEvent

Métodos de actualización

 

Refresh

Actualiza todos los datos

Processing

 

Procesamiento

Algoritmo de procesamiento principal

Métodos de entrada al mercado

 

CheckOpen

Comprueba las condiciones de apertura de la posición

CheckOpenLong

Comprueba las condiciones de apertura de la posición larga

CheckOpenShort

Comprueba las condiciones de apertura de la posición corta

OpenLong

Abre una posición larga

OpenShort

Abre una posición corta

Métodos de salida del mercado

 

CheckClose

Comprueba las condiciones de cierre de la posición actual

CheckCloseLong

Comprueba las condiciones de cierre de la posición larga

CheckCloseShort

Comprueba las condiciones de cierre de la posición corta

CloseAll

Cierra la posición abierta y borra todas las órdenes

Close

Cierra la posición abierta

CloseLong

Cierra la posición larga

CloseShort

Cierra la posición corta

Métodos para revertir la posición

 

CheckReverse

Comprueba las condiciones para revertir la posición abierta

CheckReverseLong

Comprueba las condiciones para revertir la posición larga

CheckReverseShort

Comprueba las condiciones para revertir la posición corta

ReverseLong

Realiza la operación inversa de la posición larga

ReverseShort

Realiza la operación inversa de la posición corta

Métodos de trailing de la posición/orden

 

CheckTrailingStop

Comprueba las condiciones para modificar los parámetros de la posición

CheckTrailingStopLong

Comprueba las condiciones de Trailing Stop de la posición larga

CheckTrailingStopShort

Comprueba las condiciones de Trailing Stop de la posición corta

TrailingStopLong

Realiza el Trailing Stop de la posición larga

TrailingStopShort

Realiza el Trailing Stop de la posición corta

CheckTrailingOrderLong

Comprueba las condiciones de Trailing Stop de la orden pendiente Buy Limit/Stop

CheckTrailingOrderShort

Comprueba las condiciones de Trailing Stop de la orden pendiente Sell Limit/Stop

TrailingOrderLong

Realiza el Trailing Stop de la orden pendiente Buy Limit/Stop

TrailingOrderShort

Realiza el Trailing Stop de la orden pendiente Sell Limit/Stop

Métodos para borrar la orden

 

CheckDeleteOrderLong

Comprueba las condiciones para borrar la orden pendiente de compra

CheckDeleteOrderShort

Comprueba las condiciones para borrar la orden pendiente de venta

DeleteOrders

Borra todas las órdenes

DeleteOrder

Borra la orden pendiente Stop/Limit

DeleteOrderLong

Borra la orden pendiente Buy Limit/Stop

DeleteOrderShort

Borra la orden pendiente Sell Limit/Stop

Métodos de volumen de la operación

 

LotOpenLong

Obtiene el volumen de la operación de compra

LotOpenShort

Obtiene el volumen de la operación de venta

LotReverse

Obtiene el volumen de la operación inversa de la posición

Métodos del historial de operaciones

 

PrepareHistoryDate

Establece la fecha de inicio del seguimiento del historial de trading

HistoryPoint

Crea un punto de control del historial de trading (guarda el número de posiciones, las órdenes y las transacciones)

CheckTradeState

Compara el estado actual con el guardado y llama al manejador de evento correspondiente

Banderas de eventos

 

WaitEvent

Establece la bandera de espera del evento

NoWaitEvent

Reinicia la bandera de espera del evento

Métodos de procesamiento de eventos

 

TradeEventPositionStopTake

Manejador del evento "Disparar el Stop Loss/Take Profit de la posición"

TradeEventOrderTriggered

Manejador del evento "Disparar orden pendiente"

TradeEventPositionOpened

Manejador del evento "Posición abierta"

TradeEventPositionVolumeChanged

Manejador del evento "Volumen de la posición cambiado"

TradeEventPositionModified

Manejador del evento "Posición modificada"

TradeEventPositionClosed

Manejador del evento "Posición cerrada"

TradeEventOrderPlaced

Manejador del evento "Orden pendiente colocada"

TradeEventOrderModified

Manejador del evento "Orden pendiente modificada"

TradeEventOrderDeleted

Manejador del evento "Orden pendiente borrada"

TradeEventNotIdentified

Manejador del evento no identificado

Métodos de servicio

 

TimeframeAdd

Agrega un periodo de tiempo a seguir

TimeframesFlags

Obtiene la bandera que indica los periodos de tiempo con una barra nueva

SelectPosition

Elegir una posición para trabajar posteriormente con ella.

Métodos heredados de la clase CObject

Prev, Prev, Next, Next, Save, Load, Type, Compare

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