Indicador técnico

ZigZag NK Channel: O Indicador Essencial para MetaTrader 5
MetaTrader5
ZigZag NK Channel: O Indicador Essencial para MetaTrader 5

Neste post, vamos falar sobre o indicador ZigZag NK Channel, uma ferramenta poderosa que pode ajudar você a identificar tendências no mercado de forma mais clara. O canal é construído utilizando três pontos extremos do indicador ZigZag, o que proporciona uma visão mais detalhada dos movimentos de preço. Esse indicador conta com duas versões: uma que exibe o indicador ZigZag no gráfico (ZigZag_NK_Channel2) e outra que não o exibe (ZigZag_NK_Channel). Isso permite que você escolha a que melhor se adapta ao seu estilo de negociação. Parâmetros de entrada: //+----------------------------------------------+ //| Parâmetros de entrada do indicador                  | //+----------------------------------------------+ input int ExtDepth=12; input int ExtDeviation=5; input int ExtBackstep =3; //+----------------------------------------------+ //| Parâmetros de criação do canal           | //+----------------------------------------------+ input int FirstExtrNumb=1;                        // Índice do primeiro pico (0,1,2,3...) input color Upper_color=DeepSkyBlue;              // Cor da linha superior do canal input ENUM_LINE_STYLE Upper_style=STYLE_SOLID;      // Estilo da linha superior input ENUM_WIDTH Upper_width=w_3;                // Largura da linha superior input color Middle_color=Teal;                    // Cor da linha do meio input ENUM_LINE_STYLE Middle_style=STYLE_DASHDOTDOT; // Estilo da linha do meio input ENUM_WIDTH Middle_width=w_1;               // Largura da linha do meio input color Lower_color=Magenta;                  // Cor da linha inferior do canal input ENUM_LINE_STYLE Lower_style=STYLE_SOLID;      // Estilo da linha inferior input ENUM_WIDTH Lower_width=w_3;                // Largura da linha inferior

2011.11.25
X2MA NRTR: O Indicador que Revoluciona o MetaTrader 5
MetaTrader5
X2MA NRTR: O Indicador que Revoluciona o MetaTrader 5

O X2MA NRTR é um indicador inovador que ajusta os valores da média móvel utilizando o algoritmo NRTR (Nick Rypock Trailing Reverse). Essa ferramenta é ideal para traders que buscam uma abordagem mais precisa nas suas operações! Um exemplo de sucesso é o GODZILLA, um robô de negociação que conquistou o terceiro lugar no Campeonato de Trading Automatizado 2006, baseado em um sistema de breakout que utiliza as leituras deste indicador. Além disso, você pode escolher entre dez algoritmos diferentes para suavização: 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 usando o algoritmo de Tushar Chande; AMA - suavização usando o algoritmo de Perry Kaufman. É importante ressaltar que os parâmetros Phase1 e Phase2 têm significados diferentes dependendo do algoritmo de suavização escolhido. Por exemplo, no JMA, o Phase1 é uma variável externa que varia de -100 a +100, enquanto que 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 média móvel lenta. Nos outros algoritmos, esses parâmetros não influenciam a suavização. Vale lembrar que no AMA, o período da média móvel rápida é um valor fixo e igual a 2 por padrão. O indicador utiliza classes da biblioteca SmoothAlgorithms.mqh (que deve ser copiada para a pasta terminal_data_folder\MQL5\Include). O uso dessas classes está detalhadamente explicado no artigo "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers". Parâmetros de entrada do indicador: //+-----------------------------------+ //|  Parâmetros de entrada do indicador      | //+-----------------------------------+ input Smooth_Method MA_Method1=MODE_SMA;  // Primeiro método de suavização input int Length1=12;                     // Profundidade de suavização 1 input int Phase1=15;                      // Parâmetro de suavização 1 //---- para JJMA, Phase1 muda na faixa -100 ... +100 afetando a qualidade do processo de transição; //---- para VIDYA, Phase1 é o período do CMO, para AMA é o período da média móvel lenta input Smooth_Method MA_Method2=MODE_JJMA; // Segundo método de suavização input int Length2= 5;                     // Profundidade de suavização 2 input int Phase2=15;                      // Parâmetro de suavização 2 //---- para JJMA, Phase2 muda na faixa -100 ... +100 afetando a qualidade do processo de transição; //---- para VIDYA, Phase2 é o período do CMO, para AMA é o período da média móvel lenta input Applied_price_ IPC=PRICE_CLOSE;     // Preço constante /* o cálculo do indicador é realizado a esse preço (1-CLOSE, 2-OPEN, 3-HIGH, 4-LOW,   5-MEDIAN, 6-TYPICAL, 7-WEIGHTED, 8-SIMPLE, 9-QUARTER, 10-TRENDFOLLOW, 11-0.5 * TRENDFOLLOW.) */ input uint Step=30;                       // Tamanho das oscilações planas //---- esse parâmetro determina o tamanho das oscilações percebidas como planas (discretização digital em pontos) input uint Max_DEV=55;                    // Desvio terminal do preço em relação ao X2MA que não altera o valor da média input int Shift=0;                        // Deslocamento horizontal do indicador em barras input int PriceShift=0;                   // Deslocamento vertical do indicador em pontos

2011.11.24
XXDPO: O Indicador Para MetaTrader 5 Que Você Precisa Conhecer
MetaTrader5
XXDPO: O Indicador Para MetaTrader 5 Que Você Precisa Conhecer

Detrended Price Oscillator (DPO) é um indicador técnico que permite identificar estados de sobrecompra e sobrevenda no mercado, além de gerar sinais de compra e venda. Esse indicador é ótimo para analisar ciclos de movimentação de preços, filtrando tendências e focando nas oscilações de curto prazo. Para isso, a média móvel se transforma em uma linha, e as variações de preços que ficam acima ou abaixo dela se tornam um oscilador de tendência. O DPO é especialmente útil para destacar ciclos de curto prazo, pois a análise dessas componentes pode ajudar a identificar pontos de reversão em ciclos mais longos. Vale lembrar que ele não considera ciclos de preços de longo prazo, tornando os ciclos curtos mais evidentes. Cálculo: Esta versão do DPO é calculada da seguinte forma:XXDPO = XMA(Price[bar] - XMA(Price[bar], SMOOTH_Period), DPO_Period)onde: XMA - algoritmo de suavização; Price[] - preço atual de um ativo financeiro; SMOOTH_Period - período de suavização do indicador; DPO_Period - período de suavização do DPO; bar - índice da barra. Trabalhando com sinais de negociação: Quando o DPO está acima da linha zero (ou seja, o preço está acima da média móvel), é um sinal de alta. Por outro lado, se o DPO está abaixo da linha zero (o preço está abaixo da média móvel), é um sinal de baixa. Pontos de reversão de ciclos de longo prazo (divergências): Se o gráfico formar um pico mais alto ou uma depressão mais profunda, é hora de esperar por uma mudança de direção do preço; se um pico ou fundo é mais baixo/mais alto que o anterior, o preço tende a cair. Existem duas interpretações para os sinais de compra/venda. Devemos comprar quando: o DPO cruza a linha zero para cima;o DPO está na área de sobrevenda, confirmado por mínimas anteriores, e ao mesmo tempo a linha superior do canal é rompida tanto pelo DPO quanto pelo preço, limitando o movimento descendente. Devemos vender quando: o DPO cruza a linha zero para baixo;o DPO está na área de sobrecompra, confirmado por máximas anteriores, e ao mesmo tempo tanto o DPO quanto o preço estão rompendo uma linha de suporte de uma tendência ascendente. Embora o indicador raramente seja utilizado para gerar sinais de negociação, é importante notar que ele pode ser eficaz quando utilizado em conjunto com outros indicadores. No entanto, é uma ferramenta útil para revelar ciclos e ajustar a largura de janelas de outros indicadores. Este indicador oferece a possibilidade de selecionar algoritmos de suavização e média entre dez versões disponí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. É importante notar que os parâmetros Phase1 e Phase2 têm significados completamente diferentes para os diferentes algoritmos de suavização. Para o JMA, é uma variável externa de fase 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, é um período do oscilador CMO e, para o AMA, é um período de EMA lenta. Em outros algoritmos, esses parâmetros não afetam a suavização. Para o AMA, o período de EMA rápida é um valor fixo igual a 2 por padrão. A razão de elevação também é igual a 2 para o AMA. O indicador utiliza as classes da biblioteca SmoothAlgorithms.mqh (que devem ser copiadas para o terminal_data_folder\MQL5\Include). O uso dessas classes foi bem descrito no artigo "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers".

2011.11.23
Cycle Period: O Indicador para MetaTrader 5 que Você Precisa Conhecer
MetaTrader5
Cycle Period: O Indicador para MetaTrader 5 que Você Precisa Conhecer

Autor Original: Witold Wozniak O indicador Cycle Period é uma ferramenta projetada para medir a periodicidade das mudanças de preço de um ativo financeiro. Ele armazena os valores do ciclo de mercado atual em seu buffer, que, por razões óbvias, nunca são estáveis. Esse indicador é ideal para ser utilizado em conjunto com os osciladores, permitindo que se adaptem aos ciclos de mercado que estão em constante mudança. A criação desse indicador foi inspirada no artigo de John Ehlers "Using The Fisher Transform", publicado em novembro de 2002 na revista "Technical Analysis Of Stock & Commodities". Para que o indicador CyclePeriod funcione corretamente em outros códigos de indicadores (por exemplo, no oscilador RVI), é necessário declarar sua variável de handle em um nível global: //---- declaração de variáveis inteiras para os handles dos indicadores int CP_Handle; Logo em seguida, o handle do indicador CyclePeriod deve ser obtido no bloco de inicialização do indicador RVI: //---- obtendo o handle do indicador CyclePeriod    CP_Handle=iCustom(NULL,0,"CyclePeriod",Alpha);    if(CP_Handle==INVALID_HANDLE)      {       Print(" Falha ao obter o handle do indicador CyclePeriod");       return(1);      } Agora, temos a nova variável Alpha, que serve como parâmetro de entrada do indicador utilizado e a razão de suavização do período. Essa variável precisa ser transformada no parâmetro de entrada do indicador desenvolvido. //+----------------------------------------------+ //| Parâmetros de entrada do indicador                  | //+----------------------------------------------+ input double Alpha=0.07; // Razão de suavização do indicador O parâmetro de entrada Length deve ser removido da lista de parâmetros de entrada, transformando-o em uma variável local dentro da função OnCalculate(). O tamanho dos arrays utilizados para a suavização do indicador é fixado pelo valor do parâmetro Length: //---- Distribuição de memória para os arrays de variáveis      ArrayResize(Count,Length);    ArrayResize(Value1,Length);    ArrayResize(Value2,Length); O valor deste parâmetro está mudando agora. Portanto, é melhor definir o tamanho desses arrays para não ser menor que o valor máximo previsto para essa variável. Ao analisar os gráficos do indicador, podemos ver que esse valor não ultrapassa 100. Assim, os tamanhos dos arrays terão o mesmo valor: //---- Distribuição de memória para os arrays de variáveis      ArrayResize(Count,MAXPERIOD);    ArrayResize(Value1,MAXPERIOD);    ArrayResize(Value2,MAXPERIOD); Além disso, os valores de período para a barra atual no bloco OnCalculate() devem ser obtidos do buffer do indicador personalizado CyclePeriod para que possam ser usados no lugar do antigo parâmetro de entrada Length. //---- loop principal de cálculo do indicador    for(bar=first; bar<rates_total && !IsStopped(); bar++)      {       //---- copiar os dados que apareceram recentemente para o array       if(CopyBuffer(CP_Handle,0,rates_total-1-bar,4,period)<=0) return(RESET);       Length=int(MathFloor((4.0*period[0]+3.0*period[1]+2.0*period[2]+period[3])/20.0));       if(bar<Length) Length=bar; // cortando a suavização para o número real de barras } Nesse caso, os quatro últimos valores são retirados do buffer do indicador CyclePeriod e sua suavização linearmente ponderada é realizada. O valor obtido é então utilizado como período de suavização Length. Por fim, a linha no final do código do indicador deve ser alterada:       if(bar<rates_total-1) Recount_ArrayZeroPos(Count,MAXPERIOD); Como resultado, obtemos o oscilador Adaptive RVI:

2011.11.23
Primeiro Anterior 250 251 252 253 254 255 256 257 258 259 260 Próximo Último