MT4/MT5で移動平均線乖離を判定してトレード|無料EA第5弾

移動平均線と現在価格の乖離を判定してトレードするEAを作成しました。
今回はプログラムは掲載せずにEAのみの提供としますが、需要があればプログラムも公開しようと思います。
前提
MT4またはMT5を利用してプログラムを動かしますので、まだインストールが完了していない方は、以下を確認してインストールをお願いします。MT4でもMT5でもお好きな方をインストールしてください。
EAのダウンロード
以下のページより「Download」ボタンをクリックして実行ファイルを取得してください。ダウンロードしたEAは、通常のEAと同じExpertsフォルダ内に配置していただければ大丈夫です。
[2019/01/10 不具合報告]
EA適用後にパラメタの変更をすると適用が解除される悲しい不具合を修正。(失礼しました。)
プログラムの大枠
エントリー条件
価格が移動平均線から一定以上離れたら仕掛ける逆張りです。
とても単純な仕組みですが、「一定以上」という部分をどのように算出するかがポイントになります。
例えば「0.3乖離したらエントリー」とすると、USDJPYでは動くかもしれませんが、EURUSDでは単位が異なるので動きません。
そこで、乖離幅の算出にはATRを利用しようと思います。
ATRは、Average True Rangeの略でボラティリティ(変動)を表しますので、その値を上手く使っていきます。
[ATRの説明]
(1) 以下の中で最も大きい値を抽出します。(TRと呼ばれる。)
①高値-当日安値
②当日高値-前日終値
③前日終値-当日安値
次に平均を出します。例えばATRの期間を14とするならば、14本分のTRの平均です。
エグジット条件
固定ピップスによるエグジットを採用します。
市販EAでもよく見かけますが、例えば「+50pipsになったら利確、-100pipsになったら損切り」というものです。
パラメタの説明
EAで利用可能なパラメタの説明を記載します。
項目名 | 説明 | 設定値の例 |
---|---|---|
MAGIC | ポジションを識別するNo | 1~ |
SlippagePips | 許容可能なスリッページ | 1~ |
i_fixed_lot | ロット計算タイプ true: 固定 false: 証拠金に応じて変動 | false |
i_lot | ロット計算タイプがtrueの場合に設定 | 0.1 |
i_leverage | ロット計算タイプがfalseの場合に設定 レバレッジ5倍なら5を設定する | 5 |
i_limit_margin | エントリーを禁止する余剰証拠金 | 200 |
i_limit_spread | エントリーを禁止するスプレッド | 20 |
i_s_time | 取引可能時間の開始点 | 3 |
i_e_time | 取引可能時間の終了点 | 20 |
i_ma_period | 移動平均線を計算する期間 | 25 |
i_kairi | 移動平均線からの乖離を決定する係数 この値×ATR分の乖離でエントリーする | 7 |
i_take_profit | 利確までのpips数 | 20 |
i_stop_loss | 損切りまでのpips数 | 60 |
ロットを変動にする場合は、証拠金とレバレッジの関係で仕掛けるロットが変わりますので、上手く動かない場合はまずは固定ロットでお試しください。
動作確認
簡単にではありますが動作確認しておきます。


ATRを使った乖離部分のみ掲載していますが、買いのロジックについても同じように検証しています。
バックテスト
MT4でのテスト
まずはMT4で2015.01.01~2018.01.01で最適化したパラメタでバックテストをします。通貨はEURGBPを選択し、証拠金は少な目に1000ドル開始にしています。
証拠金を少なめに設定した理由は、大きな値になると逆にリアルさが失われると思ったからです。
EAの設定値は以下の通りです。


実行すると悪くない結果になります。(最適化後のパラメタなので当たり前ではあります。)

MT5でのテスト
私のMT4のテスト環境はあまりデータの精度が良くないので、MT5でフォワードテストを行います。

フォワードテストでも悪くない結果になりました。

試しにレバレッジ10倍でもテストしておきます。

おそらくランダム遅延を入れている関係で、1回分損切りが減ってしまいましたが、概ね同じような形状になりました。
念のため、ロットがどのように変動しているか見ておきましょう。

赤枠の部分でロットが切り替わっているのが分かると思います。勝ちを重ねて余剰証拠金が増えてくればロットも大きくなりますし、負けて証拠金が減ればロットも小さくなります。
i_fixed_lotをtrueにすれば固定ロットでも動きますのでお試しください。
EA運用の考え方
このEAはテストした期間のみ一定以上のパフォーマンスを上げるように作成していますので、過去のマーケットでは機能しません。(テストしていないので機能するか分かりません。)
EAを沢山作っていると、いくら過去に良い結果を出しても意味が無いことを痛感します。(もちろん良い方がいいですが。)
私の場合ですが、例えばこのEAならばテスト期間に3連敗したことは無いので、運用して3連敗した時点で停止します。
1つのEAで数年間勝ち続けることを考えるよりも、運用するEAの撤退条件をとても分かりやすいものにして、ダメならすぐに停止して新しいEAを投入すればいいかなと思っています。
最後に
今回は乖離を利用した逆張りのエントリーにしましたが、実は乖離を利用した順張りのトレードも可能です。機会があればそういったEAの提供もしていこうと思います。
※本EAについてはどのようにご利用いただいても構いませんが、損失が発生しても責任を持つことはできませんので、ご自身でしっかりバックテストをして納得したうえでの運用をお願いします。
自動売買の自作に興味がある方は以下をご参照ください。
ディスカッション
コメント一覧
まだ、コメントがありません