著者: アンドレイ・N・ボルコンスキー
ウィリアム・ブラウによる移動平均収束発散(MACD)インジケーターは、書籍「モメンタム、ディレクション、ダイバージェンス:テクニカル分析のための最新のモメンタムインジケーターの適用」に詳しく説明されています。
MACDは、2つの指数平滑移動平均(EMA)の差を表します(短期EMAの期間はs、長期EMAの期間はrです)。
MACDの符号は、短期s期間EMAと長期r期間EMAの相対的な位置を示します。EMA(s)がEMA(r)より大きいときはプラス、逆に小さいときはマイナスになります。|MACD|の増加は移動平均の乖離を示し、減少は収束を示します。
- WilliamBlau.mqhはterminal_data_folder\MQL5\Include\に配置してください。
- Blau_SM_Stochastic.mq5はterminal_data_folder\MQL5\Indicators\に配置してください。

ウィリアム・ブラウによる移動平均収束発散(MACD)
計算方法:
移動平均収束発散は、次の式で計算されます:
macd(price,r,s) = EMA(price,s) - EMA(price,r)
s < r
ここで:
- price - 現在の期間の終値;
- EMA(price,r) - 期間rの遅いEMA、価格に適用;
- EMA(price,s) - 期間sの速いEMA、価格に適用。
ウィリアム・ブラウによる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) - 1回目の平滑化 - 遅いEMA、価格に適用;
- EMA(price,s) - 2回目の平滑化 - 速いEMA、価格に適用;
- macd(r,s)=EMA(price,s)-EMA(price,r) - 移動平均の収束/発散;
- EMA(macd(r,s),u) - 3回目の平滑化(期間u)、MACDに適用。
- r - 1回目のEMAの期間(遅い)、価格に適用(デフォルト値r=20);
- s - 2回目のEMAの期間(速い)、価格に適用(デフォルト値s=5);
- u - 3回目のEMAの期間、MACDに適用(デフォルト値u=3);
- AppliedPrice - 価格タイプ(デフォルト値AppliedPrice=PRICE_CLOSE)。
- r>1, s>1;
- s<r(ウィリアム・ブラウによる、コード内にチェックはありません);
- u>0。u=1の場合、平滑化は使用されません;
- 最小レート =([max(r,s)]+u-2+1)。