<MACDってどんなものか>
MACDは「Moving Average Convergence/Divergence Trading Method」の略で、日本語では移動平均・収束・拡散手法と言いMACDは移動平均を発展させ、より精度の高い分析をするために1979年にジェラルド・アペルによって開発され、"Systems & Forecasts"で発表された比較的新しいテクニカル分析です。

MACDに傾きからトレンドの方向性を見るといった利用方法もあり、MACDは騙しが少なく使いやすいということで根強い人気がある指標の一つです。

この指標はオシレーター系とトレンド系の2つの特性を兼ね備えており、MACDは主にトレンド系の指標として、相場が大きく動いているときにその効果を発揮します。

MACDはトレンドを形成しながら上昇または下降する時、それに追随してまず短期の移動平均線が動き、遅れて長期の移動平均線が動き、長期線と短期線の価格差(ヒストグラム)を表示します。

これにより、現状の相場が転換する可能性と、もしくは値動きにおけるトレンド継続ポイントを判断します。

Vトレのワンポイントアドバイス

大きなトレンドが発生している時は注意が必要です。MACDが相場の流れと逆行した時は相場が天底に近いことを示すことがあります。

MACDのシステムトレードは4つ

・MACDファストライン/シグナルラインクロスシステム「MACD FastLine /Signal Line Cross System」
・MACDファストライン/ゼロクロスシステム「MACD FastLine /Zero Cross System」
・MACDヒストグラムトップス/ボトムリバーサルシステム「MACD Histogram High / Low Breakout System」
・MACDヒストグラムトップス/ボトムリバーサルシステム「MACD Histogram Tops / Bottoms Reversal System」

MACDファストライン/シグナルラインクロスシステム

FX取引初心者にもお勧めできる基本的な使い方はEMAと呼ばれる移動平均線をベースにオシレーター系の2本のラインのゴールデンクロスとデットクロスでタイミングを計る方法です。

MACDファストライン/シグナルラインクロスシステムのトレンドの判断
・上昇トレンドと判断するときはゼロ付近もしくはそれ以下から上昇し、プラスの圏内に推移していこうとしているとき。
・下降トレンドと判断するときはゼロ付近もしくはそれ以上から下落し、マイナス圏内で推移していこうとしているとき。 つまり、簡単に言うとプラス圏内だと上昇トレンドで、マイナス圏内だと下降トレンドということになります。

MACDファストライン/シグナルラインクロスシステムの転換の判断
短期の移動平均線が横ばいまたは反転するのに対し、長期の移動平均線はそれまでのトレンドを継続するため、急速に価格差が縮小して、MACDの値がゼロに近づきます。
したがって、MACDの天井圏、底値圏がトレンド反転の早期のサインと判断することもできます。

MACDファストライン/シグナルラインクロスシステムの売買判断

売買サインは、MACDとシグナル線のクロス、MACDとゼロラインのクロス、MACDやシグナル線の方向の転換などが一般的に使用されます。 以前に反転した位置がその後の反転ポイントの目安となります。

MACDファストライン/シグナルラインクロスシステムの買いシグナル
・価格が底にある状態でFastラインが上向いた時
・Fast ラインがSignal(trigger)ラインを下から上抜けた時
・上記2.の状態で両ラインが0を上回った時信頼性がUP

MACDファストライン/シグナルラインクロスシステムの売りシグナル

・価格が天井にある状態でFast ラインが下向いた時
・Fast ラインがSignal(trigger)ラインを上から下抜けた時
・上記2.の状態で両ラインが0を下回った時信頼性がUP

MACDファストライン/シグナルラインクロスシステムのスクリプト

{Moving Average Convergence Divergence (MACD)}

Fast:= Mov(FastPrice,FastPeriods,FastType) - Mov(SlowPrice,SlowPeriods,SlowType);
Signal:= Mov(Fast,SigPeriods,SigType);
OsMA:= Fast-Signal;
MacdZeroLevel:= 0;

{Signal Long and Short}
LongSignal:= Cross(Fast,Signal);
ShortSignal:= Cross(Signal,Fast);
※このスクリプトはMACDの計算方法になります。スクリプトを見ていただければどこの部分かお分かりになると思います。 MACDFastLineSignalLineCrossSystem1
MACDFastLineSignalLineCrossSystem

MACDファストライン/ゼロクロスシステム

MACDファストラインがシグナルラインとクロスするたびに、ヒストグラムはゼロをクロスします。

MACDファストラインがシグナルラインの上に推移する場合にはヒストグラムはプラスになり、棒グラフがゼロラインの上に表示され、逆にMACDファストラインがシグナルラインより下に推移する場合にはヒストグラムはマイナスになり、棒グラフはゼロラインより下に表示されます。

ヒストグラムが急上昇する時はMACDファストラインが強く上昇していることを示し、急降下する時は強く下降していることを示しています。

MACDファストライン/ゼロクロスシステムはヒストグラムのマイナスからのプラスへ推移するときはゴールデンクロスと考え、その逆にプラスからマイナスへ推移するときはデッドクロスとして表示されるシステムトレードです。

MACDファストライン/ゼロクロスシステムのプログラミング

{Moving Average Convergence Divergence (MACD)}

Fast:= Mov(FastPrice,FastPeriods,FastType) - Mov(SlowPrice,SlowPeriods,SlowType);
Signal:= Mov(Fast,SigPeriods,SigType);
OsMA:= Fast-Signal; MacdZeroLevel:= 0;

{Signal Long and Short}

LongSignal:= Cross(Fast,0);

ShortSignal:= Cross(0,Fast);

※このスクリプトはMACDの計算方法になります。スクリプトを見ていただければどこの部分かお分かりになると思います。 MACDFastLineSignalLineCrossSystem
MACDFastLineSignalLineCrossSystem

MACDヒストグラムハイ/ローブレイクアウトシステム

ヒストグラムの現在のバーより設定期間本数の中で最も高いデータと現在のヒスログラムが交差するときにエントリーするシステムトレードです。

MACDヒストグラムハイ/ローブレイクアウトシステムのスクリプト

{Moving Average Convergence Divergence (MACD)}

Fast:= Mov(FastPrice,FastPeriods,FastType) - Mov(SlowPrice,SlowPeriods,SlowType);
Signal:= Mov(Fast,SigPeriods,SigType);
OsMA:= Fast-Signal; MacdZeroLevel:= 0;
OsMaHHV:= ref(HHV(OsMA,LBP),-1);
OsMaLLV:= ref(LLV(OsMA,LBP),-1);

{Basic Entry/Exit Conditions}

LongEntryCond1:= Cross(OsMA,OsMaHHV);
LongEntryCond2:= BarsSince(LongEntryCond1=1)<=2;
LongEntryCond3_PCL:= If(LongEntryCond2=1 AND PriceConfirmation=1,valuewhen(1,Cross(OsMA,OsMaHHV),H),Null);
LongEntryCond3:= Cross(C,LongEntryCond3_PCL);

LongSetup:= If(PriceConfirmation=0,LongEntryCond1=1,LongEntryCond2=1 AND LongEntryCond3=1);

ShortEntryCond1:= Cross(OsMaLLV,OsMA);
ShortEntryCond2:= BarsSince(ShortEntryCond1=1)<=2;
ShortEntryCond3_PCL:= If(ShortEntryCond2=1 AND PriceConfirmation=1,valuewhen(1,Cross(OsMaLLV,OsMA),L),Null);
ShortEntryCond3:= Cross(ShortEntryCond3_PCL,C);

ShortSetup:= If(PriceConfirmation=0,ShortEntryCond1=1,ShortEntryCond2=1 AND ShortEntryCond3=1);

{Signal Long and Short}
LongSignal:= If(SDS=0,LongSetup=1,SignalRemove(LongSetup=1,ShortSetup=1));
ShortSignal:= If(SDS=0,ShortSetup=1,SignalRemove(ShortSetup=1,LongSetup=1)); MACDHistogramHighLowBreakoutSystem
MACDHistogramHighLowBreakoutSystem

MACDヒストグラムトップス/ボトムリバーサルシステム

ヒストグラムの現在のバーと4つ前、3つ前、2つ前、1つ前のヒストグラムと比較してヒストグラムのトップとボトムを見つけエントリするシステムトレードです。

簡単に言うとロウソク足は赤2本と青2本、もしくは青2本と赤2本となった時にシグナルを出すシステムトレードになります。特に大きく動くとき、リミットとストップとして使うと効果的のようです。

MACDヒストグラムトップス/ボトムリバーサルシステムのスクリプト

{Moving Average Convergence Divergence (MACD)}
Fast:= Mov(FastPrice,FastPeriods,FastType) - Mov(SlowPrice,SlowPeriods,SlowType);
Signal:= Mov(Fast,SigPeriods,SigType);
OsMA:= Fast-Signal;
OsMA_Up:= If(OsMA>=ref(OsMA,-1),OsMA,Null);
OsMA_Down:= If(OsMA<ref(OsMA,-1),OsMA,Null);
MacdZeroLevel:= 0;

{Basic Entry/Exit Conditions}
{5-Bar MACD Histogram Trough Fractal Formation}
LongSetup:= OsMA>ref(OsMA,-1) AND ref(OsMA,-1)>ref(OsMA,-2) AND ref(OsMA,-2)<ref(OsMA,-3) AND ref(OsMA,-3)<ref(OsMA,-4);

{5-Bar MACD Histogram Peak Fractal Formation}
ShortSetup:= OsMA<ref(OsMA,-1) AND ref(OsMA,-1)<ref(OsMA,-2) AND ref(OsMA,-2)>ref(OsMA,-3) AND ref(OsMA,-3)>ref(OsMA,-4);

{Signal Long and Short}
LongSignal:= If(SDS=0,LongSetup=1,SignalRemove(LongSetup=1,ShortSetup=1));
ShortSignal:= If(SDS=0,ShortSetup=1,SignalRemove(ShortSetup=1,LongSetup=1));
MACDHistogramTopsBottomsReversalSystem
MACDHistogramTopsBottomsReversalSystem

MACDを為替チャートに表示させる

為替チャートにこれらのシステムトレードを表示させるにはチャート上で右クリックしてトレーディングシステムの追加でシステムトレードを選択するだけで、表示してくれます。

MACDFastLineSignalLineCrossSystem2
MACDFastLineSignalLineCrossSystem2

Vトレのワンポイントアドバイス
超便利機能。もし、取引のタイミングを変更したいときはシステムトレードのラベル上で右クリックして「トレーディングシステム編集プロパティ」を選択して数値を変更して「適用」を押すだけ。再起動をする必要はありません。

MACDを使った応用編

MACDを使って取引のタイミングを変えてみよう。

問題1.MACDファストライン/ゼロクロスシステムの取引のタイミングを基準となるゼロの変えてタイミングを変えてみよう。(ヒントはスクリプトを太字にしています。)

問題2.MACDヒストグラムトップス/ボトムリバーサルシステムの取引きのタイミングを青赤青赤赤となったとき売りのシグナルが出るようにスクリプトを変えてみよう。(ヒントはスクリプトを太字にしています。<>の向きに注意してください。)

まとめ

今回MACDで4つの取引手法を見ていただきました。取引は色々な情報から一番自分に合う情報を手に入れる必要があります。為替チャートに表示された情報も自分にとってどんな時どのシステムトレードを表示させるかが精度を上げる方法かもしれないですね。