本文へスキップ
トラブル解決

EAが動かない原因25項目チェックリスト|MT4/MT5の症状別対処法

EAが動かない・注文が入らないときの原因を25項目に分解し、症状→原因→対処の表で整理しました。MT4/MT5の公式エラーコードに紐づけているので、ファイル配置・自動売買の許可設定・業者側の拒否まで上から順に切り分けられます。

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

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

この記事の目次
  1. まず最初に見る3か所
  2. 症状別の早見表
  3. A群:ファイル配置と読み込み(項目1〜5)
  4. B群:自動売買の許可設定(項目6〜13)
  5. C群:チャートとパラメータ(項目14〜18)
  6. D群:注文が業者に拒否される(項目19〜23)
  7. E群:通信・環境・プロセス(項目24〜25)
  8. ログの読み方
  9. 導入直後と稼働中では、疑う場所が変わります
  10. よくある失敗
  11. まとめ

EAをチャートに入れたのに動かない、という状態には必ず原因があります。そして原因の大半は、MetaTraderの設定・ファイルの置き場所・口座の仕様という3つの領域に収まります。この記事では、MT4/MT5の公式エラーコードに紐づけながら、確認すべき25項目を上から順に並べました。ログの読み方まで通して書いているので、初めての導入でも、昨日まで動いていたEAが止まった場合でも、同じ順番で切り分けられます。

まず最初に見る3か所

✅ 結論

①チャート右上のアイコン(笑顔か困り顔か)、②ツールバーのAutoTradingボタンの色、③ターミナル(Ctrl+T)の「エキスパート」タブのログ。この3か所を見れば、原因が「設定」「ファイル」「注文の拒否」のどれにあるかがほぼ判別できます。

チャート右上にEA名と笑顔のマークが出ていれば、EAは読み込まれ、自動売買が許可された状態です。**困り顔(×印)**なら自動売買が無効なので、後述のB群(項目6〜13)を確認します。そもそもEA名が出ていないなら、チャートに適用できていないか、ファイルの置き場所が違います(A群)。

笑顔が出ているのに注文が入らない場合は、発注自体は試みられていて業者に拒否されている可能性があります。この場合はログにエラーコードが残るので、D群・E群を確認します。

MetaTraderの画面構成と基本操作は EAの入れ方|MT4/MT5への導入から稼働確認までの全手順 にまとめています。まだ一度も導入手順を通していない場合は、先にそちらを確認してください。

症状別の早見表

症状

もっとも多い原因

参照する項目

ナビゲーターにEA名が出ない

ファイルの置き場所が違う/再起動していない

項目1〜3

チャートに入れても何も起きない

専用インジケーター不足/コンパイル未実施

項目4〜5

チャート右上が困り顔(×)

自動売買が無効

項目6〜10

笑顔だが一度もエントリーしない

銘柄・時間足の不一致/条件未成立/ロット計算

項目14〜18

ログに OrderSend error 130

ストップレベル内にSL/TPを置いている

項目19

ログに OrderSend error 131

ロットが銘柄仕様に合っていない

項目16〜18

ログに Invalid order filling type

MT5の約定ポリシー不一致

項目20

ログに Market is closed

取引時間外・祝日・ロールオーバー

項目22

ログに no connection

接続断・サーバー名の誤り

項目24

昨日まで動いていたのに止まった

保護機構の発動/OS再起動

項目9・10・25

A群:ファイル配置と読み込み(項目1〜5)

#

確認項目

原因

対処

1

EAファイルの置き場所

インストールフォルダ(C:\Program Files\...)に置いている

メニュー「ファイル(File)」→「データフォルダを開く(Open Data Folder)」から開いたフォルダの MQL4\\Experts\\(MT5は MQL5\\Experts\\)に置く

2

複数のMetaTraderを入れている

別のMT4のデータフォルダに入れた

稼働させたいMT4のメニューから改めてデータフォルダを開いて配置する

3

再起動・更新

ナビゲーターが更新されていない

MetaTraderを完全に終了して再起動、またはナビゲーター(Ctrl+N)内で右クリック→「更新(Refresh)」

4

専用インジケーター

EAが要求するカスタムインジケーターを Indicators\\ に入れ忘れ

配布物のフォルダ構成をそのまま丸ごとコピーする。ログに「custom indicator ... not found」が出ていないか確認

5

コンパイル

.mq4 / .mq5 のソースで配布され、コンパイルしていない

ナビゲーターでEAを右クリック→「修正(Modify)」でMetaEditorを開き、F7でコンパイル。「0 errors, 0 warnings」を確認

MetaTrader 4の公式ヘルプは、ビルド600以降はMQL4アプリケーションがプログラム種別ごとに別ディレクトリへ配置されること、ターミナルのデータがインストール先とは分離された専用のデータフォルダに保存されることを明記しています(出典: MetaTrader 4 Help - Terminal Start and Data Structure 、確認日 2026年9月24日)。インストールフォルダに直接置いても認識されません。

⚠️ 注意

コンパイル時に大量のエラーが出る場合、MQL4のソースをMT5でコンパイルしようとしている可能性があります。MQL4とMQL5は相互に非互換で、ソースの互換性はありません。詳しくはMT4とMT5の違いを確認してください。

B群:自動売買の許可設定(項目6〜13)

#

確認項目

原因

対処

6

ターミナル全体の設定

「ツール(Tools)」→「オプション(Options)」→「エキスパートアドバイザ(Expert Advisors)」タブの「自動売買を許可する」がOFF

チェックを入れる

7

AutoTradingボタン

ボタンが赤い停止マーク

クリックして緑の再生マークにする(Ctrl+E)

8

EA個別の設定

EAプロパティ「全般(Common)」タブの「自動売買を許可する」が未チェック

チャート右クリック→「エキスパートアドバイザ」→「設定」でチェックを入れる

9

時間足・通貨ペアの変更

「チャートの通貨ペアと時間軸が変更された場合は自動売買を無効にする」が発動

EAを再適用する。設定自体はONのままにしておくほうが安全

10

口座・プロファイルの変更

同種の保護機構が発動

EAを再適用する

11

DLLの使用

EAがDLLを要求しているのに許可していない

オプションの「DLLの使用を許可する」を確認。提供元が信頼できない限り許可しない

12

WebRequest

ライセンス認証型・通知型EAで、許可URLを登録していない

「指定したURLのWebRequestを許可する」を有効にし、URLを1行ずつ登録する

13

ログイン方法

投資家パスワード(Investor password)でログインしている

閲覧専用のため取引できない。マスターパスワードでログインし直す

MT5の公式ヘルプは、ツールバーのAutoTradingボタンについて「これをオフにすると、EA個別の設定で自動売買を有効にしていても全EAの自動売買は無効になる」と説明しています(出典: MetaTrader 5 Help - Algorithmic Trading 、確認日 2026年9月24日)。個別設定より全体設定が優先されるという点は、切り分けの際に重要です。

DLLについて、公式ヘルプは「素性の分からないEAを扱うときはインポートを無効にすることを推奨する」「信頼できない提供元のアプリケーションはサードパーティDLL経由で損害を与える可能性がある」と明記しています(出典: MetaTrader 4 Help - Expert Advisors settings 、確認日 2026年9月24日)。DLLはMetaTraderのサンドボックス外で任意のコードを実行できるため、「動かないからとりあえず全部チェックを入れる」という対応は避けてください。

困り顔が消えない場合の詳細な手順は、 スマイルマークが出ない・自動売買ボタンが押せないときの直し方 にまとめています。

C群:チャートとパラメータ(項目14〜18)

#

確認項目

原因

対処

14

銘柄・時間足

EAが指定する時間足・通貨ペア以外のチャートに適用している

EAのマニュアルが指定する組み合わせで開き直す

15

銘柄名の表記

業者によって銘柄名の表記が異なり、EAが対象銘柄を見つけられない

気配値表示(Market Watch)で実際の銘柄名を確認し、EAのパラメータに合わせる

16

計算ロットが最小未満

資金が少なく、リスク率から計算したロットが最小ロットを下回る

ロット計算結果をログに出力して確認。固定ロットに切り替えるか資金を見直す

17

ロット刻み・上限

SYMBOL_VOLUME_MIN / SYMBOL_VOLUME_MAX / SYMBOL_VOLUME_STEP に合っていない

気配値表示で銘柄を右クリック→「仕様(Specification)」で実際の値を確認する

18

口座タイプのロット定義

1ロットの通貨数が標準口座と異なる口座を使っている

標準口座前提のEAはロット計算がずれる。口座タイプを合わせる

項目16は、初心者の「EAが動かない」でとくに多い原因です。リスク率からロットを自動計算するEAでは、資金が不足していると計算結果が最小ロット(多くの業者で0.01)を下回り、発注が 131 ERR_INVALID_TRADE_VOLUME("Invalid trade volume")で弾かれます。エラーが出ずに「発注をスキップする」実装のEAもあり、その場合はログに何も残らないまま何日も止まって見えます。

必要な資金の目安は EAの推奨証拠金の出し方 で計算方法を解説しています。ロット単位の確認には ロット・必要証拠金計算機 も使えます。

ℹ️ 補足

1ロットの通貨数は口座タイプによって異なります。たとえばXMTradingのマイクロ口座は1ロット=1,000通貨、スタンダード口座は1ロット=100,000通貨です(出典: XMTrading 口座タイプ、確認日 2026年9月24日)。標準口座前提で作られたEAをマイクロ口座で動かすと、ロット計算が100倍ずれます。

D群:注文が業者に拒否される(項目19〜23)

ここから先は、EAは正常に動いていて、発注が業者側で拒否されているケースです。ログにエラーコードが残ります。

#

症状(ログ表示)

原因

対処

19

Invalid stops(MT4: 130 / MT5: 10016)

SL/TPがストップレベルより内側

SYMBOL_TRADE_STOPS_LEVEL を確認し、SL/TPをその外側に置く。ストップレベル0の業者・口座を選ぶのが根本解決

20

Invalid order filling type(MT5: 10030)

EAが要求する約定ポリシーを業者が許可していない

SYMBOL_FILLING_MODE で許可を確認。EAにFilling Typeの選択肢があればFOK → IOC → RETURNの順に試す

21

ナンピン・両建て系が1ポジションしか持てない

MT5のネッティング口座を使っている

ネッティング口座では1銘柄1ポジション。ヘッジング口座で運用する

22

Market is closed(MT4: 132 / MT5: 10018)

取引時間外・祝日・ロールオーバー前後

気配値表示の「仕様」で銘柄ごとの取引時間を確認する

23

The amount of open and pending orders has reached the limit(MT4: 148 / MT5: 10033・10034・10040)

保有ポジション数・注文数・数量の上限に到達

「EA数 × 想定最大ポジション数」を上限内に収める設計にする

項目19のストップレベルは、公式リファレンスで SYMBOL_TRADE_STOPS_LEVEL が "Minimal indention in points from the current close price to place Stop orders" と定義されています(出典: MQL5 Symbol Properties 、確認日 2026年9月24日)。現在値からこの距離以内にSL/TPや指値・逆指値を置けない、という意味です。SLを数pipsに設定するスキャルピング系EAで頻出します。

なお、5桁表示の業者では1pip=10ポイントです。4桁前提で書かれた古いEAをそのまま使うと、SL/TPの値が10分の1になって同じエラーが出ます。

項目20はMT5固有で、海外FX業者で頻出します。ORDER_FILLING_FOK(全量約定できなければ注文自体が破棄)、ORDER_FILLING_IOC(約定可能な数量だけ約定し残りはキャンセル)、ORDER_FILLING_RETURN(残数量が板に残る)の3種があり、銘柄ごとに許可される組み合わせが決まっています(出典: MQL5 Reference - Order Properties 、確認日 2026年9月24日)。

エラーコードの全一覧と個別の対処は MT4/MT5の注文エラー一覧と原因 にまとめています。

E群:通信・環境・プロセス(項目24〜25)

#

症状

原因

対処

24

no connection / 右下が「回線不通」

接続断、サーバー名の誤り、ファイアウォール、プロキシ設定

サーバー名は完全一致が必要。ファイアウォールと「ツール→オプション→サーバー」のプロキシ設定を確認

25

Trade context is busy(MT4: 146)/MetaTraderが落ちている

MT4のトレードコンテキストはプロセス全体で1つ。複数EAの発注が衝突/メモリ不足/Windows Updateの自動再起動

MT4のインスタンスを分ける。VPSのメモリ使用率とWindows Updateの設定を確認

項目25は、VPS運用でとくに多い停止要因です。MT4のトレードコンテキストはプロセス全体で1つしかないため、1つのMT4で多数のEAを動かすと発注が衝突します。MT5はマルチスレッドのためこの問題は起きません。MT4を複数プロセスに分ける方法は MT4を同一PCで複数起動する方法 、VPSでの本数の目安は VPSでMT4は何個まで起動できるか で扱っています。

Windows Updateの自動再起動でMetaTraderごと落ちるのは典型的な事故です。VPSでは Windows Updateの自動再起動を止める設定 と 再起動後にEAを自動復帰させる設定 をセットで行ってください。

ログの読み方

原因を特定する最短ルートはログです。ターミナルウィンドウ(Ctrl+T)に2つのタブがあります。

  1. 「エキスパート(Experts)」タブ … EAが出力したメッセージ、初期化の成否、OrderSend error などのエラー。
  2. 「操作履歴(Journal)」タブ … ターミナル側のログ。ログイン、接続断、再接続、端末の起動・終了。

切り分けの順番は次の通りです。

  1. 「エキスパート」タブにEAの初期化メッセージが出ているかを見る。出ていなければEAが読み込まれていない(A群)。
  2. 初期化は成功しているがエラーが出ている場合、エラーコードを控える(D群)。
  3. エラーも何も出ていない場合、「操作履歴」タブで接続が切れていないか、端末が再起動していないかを見る(E群)。
  4. すべて正常なら、EAのエントリー条件が成立していないだけの可能性があります。時間帯フィルタを持つEAでは、サーバー時刻とGMTオフセットの設定ずれで、想定と違う時間帯にしか動かないことがあります( MT4サーバー時間とGMTの読み方 )。

💡 ポイント

問い合わせの前にログをテキストで保存してください。ログの行を右クリックすると保存できます。MetaTraderのビルド番号、業者名とサーバー名、口座タイプ、銘柄名、時間足、使用したセットファイルを添えると、提供元とのやり取りが1往復で済みます。

導入直後と稼働中では、疑う場所が変わります

同じ「動かない」でも、一度も動いたことがないのか、動いていたものが止まったのかで、確認すべき場所が変わります。ここを分けずに全項目を上から試すと、時間だけがかかります。

一度も動いたことがない場合は、A群とB群がほぼすべてです。ファイルの置き場所、コンパイル、自動売買の許可、そしてEAが指定する銘柄と時間足。この4つで大半が解決します。加えて、EAのマニュアルが要求する前提条件(対応する口座タイプ、必要な最低資金、専用インジケーターの有無)を読み直してください。導入手順そのものに抜けがある場合は、 EAの入れ方 の手順1から通してやり直すほうが早いことがあります。

昨日まで動いていたのに止まった場合は、自分が何も変えていなくても環境が変わっています。時間足や通貨ペアの切り替え、口座の入れ直し、端末やVPSの再起動、業者側の取引条件の変更、夏時間と冬時間の切り替えによるサーバー時刻のずれ。いずれもEAの設定を触らずに挙動が変わる要因です。まず「操作履歴」タブで、直前に何が起きたかを時刻で確認してください。サーバー時刻の扱いは 夏時間・冬時間の切り替えでEAが狂う理由 で解説しています。

よくある失敗

  • チェックを片っ端から入れてしまう … とくにDLLの許可は、提供元が不明なEAでは入れないでください。動かない原因の切り分けよりセキュリティが優先されます。
  • 複数の原因を同時に変えてしまう … 1つずつ変えて、そのつどログを確認してください。まとめて変えると、次に同じ症状が出たときに再現できません。
  • デモで検証せずリアルで試す … 導入直後は、デモ口座で最低1回はエントリーから決済まで通してください。
  • バックテストが通らないことと混同する … ストラテジーテスターが動かない場合は原因が別系統です。 バックテストが動かない・結果がおかしいときの確認項目 を参照してください。
  • スマホで動かそうとしている … MetaTraderのモバイルアプリはEAに対応していません。詳しくは MT4のEAをスマホだけで動かせるか で解説しています。

まとめ

EAが動かないときは、①ファイルの置き場所、②自動売買の許可設定、③チャートとパラメータ、④業者側の拒否、⑤通信と環境、の順に上から切り分けるのが最短です。ログのエラーコードが出ていれば、原因はほぼ特定できます。

導入手順そのものを一度なぞり直したい場合は EAの入れ方|MT4/MT5への導入から稼働確認までの全手順 へ、エラーコードの意味を調べたい場合は MT4/MT5の注文エラー一覧と原因 へ進んでください。動くようになったあとの運用設計は EAの推奨証拠金の出し方 と 必要資金・許容DD計算機 で整理できます。

よくある質問

Q.EAをチャートに入れたのに一度もエントリーしません。何から確認すればいいですか?
まずチャート右上のアイコンを見てください。困り顔(×)なら自動売買が無効なので、ツールバーのAutoTradingボタンとEAプロパティの「自動売買を許可する」を確認します。笑顔なのにエントリーしない場合は、ターミナルの「エキスパート」タブと「操作履歴」タブにエラーが出ていないかを確認します。エラーが出ていなければ、EAのエントリー条件が成立していないだけの可能性もあります。詳しい手順はスマイルマークが出ないときの直し方を参照してください。
Q.ログに「OrderSend error 131」と出ます。どういう意味ですか?
131は MQL4 の ERR_INVALID_TRADE_VOLUME("Invalid trade volume")で、要求したロット数が銘柄の仕様に合っていないという意味です。最小ロット・最大ロット・ロット刻みのいずれかに違反しています。資金が少なくリスク率から計算したロットが最小ロット未満になっているケースが非常に多いので、まず計算後のロット値をログに出して確認してください。エラーコードの一覧はMT4/MT5の注文エラー一覧にまとめています。
Q.昨日まで動いていたEAが、今朝から止まっています。
時間足や通貨ペアを変更した直後、口座を切り替えた直後は、オプションの保護機構により自動売買が自動で無効化されます。またVPSや自宅PCでWindows Updateの自動再起動が入り、MetaTraderごと落ちているケースも典型です。ターミナルの「操作履歴」タブで最後のログ時刻を確認し、再起動の痕跡がないかを見てください。VPS運用なら再起動後の自動復帰設定もあわせて確認します。
Q.MT5でだけ「Invalid order filling type」が出ます。
MT5のリターンコード10030(TRADE_RETCODE_INVALID_FILL)です。EAが要求する約定ポリシー(FOK / IOC / RETURN)を、その業者・銘柄が許可していないときに発生します。銘柄ごとに許可されるポリシーは SYMBOL_FILLING_MODE で定義されています。EAにFilling Typeの選択肢があれば FOK → IOC → RETURN の順に切り替えて試してください。海外FX業者のMT5でEAが動かない原因として頻出します。
Q.デモでは動いたのに、リアル口座では動きません。
口座タイプの違いが原因のことがあります。1ロットの通貨数が異なる口座(例: 1ロット=1,000通貨のマイクロ口座)では、標準口座前提のEAのロット計算が大きくずれます。またストップレベルや最大保有ポジション数、許可される約定ポリシーも口座タイプで変わります。気配値表示で銘柄を右クリックし「仕様」を開いて、最小ロット・ロット刻み・ストップレベルを実際の値で確認してください。
Q.チェックリストを全部試しても動きません。次に何をすればいいですか?
EAの提供元に、ターミナルの「エキスパート」タブと「操作履歴」タブのログを添えて問い合わせるのが最短です。その際、MetaTraderのビルド番号、業者名とサーバー名、口座タイプ、銘柄名、時間足、使用したセットファイルを添えると解決が早くなります。ログを消してしまうと原因の特定が難しくなるため、問い合わせ前にテキストとして保存しておいてください。

関連記事