Autor Real: Vladimir Khlystov
Hoje, vamos falar sobre um dos EAs mais simples que você pode usar no seu MetaTrader 5: o Fractal_WeightOscillator. Este sistema de negociação utiliza um oscilador ponderado que é bem direto. A ideia é bem simples: ele vende quando o oscilador cruza para baixo o nível de sobrecompra e compra quando cruza para cima o nível de sobrevenda. O sinal é gerado no fechamento da barra, assim que o nível é cruzado.
O indicador Fractal_WeightOscillator_HTF incluso no EA serve apenas para facilitar a visualização das tendências durante os testes de estratégia; em outros modos de operação, ele permanece inativo.
Para começar a usar, você deve colocar os arquivos Fractal_WeightOscillator.ex5 e Fractal_WeightOscillator_HTF.ex5 na pasta <terminal_data_folder>\MQL5\Indicators.
Após a compilação, o arquivo do Expert Advisor Exp_Fractal_WeightOscillator.ex5 já inclui os indicadores Fractal_WeightOscillator.ex5 e Fractal_WeightOscillator_HTF.ex5 como recursos, o que significa que você não precisa ter esses indicadores na pasta do terminal para que o EA funcione! O código foi adaptado para incluir esses indicadores no arquivo executável do expert.
Os arquivos executáveis dos indicadores foram adicionados como recursos no escopo global.
#resource "\Indicators\Fractal_WeightOscillator.ex5"
#resource "\Indicators\Fractal_WeightOscillator_HTF.ex5"
Os caminhos das strings foram alterados para os indicadores usados como recursos no bloco da função OnInit().
InpInd_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\Fractal_WeightOscillator",
e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
if(InpInd_Handle==INVALID_HANDLE)
{
Print(" Não foi possível obter o handle do indicador Fractal_WeightOscillator");
return(INIT_FAILED);
}
//---- Obtendo o handle do indicador Fractal_WeightOscillator_HTF para visualização no testador de estratégia
if(MQLInfoInteger(MQL_VISUAL_MODE))
{
//---- obtendo o handle do indicador Fractal_WeightOscillator_HTF
int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\Fractal_WeightOscillator_HTF",InpInd_Timeframe,
e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
if(Ind_Handle==INVALID_HANDLE)
{
Print(" Não foi possível obter o handle do indicador Fractal_WeightOscillator_HTF");
return(INIT_FAILED);
}
}
Dessa forma, o arquivo executável do expert pode ser utilizado em outras plataformas de negociação sem a necessidade dos indicadores.
Vale destacar que a biblioteca TradeAlgorithms.mqh permite o uso de EAs com corretores que oferecem spread não zero e a opção de definir Stop Loss e Take Profit juntos na abertura da posição. Você pode baixar mais variantes dessa biblioteca através do seguinte link: Algoritmos de Negociação.
Os parâmetros de entrada padrão do Expert Advisor foram utilizados durante os testes mostrados abaixo. Não foram utilizados Stop Loss e Take Profit durante os testes.

Fig. 1. Exemplos de negociações no gráfico
Resultados dos testes para 2015 no GBPUSD H6:

Fig. 2. Gráfico dos resultados dos testes
Comentário 0