O Fractal Weight Oscillator é um oscilador que representa a soma ponderada suavizada de quatro indicadores: Fractal_RSI, Fractal_MFI, Fractal_WPR e Fractal_DeMarker.
Para compilar o indicador Fractal Weight Oscillator, você precisa dos arquivos dos indicadores compilados: Fractal_RSI.mq5, Fractal_MFI.mq5, Fractal_WPR.mq5 e Fractal_DeMarker.mq5. Coloque-os na pasta <terminal_data_folder>\MQL5\Indicators.
Após a compilação, o arquivo do indicador Fractal_WeightOscillator.ex5 contém esses indicadores como recursos, portanto, não é necessário que eles estejam presentes na pasta do terminal para que o indicador compilado funcione! Para isso, o código correspondente foi adicionado ao código do indicador, permitindo incluir os indicadores no arquivo executável.
Os arquivos executáveis dos indicadores foram adicionados como recursos no escopo global.
#resource "\Indicators\Fractal_RSI.ex5"
#resource "\Indicators\Fractal_MFI.ex5"
#resource "\Indicators\Fractal_WPR.ex5"
#resource "\Indicators\Fractal_DeMarker.ex5"
As strings dos caminhos foram alteradas para os indicadores usados como recursos no bloco da função OnInit().
RSI_Handle=iCustom(NULL,0,"::Indicators\Fractal_RSI",e_period,normal_speed,RSIPrice);
if(RSI_Handle==INVALID_HANDLE)
{
Print(" Falha ao obter o handle do indicador Fractal_RSI");
return(INIT_FAILED);
}
//---- obtendo o handle do indicador Fractal_MFI
MFI_Handle=iCustom(NULL,0,"::Indicators\Fractal_MFI",e_period,normal_speed,MFIPrice,MFIVolumeType);
if(MFI_Handle==INVALID_HANDLE)
{
Print(" Falha ao obter o handle do indicador Fractal_MFI");
return(INIT_FAILED);
}
//---- obtendo o handle do indicador Fractal_WPR
WPR_Handle=iCustom(NULL,0,"::Indicators\Fractal_WPR",e_period,normal_speed);
if(WPR_Handle==INVALID_HANDLE)
{
Print(" Falha ao obter o handle do indicador Fractal_WPR");
return(INIT_FAILED);
}
//---- obtendo o handle do indicador Fractal_DeMarker
DeMarker_Handle=iCustom(NULL,0,"::Indicators\Fractal_DeMarker",e_period,normal_speed);
if(DeMarker_Handle==INVALID_HANDLE)
{
Print(" Falha ao obter o handle do indicador Fractal_DeMarker");
return(INIT_FAILED);
}
Dessa forma, o arquivo executável compilado do indicador Fractal Weight Oscillator pode ser utilizado em outros terminais de negociação sem a necessidade do indicador original.
O indicador utiliza as classes da biblioteca SmoothAlgorithms.mqh (copie-a para <terminal_data_folder>\MQL5\Include). O uso das classes foi detalhadamente descrito no artigo "Média de Séries de Preços para Cálculos Intermediários Sem Usar Buffers Adicionais".
Ordem de compilação dos arquivos:
- Fractal_RSI.mq5, Fractal_MFI.mq5, Fractal_WPR.mq5 e Fractal_DeMarker.mq5
- Fractal_WeightOscillator.mq5

Fig1. O indicador Fractal Weight Oscillator
Publicações relacionadas
- iMFISignAlert: O Indicador para MetaTrader 5 que Gera Alertas
- EquiPeak Drawdown Tracker: Controle Eficiente para Seus EAs no MetaTrader 5
- Níveis Históricos: O Indicador Essencial para MetaTrader 5
- iDeMarkerSignAlert: O Indicador de Sinalização para MetaTrader 5
- Painel Gráfico: Mostre a Tendência Atual em Todos os Tempos no MetaTrader 4