Indicadores: Average True Range (ATR)

 

Average True Range (ATR):

O Indicador Técnico Average True Range (ATR) é um indicador que mostra a volatilidade do mercado.

Ele foi introduzido por Welles Wilder em seu livro "New concepts in technical trading systems". Este indicador tem sido usado como componente de inúmeros indicadores e sistemas de negociação desde então.

O indicador Average True Range muitas vezes pode chegar a um valor alto na parte inferior do mercado depois de uma enorme queda nos preços, ocasionadas pelos vendedores em pânico. Baixos valores deste indicador são típicos para os períodos de movimentação lateral de longa duração, que acontece na parte superior do mercado e durante sua consolidação.

O indicador Average True Range pode ser interpretado de acordo com os mesmos princípios de outros indicadores de volatilidade. O princípio de previsão com base neste indicador pode ser formulada da seguinte maneira: quanto maior o valor do indicador, maior a probabilidade de uma alteração na tendência, quanto menor for o valor do indicador, mais fraco será o movimento da tendência.

Autor: MetaQuotes Software Corp.

 

No módulo de gerenciamento de dinheiro, você precisa usar o ATR com um período e um par de moedas especificados. Fiz um exemplo usando o ATR. Ao tentar compilar o Expert Advisor, recebo mais de 100 erros.

Aqui está a descrição da biblioteca padrão:

Class CiATR

A classe CiATR é uma classe para trabalhar com o indicador técnico "Average True Range".
Descrição

A classe CiATR fornece criação, configuração e acesso aos dados do indicador "Average True Range".
Declaração
class CiATR: public CIndicator

Title
#include <Indicators\Oscilators.mqh>

Esse CiATR não pode ser encontrado em lugar algum da biblioteca!!! Como faço para implementar o programa, por favor, me dê um exemplo de trabalho.

Estou interessado no acesso aos dados.

 
solo:

Não há CiATR em nenhuma parte da biblioteca!!!! Como faço para implementar o programa? Por favor, me dê um exemplo prático.

Estou interessado no acesso aos dados.

Deve haver, procure por ele. Acabei de verificar por mim mesmo.


 

Boa tarde, senhores. Ajuda para resolver o problema. Terminal MT4. Tarefa: é necessário colocar dois indicadores ATR com períodos diferentes, por exemplo, (5) e (20) em uma janela. Solução: arrastar e soltar os indicadores em uma janela. Problema: as leituras do indicador exibidas graficamente divergem dos dados exibidos na tabela de valores numéricos.

ATR (5) vermelho - 0,0112 ATR(20) - 104 Como você pode ver na figura, a linha vermelha está abaixo da linha azul. Se possível, ajude a corrigir esse erro.

 
Hekler: Se possível, ajude a corrigir esse bug.
Não se trata de um erro. Cada indicador tem sua própria escala.
 
TheXpert:
Não se trata de um bug. Cada indicador tem sua própria escala.
Bem, cada indicador tem sua própria escala. Como faço para alinhar a escala desses indicadores para, antes de tudo, determinar visualmente a posição do indicador? Ou seja, quero que a localização dos indicadores corresponda a seus valores. Isso é possível?
 
Hekler:
Bem, cada indicador tem sua própria escala. Como faço para alinhar a escala desses indicadores para, em primeiro lugar, determinar visualmente a posição do indicador? Ou seja, quero que a localização dos indicadores corresponda a seus valores. Isso é possível?
Escreva um indicador que combine dois ATRs ou fixe a escala, ou seja, defina os mesmos mínimos e máximos para ambos os indicadores.
 
TheXpert:
Escrever um indicador que combine os dois ATRs ou corrigir a escala, ou seja, definir os mesmos mínimos e máximos para os dois indicadores.
Sim, muito obrigado.
 

Estou criando um Expert Adviser, o que me levou a esse indicador ATR para que eu possa verificar os resultados do iATR().

Para minha surpresa, os resultados estavam às vezes 50, às vezes mais de 250 pontos-base fora.

Alguém mais teve essa experiência?

CipherPips

[Excluído]  

O loop parece funcionar sem essa linha ExtATRBuffer[i]=0.0; do código.

//--- os primeiros valores de AtrPeriod do indicador não são calculados
      double firstValue=0.0;
      for(i=1;i<=ExtPeriodATR;i++)
        {
         ExtATRBuffer[i]=0.0;
         firstValue+=ExtTRBuffer[i];
        }
      //--- calculando o primeiro valor do indicador

Gráfico USDJPY, M5, 2016.12.12 19:37 UTC, MetaQuotes Software Corp, MetaTrader 5, Demo