Início Indicador técnico Postagem

Banda de Bollinger: Como Usar a Largura do Indicador no MetaTrader 4

Anexo
10416.zip (1.58 KB, Baixar 0 vezes)

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

    Comentário (0)