Smoothed ADX by John Ehlers [

0
(0)
姓名:
Smoothed ADX by John Ehlers [ | cn ]
作者: 元報價 (2008.02.10 15:45)
已下載: 4699
下載:
Smoothed ADX by John Ehlers [ 1
ADX_Smoothed.mq4 (3.6 KB) 看法

Indicator Smoothed ADX was written on demand of a forum visitor and was not too difficult. 然而, the search for a description of the smoothed ADX algorithm resulted in nothing. This is why I give below only the code that has been provided:


輸入: {declaring inputs}
Length( 14 ),
ADXTrend( 25 ), alpha1(0.25), alpha2(0.33);

變量: {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" ) ;


的確, if you don't try to get into the deep sense underlying the initial text of the smoothed ADX, this smoothing can be divided into two stages. Suppose we have a numerical sequence P and we have to smooth it with a minimum lag. 為了這, we build at the first stage function V(P) of P-sequence oscillation from the following formula:

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

  • P0 is the current value of the sequence (a price or an indicator);
  • P1 is the preceding value of the sequence;
  • V1 is the preceding value of oscillation;
  • V0 is the current value of oscillation.

或者, in a different way:

V0 = (卷(P) + 3*V1) / 4,

在哪裡:

卷(P) = 8*P0 - 7P1 - Ehlers' burst (the term is invented by myself).

At the second stage, we apply the simple weighted smoothing:

W0 = (1*V0 + 2*W1) / (2 + 1).
在哪裡:

  • W0 is the current smoothed value of sequence P;
  • V0 the current value of P-sequence oscillation;
  • W1 is the preceding smoothed value.
In Smoothed ADX, this smoothing algorithm is applied to all three buffers of standard indicator ADX. This is why the obtained indicator is called Smoothed ADX. If we were smoothing indicator RSI, we would call it Smoothed RSI, ETC. The figure below shows that Smoothed ADX, indeed, is not so 'twitchy' as the original, standard ADX (Average Directional Movement Index).

Smoothed ADX by John Ehlers [ 2


1 評論 發表新評論, 請 登錄 或者 登記

This is a reallly good indicator. Thanks Rosh! I have one question. How would I compare the current ADXFinal value with the ADXFinal value 3 periods ago? Shouldn't it already be housed in the array? 如果是這樣, 在哪裡? I the array count down confused me a bit as it's been a long time since I've coded. TIA.

這篇文章有多有用?

點擊一顆星即可對其進行評分!

平均評分 0 / 5. 計票數: 0

目前還沒有投票! 成為第一個評價這篇文章的人.

很抱歉這篇文章對您沒有用!

讓我們改進這篇文章!

告訴我們如何改進這篇文章?



作者: 外匯維基團隊
我們是一支經驗豐富的外匯交易員團隊 [2000-2023] 致力於以我們自己的方式生活的人. 我們的主要目標是實現財務獨立和自由, 我們追求自我教育並在外匯市場上獲得豐富的經驗,以此作為實現自我可持續生活方式的手段.