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 |
- 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