網上關於MACD計算的教學並不少.而這篇主講述如何利用ArrayFormula 用到極致把 MACD 化致最簡潔的版本. 以下用恆生指數做例子
方程一:
用GOOGLEFINANCE導入歷史數據,並用QUERY 整理,在A1輸入方程:
=Sort(GOOGLEFINANCE("INDEXHANGSENG:HSI","Close",today()-200,today(),"daily"),1,False)
注意:
1. 由於近期資訊更為重要,所以請善用Sort, 把新資料置頂.
2. 開始日期必須設早一點以用於EMA起始計算.
方程二和三:
計算EMA,公式為:
其中Smoothing 設為2, 而計算EMA12只需在C2輸入方程:
=ArrayFormula(if(A2:A="","",2/(12+1)*B2:B+(1-2/(12+1))*C3:C))
計算EMA26只需在D2輸入方程:
=ArrayFormula(if(A2:A="","",2/(26+1)*B2:B+(1-2/(26+1))*C3:C))
注意:
1.核心方程為: 2/(12+1)*B2+(1-2/(12+1))*C3, 如使用這方程需要往下拉方程.
2.反覆計算必須開啟.
計算DIF (EMA12-EMA26), 在E2中輸入方程:
=ArrayFormula(if(A2:A="","",C2:C-D2:D))
方程五:
計算DEA, 和計算EMA 的方法一樣, 在F2輸入方程:
=ArrayFormula(if(A2:A="","",2/(9+1)*E2:E+(1-2/(9+1))*F3:F))
方程六:
計算MACD, 在G2輸入方程:
=ArrayFormula(if(A2:A="","",2*(E2:E-F2:F)))
到這裡計算部分基本完成, 把圖表美化一下即可做出媲美tradingview的圖表,
以下為實作, 歡迎參觀和指教:
沒有留言:
發佈留言