Indicadores: Donchian Channels

 

Donchian Channels:

Canais Donchian é um indicador de volatilidade para o cálculo da faixa de preço atual usando preços recentes nos valores máximos e valores mínimos.

Richard Donchian é uma figura lendária na negociação. Ele é frequentemente chamado como o fundador dos sistemas de tendência. O famoso sistema de negociação Tartaruga (Turtle) é baseado em suas obras. Donchian chegou ao sucesso realmente quando ele estava em idade muito avançada. Apesar disso, ele continuou trabalhando e provou ser um trader de sucesso, mostrando com o seu exemplo que ninguém é velho demais para os negócios.

Canais Donchian é um indicador de volatilidade para o cálculo da faixa de preço atual usando preços recentes nos valores máximos e valores mínimos. Tudo que é necessário para calcular o Canal é encontrar a maior máxima e a menor mínima durante um período definido.

Donchian Channels

Autor: Nikolay Kositsin

 

Precisamos corrigir duas linhas, para colocar as linhas baixas em vez das linhas altas destacadas em vermelho

case HIGH_LOW_OPEN:

SsMax=(open[iHighest(open,DonchianPeriod,bar)]+high[iHighest(high,DonchianPeriod,bar)])/2;
SsMin=(open[iLowest(open,DonchianPeriod,bar)]+low[iLowest(
high,DonchianPeriod,bar)])/2;
break;

case HIGH_LOW_CLOSE:
SsMax=(close[iHighest(close,DonchianPeriod,bar)]+high[iHighest(high,DonchianPeriod,bar)])/2;
SsMin=(close[iLowest(close,DonchianPeriod,bar)]+low[iLowest(high,DonchianPeriod,bar)])/2;
break;
 
Stonev:

Sim, acho que isso faz mais sentido.
 

Uma estratégia básica de breakout para Forex

Pontos de discussão:

  • Dicas de Forex para encontrar níveis de suporte e resistência.
  • Aprenda a entrar em breakouts de Forex usando os Canais de Donchian.
  • Complete um plano de negociação de breakout com ordens stop.

O mercado Forex é conhecido por suas fortes tendências, o que pode tornar a negociação de uma estratégia de rompimento uma abordagem eficaz para os mercados. Normalmente, a primeira etapa de qualquer estratégia de rompimento é identificar os principais níveis de suporte e resistência de um par de moedas. Hoje, vamos analisar o uso dos canais Donchian exatamente para esse fim, enquanto concluímos uma configuração de negociação no GBPUSD.

Vamos começar!


Negociando os Canais de Donchian

Os Canais de Donchian podem ser aplicados a qualquer gráfico para extrapolar os níveis atuais de suporte e resistência. Eles fazem isso identificando claramente a alta e a baixa em um gráfico criado durante o número selecionado de períodos. Acima, podemos ver os Canais Donchian aplicados a um gráfico GBPUSD 4Hour, usando uma configuração de 20 períodos. As linhas do canal destacam os valores de alta e baixa dos 20 períodos atuais, que podem ser usados como suporte e resistência ao negociar rompimentos. Os traders de rompimento em uma tendência de baixa procurarão que o preço rompa abaixo do canal inferior antes de criar novas entradas na direção da tendência. O mesmo ocorre em uma tendência de alta, em que os traders identificarão o canal superior como uma área potencial para entrar no mercado.

Como o preço do GBPUSD caiu até 346 pips no mês de outubro, muitos traders vão querer identificar novas entradas para vender o par em um rompimento em direção a baixas mais baixas. Com nossa baixa atual já identificada pelos Canais Donchian em 1,5913, os traders podem começar a se preparar para um rompimento abaixo desse valor. Conforme a figura abaixo, você pode encontrar um exemplo de configuração de rompimento. As ordens de entrada para vender o GBPUSD podem ser colocadas a um mínimo de um pip abaixo do suporte, de modo que os traders entrem no mercado em um rompimento para baixas mais baixas.


Definição de risco

Como em qualquer estratégia, os traders de breakout devem incorporar stops em suas negociações. Ao usar os Canais Donchian, esse processo pode ser muito fácil. Lembra-se de como o canal de preços superior (que representa a máxima de 20 períodos) atua como uma área de resistência? Em uma tendência de baixa, espera-se que o preço faça mínimos mais baixos e permaneça abaixo desse valor. Se for criada uma nova máxima, com uma quebra do canal superior, os traders deverão sair de suas posições. Os traders também podem querer seguir e mover manualmente sua ordem de parada para garantir o lucro à medida que a tendência continua. Uma dica de negociação que os traders de breakout podem empregar é mover esse stop predefinido junto com o canal de preços decrescente à medida que a negociação se move a seu favor.

 

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Indicadores: Canal Donchian

newdigital, 2014.01.18 07:34

Como usar os Canais Donchian (adaptado do artigo do dailyfx)

  • Primeiro, encontre a tendência para determinar a tendência
  • Aprenda a entrar em rompimentos de Forex usando os Canais Donchian.
  • Os canais podem ser usados para rastrear seu stop e garantir o lucro.

O mercado Forex é conhecido por suas fortes tendências, o que pode tornar a negociação de rompimentos de níveis de suporte e resistência uma abordagem eficaz para os mercados. Para planejar essas condições de mercado, hoje analisaremos uma estratégia de rompimento em três etapas usando os Canais de Donchian.

Encontre a tendência

A primeira etapa da negociação de tendências é encontrar a tendência! Há muitas maneiras de identificar as tendências mostradas abaixo, mas uma das mais fáceis é por meio do uso da MVA (Média Móvel) de 200 períodos. Para começar, adicione esse indicador ao seu gráfico e veja se o preço está acima ou abaixo da média. É assim que determinaremos a tendência e nossa tendência de negociação.

Com base nas informações acima, os traders devem procurar oportunidades para comprar o EURJPY em sua atual tendência de alta, já que o preço está acima da média. Além disso, o AUDNZD, na figura abaixo, oferece oportunidades de venda, já que o preço do par está abaixo da MVA de 200 períodos. Quando tivermos essas informações, poderemos planejar os locais de entrada para um possível rompimento.


Negociando os Canais de Donchian

Os Canais de Donchian são uma ferramenta técnica que pode ser aplicada a qualquer gráfico. Eles são usados para identificar os níveis atuais de suporte e resistência por meio da identificação do preço alto e baixo em um gráfico, durante o número selecionado de períodos. Para a estratégia de hoje, usaremos 20 períodos, o que significa que os canais serão usados para identificar a alta e a baixa de 20 dias no preço.

Como o preço do EURJPY está sendo negociado acima do MVA de 200, os traders desejarão identificar novas entradas para comprar o par em um rompimento em direção a máximas mais altas. Com nossa atual alta de 20 dias identificada pelos Canais Donchian em 145,68, os traders podem definir uma entrada para comprar o EURJPY um pip acima desse valor.


O processo de iniciar posições de venda em uma tendência de baixa é exatamente o oposto. Novamente, vamos revisitar o gráfico diário do AUD/NZD mostrado abaixo. Como o preço está abaixo do MVA de 200, os traders procurarão vender o par caso o preço crie uma nova mínima de 20 dias. Atualmente, essa baixa está em 0,8775 e os traders podem procurar iniciar novas posições de venda abaixo desse valor.


Definição de risco e trailing stops

Ao operar qualquer estratégia, deve-se considerar a definição de stops e o gerenciamento de risco. Ao usar os Canais de Donchian, esse processo pode ser simplificado. Lembra-se de como nossos canais de preços (que representam a máxima ou mínima de 20 dias) atuam como uma área de suporte ou resistência? Em uma tendência de alta, espera-se que o preço se mova para máximas mais altas e permaneça acima desse valor. Se o preço passar pelo canal inferior, representando uma nova mínima de 20 dias, os traders deverão sair de todas as posições compradas. Por outro lado, em uma tendência de baixa, os traders devem colocar ordens de parada na máxima atual de 20 dias. Dessa forma, os traders sairão de todas as posições vendidas após a criação de uma nova máxima.

Os traders também podem usar os Canais Donchian como um mecanismo para rastrear seu stop. À medida que a tendência continua, os traders podem mover seu stop junto com o canal designado. Ao rastrear um stop dessa maneira, você poderá atualizar o stop com a posição e obter lucro à medida que a tendência continua.


 

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Indicadores: Canal Donchian

newdigital, 2014.01.18 07:39

Depois de ler este artigo (acima) - você/nós podemos abrir o gráfico D1, anexar o indicador Donchian Channel (veja a primeira postagem deste tópico), anexar MA com o período 200/método simple.apply para fechar (este indicador é padrão no Metatrader 5) - e podemos fazer algumas práticas (quando o mercado estiver aberto). Você deverá ter gráficos semelhantes depois de anexar esses dois indicadores:



Depois disso, releia este artigo acima usando os gráficos do Metatrader.

Essas são todas as novidades


 

Prezados,

Obrigado por disponibilizar esse código de canais Donchian para o MT5:

https://www.mql5.com/pt/code/402?utm_campaign=MetaTrader+5+Terminal&utm_medium=special&utm_source=mt5terminal+codebase

Esse código estaria disponível para o MT4?

De fato, há códigos de canais Donchain disponíveis para o MT4, mas não são iguais a esse, pois estou interessado na configuração"Type of extreme points" (Tipo de pontos extremos):

enum Applied_Extrem //Tipo de pontos extremos
{
HIGH_LOW,
HIGH_LOW_OPEN,
HIGH_LOW_CLOSE,
OPEN_HIGH_LOW,
CLOSE_HIGH_LOW
};


Muito obrigado por sua resposta.

Louis

Donchian Channels
Donchian Channels
  • votos: 19
  • 2011.08.05
  • Nikolay Kositsin
  • www.mql5.com
Donchian Channels is a volatility indicator based on the calculation of the current price range with using the recent highest and lowest prices.
 

Alguém sabe por que o backtest demora tanto ao usar esse indicador para criar um consultor especialista?

Eu chamo esse indicador com "iCustom()", e não há nenhum erro e o robô faz o que é pretendido, mas o tempo de backtesting é "realmente longo". É muito maior do que o de qualquer outro robô que já criei, não sei por quê.

Muito obrigado!

 

Porque ele chama de volta 20 (geralmente) velas a cada tick.

Deveria ser óbvio que isso leva tempo.

 

Esse indicador só funciona corretamente se a margem for definida como 0, as cores são inválidas, tudo é obsoleto.


Aqui está uma versão revisada, com código reduzido. 86 linhas em vez de 232 linhas.

//+------------------------------------------------------------------+
//|DCCH.mq5 |
//|Direitos autorais © 2018 Ing. Otto Pauser
//| https://www.mql5.com/pt/users/kronenchakra |
//+------------------------------------------------------------------+
#property copyright     "Direitos autorais © 2019 Ing. Otto Pauser"
#property link          "https://www.mql5.com/pt/users/kronenchakra"
#property version       "1.0"
#property description   "DCCH - Donchian Channel corrected and simplified"

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_plots   3

//+------------------------------------------------------------------+
input int   inp_Period     =           20;   // Período
input int   inp_Offset     =            0;   // Deslocamento (pontos)
input int   inp_Shift      =            0;   // Turno
input int   inp_LineWidth  =            2;   // Largura da linha
input color inp_lineColor  = clrSteelBlue;   // Linecolour
//+------------------------------------------------------------------+

double buUpper[];
double buMidle[];
double buLower[];

double upper,lower,offset;
int    first,bar;

//+------------------------------------------------------------------+
void OnInit()
{
   InitBuffer(buUpper,"Donchian Upper");
   InitBuffer(buMidle,"Donchian Center");
   InitBuffer(buLower,"Donchian Lower");
   IndicatorSetString(INDICATOR_SHORTNAME,"Donchian("+IntegerToString(inp_Period)+")");
   offset=inp_Offset*_Point;
}

//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
   if(rates_total<inp_Period+1) return(0);

   first=(prev_calculated==0)?inp_Period:prev_calculated-1;

   for(bar=first; bar<rates_total; bar++)
      {
         upper=high[ArrayMaximum(high,bar-inp_Period+1,inp_Period)];
         lower=low [ArrayMinimum(low ,bar-inp_Period+1,inp_Period)];
         buUpper[bar]=upper+offset;
         buLower[bar]=lower-offset;
         buMidle[bar]=(upper+lower)*0.5;
      }

   return(rates_total);
}

//+------------------------------------------------------------------+
//| poderia ser terceirizado para um .mqh|
//+------------------------------------------------------------------+
void InitBuffer(double &buffer[], string plotlabel)
{
   static int bufferindex=0;
   SetIndexBuffer     (bufferindex,buffer,INDICATOR_DATA);

   PlotIndexSetInteger(bufferindex,PLOT_DRAW_TYPE ,DRAW_LINE);
   PlotIndexSetInteger(bufferindex,PLOT_LINE_STYLE,STYLE_SOLID);
   PlotIndexSetInteger(bufferindex,PLOT_LINE_WIDTH,inp_LineWidth);
   PlotIndexSetInteger(bufferindex,PLOT_LINE_COLOR,inp_lineColor);
   PlotIndexSetString (bufferindex,PLOT_LABEL     ,plotlabel);
   PlotIndexSetInteger(bufferindex,PLOT_SHIFT     ,inp_Shift);
   PlotIndexSetInteger(bufferindex,PLOT_DRAW_BEGIN,inp_Period-1);
   PlotIndexSetDouble (bufferindex,PLOT_EMPTY_VALUE,EMPTY_VALUE);

   bufferindex++;
}
Arquivos anexados:
DCCH.mq5  7 kb
 

Alguém poderia me ajudar a acertar a codificação para chamar as bandas superior, média e inferior?


Obrigado, pessoal, e desculpe-me pela pergunta noob, é a primeira vez