- 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 é 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çaCExpert |
Métodos de classe
Inicialização |
|
---|---|
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 |
|
Define a ID do Expert Advisor |
|
Obtém/Define a quantidade máxima de ordens permitidas |
|
Define um flag para prosseguir o evento "OnTick" |
|
Define um flag para prosseguir o evento "OnTrade" |
|
Define um flag para prosseguir o evento "OnTimer" |
|
Define um flag para prosseguir o evento "OnChartEvent" |
|
Define um flag para prosseguir o evento "OnBookEvent" |
|
Métodos de Processamento do Evento |
|
Manipulador do evento OnTick |
|
Manipulador do evento OnTrade |
|
Manipulador do evento OnTimer |
|
Manipulador do evento OnChartEvent |
|
Manipulador do evento OnBookEvent |
|
Métodos de atualização |
|
Atualiza todos os dados |
|
Processamento |
|
Algoritmo de processamento principal |
|
Métodos de Entrada no Mercado |
|
Verifica as condições de abertura da posição |
|
Verifica condições para abrir posição comprada |
|
Verifica condições para abrir posição vendida |
|
Abre uma posição comprada |
|
Abre uma posição vendida |
|
Métodos de Saída do Mercado |
|
Verifica condições para fechar posição atual |
|
Verifica condições para fechar posição comprada |
|
Verifica condições para fechar posição vendida |
|
Fecha a posição aberta e exclui todas as ordens |
|
Fecha a posição aberta |
|
Fecha a posição comprada |
|
Fecha a posição vendida |
|
Métodos de Reversão de Posição |
|
Verifica condições para reversão posição aberta |
|
Verifica condições para reversão posição comprada |
|
Verifica condições para reversão posição vendida |
|
Executa a operação de reversão da posição comprada |
|
Executa a operação de reversão da posição vendida |
|
Posição/Ordem dos Métodos de Trailing |
|
Verifica as condições para modificar os parâmetros da posição |
|
Verifica condições do Trailing Stop da posição comprada |
|
Verifica condições do Trailing Stop da posição vendida |
|
Executa trailing stop para posição comprada |
|
Executa trailing stop para posição vendida |
|
Verifica condições do Trailing Stop das ordens pendentes Buy Limit/Stop |
|
Verifica condições do Trailing Stop das ordens pendentes Sell Limit/Stop |
|
Executa Trailing Stop das ordens pendentes Buy Limit/Stop |
|
Executa Trailing Stop das ordens pendentes Sell Limit/Stop |
|
Método de Ordens Excluídas |
|
Verifica condições para excluir uma ordem pendente Buy |
|
Verifica condições para excluir uma ordem pendente Sell |
|
Exclui todas as ordens |
|
Exclui ordem pendente Stop/Limit |
|
Exclui ordem pendente Buy Limit/Stop |
|
Exclui ordem pendente Sell Limit/Stop |
|
Métodos de Volume de Negociação |
|
Obtém o volume de negociação para operação comprada |
|
Obtém o volume de negociação para operação vendida |
|
Obtém o volume de negociação para operação de reversão de posição |
|
Métodos do Histórico da Negociação |
|
Define data de início para o rastreamento do histórico de negociação |
|
Cria um ponto de controle do histórico de negociação (salva número de posições, ordens, ofertas e ordens históricas) |
|
Compara o estado atual com o que foi salvo e chama o manipulador de eventos correspondente |
|
Flags de eventos |
|
Define o flag de espera do evento |
|
Reseta o flag de espera do evento |
|
Métodos de Processamento do Evento de Negociação |
|
Manipulador do evento "Position Stop Loss/Take Profit triggered" (posições de Stop Loss ou Take Profit acionadas) |
|
Manipulador do evento "Pending Order Triggered" (ordem pendente acionada) |
|
Manipulador do evento "Position Opened" (abertura de posição) |
|
Manipulador do evento "Position Volume Changed" (volume da posição alterado) |
|
Manipulador do evento "Position Modified" (posição modificada) |
|
Manipulador do evento "Position Closed" (posição fechada) |
|
Manipulador do evento "Pending Order Placed" (ordem pendente colocada) |
|
Manipulador do evento "Pending Order Modified" (ordem pendente modificada) |
|
Manipulador do evento "Pending Order Deleted" (ordem pendente excluída) |
|
Manipulador do evento não identificado |
|
Métodos de Serviço |
|
Adiciona um timeframe para rastrear |
|
Obtém o flag indicando os timeframes com uma nova barra |
|
Seleção da posição para o subseqüente trabalho com ela. |
Métodos herdados da classe CObject |
---|
Métodos herdados da classe CExpertBase InitPhase, TrendType, UsedSeries, EveryTick, Open, High, Low, Close, Spread, Time, TickVolume, RealVolume, Symbol, Period, Magic, SetMarginMode, SetPriceSeries, SetOtherSeries |