: | : | :期货量化学习 | :期货量化 |
返回列表 发帖

[MC源码] 技術指標DMI

[MC源码] 技術指標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天,那麼圖形開始的數字才會比較正確。

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

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)
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

TOP

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

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

 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天的最大讀數,進場建立部位。同樣地,必須根據其他訊號決定做多或放空。

範例
  短線上完成圓弧底突破,ADX同時由9.97上升到21.89,果然大漲一波。
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

TOP

返回列表