Autor:
LeMan
O Binary Wave é um indicador que retorna um valor positivo ou negativo, dependendo das previsões de alta ou baixa. O verdadeiro potencial das ondas binárias é revelado quando várias delas são combinadas em ondas binárias compostas.
Eu reuni sete ondas binárias individuais em uma única onda composta:
- preço de fechamento em relação à sua média móvel (acima - abaixo);
- inclinação do MACD;
- cruzamento do OsM com a linha zero;
- CCI cruzando a linha zero;
- Momentum cruzando o nível 100;
- RSI cruzando o nível 50;
- posição relativa do DMI+ e DMI- (ADX).
Ao criar uma onda composta, é fundamental testar as ondas binárias individuais primeiro, para verificar sua validade. Uma boa onda binária composta mostrará resultados superiores aos gerados pelas ondas binárias individuais que a compõem. Qualquer uma das ondas mencionadas pode ser excluída da onda composta, atribuindo a ela um peso (parâmetro Weight) igual a zero. Isso permite que você verifique a validade das ondas individuais.
A interpretação das ondas binárias é bastante clara: valores mais altos indicam uma tendência de alta, enquanto valores mais baixos indicam uma tendência de baixa. Os valores da onda binária composta dependem do número de ondas binárias individuais incluídas. Você pode "pesar" as leituras das ondas binárias de acordo com a qualidade de sua capacidade preditiva, atribuindo um valor ao parâmetro Weight correspondente. Por exemplo, um componente de uma onda binária composta pode ter um valor de 5, enquanto outro pode ser igual a 0,75. O peso total máximo da onda é mostrado entre parênteses após o nome do indicador no canto superior esquerdo da área do indicador.
Você pode suavizar uma onda binária definindo o parâmetro bLength maior que um.
Acredito que você pode entender facilmente o princípio de funcionamento deste indicador e usá-lo para criar filtros de alta qualidade para seus sistemas de negociação.
Este indicador permite escolher um tipo de suavização entre dez versões possíveis:
- SMA - média móvel simples;
- EMA - média móvel exponencial;
- SMMA - média móvel suavizada;
- LWMA - média móvel ponderada linear;
- JJMA - média adaptativa JMA;
- JurX - suavização ultralinear;
- ParMA - suavização parabólica;
- T3 - suavização exponencial múltipla de Tillson;
- VIDYA - suavização com o uso do algoritmo de Tushar Chande;
- AMA - suavização com o uso do algoritmo de Perry Kaufman.
Vale ressaltar que os parâmetros do tipo Phase para diferentes algoritmos de suavização têm significados completamente diferentes. Para o JMA, é uma variável externa de Phase que varia de -100 a +100. Para o T3, é uma razão de suavização multiplicada por 100 para melhor visualização; para o VIDYA, é o período do oscilador CMO, e para o AMA, é o período da EMA lenta. Nos outros algoritmos, esses parâmetros não afetam a suavização. Para o AMA, o período da EMA rápida é um valor fixo igual a 2 por padrão. A razão da potência também é igual a 2 para o AMA.
O indicador utiliza classes da biblioteca SmoothAlgorithms.mqh (que devem ser copiadas para a pasta terminal_data_folder\MQL5\Include). O uso das classes foi descrito detalhadamente no artigo "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers".
Este indicador foi implementado pela primeira vez em MQL4 e publicado na CodeBase em 21.08.2009.

Parâmetros de entrada do indicador:
//+-----------------------------------+ //| Parâmetros de entrada do indicador | //+-----------------------------------+ //--- peso dos indicadores. O indicador não participa do cálculo da onda em caso de valor zero input double WeightMA = 1.0; input double WeightMACD = 1.0; input double WeightOsMA = 1.0; input double WeightCCI = 1.0; input double WeightMOM = 1.0; input double WeightRSI = 1.0; input double WeightADX = 1.0; //---- Parâmetros da Média Móvel input int MAPeriod=13; input ENUM_MA_METHOD MAType=MODE_EMA; input ENUM_APPLIED_PRICE MAPrice=PRICE_CLOSE; //---- Parâmetros do MACD input int FastMACD = 12; input int SlowMACD = 26; input int SignalMACD = 9; input ENUM_APPLIED_PRICE PriceMACD=PRICE_CLOSE; //---- Parâmetros do OsMA input int FastPeriod = 12; input int SlowPeriod = 26; input int SignalPeriod = 9; input ENUM_APPLIED_PRICE OsMAPrice=PRICE_CLOSE; //---- Parâmetros do CCI input int CCIPeriod=14; input ENUM_APPLIED_PRICE CCIPrice=PRICE_MEDIAN; //---- Parâmetros do Momentum input int MOMPeriod=14; input ENUM_APPLIED_PRICE MOMPrice=PRICE_CLOSE; //---- Parâmetros do RSI input int RSIPeriod=14; input ENUM_APPLIED_PRICE RSIPrice=PRICE_CLOSE; //---- Parâmetros do ADX input int ADXPeriod=14; //---- incluindo suavização da onda input int MovWavePer = 1; input int MovWaveType = 0; input Smooth_Method bMA_Method=MODE_JJMA;// Método de suavização input int bLength=5; // Profundidade da suavização input int bPhase=100; // Parâmetro de suavização
Publicações relacionadas
- Calendário Econômico: Monitoramento e Cache para Testes de Estratégia no MetaTrader 5
- Buffers Horários para Coleta de Dados no MetaTrader 5
- Painel Gráfico: Mostre a Tendência Atual em Todos os Tempos no MetaTrader 4
- Pivot Point Personalizado com Horário de Fechamento Ajustável para MetaTrader 4
- EquiPeak Drawdown Tracker: Controle Eficiente para Seus EAs no MetaTrader 5