作者: 安德烈·N·波尔孔斯基
Blau的移动平均收敛/发散指标源于威廉·布劳的著作 《动量、方向与发散:应用最新动量指标进行技术分析》。
移动平均收敛/发散(MACD)技术指标是两个指数平滑移动平均线(EMA)之间的差值(快速EMA的周期为s,慢速EMA的周期为r)。
MACD的符号 表示快速s周期EMA与慢速r周期EMA的相对位置。当EMA(s)>EMA(r)时,MACD为正;反之则为负。|MACD|(绝对值)的增加表示移动平均线的发散,而|MACD|的减少则表示EMA的收敛。
- 将WilliamBlau.mqh放置在 terminal_data_folder\MQL5\Include\
- 将Blau_SM_Stochastic.mq5放置在 terminal_data_folder\MQL5\Indicators\

威廉·布劳的移动平均收敛/发散指标。
计算方法:
移动平均收敛/发散的计算公式如下:
macd(price,r,s) = EMA(price,s) - EMA(price,r)
s < r
其中:
- price - 当前周期的收盘价;
- EMA(price,r) - 适用于价格的慢速EMA,周期为r;
- EMA(price,s) - 适用于价格的快速EMA,周期为s。
威廉·布劳的MACD公式如下:
MACD(price,r,s,u) = EMA(macd(price,r,s),u) = EMA(EMA(price,s)-EMA(price,r),u)
s < r
其中:
- price - 收盘价;
- EMA(price,r) - 第一次平滑 - 适用于价格的慢速EMA;
- EMA(price,s) - 第二次平滑 - 适用于价格的快速EMA;
- macd(r,s)=EMA(price,s)-EMA(price,r) - 移动平均收敛/发散;
- EMA(macd(r,s),u) - 第三次平滑(周期为u),适用于MACD。
- r - 第一个EMA的周期(慢),适用于价格(默认r=20);
- s - 第二个EMA的周期(快),适用于价格(默认s=5)
- u - 第三个EMA的周期,适用于MACD(默认u=3);
- AppliedPrice - 价格类型(默认AppliedPrice=PRICE_CLOSE)。
- r>1, s>1;
- s<r(根据威廉·布劳的说法,代码中没有任何检查);
- u>0。如果u=1,则不使用平滑;
- 最小速率=([max(r,s)]+u-2+1)。