裁量トレードだけでチャートに張り付いていると、「チャンスのときだけ自動で売買してくれればいいのに」と感じる場面が多いはずです。MT4の自動売買(EA)は、その願いをある程度かたちにしてくれる仕組みです。この記事では、MT4に最初から入っている代表的なインジケーターだけを使って、自分で自動売買EAを組み立てていく考え方を、初心者向けに丁寧に解説します。
MT4のEAとインジケーターの関係を整理する
まず最初に押さえておきたいのは、「インジケーターそのものは売買してくれない」という点です。インジケーターはあくまでチャート上の「情報」であり、その情報を使って「こういう条件のときに買う・売る」と決めて実行するのがEAです。
MT4のEAは、ざっくり次のような要素で構成されています。
- どの通貨ペア・時間足で動かすか(EURUSDの1時間足など)
- エントリー条件(買い・売りの条件)
- 決済条件(利益確定・損切りの条件)
- ロット数や最大ポジション数などのリスク管理
- フィルター条件(時間帯やボラティリティでトレードを絞るなど)
インジケーターは主に「エントリー条件」と「決済条件」「フィルター条件」で使われます。つまり、インジケーターのシグナルをどう組み合わせてルール化するかがEA作りの中心ということです。
まずは「1インジケーター+シンプルなルール」から始める
初心者の方がやりがちなのが、「移動平均線もRSIもMACDもボリンジャーバンドも全部載せ」のEAをいきなり作ろうとすることです。こうしたEAはテストすると一見きれいな右肩上がりに見えることがありますが、実際の相場環境が変わると途端に機能しなくなる、いわゆる「過剰最適化」になりがちです。
最初は、次のような流れでシンプルなEAを作るほうが、理解も早く実戦でも生き残りやすくなります。
- インジケーターを1つ(多くても2つ)に絞る
- 売買条件を「1〜2行で説明できるレベル」に単純化する
- テストして、ロジックの癖や弱点を目で確認する
- 必要であれば、もう1つだけ条件を足して再検証する
この「シンプルに作り、テストし、必要最小限だけ足す」という姿勢が、長期的にEA運用で生き残るための重要なポイントです。
代表的なMT4基本インジケーターとEAでの使い方のイメージ
MT4には、EA作りにそのまま使える代表的なインジケーターが標準搭載されています。ここでは特にEAとの相性がよいものに絞って、どういうロジックに使いやすいかを整理します。
移動平均線(Moving Average)
最も基本的で、EAとの相性が非常に良いインジケーターです。主な使い方は次の通りです。
- 短期線と長期線のクロスでトレンドの方向を判定
- 終値が移動平均線の上か下かでトレンド方向を判断
- 移動平均線の傾き(上向きか下向きか)でエントリー方向をフィルタリング
例えば「短期線が長期線を上抜けしたら買い」「下抜けしたら売り」という、いわゆるゴールデンクロス・デッドクロスをそのままEAロジックにできます。シンプルですが、トレンドがはっきりしている局面では今でも有効に機能します。
RSI(Relative Strength Index)
RSIは相場の「買われ過ぎ」「売られ過ぎ」を数値化したインジケーターです。EAでは次のように使うことが多いです。
- RSIが30以下になったら「売られ過ぎ」と判断して買いを検討
- RSIが70以上になったら「買われ過ぎ」と判断して売りを検討
- トレンド方向と組み合わせて、「上昇トレンド中の押し目」「下降トレンド中の戻り」を狙う
RSI単体で逆張りの売買をすると、強いトレンド相場では逆行を抱え込んでしまうことがあります。そこで後述するように、「移動平均線でトレンド方向を判定し、その方向にだけRSIを使う」といった組み合わせがEAとしては扱いやすくなります。
ボリンジャーバンド(Bollinger Bands)
ボリンジャーバンドは、価格の「ばらつき(ボラティリティ)」を利用して、相場の行き過ぎを測るインジケーターです。EAでは次のようなロジックに使われます。
- ±2σバンドの外に飛び出したら逆張りでエントリー
- バンド幅が極端に狭くなった後のブレイクを順張りで狙う
- ミドルバンド(移動平均線)をトレンド判定に使う
ボリンジャーバンドは、逆張りにも順張りにも使える柔軟なインジケーターです。EAの世界では、バンドブレイクとボラティリティの変化を組み合わせた戦略がよく用いられます。
ATR(Average True Range)
ATRは「値動きの大きさ」を示すインジケーターで、EAではロジックそのものというより、「損切り幅や利確幅を相場の状態に合わせて変える」ために使われます。
- ATRの●倍を損切り幅にする(例:ATR×2)
- ATRの●倍をトレイリングストップに使う
- ATRが一定値を超えるまではエントリーしない(ボラが小さすぎる相場を避ける)
固定pipsで損切り・利確を決めると、ボラが大きい相場と小さい相場でリスクリワードのバランスが崩れがちです。ATRを使うことで、相場の「今の動きの大きさ」に合わせたロジックが組みやすくなります。
具体例1:移動平均線クロスEAの基本ロジック
ここからは、実際のEAロジックの具体例を見ていきます。まずはもっともベーシックな「短期移動平均線と長期移動平均線のクロス」を使った順張りEAです。
例えば、次のようなルールを考えます。
- 時間足:1時間足
- 短期線:期間20の指数平滑移動平均線(EMA)
- 長期線:期間80のEMA
- 買いエントリー:終値で20EMAが80EMAを上抜けしたとき
- 売りエントリー:終値で20EMAが80EMAを下抜けしたとき
- 損切り:直近スイングの安値(高値)から●pips
- 利確:損切り幅の1.5倍〜2倍
EAでは、まず「1本前のバーでは短期線が長期線より下にあった」「今のバーでは短期線が長期線より上にある」という条件をチェックします。この2つの条件を満たしたときだけ買いエントリーを出すことで、単なる「かすっただけ」の状態と明確なクロスを区別できます。
このEAをバックテストすると、トレンドが明確な相場では利益を伸ばしやすい一方、レンジ相場ではダマシが増えやすいという特徴が見えてきます。ここから、「レンジ相場をどう避けるか」「フィルターを足すなら何を使うか」といった発想につなげていきます。
具体例2:移動平均線+RSIで押し目買い・戻り売りEA
次に、移動平均線とRSIを組み合わせて、「トレンド方向だけに逆張りする」押し目買い・戻り売りEAの例を考えます。
ロジックのイメージは次の通りです。
- 時間足:1時間足
- トレンド判定:期間80EMA
- 勢い判定:RSI期間14
- 上昇トレンド条件:終値が80EMAより上
- 下落トレンド条件:終値が80EMAより下
- 押し目買い:上昇トレンド中にRSIが30以下に下がり、その後30を上抜けしたタイミングで買い
- 戻り売り:下落トレンド中にRSIが70以上に上がり、その後70を下抜けしたタイミングで売り
このEAのポイントは、RSIの逆張りシグナルを「トレンドの方向にだけ」使っている点です。強い上昇トレンドでは「押し目を拾う」形になり、強い下落トレンドでは「戻り売り」をする形になります。
このロジックをEAにすることで、チャートを見て「ここは押し目買いかな」と感覚的に判断していたポイントを、機械的なルールとして再現できます。テストを通じて、どの通貨ペア・どの時間足で機能しやすいかも見えてきます。
具体例3:ボリンジャーバンドブレイクEA
次は、ボリンジャーバンドのブレイクを使った順張りEAの例です。考え方はシンプルで、「値動きが収縮したあとに大きく動き出した方向についていく」というものです。
ロジックの一例は次の通りです。
- 時間足:15分足
- ボリンジャーバンド:期間20、偏差2
- バンド幅が一定値以下になったら「スクイーズ状態」とみなす
- スクイーズ状態のあと、終値が+2σバンドを上抜けしたら買い
- スクイーズ状態のあと、終値が−2σバンドを下抜けしたら売り
- 損切り:ミドルバンド割れ(あるいはATR×2)
- 利確:リスクリワード1:2を目安に固定、またはトレイリングストップ
このEAは、相場が静かな時間帯が続いたあとに一方向へ動き出す局面で力を発揮します。逆に、常にボラティリティが高く方向感がない相場ではダマシも増えますので、経済指標の時間帯や市場ごとのクセなどと組み合わせて検証するとよいでしょう。
ATRを使って「相場に応じた損切り・利確」を組み込む
どんなに良さそうなエントリーロジックでも、損切り・利確の設計が極端だと、期待していたような結果が出ません。そこで、ATRを使って「相場のボラティリティに合わせて」損切り・利確を調整する考え方が重要になります。
例えば次のような使い方があります。
- 損切り幅=ATR(14)×2.0
- 利確幅=ATR(14)×3.0
- トレイリングストップ幅=ATR(14)×1.5
相場が全体的に静かなときはATRが小さくなり、損切り・利確も自然と小さくなります。一方、相場が大きく動いているときはATRが大きくなり、損切り・利確も広く設定されるため、ノイズに振り回されにくくなります。
EAにATRベースの損切り・利確を組み込むことで、同じロジックでも様々な相場環境に適応しやすくなり、固定pips運用に比べてバランスの取れた結果になることが期待できます。
EAをコードに落とし込むときの基本的な考え方
実際にMT4でEAを動かすには、MQL4という専用言語でロジックを書き、コンパイルする必要があります。コードの細部まで理解するのは少し慣れが要りますが、構造自体はシンプルです。
ざっくり言うと、EAは次のような流れで動いています。
- OnInit:EAがチャートにセットされたときの初期処理
- OnTick:価格が動くたびに呼び出されるメイン処理
- OnDeinit:EAが外されるときの終了処理
売買ロジックの大部分はOnTickの中に書きます。ここで、「今ポジションを持っているか」「新規エントリー条件を満たしているか」「決済条件を満たしているか」を順番にチェックしていきます。
例えば、移動平均線クロスEAなら次のような流れになります。
- 最新バーと1本前のバーの短期移動平均線と長期移動平均線の値を取得
- クロスが発生したかどうかを判定
- すでにポジションを持っていないか確認
- スプレッドや時間帯などのフィルター条件を確認
- 条件を全て満たしていれば新規エントリー注文を出す
最初は既存のサンプルEAを開いて、「どこで条件を判定しているのか」「どこで注文を出しているのか」を追いかけるところから始めると理解が早く進みます。自分で最初から完璧なEAを書こうとするより、「既存EAを少しずつ改造する」というステップを踏むのがおすすめです。
バックテストとフォワードテストでロジックの癖を見抜く
EAが完成したら、いきなり本番口座で動かすのではなく、必ずバックテストとフォワードテストを行います。ここを丁寧にやるかどうかが、長く生き残れるかどうかの分かれ目になります。
バックテストでは、過去のデータに対してEAを動かし、次のような点を確認します。
- 長期的に見て資産曲線がどう動いているか
- 最大ドローダウンが資金に対してどの程度か
- 勝率と平均損益のバランスはどうか
- 特定の期間だけ極端に成績が良くなっていないか
もし特定の数カ月だけ異常に成績が良く、他の期間では横ばいまたはマイナスなら、その相場環境に過剰に最適化されている可能性があります。その場合は、インジケーターのパラメータやフィルター条件をシンプルに戻し、より広い期間で安定する設定を探すのが無難です。
また、バックテストだけではわからない癖もあるため、デモ口座や小ロットでのフォワードテストも重要です。実際のレート配信やスプレッドの変動、スリッページなどを含めた環境でEAを動かし、想定通りの挙動をしているか確認します。
資金管理とロット設定の基本
EAを本番運用する際に特に重要なのが、「どのくらいのロットで回すか」です。ロジックが優れていても、ロット設定が攻めすぎていると、短期間の損失で大きく資金を減らしてしまうことがあります。
基本的な考え方としては、次のようなルールを決めておくとよいでしょう。
- 1回のトレードで失ってもよい損失額を資金の●%までに抑える(例:1〜2%)
- ATRを使った損切り幅に合わせてロット数を調整する
- 最大同時ポジション数を決めておく(例:3ポジションまで)
例えば、口座残高が10万円で「1トレードの許容損失を2%まで」と決めた場合、1回で失ってよい金額は2000円です。損切り幅が40pipsであれば、1pipsあたりの価値が50円になるロット数(0.05ロット相当)に抑える必要があります。このように、EAのロジックと資金管理はセットで考えることが大切です。
複数EA・複数ロジックを組み合わせたポートフォリオ運用
どんなに優秀に見えるEAでも、特定の相場局面では必ず苦手な期間が訪れます。そこで有効なのが、「異なるロジックのEAを組み合わせる」という発想です。
例えば、次のような組み合わせが考えられます。
- トレンド相場向け:移動平均線クロスEA
- レンジ相場向け:RSI逆張りEA
- ブレイクアウト向け:ボリンジャーバンドブレイクEA
- ボラティリティ管理:ATRベースの損切り・利確を全EAに共通採用
一つ一つのEAは単独で見ると成績が波打っていても、組み合わせて運用することでトータルの資産曲線が滑らかになることがあります。バックテストの段階から、「個々のEAの成績」だけでなく、「組み合わせたときの全体の動き」もチェックするとよいでしょう。
自分でEAを作ることの本当のメリット
最後に、自分でEAを作るメリットを整理しておきます。最大のポイントは、「自分が理解しているロジックだけを使える」という点です。
市販EAや他人が配布しているEAは、ロジックの詳細が公開されていないことも多く、なぜ勝っているのか・なぜ負けているのかが見えにくくなります。その結果、少しドローダウンが続いただけで不安になり、悪いタイミングでEAを止めてしまう要因になります。
一方、自分でインジケーターを選び、ルールを決め、テストしてEAを作れば、「このロジックはこういう相場で強く、こういう相場で弱い」という感覚を自分の中に持つことができます。これが、自動売買に長く付き合っていくうえで非常に大きな強みになります。
MT4に標準で入っている基本インジケーターだけでも、十分に実践的なEAを作ることができます。移動平均線、RSI、ボリンジャーバンド、ATRといった定番インジケーターから始めて、自分なりのルールを少しずつ形にしていくことで、自動売買の世界がぐっと身近になるはずです。


コメント