MACD 全名叫 [指數平滑異同移動平均線]。
找了很多資料,有些網站給的公式和計算方式都有點不太一樣,直接看數學公式實在太辛苦了,花了點時間整理和比對看盤軟體,再用Excel驗算整理出來給需要的人。
大家普遍使用MACD(12,26,9),就是12日與26日的EMA(指數平滑平均值),與9日MACD值,目前也還沒看到有人用其它的參數,其計算步驟如下:
- 每日需求指數(Demand Index,DI),DI = (最高價 + 最低價 + 2 × 收盤價) ÷ 4。 (註1)
- 首日EMA12 = 12天內DI 總和 ÷ 12
- 首日EMA26 = 26天內DI 總和 ÷ 26
- 當日平滑修正值 EMA12 = [前一日EMA12 × (12 - 1) + 今日DI × 2] ÷ (12+1)
簡化後 EMA12 = 前一日EMA12 × (11/13) + 今日DI × 2/13 - 當日平滑修正值 EMA26 = [前一日EMA26 × (26 - 1) + 今日DI × 2] ÷ (26+1)
簡化後 EMA26 = 前一日EMA26 × (25/27) + 今日DI × 2/27 - 差離值DIF = 12日EMA - 26日EMA
- 首日MACD = 9天內DIF總和 ÷ 9
- MACD = (前一日MACD × (9 - 1) + 今日DIF × 2) ÷ (9 + 1)
簡化後 MACD = (前一日MACD × 8/10 + 今日DIF × 2/10 - OSC = DIF - MACD
註1: 有些人會直接用收盤價,範例檔有比較使用收盤價直接來當DI值,結果差異不太大,OSC柱反轉時間與比例都沒有不同天的問題。
註: EMA26就需要26天的日K資料,MACD9就需要累積9天,也就是要有34天的日K棒才算的出來MACD值。
註: 指數平滑移動平均線 EMA(Exponential Moving Average),是以指數方式遞減愈久資料權重的移動平均,相對於簡單移動平均來說,更加重了近幾日值的權重,也較能反應短期的波動,算是中短線的指標。
Excel範例,以加權指數為例,下載連結:MACD.xls
不好意思,請問一下,我看了你的EXCEL檔以後,發現你沒有使用"當日平滑修正值 ",請問這個"當日平滑修正值 "是做什麼用的?為什麼需要這個東西?
回覆刪除我有用當日平滑修正值啊!
回覆刪除當日平滑修正值是為了程式化方便,在計算時只要拿前一天的結果來計算就好了,真的要準當然還是乖乖的照公式算,但為了計算快速(以前的電腦比較慢吧),才搞出來的吧,反正值不會差太多,就勉強接受了。
不過久而久之,反而變成用當日平滑修正值才是對的,積非成是吧。
Excel file 是否已移除,能不能再度享。謝謝
回覆刪除Excel file重新附上了
刪除大大你好喔
回覆刪除如果想用 繪製 週 MACD 那要怎麼辦呢?
用週線資料!
刪除可否請樓主 也作一章 (RSI) 的Excel範例
回覆刪除我弄來弄去都好像不對 也不知道那一點出錯
作者已經移除這則留言。
回覆刪除謝謝,照做成功了,非常感謝!網上其他文章、python ta library 算出來都與台灣各看盤軟體不同!難得這篇文章演示的 excel 公式計算結果與富邦 e01 軟體一致。
回覆刪除感謝分享 學會MACD公式計算了
回覆刪除