コンテンツにスキップ

MACD(Moving Average Convergence Divergence)

MACD は、2本の EMA の差からトレンドの方向、勢い、転換兆候を捉えるモメンタム指標です。単体で使うより、上位足の方向確認、時間帯別の勢い確認、価格構造との照合に使うのが実践的です。

価格チャートの下にMACDのサブパネルを表示したイメージ。MACDライン、シグナルライン、ヒストグラムが描かれている。

架空データによるイメージ図(実際の相場データではありません)。下段が MACD(12, 26, 9)。ヒストグラムのゼロ転換とラインのクロスが確認できる。

定義

MACD は短期 EMA と長期 EMA の差を使います。終値を PtP_t、期間 nn の EMA を EMAt(n)\text{EMA}_t(n) とします。

EMAt(n)=αPt+(1α)EMAt1(n),α=2n+1\text{EMA}_t(n) = \alpha P_t + (1 - \alpha)\text{EMA}_{t-1}(n), \quad \alpha = \frac{2}{n+1}

Appel 標準では短期を 12、長期を 26、シグナルを 9 とします。

MACD ライン

短期 EMA から長期 EMA を引きます。

MACDt=EMAt(12)EMAt(26)\text{MACD}_t = \text{EMA}_t(12) - \text{EMA}_t(26)
  • 0 より上なら短期 EMA が長期 EMA を上回る
  • 0 より下なら短期 EMA が長期 EMA を下回る
  • 値の拡大は短期方向の勢いを示す

シグナルライン

MACD ラインを 9 期間 EMA で平滑化します。

Signalt=EMAt(MACD,9)\text{Signal}_t = \text{EMA}_t(\text{MACD}, 9)
  • MACD ラインより遅れて動く
  • クロス判定の基準線として使う
  • ノイズを減らす代わりに反応は遅れる

ヒストグラム

MACD ラインとシグナルラインの差です。

Histogramt=MACDtSignalt\text{Histogram}_t = \text{MACD}_t - \text{Signal}_t
  • プラスなら MACD がシグナルを上回る
  • マイナスなら MACD がシグナルを下回る
  • 拡大は勢いの加速、縮小は勢いの鈍化を示す

パラメータ

パラメータ標準値意味主な用途
Fast EMA12短期の価格変化に反応する EMA直近の勢い
Slow EMA26中期の価格変化を平滑化する EMAトレンドの基準
Signal EMA9MACD ラインを平滑化する EMAクロス判定
HistogramMACD − SignalMACD とシグナルの差勢いの増減

基本は MACD(12, 26, 9) を使います。標準値は多くのチャートで初期設定になっており、市場参加者の視線が集まりやすいためです。

短期売買では (5, 20, 9)(8, 17, 9) のように反応を速める設定もあります。ただし USD/JPY の 5分足や 15分足で過度に短くすると、東京時間の薄い値動きでダマシが増えます。期間を変える場合は、勝率ではなく損益比率、最大ドローダウン、取引回数の増加を同時に確認します。

シグナル

シグナルラインクロス

  • 買いシグナル:MACD ラインがシグナルラインを下から上抜け
  • 売りシグナル:MACD ラインがシグナルラインを上から下抜け
  • ゼロライン付近のクロスは方向転換として使いやすい
  • ゼロラインから遠い位置のクロスは利確、反転警戒として扱う

クロス単体でエントリーしないこと。上位足の方向、直近高値/安値の更新、サポート/レジスタンスを同時に確認します。

ゼロラインクロス

  • MACD が 0 を上抜け:短期 EMA が長期 EMA を上回り、上方向の地合いに移る
  • MACD が 0 を下抜け:短期 EMA が長期 EMA を下回り、下方向の地合いに移る
  • シグナルラインクロスより遅いが、トレンド確認としては強い

USD/JPY の 1H でゼロライン上を維持している間は、5M / 15M の押し目買いを優先します。ゼロライン下を維持している間は戻り売りを優先します。

ヒストグラムの拡大と縮小

ヒストグラムは勢いの変化を早めに見るために使います。

買い方向

  1. ヒストグラムがマイナス圏で縮小
  2. MACD ラインがシグナルラインに接近
  3. ヒストグラムがプラス転換
  4. 価格が直近高値を上抜け

売り方向は 1–4 の反転。

ヒストグラムの縮小だけで逆張りしないこと。縮小は「勢いの鈍化」であり、「反転の確定」ではありません。

ダイバージェンス

価格と MACD の方向が食い違う状態です。

  • 強気ダイバージェンス:価格が安値を切り下げる一方、MACD は安値を切り上げる
  • 弱気ダイバージェンス:価格が高値を切り上げる一方、MACD は高値を切り下げる

ダイバージェンスは転換候補であり、エントリー条件ではありません。価格がネックラインを抜ける、直近高値/安値を更新する、または上位足の節目で反応するまで待ちます。

USD/JPY での使いどころ

  • 東京仲値(JST 09:55):実需フローで一方向に伸びた後、仲値通過後に失速しやすい。MACD クロスは仲値前の追随より、仲値後のヒストグラム縮小と価格反転を確認する
  • ロンドンオープン(JST 16:00):東京レンジの高値/安値を抜ける動きが出やすい。1H MACD がゼロライン上なら上抜け、ゼロライン下なら下抜けを優先する
  • NY オープン(JST 22:30):米金利、株式市場、指標発表の影響でボラティリティが上がる。ヒストグラム拡大中のブレイクは伸びやすいが、初動の逆噴射も多い
  • 1H MACD + 15M エントリー:1H の MACD 方向で売買方向を決め、15M のシグナルラインクロスでタイミングを取る
  • 日足 MACD:スイングの環境認識に使う。日足 MACD がゼロライン上なら円安方向、ゼロライン下なら円高方向のシナリオを優先する

USD/JPY は時間帯で流動性が変わります。東京時間はレンジになりやすく、ロンドン以降はブレイクが継続しやすい。MACD はこの違いを前提に読みます。

落とし穴

  • レンジでのダマシ:MACD はトレンド系の指標。東京時間の狭いレンジではシグナルラインクロスが連発する。直近高値/安値を抜けないクロスは無視する
  • 遅行性:EMA の差をさらにシグナルで平滑化するため、転換点では必ず遅れる。クロス確認後にエントリーすると、値幅の半分を取り逃すことがある
  • ダイバージェンスの継続:弱気ダイバージェンスが出ても上昇トレンドは継続する。強いトレンドではダイバージェンスが何度も出てからようやく反転する
  • ヒストグラム縮小の誤読:ヒストグラム縮小は反転ではなく勢いの鈍化。強いトレンドでは縮小後に再拡大して続伸、続落する
  • ゼロラインから遠いクロス:大きく上昇した後の買いクロス、大きく下落した後の売りクロスは遅い。追随ではなく利確候補として扱う
  • 時間足の混在:1H MACD が買いでも、日足 MACD が下向きなら上値は重い。下位足のクロスだけで上位足に逆らわない
  • パラメータ最適化過剰:バックテストで (7, 19, 6) のような細かい値を探すと簡単にオーバーフィットする。標準値を基準にして、変更は売買頻度と損益比率の改善が確認できる場合に限る
  • 指標発表時の無効化:米 CPI、FOMC、雇用統計では MACD の形よりニュースフローが優先される。発表直後のクロスは通常時のシグナルとして扱わない

Python 実装スケッチ

import pandas as pd
def ema(series: pd.Series, span: int) -> pd.Series:
return series.ewm(
span=span,
adjust=False,
min_periods=span,
).mean()
def macd(
close: pd.Series,
fast: int = 12,
slow: int = 26,
signal: int = 9,
) -> pd.DataFrame:
fast_ema = ema(close, fast)
slow_ema = ema(close, slow)
macd_line = fast_ema - slow_ema
signal_line = macd_line.ewm(
span=signal,
adjust=False,
min_periods=signal,
).mean()
histogram = macd_line - signal_line
return pd.DataFrame(
{
"macd": macd_line,
"signal": signal_line,
"histogram": histogram,
}
)

adjust=False を指定して再帰的な EMA として計算します。min_periods=span を指定して、期間を満たさない先頭区間で NaN を返すのが安全です。バックテストでは NaN 区間を売買対象から外し、シグナル確定足の次足で約定させます。

参考

  • Gerald Appel, The Moving Average Convergence-Divergence Trading Method
  • Gerald Appel, Technical Analysis: Power Tools for Active Investors
  • Thomas Aspray, MACD Histogram
  • John J. Murphy, Technical Analysis of the Financial Markets
  • Investopedia — “Moving Average Convergence Divergence (MACD)”