Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Indicadores

ADX Suavizado por John Ehlers - indicador para MetaTrader 4

Visualizações:
2774
Avaliação:
(18)
Publicado:
2016.03.22 09:33
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

O Indicador ADX Suavizado foi escrito a pedido de um visitante no fórum e não foi muito difícil. No entanto, a busca de uma descrição do algoritmo ADX suavizado não teve resultado algum. É por isso que eu exibo abaixo apenas o código que foi fornecido:



Inputs: {declaring inputs}
     Length( 14 ),
     ADXTrend( 25 ), alpha1(0.25), alpha2(0.33);
 
variables: {declaring variables}
     DMIPlus( 0 ), DMIMinus( 0 ), DMI( 0 ), ADX( 0 ), 
     DIPlusLead(0), DIMinusLead(0), DIPlusFinal(0), DIMinusFinal(0),
     ADXLead(0), ADXFinal(0);

{now calling the built-in ADX functions, so we don't need to calculate them}
Value1 = DirMovement( H, L, C, Length, DMIPlus, DMIMinus, ADX);
 
{this part is the actual smoothing of the original ADX indicator, DI+, DI- and ADX lines are smoothed}
DIPlusLead = 2*DMIPlus + (alpha1 - 2) * DMIPlus[1] + (1 - alpha1) * DIPlusLead[1];
DIPlusFinal = alpha2*DIPlusLead + (1 - alpha2) * DIPlusFinal[1];
 
DIMinusLead = 2*DMIMinus + (alpha1 - 2) * DMIMinus[1] + (1 - alpha1) * DIMinusLead[1];
DIMinusFinal = alpha2*DIMinusLead + (1 - alpha2) * DIMinusFinal[1];
 
ADXLead = 2*ADX + (alpha1 - 2) * ADX[1] + (1 - alpha1) * ADXLead[1];
ADXFinal = alpha2*ADXLead + (1 - alpha2) * ADXFinal[1];
 
{Plotting them on chart}
Plot1( DIPlusFinal, "DMI+" ) ;
Plot2( DIMinusFinal, "DMI-" ) ;
Plot3( ADXFinal, "ADX" ) ;


Na verdade, se você não tentar entrar no sentimento profundo, subjacente ao texto inicial do ADX suavizado, esta suavização pode ser dividida em duas fases. Suponha que temos uma sequência numérica P e temos de suaviza-la com um atraso mínimo. Para isso, nós construímos na primeira fase da função V(P) de oscilação da sequência P a partir da seguinte fórmula:

     V0 = (8*P0 - 7*P1 + 3*V1) / 4,
onde:

  • P0 é o valor atual da sequência (um preço ou um indicador);
  • P1 é o valor anterior da sequência;
  • V1 é o valor anterior de oscilação;
  • V0 é o valor atual de oscilação.

Ou, de modo diferente:
    
     V0 = (Vol(P) + 3*V1) / 4,
onde:
   
     Vol(P) = 8*P0 - 7P1 - explosão de Ehlers (o termo foi inventado por mim).

Na segunda etapa, aplicamos a suavização ponderada simples:
 
     W0 = (1*V0 + 2*W1) / (2 + 1).
onde:

  • W0 é o valor suavizado atual de sequência P;
  • V0 é o valor atual da oscilação de sequência P;
  • W1 é o valor suavizado anteriormente.
No ADX suavizado, este algoritmo de suavização é aplicado a todos os três buffers do indicador ADX padrão. É por isso que o indicador obtido é chamado de ADX Suavizado. Se estivéssemos suavizando o indicador RSI, diríamos RSI Suavizado, etc. A figura abaixo mostra que o ADX Suavizado, na verdade, não é tão "nervoso", como o ADX original, (Index Average Directional Movement) padrão.

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/7072

Ichimoku Alternativo Ichimoku Alternativo

O indicador Ichimoku Alternativo foi desenvolvido como uma alternativa para o famoso indicador de Ichimoku Kinko Hyo. Para uma previsão mais precisa, é melhor anexar ambos os indicadores em apenas um tempo gráfico - Ichimoku Kinko Hyo e Ichimoku Alternativo.

Centro de Gravidade por J.F. Ehlers Centro de Gravidade por J.F. Ehlers

O Centro de Gravidade é um oscilador desenvolvido por John F. Ehlers, introduzido em seu artigo na revista Stocks & Commodities (Maio de 2002).

Halifax Halifax

Estimado de tendência de vanguarda com bandas.

Frank_ud Frank_ud

O Expert Advisor Frank_ud para todos os tempos no mercado em ambos os lados.