CExpert

CExpert é uma classe base para estratégias de negociação. Foi desenvolvida com algoritmos para trabalhar com séries temporais e indicadores e um conjunto de métodos virtuais para estratégia de negociação.

Como usar:

1. Preparar um algoritmo da estratégia;
2. Criar a própria classe, herdada da classe CExpert;
3. Substituir os métodos virtuais em sua classe com os seus próprios algoritmos.

Descrição

A classe CExpert é um conjunto de métodos virtuais para a implementação de estratégias de negociação.

Declaração

   class CExpert : public CExpertBase

Título

   #include <Expert\Expert.mqh>

Hierarquia de herança

  CObject

      CExpertBase

          CExpert

Métodos de classe

Inicialização

 

Init

Instância de classe do método de inicialização.

virtual InitSignal

Inicializa o objeto Trading Signal

virtual InitTrailing

Inicializa o objeto Trailing Stop

virtual InitMoney

Inicializa o objeto Money Management

virtual InitTrade

Inicializa o objeto Trade

virtual ValidationSettings

Verifica as configurações

virtual InitIndicators

Inicializa indicadores e timeseries

virtual InitParameters

Método de inicialização dos parâmetros

virtual Deinit

Classe de instância do método de desinicialização

virtual DeinitSignal

Desinicializa o objeto Trading Signal

virtual DeinitTrailing

Desinicializa o objeto Trailing Stop

virtual DeinitMoney

Desinicializa o objeto Money Management

virtual DeinitTrade

Desinicializa o objeto Trade

virtual DeinitIndicators

Desinicializa indicadores e timeseries

Parâmetros

 

Magic

Define a ID do Expert Advisor

MaxOrders

Obtém/Define a quantidade máxima de ordens permitidas

OnTickProcess

Define um flag para prosseguir o evento "OnTick"

OnTradeProcess

Define um flag para prosseguir o evento "OnTrade"

OnTimerProcess

Define um flag para prosseguir o evento "OnTimer"

OnChartEventProcess

Define um flag para prosseguir o evento "OnChartEvent"

OnBookEventProcess

Define um flag para prosseguir o evento "OnBookEvent"

Métodos de Processamento do Evento

 

OnTick

Manipulador do evento OnTick

OnTrade

Manipulador do evento OnTrade

OnTimer

Manipulador do evento OnTimer

OnChartEvent

Manipulador do evento OnChartEvent

OnBookEvent

Manipulador do evento OnBookEvent

Métodos de atualização

 

Refresh

Atualiza todos os dados

Processamento

 

Processing

Algoritmo de processamento principal

Métodos de Entrada no Mercado

 

CheckOpen

Verifica as condições de abertura da posição

CheckOpenLong

Verifica condições para abrir posição comprada

CheckOpenShort

Verifica condições para abrir posição vendida

OpenLong

Abre uma posição comprada

OpenShort

Abre uma posição vendida

Métodos de Saída do Mercado

 

CheckClose

Verifica condições para fechar posição atual

CheckCloseLong

Verifica condições para fechar posição comprada

CheckCloseShort

Verifica condições para fechar posição vendida

CloseAll

Fecha a posição aberta e exclui todas as ordens

Close

Fecha a posição aberta

CloseLong

Fecha a posição comprada

CloseShort

Fecha a posição vendida

Métodos de Reversão de Posição

 

CheckReverse

Verifica condições para reversão posição aberta

CheckReverseLong

Verifica condições para reversão posição comprada

CheckReverseShort

Verifica condições para reversão posição vendida

ReverseLong

Executa a operação de reversão da posição comprada

ReverseShort

Executa a operação de reversão da posição vendida

Posição/Ordem dos Métodos de Trailing

 

CheckTrailingStop

Verifica as condições para modificar os parâmetros da posição

CheckTrailingStopLong

Verifica condições do Trailing Stop da posição comprada

CheckTrailingStopShort

Verifica condições do Trailing Stop da posição vendida

TrailingStopLong

Executa trailing stop para posição comprada

TrailingStopShort

Executa trailing stop para posição vendida

CheckTrailingOrderLong

Verifica condições do Trailing Stop das ordens pendentes Buy Limit/Stop

CheckTrailingOrderShort

Verifica condições do Trailing Stop das ordens pendentes Sell Limit/Stop

TrailingOrderLong

Executa Trailing Stop das ordens pendentes Buy Limit/Stop

TrailingOrderShort

Executa Trailing Stop das ordens pendentes Sell Limit/Stop

Método de Ordens Excluídas

 

CheckDeleteOrderLong

Verifica condições para excluir uma ordem pendente Buy

CheckDeleteOrderShort

Verifica condições para excluir uma ordem pendente Sell

DeleteOrders

Exclui todas as ordens

DeleteOrder

Exclui ordem pendente Stop/Limit

DeleteOrderLong

Exclui ordem pendente Buy Limit/Stop

DeleteOrderShort

Exclui ordem pendente Sell Limit/Stop

Métodos de Volume de Negociação

 

LotOpenLong

Obtém o volume de negociação para operação comprada

LotOpenShort

Obtém o volume de negociação para operação vendida

LotReverse

Obtém o volume de negociação para operação de reversão de posição

Métodos do Histórico da Negociação

 

PrepareHistoryDate

Define data de início para o rastreamento do histórico de negociação

HistoryPoint

Cria um ponto de controle do histórico de negociação (salva número de posições, ordens, ofertas e ordens históricas)

CheckTradeState

Compara o estado atual com o que foi salvo e chama o manipulador de eventos correspondente

Flags de eventos

 

WaitEvent

Define o flag de espera do evento

NoWaitEvent

Reseta o flag de espera do evento

Métodos de Processamento do Evento de Negociação

 

TradeEventPositionStopTake

Manipulador do evento "Position Stop Loss/Take Profit triggered" (posições de Stop Loss ou Take Profit acionadas)

TradeEventOrderTriggered

Manipulador do evento "Pending Order Triggered" (ordem pendente acionada)

TradeEventPositionOpened

Manipulador do evento "Position Opened" (abertura de posição)

TradeEventPositionVolumeChanged

Manipulador do evento "Position Volume Changed" (volume da posição alterado)

TradeEventPositionModified

Manipulador do evento "Position Modified" (posição modificada)

TradeEventPositionClosed

Manipulador do evento "Position Closed" (posição fechada)

TradeEventOrderPlaced

Manipulador do evento "Pending Order Placed" (ordem pendente colocada)

TradeEventOrderModified

Manipulador do evento "Pending Order Modified" (ordem pendente modificada)

TradeEventOrderDeleted

Manipulador do evento "Pending Order Deleted" (ordem pendente excluída)

TradeEventNotIdentified

Manipulador do evento não identificado

Métodos de Serviço

 

TimeframeAdd

Adiciona um timeframe para rastrear

TimeframesFlags

Obtém o flag indicando os timeframes com uma nova barra

SelectPosition

Seleção da posição para o subseqüente trabalho com ela.

Métodos herdados da classe CObject

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

Métodos herdados da classe CExpertBase

InitPhase, TrendType, UsedSeries, EveryTick, Open, High, Low, Close, Spread, Time, TickVolume, RealVolume, Symbol, Period, Magic, SetMarginMode, SetPriceSeries, SetOtherSeries