最終更新: 2026年6月
「EAをセットしたのにポジションが入らない」「バックテストでは動くのに本番で注文が出ない」——MT4のEAトラブルはパターンが決まっているので、順番にチェックすれば大抵の原因は特定できます。
私も最初にEAを始めた頃、設定ミスで丸2日間EAが動いていなかったことがあります。口座を見たら当然ポジションゼロ。「今週もドル円が動いたのに」と後悔しましたよ。なので、このチェックリストは身をもって体験したものを整理しています。
免責事項: 本記事はMT4の設定に関する情報提供を目的としています。FX取引には元本割れのリスクがあります。投資判断は自己責任でお願いします。
まず確認:スマイルマークを見る
MT4でEAが正常に動いているとき、チャートの右上に「笑顔マーク(スマイル)」が表示されます。
- スマイルマーク(笑顔) → EAが稼働中で自動売買が許可されている
- への字マーク(しかめ面) → EAは読み込まれているが自動売買が無効
このマークが「への字」になっていれば、EAが動かない原因は自動売買設定の問題です。下のチェックリストで確認しましょう。
スマイルマークの状態と実際の動作の対応を覚えておくと、毎回の確認が素早くできます。笑顔マークはEAが正常に読み込まれて自動売買も許可されている状態ですが、笑顔でも「取引条件を満たしていないためシグナルが出ていない」というケースは別途あります。チャートを見てシグナル条件が発生しているはずなのに注文が出ない場合は、ジャーナルタブのエラーメッセージを確認してください。
原因1: MT4の自動売買がOFFになっている(最多原因)
MT4を再起動したり、PCをシャットダウン・再起動したりすると、自動売買設定がOFFにリセットされることがあります。
確認場所: MT4ツールバーの「自動売買」ボタン
- ボタンが緑(または「自動売買」の文字が通常表示)→ ON
- ボタンが赤(または取り消し線が入っている)→ OFF
対処: 「自動売買」ボタンをクリックしてONにする。
MT4を起動するたびに毎回確認する癖をつけることをおすすめします。私は付箋にメモして、PCモニターに貼っていた時期がありました。
これが最多原因である理由は、MT4の仕様上「起動時に自動売買がONになっている状態を記憶しない」場合があるためです。特に「昨日は動いていたのに今日は動かない」というパターンは、PC再起動後の自動売買OFFが原因であることが多いです。VPS(仮想専用サーバー)を使ってMT4を常時稼働させる場合でも、VPSを再起動した後には必ず確認が必要です。
原因2: EAのプロパティで「アルゴリズム取引を許可」のチェックが外れている
EAをチャートにセットした際の設定画面で「アルゴリズム取引を許可する」のチェックが外れていると、EAは表示されますがポジションを取りません。
確認方法:
- EAが表示されているチャートを右クリック
- 「エキスパートアドバイザー」→「プロパティ」
- 「共有」タブを開く
- 「アルゴリズム取引を許可する」にチェックが入っているか確認
チェックが外れていれば入れて「OK」。
このチェックはEAをチャートにセットするたびに確認が必要です。「以前は動いていたのに新しいチャートに移したら動かない」という場合、このチェックが外れていることが多いです。
原因3: DLLのインポートが許可されていない
外部からダウンロードしたEAの多くは「DLL(外部ライブラリ)」を使用しています。MT4の設定でDLLのインポートが禁止されていると、EAが起動すらしません。
確認方法:
- MT4メニュー →「ツール」→「オプション」
- 「エキスパートアドバイザー」タブ 3.「DLLのインポートを許可する」にチェックを入れる
また、EAのプロパティの「共有」タブでも「DLLのインポートを許可する」を確認する。
DLLを使用するEAかどうかは、EA付属のドキュメントか、MT4のエキスパートタブのエラーメッセージで確認できます。「Cannot load library」というエラーが出ている場合、DLLの許可設定が原因の可能性が高いです。
原因4: MT4の取引サーバーに接続されていない
ネット接続が切れていたり、ブローカーのサーバーがメンテナンス中だったりすると、EAが稼働していても注文が出せません。
確認方法:
- MT4の画面右下に「接続中」または「インターネット接続」などの表示があるか
- MT4の下部ステータスバーに接続サーバー名と接続インジケーターが表示されているか
接続が切れている場合は、MT4を再起動するか、ブローカーのサーバーステータスを確認する。
接続が切れる原因としては、自宅のルーターの不具合・ISPの障害・ブローカーのサーバーメンテナンスなどがあります。長時間MT4を放置して戻ったときに接続が切れているケースもあるため、重要な取引時間帯の前には接続状態を確認する習慣をつけておくとよいです。VPSを利用している場合も、VPS自体のネットワーク障害が起きることがあります。
原因5: 証拠金(マージン)が不足している
利用可能な証拠金が足りないと、EAが注文を出そうとしても「Margin not enough」等のエラーで弾かれます。
確認方法: MT4の「ターミナル」ウィンドウ →「取引」タブで残高・有効証拠金・余剰証拠金を確認。
余剰証拠金がゼロに近い場合、追加入金が必要です。
この状態になりやすいのは、複数のEAを同時稼働させている場合や、大きなポジションを抱えている最中にEAが新規注文を出そうとした場合です。余剰証拠金に余裕を持たせた資金管理が、EAの正常稼働を維持するために重要です。一般的には、EAの推奨証拠金の1.5〜2倍以上の余剰証拠金を確保する運用が安全です。
原因6: EAに設定したロット数が無効
EAのパラメーター設定でロット数に「0」や「-1」など無効な値が入っていると、注文が弾かれます。
確認方法:
- EAのプロパティを開く
- 「入力パラメーター」タブでロット数の値を確認
- ブローカーの最小ロット(通常0.01)以上になっているか確認
ブローカーによって最小ロットが異なる場合があります(国内業者と海外業者で異なる場合が多い)。EAのデフォルト設定がブローカーの最小ロット以下になっていることがあるため、EAをセットする際は必ずロット設定を確認してください。
原因7: 市場が取引時間外
MT4は24時間表示されていますが、取引できる時間には制限があります。特に週末(土曜・日曜)は外国為替市場が閉まっているため、EAが動いていても注文が出ません。
また、一部の通貨ペアや商品は特定の時間のみ取引可能なことがあります。
確認方法: MT4の「マーケットウォッチ」ウィンドウで対象通貨ペアの状態を確認。「!」マークなどが出ている場合は取引不可の可能性があります。
日本時間でのFX市場の主な取引時間帯は、東京市場(8:00〜17:00)・ロンドン市場(16:00〜翌1:00)・NY市場(21:00〜翌6:00)です。この時間帯に取引が集中するため、時間帯フィルターを設定していないEAでも、市場が薄い時間帯では注文の約定に問題が起きることがあります。
原因8: EAが使用する通貨ペアや時間足が違う
EAをセットしたチャートの通貨ペアや時間足が、EAの設計と合っていない場合は想定通りに動きません。
例えば、「USDJPY専用・1時間足用」として作られたEAを、EURUSD・15分足のチャートにセットした場合、コードの中で if(_Symbol != "USDJPY") return; という制限が書かれているEAは動作しません。
確認方法: EAの仕様書または付属ドキュメントで推奨通貨ペア・時間足を確認し、その設定のチャートにEAをセットし直す。
EAによっては「特定の通貨ペア以外では動かない制限」を意図的に設けているものがあります。これはロジックが特定の通貨ペアの特性(スプレッド幅・ボラティリティ・相場の動き方)に最適化されているためです。設計外の通貨ペアで動かすことは推奨されません。
EAのジャーナルログでエラーを確認する方法
上記の全チェックを行っても原因が分からない場合、MT4のログを確認する。
- MT4の「ターミナル」ウィンドウ(下部)を表示
- 「エキスパート」タブ → EAのメッセージを確認
- 「ジャーナル」タブ → システムのイベントログを確認
「ERR_TRADE_NOT_ALLOWED」「0 trades」「not enough money」など、具体的なエラーメッセージが記録されていることが多く、原因特定の助けになります。
よく出るエラーコードと意味を整理しておきます。
ERR_TRADE_NOT_ALLOWED (4756): アルゴリズム取引が許可されていない。自動売買ボタンのON確認ERR_NOT_ENOUGH_MONEY (134): 証拠金不足。余剰証拠金の確認ERR_MARKET_CLOSED (132): 市場クローズ中。取引時間外のトレード試行ERR_INVALID_TRADE_VOLUME (131): 無効なロット数。ロット設定の確認Cannot load library: DLL読み込みエラー。DLL許可設定の確認
エラーコードをそのままGoogleやHedgrow FXのClaudeに入力すると、具体的な対処法を調べやすい。
チェックリスト(印刷用)
□ MT4ツールバーの「自動売買」がON(緑)になっている
□ EAプロパティの「アルゴリズム取引を許可する」にチェックあり
□ MT4オプションの「DLLのインポートを許可する」にチェックあり
□ MT4が取引サーバーに接続されている
□ 余剰証拠金が十分にある
□ EAのロット数が有効な値(0.01以上)になっている
□ 市場が取引時間内である(週末・祝日に注意)
□ チャートの通貨ペアと時間足がEAの仕様と合っている
□ ジャーナルログにエラーメッセージがない
このチェックリストを見ながら順番に確認すれば、ほとんどのケースで原因が見つかります。
どちらかと言えば「自動売買ONを確認し忘れていた」「DLLのチェックが外れていた」が圧倒的に多い原因です。複雑な原因より基本的なところから確認する方が早く解決します。
MT5のEAが動かない場合は
この記事はMT4のEAトラブル対処法を扱っていますが、MT5の場合は設定箇所が3箇所あるなど一部異なります。MT5のEAが動かない原因と対処法(チェックリスト10項目)を合わせて参照してください。
また、自分でEAを作成・改修する際にEAのロジック自体に問題がある場合は、Claudeがエントリーポイントの判断をするFXツール Hedgrow FXでコードの修正相談を活用する方法もあります。
まとめ
MT4のEAが動かない原因は、ほとんどが設定の問題です。「自動売買がOFFになっている」「アルゴリズム取引の許可チェックが外れている」「DLL許可が外れている」の3点で大半のケースが解決します。
解決しない場合は、ジャーナルタブのエラーメッセージを確認することで具体的な原因を特定できます。エラーコードが出ている場合は、そのコードの意味を調べることが次のステップです。
EAが正常に動くようになったら、まず最小ロットでの動作確認を行い、期待通りの動作をすることを確認してから本格運用に移してください。
免責事項: 本記事はMT4設定の情報提供を目的としています。FX取引には元本割れリスクがあります。投資はご自身の判断と責任で行ってください。
よくある質問(FAQ)
Q: バックテストでは動くのにリアル口座で動かないのはなぜですか? A: デモ口座とリアル口座でサーバーが異なることがあり、ロット制限や接続設定が違う場合があります。リアル口座でのEAプロパティ設定とサーバー接続を再確認してください。
Q: EAをセットしたら消えてしまいました。どうすればいいですか? A: チャートを閉じたり通貨ペアを変えると、セットしたEAが外れることがあります。MT4のオプションで「プロファイルを使用する」設定にすると、チャート設定とEAを保存できます。
Q: EA稼働中にMT4を再起動したら自動売買がOFFになりました。 A: MT4は再起動時に自動売買設定をOFFに戻すことがあります。VPSを使ってMT4を常時稼働させ、手動でONにする作業を減らすことをおすすめします。
Q: 「EAが動かない」という意味で、チャートにEAが表示すらされない場合は?
A: EAファイルをMT4の正しいフォルダに配置できていない可能性があります。MT4メニュー →「ファイル」→「データフォルダを開く」→ MQL4/Experts フォルダに.ex4ファイルが入っているか確認してください。
Q: MT4のEAを使うとき、VPSは必ず必要ですか? A: 自宅PCでMT4を常時起動できる環境があれば必須ではありませんが、停電・スリープ・ネット断絶リスクを考えると、24時間安定稼働のためにVPSを使うことを推奨します。
Q: EAが動かないまま長期間放置していたら損失が出ましたか? A: EAが動いていない間は注文が出ないため、損失は発生しません。ただし「本来取れたはずの利益機会を逃した」という意味での機会損失は生じます。EAが正常に動いているかは定期的に確認することが重要です。
Q: 複数のEAを同時に動かすにはどうすればいいですか? A: MT4では1つのチャートに1つのEAしか適用できません。複数のEAを動かす場合は、異なる通貨ペアまたは異なる時間足のチャートを複数開いて、それぞれにEAを適用してください。
著者: 副業サラリーマントレーダー(FX副業歴7年)
