MT4EAエディタ「MACD」サンプルファイル(MACD.mql4)
MT4EAエディタで作成したMT4 EAのソースファイルとMT4EAエディタのロジックファイルを公開しています。
MT4EAエディタを使ったEA開発の参考にお使いください。
MT4EAエディタは有料のEA開発ツールです。販売サイトはこちら。
過去の記事で移動平均線のMT4 EAを3種類、紹介しました。今回は、MACD(マックディー)のMT4 EAを紹介します。MACDは、MT4標準のテクニカル指標です。チャートに表示すると下側にMACDが表示されます。
白色の棒がMACDです。赤色の線がシグナルラインです。
図:MT4標準のMACD
・MACDとシグナルのクロス判定
MACDを利用した売買の基本は、MACDが下からシグナルラインを上に抜ければ買い、MACDが上からシグナルラインを下に抜ければ売りです。
・買われすぎ売られすぎ判定
MACDは買われ過ぎ、売られ過ぎを表すテクニカル指標としても有効です。例えば短期 移動平均が急に長期 移動平均から乖離するとレートが高騰している可能性が高く、その後に現実的な水準に戻すだろうと考えられます。このときMACDの値も高まるので高騰からの戻りを狙うテクニカル指標として使えます。
本記事のMT4EAエディタのロジックは、「MACDとシグナルのクロス判定」と「買われすぎ売られすぎ判定」の両方を備えています。
MT4ストラテジーテスターで損益シミュレーションができますので事前検証ができます。パラメーターは、ご自身で調整してください。
MT4EAエディタのロジック ファイルとMT4 EAソース ファイルは、ページの一番下にダウンロード リンクがあります。
※本記事へのリンクは歓迎します。複製転載は禁止です。
MT4EAエディタ「MACD」のロジック
代表的なテクニカル指標のひとつである「MACD(マック・ディー)」を使用した自動売買です。
MACDは、次のトレンドを追う(トレンド追随型の)動的テクニカル分析です。MACDは、2種類(一般的に26期間と12期間)の指数平滑移動平均(EMA)の差(相関)を表しています。さらに売買のタイミングを分かりやすくするためシグナルライン(一般的に9期間の分析値の移動平均)がMACDの指標に表示されています。MACDは、振幅の大きい市場で最も有効性を発揮すると言われています。MACDには、3つの代表的な使い方があります。クロスオーバー(交差)、買われ過ぎ・売られ過ぎ状態、乖離です。
本EAのロジックは、買い条件の場合、
MACD(val_1,0)の値が-0.004よりも小さく(売られすぎ判定値)、さらにMACDが下からシグナルラインを上に抜ければ買いです。
MACD(val_1,0)の適正値は、時間軸と通貨ペアにより変わります。ご自身で調整してください。この調整には、MT4EAエディタが必要です。またはMT4 EAのソースを直接変更し調整も可能です。
使用テクニカル指標
MT4標準のMACD(マック・ディー)
新規注文の条件
・買いエントリー条件
MACD(val_1,0)の値が-0.004よりも小さく(売られすぎ判定値)、さらにMACDが下からシグナルラインを上に抜ければ新規買い注文を行います。
・売りエントリー条件
MACD(val_1,0)の値が0.004よりも大きく(買われすぎ判定値)、さらにMACDが上からシグナルラインを下に抜ければ新規売り注文を行います。
決済注文の条件
・買いポジションのイグジット条件
MACD(val_1,1)が上からシグナルライン(val_2,1)を下に抜けたら、その時の為替レートで決済注文を行います。
・売りポジションのイグジット条件
MACD(val_1,1)が下からシグナルライン(val_2,1)を上に抜けたら、その時の為替レートで決済注文を行います。
MT4 EA パラメーター
[MaxBuyPosition]
買いポジションの最大保有数です。未決済注文の保有可能数を設定します。
「1」を設定した場合は、ひとつの新規注文が決済されたら次の新規注文がされます。
[MaxSellPosition]
売りポジションの最大保有数です。未決済注文の保有可能数を設定します。
「1」を設定した場合は、ひとつの新規注文が決済されたら次の新規注文がされます。
[Lots]
新規注文時の注文量です。0.01 Lots = 1000通貨です。
0.01 Lotsの証拠金(最小額目安)は、レバレッジ25倍の場合、約5,000円です。
[Slippage]
許容するスリッページです。
pipsで設定します。pipsとは、為替レートの単位です。ドル円の場合、5銭が5pipsです。
スリッページとは、注文した為替レートと実際に約定された為替レートの差のことです。相場の変動が大きい場合等は、スリッページが発生する可能性があります。
スリッページ対策として、スリッページの限度幅をpipsで設定します。
[MaxSpread]
許容するスプレッドです。
pipsで設定します。pipsとは、為替レートの単位です。ドル円の場合、5銭が5pipsです。
[Magic]
マジックナンバーです。MT4のEAで使用する注文管理番号です。
MT4のEAを複数稼働させる場合は、マジックナンバーが重複しないよう設定します。
[Fast_EMA_Period]
Fast_EMA_Periodは、短期EMAを計算するための期間です。初期値12
[Slow_EMA_Period]
Slow_EMA_Periodは、長期EMAを計算するための期間です。初期値26
[Signal_SMA_Period]
Signal_SMA_Periodは、シグナルを計算するための期間です。初期値9
MT4標準のMACD計算式
MACD=[Fast_EMA_Period] EMA - [Slow_EMA_Period] EMA
シグナルライン=MACDの[Signal_SMA_Period] SMA
※EMAとは、指数平滑移動平均線です。
※MT4標準のMACDは、シグナルラインにEMAではなくSMA(単純移動平均線)を使用しています。
その他
・MACDの時間軸
MACDの時間軸は、MT4 EAを実行したチャートと同じになります。MT4のEAを実行しているチャートの時間軸を変更するとEAが停止する場合があります。これは、MT4のオプションで設定変更できます。
・損切り
新規注文したポジションには、損失が増加したときに損失を確定(決済注文)するストップロスが設定されています。
・注文間隔の制限
新規注文が成立後、次の新規注文を実行させない期間(バーの数)が設定されています。これは、新規注文と決済注文が短期間で行われたときに、休止期間を入れる機能です。
MT4EAエディタの記述
MT4EAエディタには、MT4EAエディタで設定したロジックをテキスト形式でコピーする機能があります。これを見ると、MT4EAエディタの設定内容がわかります。
初期ポジション数 0.01
同時最大保有数 買い1 売り 1
両建ての禁止 なし
複利運用 なし
マジックナンバー以外を管理 なし
全通貨を管理 なし
買い条件
1, ●比較 01,MACD,val_1,0 < -0.004 であれば
2, ●クロス 01,MACD,val_1,1 > 01,MACD,val_2,1 であれば
3, <買い注文 初期ロット×1 ストップ:50 注文制限:6 Com:MACD >
4, +
5, +
6, +
売り条件
7, ●比較 01,MACD,val_1,0 > 0.004 であれば
8, ●クロス 01,MACD,val_1,1 < 01,MACD,val_2,1 であれば
9, <売り注文 初期ロット×1 ストップ:50 注文制限:6 Com:MACD >
10, +
11, +
12, +
買い決済条件
13, ●クロス 01,MACD,val_1,1 < 01,MACD,val_2,1 であれば
14, <買い全決済注文 Com:MACD >
15, +
16, +
売り決済条件
17, ●クロス 01,MACD,val_1,1 > 01,MACD,val_2,1 であれば
18, <売り全決済注文 Com:MACD >
19, +
20, +
MT4EAエディタのロジック ファイルとそのEAソースファイルをダウンロード
ウイルスチェック済みです。Googleドライブにアップしています。
クリック後「プレビューできません。」の下にある「ダウンロード」をクリックすると保存できます。
MT4EAエディタの開発者さんは、他にもMT4用の便利ツールを出品しています。使いやすいソフトを低価格で提供されています。
ご興味ある方はこちら。