Autor:
maj1es2tic (Tim Welch)
Este indicador analisa a Largura atual das Bandas de Bollinger e a compara com a Largura Máxima e Mínima das Bandas ao longo de N períodos (WidthCalcPeriod).
Se o percentual calculado for menor ou igual ao MinRangePercent, então o histograma ficará Verde. Se o percentual calculado for 2x o MinRangePercent, o histograma ficará Amarelo. Se nenhum desses critérios for atendido, o histograma ficará Vermelho.
Isso é muito útil para identificar rapidamente se o par de moedas está em uma faixa de negociação ou prestes a romper essa faixa. Se você definir ShowWidthLine como verdadeiro, também verá uma linha com a largura real das Bandas de Bollinger em PIPS. Este indicador é compatível com corretores de 4 e 5 dígitos e funciona em todos os pares de moedas.
Usando iCustom para extrair valores para um EA ou outros Indicadores Personalizados:
Você pode extrair qualquer um dos valores externamente usando o seguinte código:
int period=0; // quantas barras para trás você quer olhar? 0 == barra atual. 1 == barra anterior, etc. // Em qualquer momento, apenas um desses 3 terá um valor maior que 0. Esse valor é 300. double WelchBBWidth_Green = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 0, period); double WelchBBWidth_Yellow = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 1, period); double WelchBBWidth_Red = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 2, period); // Isso irá te dar a largura real em PIPs das Bandas de Bollinger double WelchBBWidth = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 3, period); // Esses vão te dar os valores das linhas da Banda de Bollinger. // Esses valores seriam plotados no gráfico PRINCIPAL, então são baseados no preço no gráfico. double WelchBBWidth_MiddleLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 4, period); double WelchBBWidth_UpperLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 5, period); double WelchBBWidth_LoweLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 6, period);
Você pode colocar algo assim no seu Expert Advisor:
/* * int areWeRanging(int period=0) * * Retorna 1 para VERDE (ranging) * Retorna -1 para AMARELO (início/fim da faixa) * Retorna 0 caso contrário (sem faixa) */ int areWeRanging(int period=0) { double WelchBBWidth_Green = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 0, period); double WelchBBWidth_Yellow = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 1, period); if ( WelchBBWidth_Green > 0 ) { return (1); } else if ( WelchBBWidth_Yellow > 0) { return (-1); } return (0); } // Verifica se estamos saindo de uma faixa. // Isso nos diz que a ÚLTIMA vela ainda estava em uma faixa, // mas a vela atual agora está rompendo a faixa. if ( areWeRanging(1)==1 && (areWeRanging(0)== -1 || areWeRanging(0)==0) ) { Print("Estávamos em uma faixa, mas agora rompemos a faixa! Faça uma operação se outros indicadores confirmarem o rompimento!"); }
** Use qualquer código à sua própria discrição e somente faça operações reais quando tiver a confirmação de outros indicadores. **
Imagem:

*NOTA: As linhas verticais cinza escuras e as setas vermelhas foram adicionadas para mostrar a correlação do indicador com as bandas de bollinger no gráfico e NÃO aparecerão no seu gráfico.
Divirta-se!
-Tim
Publicações relacionadas
- Calendário Econômico: Monitoramento e Cache para Testes de Estratégia no MetaTrader 5
- iMFISignAlert: O Indicador para MetaTrader 5 que Gera Alertas
- AllAverages v4.9 MT5: O Indicador Imperdível para Traders
- Buffers Horários para Coleta de Dados no MetaTrader 5
- Informações da Conta: Indicador Essencial para MetaTrader 4