廣告贊助

106/5/9更新:提供 java 完整程式。

105/12/27更新:增加「htm.DMI二式」

  (DMI)是美國威爾德(Welles Wilder JR.)所提出的交易方法,DM1全名為Directional Movement Index,中文簡稱趨向指標,為判斷波段走勢相當實用的技術分析方法。

  DMI的基本原理,是股價在上漲及下跌過程中,藉創新高價或新低價的動能,研判多空買賣力道,藉以尋求多空雙方力道的均衡點,以及股價在多空雙方互動下,波動的趨勢循環過程。

  相較MACD為中期技術指標,DMI可視為中長期技術指標。一旦DMI出現較強的訊號,後市的漲幅或跌幅將相當可觀,為很實用及有效的技術指標。

  以下整理DMI的計算方法以及廖繼宏先生(我的技術線型會轉彎)、Dr. Alexander Elder(操作生涯不是夢)與凡‧沙普(交易‧創造自己的聖盃) 的看法,最後舉幾個操作應用實例。

威爾德平滑法(或稱KD式平滑法)

  因DMI公式必須使用到KD平滑法故需先予以說明。

  威爾德平滑法的原文是  Wilder’s Smoothing,這是一種「加權」的移動平均線算法。

  MA t = MA t-1 + ( P t  -  MA t-1 ) / N

  其中 N 為平滑平均天數, t 為當日值, t-1為前一日值。起始值計算取前N根做簡單平均數。在此我們將這個公式改寫一下:

  MA t = MA t-1 + ( P t – MA t-1) / N
      = MA t-1 + 1/N * P t – 1/N * MA t-1
      =( 1 – 1/N) * MA t-1 + 1/N * P t

  最後的公式其實與我們算KD指標的公式是完全一樣的,可知威爾德式平滑法就是我們常用的 KD式平滑法。在使用這個指標時,必需要注意因為它在初始值時,是會逐漸收斂的,也就是必須要經過一段時間收斂後的數字才會穩定而正確, 因此要採用這種平滑方式時,最好把資料再往前多推一段時間才會比較準確。比如說,要算6天均值,一般是要往前多推5天的數字,第一個平均值才會是6天均值,例如在算RSI或其他指標值時,最好將資料往前推6天均值的3倍18天,那麼圖形開始的數字才會比較正確。

DMI的計算公式與程式實作

以下參考 MoneyDJ 「DMI指標介紹」的公式

1. 計算TR值 (當日價格與前一日價格相比之最大波動值)

  TR(True Range)為波動實值,其算法為取以下三值中的最大一值,如下:

  (1)、為當日最高價減去當日最低價。

  (2)、∣Ht-C(t-1)∣ 為當日最高價減去前一日收盤價的絕對值。

  (3)、∣C(t-1)-Lt∣為前一日收盤價減去當日最低價絕對值。

  公式TR=MAX(Ht-Lt,∣Ht-C(t-1)∣,∣C(t-1)-Lt∣)

  可簡化為 TR=MAX(Ht,Lt,前日收) - MIN(Ht,Lt,前日收)

  再計算 TR(14):起始值計算取前14根做平均數,之後使用「KD式平滑法」如前述,如下:

  當日TR(14)=前一日TR14*(13/14) + 今日TR*(1/14)

2. 計算DM值:包括+DM{正趨向變動值} 及 -DM{負趨向變動值}

  須計算「+DM」、「-DM」、「真實+DM」、「真實-DM」、「+DM(14)」、「–DM(14)」

  1. 把當日最高價減去前一日最高價 = +DM。

  2. 前一日最低價減去當日最低價 = -DM。

  3. 若+DM>-DM成立,且+DM大於0,則「真實+DM」= +DM,若+DM小於等於0,則「真實+DM」= 0。

  4. 同理,若+DM<-DM且-DM大於0,則「真實-DM」= -DM,若-DM小於等於0,則「真實-DM」= 0。

  5. 接下來計算 +DM(14)與 –DM(14)之值。

  起始值:可先用前14天之「真實+DM」的平均數做為第一天之+DM(14),用前14天之「真實-DM」的平均數做為第一天之-DM(14),而後計算如下:

  當日+DM(14)=前一日+DM(14)*(13/14) + 當日真實+DM*(1/14)

  當日-DM(14)=前一日 -DM14*(13/14) + 當日真實 -DM*(1/14)

 

3. 計算DI值

  +DI(14)=+DM(14)/ TR(14) * 100

  -DI(14)=-DM(14)/ TR(14) * 100

4. 計算DX及ADX

  ADX(趨向平均線)是用來判別14日內價格變動趨勢的明顯度,計算如下:

  先取DX值:DX=∣(+DI 14)- (-DI14)∣/ ((+DI14)+ (-DI14)) * 100。

  再取ADX值:起始值計算比照DM(14)之計算方式,取前14根做平均數。

  當日ADX(14)=前一日ADX*(13/14) + 今日DX*(1/14)

5. 程式設計

  Google雲端硬碟:【CalcDmi.java】 

DMI指標的運用原則

  DMI指標最主要是利用+DI上升方向線,以及-DI下降方向線的交叉訊號研判買賣時點,配合ADX線的方向及強度,更可清楚研判漲勢或跌勢。

  1. 當+DI,大於-Dl時.僅由多方進行交易。當-Dl, 大於+DI時,僅由空方進行交易。最適合進場做多的 時機是+DI,與ADX都位在-DI的上方,而且ADX上升。這代表上升趨勢正在轉強。建立多頭部位之後, 停損設定在最近次要低點的下側。最適合進場做空的時機是-DI與ADX都位在+DI的上方,而且ADX 上升。這代表下降趨勢正在轉強。建立空頭部位之後, 停損設定在最近次要高點的上側。

 

dmi-3.gif

 

dmi-4.gif

  2. 當ADX下降時,代表市場逐漸喪失方向感。這就如同漲、退潮之間的水流方向變幻莫測。當ADX下降時,最好不要採用順勢交易方法,因為經常發生反覆的訊號。

  3. 當ADX下降而同時低於兩條趨向線,這代表沉悶的橫向走勢。不可採用順勢交易方法,但應該開始準備。因為這相當於是暴風雨之前的寧靜,主要的趨勢經常由此發動。

  4. 當ADX下降而同時低於兩條趨向線,這是趨向系統發出最佳訊號的位置。這種情況維持愈久,下一波走勢的基礎愈穩固。當ADX由兩條趨向線的下側位置開始翻升,代表行情已經甦醒過來。在這種情況下,如果ADX由底部向上翻升四點(例如:由9到13),相當於宣告新趨勢的誕生,代表熱騰騰的多頭市場或空頭市場已經出爐(參考圖27-3)。當時,如果+DI位在上方,則買進而停損設定在最近次要低點的下側;如果-DI位在上方。則放空而停損設定在最近次要高點的上側。

  舉例來說,假定兩條趨向線都位在讀數12之上,而且+DI高於-DI。如果ADX的讀數由8上升到12代表新上升趨勢的開始。在另一方面,假定兩條趨向線都位在讀數13之上。而且-DI高於+DI 。如果ADX的讀數由9上升到I3,代表新下降趨勢的開始。

  趨向系統具有一個獨特的功能,它可以告訴你,主要的新趨勢何時可能開始。對於特定的市場,這類的訊號可能每年發生一、二次,宣告小牛或小熊的誕生。當時,金額上的風險通常有限,因為趨勢才剛形成,價格波動很低。

dmi-5.gif

 

  5. 當ADX上升而同時高於兩條趨向線,代表行情過熱。在這種情況下,當ADX向下反轉,顯示主要的趨勢可能發生突變,部位應該獲利了結。如果你同時交易數口契約,至少應該了結一部分。

 

  市場指標可能提供明確或模糊的訊號。舉例來說,價格跌破低點或移動平均轉變方向,這都屬於明確的訊號。ADX向下反轉,則是屬於模糊的訊號。當你察覺ADX由上翻下時,加碼必須非常非常謹慎。你應該開始獲利了結,尋找出場的機會而不應該再加碼。

 

以下幾點是廖繼宏先生的實務經驗:

  1. 在個人實務操作經驗上,一旦DMI出現較強的訊號,後市的漲幅或跌幅將相當可觀。

  2. ADX線上升角度較強,且大於20以上時,表示中長期漲勢更加確定,突破30以上,則後市將大漲或大跌一段。

  3. ADX值是一個適合判別中長期趨勢的指標,不適合運用在短期操作上。

  4. 在漲勢中,當ADX線由上升方向轉為下降時,表示漲勢即將結束。在跌勢中,當ADX線由上升力向轉為下降時,表示跌勢即將結束。(同第2點)

 

  以下摘自「交易‧創造自己的聖盃」/ 凡‧沙普

  關於趨向指標的運用,最重要的延伸可能是平均趨向指數(average directional movement index,簡稱ADX)。ADX就是趨向變動指數的移動平均,移動平均期間通常設定與前述計算的期間相同(換言之,14)。

  拉寶與盧卡斯表示,「適當解釋ADX可以顯著提升交易者選擇好市場的成功率。」他們相信ADX可以把價格趨勢強度數量化,而且他們自認為在這方面的研究相當投入。我與拉寶經常一起舉辦講座,相當瞭解他對於ADX的熱愛與運用。

  大體上,ADX讀數愈大,市場的趨向愈明確。可是,我們不知道趨勢究竟是向上或向下。另外,ADX讀數愈小,市場愈缺乏趨向。所以,ADX讀數大小,可以顯示市場的趨勢強度,但沒有顯示趨勢方向。

  拉寶與盧卡斯認為,我們不能根據ADX數值大小而判斷趨勢的強弱。他們提出下列建議:

  1.只要ADX讚數位在15之上,而且讀數繼續上升,就代表市場存在趨勢。

  2. ADX的上升速度愈快,趨勢愈強。舉例來說,ADX由15上升到20,其代表的趨勢,可能強過ADX由25上升到27。

  3. ADX讀數下降,代表趨勢轉弱,市場已經不存在明確趨勢。

  4.只要ADX處於上升狀態,擺盪指標所顯示的超買或超賣,將沒有意義。換言之,顯示超買或超賣的擺盪指標,只有在ADX處於下降狀態才有用。

  說明ADX的進場訊號之前,首先談談ADX經常碰到的兩個問題突兀變動與時間落後。

  如果價格走向突然改變 (換言之,價格走勢圖出現突兀線型)ADX很難調整。舉例來說,如果行情突然改變方向,拉寶與盧卡斯建議使用的長期ADX會突然走平,顯示市場缺乏趨勢。所以,這很可能讓交易者忽略了可交易的反向趨勢。

  其次,就如同任何長期移動平均一樣,長期ADX存在時間落後的問題。換言之,唯有當趨勢已經進行相當程度,ADX才會呈現趨勢明確的訊號。所以,對於短線交易者,或者想要及早進場的人,這都是很可慮的缺點。當然,如果我們只想掌握非常強勁的趨勢,那麼ADX的時間落後就不是問題。

  現在,各位已經瞭解什麼是趨向變動與ADX,接下來準備談談一些有用的進場訊號。下列進場訊號只代表我提供的一些建議:

  1. DI+向上穿越DI-,而且前一天最高價被穿越,進場做多;DI-向上穿越DI+,而且前一天最低價被穿越,進場做空。

  這是韋達最初的使用方式,他相信DI+與Dl-之間的交叉訊號很重要。

  2. ADX在2天之內增加4點,進場建立順向部位。當然,你需要透過某種架構判斷市場趨勢方向 (譬如:運用肉眼觀察),因為ADX只能顯示趨勢強弱,不能顯示趨勢方向。

  3. 當ADX到達最近10天的最大讀數,進場建立部位。同樣地,必須根據其他訊號決定做多或放空。

範例--2367耀華

  短線上完成圓弧底突破,ADX同時由9.97上升到21.89,果然大漲一波。

991201耀華日.gif

000522-耀華.gif  

htm.DMI二式

  亢龍有悔:多空太HIGH的時候,突然出現ADX下降>4且MACD配合,為趨勢反轉之兆。

  見龍在田:先出現「潛龍勿用」(adx在+DI,-DI之下一長段時間),然後adx突然穿越+DI或-DI且MACD配合,亦為趨勢反轉之兆。

ADX-1031030.png

 

ADX-104605.png

ADX-1050129.png

ADX-1040901.png

 

ADX-1050524.png

ADX-1020527.png

 

創作者介紹
創作者 jesse0606 的頭像
jesse0606

奇正

jesse0606 發表在 痞客邦 留言(2) 人氣()


留言列表 (2)

發表留言
  • joey0415
  • 版主選股功力的確有一套!小弟仍需多學習
  • cindy
  • ADX可以顯示市場的趨勢強度,但没有顯示趨勢方向。趨勢只有上或下然後才有強度,你說不能顯示趨勢方向,没有方向的意思可以再說明白昜懂嗎?謝謝