MACD计算详解

1、计算移动平均值(EMA)

12日EMA的算式为

EMA(12)=前一日EMA(12)×11/13+今日收盘价×2/13

26日EMA的算式为

EMA(26)=前一日EMA(26)×25/27+今日收盘价×2/27

2、计算离差值(DIF)

DIF=今日EMA(12)-今日EMA(26)

3、计算DIF的9日EMA

根据离差值计算其9日的EMA,即离差平均值,是所求的MACD值。为了不与指标原名相混淆,此值又名DEA或DEM。

今日DEA(MACD)=前一日DEA×8/10+今日DIF×2/10
EMA(12)=前一日EMA(12)×11/13+今日收盘价×2/13---------为什么这样计算?
DEA(MACD)=前一日DEA×8/10+今日DIF×2/10 --------------为什么要这样计算?
为什么这里没有平滑系数?

正确的公式应该是:EMA(12)=今天收盘价*2/13 + 前天EMA(12)*11/13
EMA(26)=今天收盘价*2/27 + 前天EMA(26)*25/27
DIF=EMA(12)-EMA(26)
DEA=DIF*2/10 + 前天DEA*8/10
BAR=(DIF-DEA)*2

2/13跟2/27就是平滑系数.

另外很多关于前天EMA及前天DEA计算的说明都不清晰或是错误的.
这里面关键是第二天过渡值的计算.

如一只股票前天上市,或你要计算今天的MACD值.具体如下:

第一天: 由于刚上市所以5个参数均为0.

第二天:EMA(12)=今天收盘价*2/13 + 前天收盘价*11/13
EMA(26)=今天收盘价*2/27 + 前天收盘价*25/27
DIF=EMA(12)-EMA(26)
DEA=DIF*2/10 + 0*8/10(即0,因为前天DEA=0)
BAR=(DIF-DEA)*2

第三天:按先前提供的公式代入即可,因为前天EMA跟前天DEA这两个参数已经出现.如果是中途计算结果会出现偏差但经过一段时间的累积后就可以得到修正.
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-12-28
MACD对技术流投资者的重要性不言而喻。然而,很多资料对其详细算法都语焉不详。尤其是第一天和第二天的MACD的处理方式,很多说法有差别。今天查了查资料,终于搞清楚了其计算方法。用该方法计算理工检测,法因数控等股票MACD,和大智慧或者飞狐交易师上面显示的DIFF,DEA以及MACD完全吻合。
关键的一点是:新股上市首日,其DIFF,DEA以及MACD都为0,因为当日不存在前一日,无法做迭代。而计算新股上市第二日的EMA时,前一日的EMA需要用收盘价(而非0)来计算。另外,需要注意,计算过程小数点后四舍五入保留4位小数,最后显示的时候四舍五入保留3位小数。
具体 计算公式及例子如下:
EMA(12)= 前一日EMA(12)×11/13+今日收盘价×2/13
EMA(26)= 前一日EMA(26)×25/27+今日收盘价×2/27
DIFF=今日EMA(12)- 今日EMA(26)
DEA(MACD)= 前一日DEA×8/10+今日DIF×2/10
BAR=2×(DIFF-DEA)
对理工检测:
20091218日:
新股上市,DIFF=0, DEA=0, MACD=0,收盘价55.01
20091219日:
收盘价53.7
EMA(12)=55.01+(53.7-55.01)×2/13=54.8085
EMA(26)=55.01+(53.7-55.01)×2/27=54.913
DIFF=EMA(12)- EMA(26)= 54.8085 - 54.913 = -0.1045 (-0.104?)
DEA=0+(-0.1045)X2/10=-0.0209
BAR=2*((-0.1045)-(-0.0209))=-0.1672
对法因数控:
20080905日:
新股上市,DIFF=0, DEA=0, MACD=0,收盘价12.34
20080908日:
收盘价11.11
EMA(12)=12.34+(11.11-12.34)×2/13=12.1508
EMA(26)=12.34+(11.11-12.34)×2/27=12.2489
DIFF=EMA(12)- EMA(26)= 12.1508 - 12.2489 = -0.0981
DEA=0+(-0.0981)X2/10=-0.01962
BAR=2*((-0.0981)-(-0.01962))=-0.15696

Python运行效率确实不高,计算沪深两市10年来MACD日线金叉情况竟然需要运行10分钟 ,还是得换Java来。需要计算一下不同周期(日线,60分钟线...)低位二次金叉买入,死叉卖出的盈利和亏损情况。
第2个回答  2009-10-24
移动加权平均指标,根据时间长短,会有所差异,一般来说,时间较短的,变化快一些,时间较长的变化骄慢一些。他们所形成的向上金叉,或向下死叉。反映的市场走向。
第3个回答  2009-10-24
第4个回答  2020-11-25

MACD的特殊用法

相似回答