本文へスキップ
導入・設定

MT4/MT5 EAの入れ方|導入9手順28ステップと稼働確認まで

EA(自動売買)の入れ方を、MT4とMT5に共通する9手順28ステップに分解しました。データフォルダへの配置先、オプションの設定項目、マジックナンバー、GMTオフセット、稼働確認までを公式ヘルプの文言に沿って順番に確認できます。

執筆: Redington 公開: 最終更新:

PR当ページにはプロモーション(アフィリエイト広告)が含まれます。順位・評価は公開の評価基準に基づき編集部が独立して決定しています。EAの成績はすべて過去の検証結果であり、将来の利益を保証するものではありません。海外FX業者は金融庁未登録です。

この記事の目次
  1. 結論:EAの入れ方は9手順28ステップに整理できる
  2. 導入前に確認しておく3つのこと
    1. 1. MT4版とMT5版はまったく別のプログラムです
    2. 2. MT5口座はネッティングかヘッジングか
    3. 3. 部分約定ポリシー(FOK / IOC / RETURN)はMT5固有
  3. 手順1:ファイルを正しい場所に置く(ステップ1〜3)
  4. 手順2:再起動してナビゲーターに表示させる(ステップ4〜5)
  5. 手順3:ソースで配布された場合はコンパイルする(ステップ6〜9)
  6. 手順4:ツール→オプション→エキスパートアドバイザを設定する(ステップ10〜11)
    1. DLLの使用を許可するかどうかの判断基準
    2. WebRequestを許可するURLの登録
  7. 手順5:自動売買(AutoTrading)ボタンを緑にする(ステップ12)
  8. 手順6:チャートに適用してニコちゃんマークを確認する(ステップ13〜17)
  9. 手順7:マジックナンバーを決める(ステップ18〜20)
  10. 手順8:GMTオフセットを業者サーバーに合わせる(ステップ21〜24)
  11. 手順9:稼働確認チェックリスト(ステップ25〜28)
  12. よくある失敗7つ
    1. 1. 専用インジケーターを入れ忘れる
    2. 2. Program Filesのインストールフォルダに置く
    3. 3. 時間足や通貨ペアを変更してEAが止まる
    4. 4. マイクロ口座でロット単位がずれる
    5. 5. 資金不足で計算ロットが最小ロット未満になる
    6. 6. マジックナンバーが重複している
    7. 7. GMTオフセットを取り違える
  13. 導入できたあとにやること
  14. まとめ

「EAを買ったのに動かない」という相談の多くは、ロジックではなく導入手順のどこかで止まっています。ファイルの置き場所、オプションの許可設定、自動売買ボタン、チャートへの適用。この4か所のうち1つでも抜けると、EAは何も言わずに沈黙します。この記事ではMT4/MT5共通のEAの入れ方を9手順28ステップに分解し、公式ヘルプの文言に沿って上から順に確認できるようにまとめます。

結論:EAの入れ方は9手順28ステップに整理できる

✅ 結論

EAの導入は「ファイルを置く」「ターミナル側で許可する」「チャートに適用する」「ログで確認する」の4段階です。つまずく箇所は手順1・手順4・手順5にほぼ集中します。

手順

ステップ

やること

多い停止理由

手順1

1〜3

データフォルダにファイルを配置

インストールフォルダに置いた

手順2

4〜5

再起動してナビゲーターで確認

再起動も更新もしていない

手順3

6〜9

ソース配布ならコンパイル

インクルードファイルが不足

手順4

10〜11

オプションで自動売買を許可

DLL・WebRequestが未許可

手順5

12

自動売買ボタンを緑にする

ボタンが赤のまま

手順6

13〜17

チャートに適用して笑顔を確認

「全般」タブのチェック漏れ

手順7

18〜20

マジックナンバーを決める

複数EAで値が重複

手順8

21〜24

GMTオフセットを合わせる

サーバー時刻と不一致

手順9

25〜28

稼働確認とデモ検証

検証を省略していきなり本番

EAの仕組みを先に押さえたい場合は EA(FX自動売買)とは を読んでから戻ってきてください。ここからは導入作業だけを扱います。

導入前に確認しておく3つのこと

作業前に、手元のEAと口座の組み合わせが成立しているかを確認します。ここを飛ばすと、正しく手順を踏んでも動きません。

1. MT4版とMT5版はまったく別のプログラムです

MQL4とMQL5は相互に非互換です。MQL5のソースはMT4で動かず、MQL4のソースはMT5で動きません(出典: MetaTrader 4 Help / MetaTrader 5 Help / MQL5 Reference、2026年9月24日確認)。注文APIも根本的に異なり、MQL4は OrderSend() がすべてを担いますが、MQL5は MqlTradeRequest 構造体と OrderSend() の組み合わせで、ポジションは PositionSelect() 系で別管理します。

つまり「MT4/MT5両対応」とされるEAは、実際には別々に書かれた2つのプログラムです。バックテスト結果も一致しません。違いは MT4とMT5の違い で比較しています。

2. MT5口座はネッティングかヘッジングか

MT5は口座単位でネッティングとヘッジングを選択します。ネッティング口座は1銘柄につきポジションが常に1つで、同じ銘柄の反対売買は既存ポジションの相殺・減少になります。ヘッジング口座はMT4と同じく1銘柄で複数ポジションを保有できます。

海外FX業者のMT5口座はほぼすべてヘッジングですが、ナンピン系・グリッド系・両建て系のEAはヘッジング口座でないと設計通りに動きません。MQL側では AccountInfoInteger(ACCOUNT_MARGIN_MODE) が ACCOUNT_MARGIN_MODE_RETAIL_HEDGING か ACCOUNT_MARGIN_MODE_RETAIL_NETTING かで判定できます。

3. 部分約定ポリシー(FOK / IOC / RETURN)はMT5固有

MT5は注文ごとに部分約定ポリシーを指定します。MT4にこの概念はありません。

定数

意味

挙動

ORDER_FILLING_FOK

Fill or Kill

指定数量が全量約定できなければ注文自体が破棄される

ORDER_FILLING_IOC

Immediate or Cancel

約定可能な数量だけ約定し、残りはキャンセル

ORDER_FILLING_RETURN

—

部分約定後、残数量の注文が板に残り続ける

出典: MQL5 Reference - Order Properties (確認日 2026年9月24日)

銘柄ごとに許可されるポリシーは SYMBOL_FILLING_MODE(Flags of allowed order filling modes)で定義されます。

⚠️ 注意

業者が許可していないポリシーを指定すると、MT5では 10030 TRADE_RETCODE_INVALID_FILL(Invalid order filling type)で弾かれます。海外FX業者でMT5のEAが動かない原因として最も多いパターンです。EAにFilling Typeの選択肢があれば FOK → IOC → RETURN の順に試してください。

手順1:ファイルを正しい場所に置く(ステップ1〜3)

1. MetaTraderを起動します。

2. メニューの「ファイル(File)」→「データフォルダを開く(Open Data Folder)」をクリックします。

公式ヘルプは「ビルド600以降、MQL4アプリケーションはプログラム種別ごとに別ディレクトリに配置される」「ターミナルのデータは、インストール先とは分離された専用のデータフォルダに保存される」と説明しています(出典: MetaTrader 4 Help 、確認日 2026年9月24日)。

🚨 危険

C:\Program Files\ 配下のインストールフォルダに置いてもEAは認識されません。必ず「データフォルダを開く」から開いたフォルダを使ってください。MT4を複数インストールしている環境では、別のインスタンスのデータフォルダに入れてしまう事故が特に多く起きます。複数運用の手順はMT4を複数起動して運用する方法で整理しています。

3. 開いたフォルダ内の、次の場所にファイルを配置します。

ファイル種別

MT4の配置先

MT5の配置先

EA(.ex4 / .mq4 / .ex5 / .mq5)

MQL4\Experts\

MQL5\Experts\

カスタムインジケーター

MQL4\Indicators\

MQL5\Indicators\

スクリプト

MQL4\Scripts\

MQL5\Scripts\

ライブラリ

MQL4\Libraries\

MQL5\Libraries\

DLL

MQL4\Libraries\

MQL5\Libraries\

セットファイル(パラメータ)

MQL4\Presets\

MQL5\Presets\

配布物にフォルダ構成が同梱されている場合は、そのまま丸ごとコピーするのが安全です。EAが専用インジケーターを要求する場合、Indicators\ への入れ忘れが起きやすいためです。

手順2:再起動してナビゲーターに表示させる(ステップ4〜5)

4. MetaTraderを完全に終了して再起動します。再起動せずに済ませたい場合は、ナビゲーターウィンドウ内で右クリックして「更新(Refresh)」を選びます。

5. ナビゲーター(Ctrl+N)の「エキスパートアドバイザ」ツリーにEA名が表示されることを確認します。出てこない場合は配置先が違うか、別インスタンスのデータフォルダに入れています。手順1に戻ってください。

手順3:ソースで配布された場合はコンパイルする(ステップ6〜9)

6. .ex4 / .ex5 というコンパイル済みバイナリで配布されている場合、コンパイルは不要です。そのまま手順4へ進みます。

7. .mq4 / .mq5 のソースで配布された場合は、ナビゲーターでEAを右クリックして「修正(Modify)」を選びます。MetaEditorが開きます。

8. MetaEditorで F7 を押します(ツールバーの「コンパイル」でも同じです)。

9. 「0 errors, 0 warnings」と表示されることを確認します。エラーが出る場合は次の2点を確認してください。

  • 依存するインクルードファイル(.mqh)が MQL4\Include\(MT5は MQL5\Include\)にあるか
  • MQL4のソースをMT5でコンパイルしようとしていないか。この組み合わせはコンパイルできません

手順4:ツール→オプション→エキスパートアドバイザを設定する(ステップ10〜11)

10. メニューの「ツール(Tools)」→「オプション(Options)」→「エキスパートアドバイザ(Expert Advisors)」タブを開きます。

11. 次の項目を設定します。公式ヘルプの説明文は以下の通りです(出典: MetaTrader 4 Help - Expert Advisors settings / MetaTrader 5 Help 、確認日 2026年9月24日)。

設定項目(日本語UI / 英語UI)

公式説明

EA運用での扱い

自動売買を許可する / Allow Auto Trading(MT5: Allow Algorithmic Trading)

「エキスパートアドバイザおよびスクリプトによる取引操作の実行を有効/無効にする」

ON必須

口座が変更された場合は自動売買を無効にする / Disable Auto Trading when the account has been changed

「口座が変更されたときにEAとスクリプトの取引を無効にする保護機構」

ON推奨(誤爆防止)

プロファイルが変更された場合は自動売買を無効にする / ... when the profile has been changed

プロファイル切替時に自動売買を停止する

ON推奨

チャートの通貨ペアと時間軸が変更された場合は自動売買を無効にする / ... when the charts symbol or period has been changed

「このオプションが有効な場合、チャートの時間足や通貨ペアを変更すると、そこに適用されているEAは自動的に取引を禁止される」

ON推奨(後述の事故要因)

DLLの使用を許可する / Allow DLL imports (potentially dangerous, enable only for trusted applications)

「機能拡張のためmql5アプリケーションはDLLを使用できる。素性の分からないEAを扱うときはインポートを無効にすることを推奨する」「信頼できない提供元のアプリケーションはサードパーティDLL経由で損害を与える可能性がある」

EAが要求する場合のみON

指定したURLのWebRequestを許可する / Allow WebRequest for listed URL

「MQL5のWebRequest()はGET/POSTでウェブサイトと情報をやり取りする。許可するには本オプションを有効にし、信頼できるURLを手動で明示的に指定する。セキュリティ上の理由からデフォルトは無効」

必要なURLを1行ずつ登録

DLLの使用を許可するかどうかの判断基準

DLLを要求するEAは、ライセンス認証、外部データ取得、高速演算のいずれかが目的であることが多いです。ただしDLLはMetaTraderのサンドボックス外で任意のコードを実行できます。公式ヘルプが「potentially dangerous」と明記している通り、提供元が信頼できない限り許可しないという基準で判断してください。

目安は、マニュアルにDLLを使う理由が明記されているか、同梱DLLの名前と用途が説明されているか、の2点です。EAが要求していないのにチェックを入れる理由はありません。

WebRequestを許可するURLの登録

ライセンス認証型のEAや、LINE・Discordへ通知を送るEAではWebRequestの許可が必要です。許可するURLは自分で1行ずつ登録します。マニュアルに記載された正規のURLだけを登録してください。

手順5:自動売買(AutoTrading)ボタンを緑にする(ステップ12)

12. ツールバーの「自動売買(AutoTrading)」ボタンをクリックし、アイコンが緑(再生マーク)になることを確認します。赤い停止マークは無効状態です。

MT5の公式ヘルプは「ツールバーのAutoTradingボタンはプラットフォーム全体の自動売買を有効/無効にする。これをオフにすると、EA個別の設定で自動売買を有効にしていても全EAの自動売買は無効になる」と説明しています(同上、確認日 2026年9月24日)。

💡 ポイント

このボタンのショートカットは Ctrl+E です。チャート操作中に誤って押してしまい、気づかないうちに全EAが停止していた、という事故が起きます。稼働中はログの巡回を習慣にしてください。

手順6:チャートに適用してニコちゃんマークを確認する(ステップ13〜17)

13. 対象の通貨ペア・時間足のチャートを開きます。必ずEAが指定する時間足で開いてください。内部で時間足を固定しているEAもありますが、時間足に依存するEAも多くあります。

14. ナビゲーターからEAをチャートにドラッグ&ドロップします(ダブルクリックでも同じです)。

15. 設定ダイアログが開きます。確認するタブは2つです。

  • 「全般(Common)」タブ:「自動売買を許可する(Allow live trading / Allow Algo Trading)」に必ずチェックを入れます
  • 「パラメータの入力(Inputs)」タブ:各パラメータを設定します。配布されたセットファイル(.set)がある場合は「読み込み(Load)」で適用します

16. OKを押します。チャート右上にEA名と**ニコちゃんマーク(笑顔)**が表示されれば稼働中です。**困り顔(×印)**は自動売買が無効な状態です。その場合は手順4と手順5を見直してください。

17. 「ターミナル(Terminal)」ウィンドウ(Ctrl+T)の「エキスパート(Experts)」タブでログを確認し、初期化成功のメッセージが出ているかを見ます。

笑顔が出ない場合は ニコちゃんマークが出ない原因 、動いているのに発注しない場合は EAが動かないときのチェックリスト を確認してください。

手順7:マジックナンバーを決める(ステップ18〜20)

18. EAパラメータの Magic Number(マジックナンバー)は、そのEAが出した注文を識別するための整数IDです。MT4では OrderSend() の magic 引数で指定し、OrderMagicNumber() で読み取ります。MT5では MqlTradeRequest.magic で指定し、PositionGetInteger(POSITION_MAGIC) で読み取ります。

19. 設定のルールは3つです。

  • 1つのEAインスタンスにつき、ユニークな値を割り当てます
  • 同じEAを複数通貨ペアで動かす場合も、ペアごとに別の値にします。EAが「自分の注文だけ」を数えられなくなり、ロット計算や決済ロジックが壊れるためです
  • 手動トレードのポジション(マジックナンバー0)と混ざらないよう、0は避けます

20. 複数EAを1口座で動かす場合、マジックナンバーの重複は致命的です。導入前に全EAの一覧表を作ってください。命名規則の例とテンプレートは マジックナンバーとは で示しています。

手順8:GMTオフセットを業者サーバーに合わせる(ステップ21〜24)

21. 多くのEAは「GMT Offset」「Broker GMT Offset」「TimeZone」といったパラメータを持ちます。業者サーバー時刻がGMTから何時間ずれているかを指定するもので、時間帯フィルタ、日次リセット、取引時間帯の判定に使われます。

⚠️ 注意

ここを間違えると、EAはまったく違う時間帯で取引します。検証結果と実運用結果が乖離する最大の要因のひとつです。

22. サーバー時刻の確認方法は3つあります。

  • 「気配値表示(Market Watch)」ウィンドウの一番上(MT5はMarket Watchの時刻欄)にサーバー時刻が表示されます
  • MQLでは TimeCurrent()(サーバー時刻)と TimeGMT()(GMT)の差から算出できます
  • 簡易スクリプトで (TimeCurrent() - TimeGMT()) / 3600 を出力させるのが確実です

23. 海外FX業者の典型値は GMT+2(冬時間)/GMT+3(夏時間)です。これにより日足の確定時刻がニューヨーク17:00に一致し、週の日足本数が5本になります。GMT+0だと日曜に細い6本目のバーが出るため、日足を使うEAとの整合性を保つ目的で業界慣行になっています。日本時間(JST = GMT+9)との差は、夏時間で JST−6、冬時間で JST−7 です。

夏時間の切替は米国DST(3月第2日曜〜11月第1日曜)に追随する業者が多い一方、欧州DSTに追随する業者もあります。このため3月下旬〜4月上旬と10月下旬〜11月上旬の数週間はズレが生じ、EAの時間フィルタが1時間ずれます。切替期の挙動は サマータイム切替時のEA運用 で、サーバー時刻の読み方は MT4/MT5のサーバー時刻の確認方法 で扱っています。

ℹ️ 補足

具体値は業者ごとに異なります。必ず自分の口座で実測してください。

24. バックテストとの整合も確認します。Dukascopy等のヒストリカルデータはGMT+0が標準です。業者サーバーがGMT+2/+3なら、テスト用データも同じオフセットに変換して取り込む必要があります。

手順9:稼働確認チェックリスト(ステップ25〜28)

25. 「ターミナル」→「取引(Trade)」タブで、ポジションと証拠金維持率を確認します。計算方法は EA運用に必要な証拠金の計算 で整理しており、数字は ロット・必要証拠金計算機 で出せます。

26. 「ターミナル」→「エキスパート(Experts)」タブでEAのログを、「操作履歴(Journal)」タブで通信・約定のログを確認します。発注が弾かれている場合はここにエラーコードが記録されます。意味は MT4/MT5の注文エラーコード一覧 で確認してください。

27. デモ口座で、最低1回はエントリーから決済までを通します。初期化に成功していても、発注段階で初めて表面化する問題(ロット単位、ストップレベル、部分約定ポリシー)があるためです。

28. VPSに移す前に、ローカルで最低1週間は無人稼働させます。停止や異常ログが出なければ、VPSへの移行を検討する段階です。選び方は EA向けVPS比較 にまとめています。必要資金をドローダウンから逆算したい場合は、 必要資金・許容DD計算機 で先に試算しておくとロット設定を決めやすくなります。

よくある失敗7つ

1. 専用インジケーターを入れ忘れる

EAが要求するカスタムインジケーターを Indicators\ に入れていないと、適用しても何も起きません。ログに「custom indicator ... not found」が出ていないか確認してください。

2. Program Filesのインストールフォルダに置く

最も多い失敗です。ビルド600以降のMT4は、インストール先と分離されたデータフォルダに置く仕様です。必ず「ファイル」→「データフォルダを開く」から開いたフォルダを使ってください。

3. 時間足や通貨ペアを変更してEAが止まる

「チャートの通貨ペアと時間軸が変更された場合は自動売買を無効にする」がONだと、変更した時点でそのチャートのEAは取引を禁止されます。保護機構なのでONのままが推奨ですが、変更したらEAを再適用してください。口座を切り替えた直後も同じ保護が働きます。

4. マイクロ口座でロット単位がずれる

XMのマイクロ口座は1ロット=1,000通貨で、スタンダード口座(1ロット=100,000通貨)の100分の1です(出典: XMTrading 口座タイプ 、2026年9月24日確認)。スタンダード前提のEAをそのまま動かすとロット計算が100倍ずれます。MT4のエラー131、MT5の10014(Invalid volume in the request)の典型的な原因です。

5. 資金不足で計算ロットが最小ロット未満になる

リスク率からロットを自動計算するEAで、資金が少なすぎて計算結果が最小ロット(多くの業者で0.01)を下回るケースです。ロットは lot = MathFloor(lot / step) * step のように刻みへ合わせ、最小・最大でクリップする必要があります。

6. マジックナンバーが重複している

複数EAを1口座で動かすときの定番の事故です。重複すると各EAが他EAのポジションを自分のものとして数え、決済ロジックやナンピン段数の判定が崩れます。

7. GMTオフセットを取り違える

デフォルト値が自分の業者に合っているとは限りません。配布元が想定する業者とサーバー時刻が違えば、時間フィルタは丸ごとずれます。必ず実測した値を入れてください。

導入できたあとにやること

導入が完了しても、運用の設計は残っています。確認しておきたいのは次の3点です。

  1. 複数EAを動かすならMT4のインスタンスを分けるか検討する。 MT4のトレードコンテキストはプロセス全体で1つしかなく、複数EAが同時に発注すると 146 Trade context is busy が発生します。MT5はマルチスレッドのためこの問題は起きません。
  2. 稼働状況をスマホから確認できるようにする。 モバイルアプリはEAの稼働自体には対応しませんが、ポジションと残高の確認はできます( スマホでEAは動かせるか )。
  3. 停止ルールを先に決めておく。 どこまで含み損が膨らんだら止めるかを、稼働前に文章にしておきます。

⚠️ 注意

この記事は導入手順の解説であり、特定のEAや業者の利用を勧めるものではありません。設定値・仕様は業者やプラットフォームのバージョンによって変わります。不明な点は必ず公式ドキュメントと業者のサポートで確認してください。

まとめ

EAの入れ方は9手順28ステップに分解すれば、どこで止まっているかを特定できます。ファイルをデータフォルダに置き、オプションで自動売買を許可し、AutoTradingボタンを緑にして、チャート右上の笑顔を確認する。この流れを押さえれば導入段階のトラブルはほぼ解消します。

残る変数はマジックナンバーとGMTオフセットです。どちらも設定しなくても一応は動くものの、間違えると結果が静かにずれる項目なので、稼働前に必ず確認してください。

次は マジックナンバーとは 、 EAが動かないときのチェックリスト 、 EA向けVPS比較 の3本が役立ちます。

よくある質問

Q.EAのファイルはどのフォルダに入れればよいですか?
MetaTraderのメニューから「ファイル(File)」→「データフォルダを開く(Open Data Folder)」で開いたフォルダの中に置きます。EA本体は MQL4\Experts\(MT5は MQL5\Experts\)、カスタムインジケーターは MQL4\Indicators\、セットファイルは MQL4\Presets\ です。C:\Program Files\ 配下のインストールフォルダに置いても認識されません。必ずこのメニューから開いたフォルダを使ってください。
Q.チャート右上が困り顔(×印)になります。原因は何ですか?
自動売買が無効な状態です。確認順は、ツールバーの「自動売買(AutoTrading)」ボタンが緑になっているか、EAのプロパティ「全般(Common)」タブの「自動売買を許可する」にチェックがあるか、「ツール(Tools)」→「オプション(Options)」→「エキスパートアドバイザ(Expert Advisors)」タブの許可がONか、の3点です。時間足や通貨ペアを変更した直後、口座を切り替えた直後も保護機構で停止します。詳しくはニコちゃんマークが出ない原因を確認してください。
Q.DLLの使用は許可すべきですか?
EAが明示的に要求する場合だけONにし、要求されないならOFFのままにしてください。公式ヘルプも「信頼できない提供元のアプリケーションはサードパーティDLL経由で損害を与える可能性がある」「素性の分からないEAを扱うときはインポートを無効にすることを推奨する」と明記しています。DLLはMetaTraderのサンドボックス外で任意のコードを実行できるため、提供元が確認できないEAでは許可しないでください。
Q.GMTオフセットには何を入れればよいですか?
業者のサーバー時刻がGMTから何時間ずれているかを入れます。多くのオフショア系業者はGMT+2(冬時間)/GMT+3(夏時間)を採用しています。ただし具体値は業者ごとに異なるため、必ず自分の口座で実測してください。「気配値表示(Market Watch)」のサーバー時刻を見るか、MQLで (TimeCurrent() - TimeGMT()) / 3600 を出力させるのが確実です。
Q.EAを入れたのに1件も取引しません。壊れているのでしょうか?
導入直後に多いのは、そもそもエントリー条件が成立していないケースと、ロット計算の結果が最小ロット(多くの業者で0.01)を下回って発注が弾かれているケースです。後者はMT4のエラー131、MT5のリターンコード10014として記録されます。まず「ターミナル(Terminal)」(Ctrl+T)の「エキスパート(Experts)」タブでログを確認してください。
Q.MT4用のEAをMT5で使えますか?
使えません。MQL4とMQL5は相互に非互換で、MQL4のソースはMT5でコンパイルできず、その逆も通りません。販売ページに「MT4/MT5両対応」とある場合、実際には別々に書かれた2つのプログラムです。バックテスト結果も一致しないため、購入前に両方の実績が個別に提示されているかを確認してください。

関連記事