ホーム > ブログ > MT5エラーコード一覧 10027・10030・10016の直し方

MT5MQL5エラートラブル解決EAログ

MT5エラーコード一覧 10027・10030・10016の直し方

公開日: 2026-05-18読了目安: 約10分
⏱ 本記事は公開日時点の情報です。EAの実績数値(PF・DD・年率)は運用や再検証で変動するため、最新値は各EAページでご確認ください。 最新のEA実績を見る →

MT5 / MQL5 エラーコード一覧 — リターンコード10004〜10031と実行時エラー

MT5のエラーは2種類あります。5桁の取引リターンコード(例:10027 自動売買が無効、10030 フィリング方式が非対応、10016 ストップが無効、10019 証拠金不足)と、GetLastError() が返す4桁の実行時エラー(例:4401、4756)です。下の早見表で、番号から意味と直し方を引けます。

早見表:コード → 意味 → 直し方

番号と定数名は MQL5 公式リファレンス(取引サーバーのリターンコード・実行時エラー)に合わせています。

取引リターンコード(MqlTradeResult.retcode)

コード定数名意味直し方詳しい記事
10004TRADE_RETCODE_REQUOTEリクオート(約定前に価格が動いた)許容スリッページ(deviation)を広げるか、最新の価格で送り直すOff quotes / リクオート
10006TRADE_RETCODE_REJECTリクエストが拒否された多くはスプレッド拡大や急変時。次のティック以降の再試行に任せる—
10013TRADE_RETCODE_INVALIDリクエストが不正リクエストの項目(action・注文種別・銘柄)に誤りがある。送信前に OrderCheck() で検証する—
10014TRADE_RETCODE_INVALID_VOLUMEロット数が不正銘柄の最小・最大・刻み(SYMBOL_VOLUME_MIN / MAX / STEP)に合わせて丸める—
10015TRADE_RETCODE_INVALID_PRICE価格が不正価格を銘柄の桁数とティックサイズに正規化する。指値・逆指値は現在値に対して正しい側に置く—
10016TRADE_RETCODE_INVALID_STOPSストップ(SL/TP)が不正SL/TP をブローカーのストップレベルより遠く、価格に対して正しい側に置くInvalid stops
10017TRADE_RETCODE_TRADE_DISABLED取引が無効銘柄の「仕様」で取引モードを確認し、投資家パスワードではなく取引用パスワードでログインしているか確かめる。それでも出る場合はブローカーに問い合わせる—
10018TRADE_RETCODE_MARKET_CLOSED市場が閉まっている銘柄の取引セッションが開くまで待つMarket closed
10019TRADE_RETCODE_NO_MONEY証拠金が足りないロットを下げる・ポジションを減らす・入金する証拠金不足
10021TRADE_RETCODE_PRICE_OFF処理に使える気配値がない接続状態と、その銘柄に気配値が出ているかを確認して再試行するOff quotes / リクオート
10026TRADE_RETCODE_SERVER_DISABLES_ATサーバー側で自動売買が無効ブローカーがこの口座の自動売買を止めている。ブローカーに問い合わせる自動売買が無効
10027TRADE_RETCODE_CLIENT_DISABLES_AT端末側で自動売買が無効アルゴ取引ボタンをONにし、オプションとEAのプロパティでアルゴ取引を許可する自動売買が無効
10030TRADE_RETCODE_INVALID_FILL注文のフィリング方式が不正type_filling を銘柄が対応する方式(FOK / IOC / Return)にするUnsupported filling mode
10031TRADE_RETCODE_CONNECTION取引サーバーに接続できていないステータスバーの接続表示・VPSの回線・ブローカーのサーバー状況を確認する—

実行時エラー(GetLastError())

コード定数名意味直し方詳しい記事
4001ERR_INTERNAL_ERROR予期しない内部エラー原因が1つに決まるコードではない。調べたい関数の直前で ResetLastError() を呼び、続くようなら端末を再起動・更新する—
4401ERR_HISTORY_NOT_FOUND要求した履歴が見つからない約定・注文を読む前に、それを含む期間で HistorySelect() を呼ぶ—
4752ERR_TRADE_DISABLEDEAによる取引が禁止されているアルゴ取引をONにし、EAのプロパティで「アルゴ取引を許可」にチェックを入れる自動売買が無効
4756ERR_TRADE_SEND_FAILED取引リクエストの送信に失敗OrderSend() が false を返した状態。本当の理由は MqlTradeResult.retcode を見る(10027・10030・10016 が多い)—

MT4から来た方へ: MT4では同じ状況に別の番号(多くは3桁。134・130・132・136・4109 など)が使われます。下の各節に、MQL4 公式リファレンスに基づく「MT4での番号」を併記しました。なお MT5 では 4109 は ERR_CHART_WRONG_PROPERTY(チャートのエラー)で、取引のエラーではありません。

Expertタブの確認方法

MT5下部の「Expert」タブをクリックすると、すべてのEAのログが時系列で表示されます。

表示形式:
2026.05.18 10:00:01.234  GOLD VIPER XAUUSD,M30: [ERROR] 10016

日時        EA名          通貨ペア  時間足  メッセージ

エラーが表示されている場合は、コードの番号を上の早見表で引いて原因を特定してください。


よく発生するエラーコードと対処法

10019 — 証拠金不足(TRADE_RETCODE_NO_MONEY)

MT4での番号: 134 ERR_NOT_ENOUGH_MONEY。ERR_NO_MONEY は同じ状況を指す通称として広く使われています。

メッセージ例: "Order failed: not enough money"
             "No money"

原因: 証拠金が不足しているためポジションを建てられない。

対処法:

  1. MT5の「取引」タブで現在の証拠金維持率を確認
  2. 維持率が100%以下に近い場合は追加入金を検討
  3. EAのRiskPercentを下げてロットを小さくする
  4. 保有中のポジションを一部手動決済して証拠金を回収

📖 残高があるのに出る理由・MQL5コードでの防止策まで詳しくは ERR_NO_MONEY(MT5/MQL5)を完全解決 を参照。


10027 — 端末側で自動売買が無効(TRADE_RETCODE_CLIENT_DISABLES_AT)

関連するMT5の実行時エラー: 4752 ERR_TRADE_DISABLED。MT4での番号: 4109 ERR_TRADE_NOT_ALLOWED。

メッセージ例: "AutoTrading disabled by client"
             "Trade is not allowed"

原因: MT5の自動売買がOFFになっている。

対処法:

  1. MT5上部ツールバーの「アルゴ取引」ボタンをクリックしてON(緑色)にする
  2. ツール → オプション → エキスパートアドバイザー → 「アルゴ取引を許可」をONにして再起動

VPS再起動後にMT5が自動起動したとき、このエラーが発生することがよくあります。

📖 ボタン以外の見落とし(オプション設定・チャート個別の許可・投資家パスワード・10027/10026の違い)まで詳しくは MT5の自動売買が無効(AutoTrading disabled)を完全解決 を参照。


10018 — 市場クローズ(TRADE_RETCODE_MARKET_CLOSED)

MT4での番号: 132 ERR_MARKET_CLOSED。

メッセージ例: "Market closed"

原因: 取引時間外(週末・祝日)にEAがエントリーしようとした。

対処法: 通常は問題ありません。週末は市場が閉まっており、この間にエントリーしようとするとこのエラーが出ますが、市場が開けば自動で再開します。

📖 平日なのに出る場合(銘柄別の取引セッション・サーバー時間・Close only設定)は Market closed(10018/132)の原因と直し方 を参照。


10016 — ストップが不正(TRADE_RETCODE_INVALID_STOPS)

MT4での番号: 130 ERR_INVALID_STOPS。

メッセージ例: "Invalid stops"

原因: SL(ストップロス)またはTP(テイクプロフィット)の設定値がブローカーのストップレベル制限に引っかかっている。

対処法:

  1. ブローカーのストップレベル(最小SL距離)を確認(MT5でシンボルを右クリック → 仕様 → 「ストップレベル」欄)
  2. EAのSL幅がストップレベルより大きくなっているか確認
  3. ATR値が極端に小さい時間帯(低ボラ時)に発生しやすい

📖 ストップレベルの仕組み・10016と130の違い・MQL5コードでの恒久防止策まで詳しくは Invalid stops(10016/130)を完全解決 を参照。


10021 — 気配値なし(TRADE_RETCODE_PRICE_OFF)

MT4での番号: 136 ERR_OFF_QUOTES。

メッセージ例: "Off quotes"

原因: ブローカーサーバーから気配値が届いていない。接続の問題。

対処法:

  1. MT5下部のステータスバーで接続状態を確認
  2. 切断されている場合はMT5を再起動
  3. ブローカーのサーバー障害情報を確認
  4. VPSのネットワーク接続を確認

📖 リクオート(10004/138)との違い・deviation設定・リトライ実装まで詳しくは Off quotes / リクオート(10021/10004)を完全解決 を参照。

📖 ブローカー乗り換え直後に出る Unsupported filling mode(10030) は別原因です。Unsupported filling mode(10030)の直し方 を参照。


10012 — タイムアウト(TRADE_RETCODE_TIMEOUT)

MT4での番号: 128 ERR_TRADE_TIMEOUT。

メッセージ例: "Request canceled by timeout"

原因: 注文がタイムアウトした。サーバーの混雑・ネットワーク遅延。

対処法:

  1. 重要指標発表直後などの高負荷時間帯に発生しやすい
  2. 基本的に次のティックでEAが再試行するため放置でよい
  3. 頻繁に発生する場合はVPSのネットワーク環境またはブローカーを見直す

10006 — リクエスト拒否(TRADE_RETCODE_REJECT)

メッセージ例: "Request rejected"

原因: 注文がブローカーに拒否された。スプレッド超過・価格が動きすぎた等。

対処法:

  1. MaxSpreadPointsの設定値を確認。スプレッドが拡大しているときに発生しやすい
  2. 指標発表直後は正常な動作として無視してよい
  3. 頻繁に発生する場合はMaxSpreadPointsを少し上げる

"Margin level too low"

メッセージ例: "Margin level too low. Skip signal."

原因: EAのUseMarginCheck = true設定で、証拠金維持率がMinMarginLevel(例:200%)を下回ったため自動でエントリーを停止。

対処法:

  1. これは正常な保護動作です(エラーではありません)
  2. 証拠金維持率が回復するとエントリーが再開されます
  3. 根本対策:追加入金またはRiskPercentを下げる

"No signal on this bar"または"Wait for next bar"

これはエラーではなくデバッグ情報です。

"No signal. ATR=1245, EMA(50)=1998.23"

EAが毎回チャートを評価して「今回はエントリー条件を満たさない」という正常なログです。


エラーの優先度分類

優先度エラー対応
🚨 緊急10019 証拠金不足(MT4: 134)即座に証拠金を補充するかロットを下げる
🚨 緊急10027 自動売買が無効 / 4752(MT4: 4109)アルゴ取引をONにする
⚠️ 注意10016 ストップが不正(MT4: 130)SL設定を見直す
⚠️ 注意10030 フィリング方式が不正銘柄が対応する方式に設定する
⚠️ 注意10021 気配値なし(MT4: 136)が頻発接続環境を確認
✅ 正常10018 市場クローズ(MT4: 132)週末のみ放置でOK
✅ 正常10012 タイムアウト(MT4: 128)散発的放置でOK
✅ 正常Margin level too low証拠金が低いとき正常動作

Expert タブのログを効率的に確認する方法

ログのフィルタリング

Expertタブ内で右クリック → 「フィルター」で特定のEAまたはエラーのみを表示できます。

ログファイルの保存場所

MT5のログファイルは以下に保存されます:

C:\Users\[ユーザー名]\AppData\Roaming\MetaQuotes\Terminal\[ID]\MQL5\Logs\

日付別のファイルが自動生成されます。エラー調査時はこのフォルダを開いて確認してください。


まとめ

EAのエラーのほとんどは以下の4つのカテゴリに分類されます:

  1. 証拠金不足(10019): 追加入金またはロット縮小で解決
  2. 自動売買OFF(10027 / 4752): アルゴ取引ボタンをクリックするだけ
  3. 接続問題(10021 / 10031): MT5再起動またはVPSのネットワーク確認
  4. 正常な動作: 放置でよい(週末市場閉鎖、スプレッド拡大時の回避等)

Expert タブを毎日確認して、緊急度の高いエラー(10019・10027)を素早く検出する習慣をつけてください。


FAQ

Q: エラーコードはどこで調べられますか?

MQL5の公式リファレンスに全コードが載っています。10004〜10046 は取引サーバーのリターンコード、4xxx 番台は実行時エラーです。MT5のヘルプ(F1キー)からも検索できます。

Q: リターンコードと GetLastError() は何が違いますか?

リターンコード(10004〜10046)は注文に対する取引サーバーの回答で、MqlTradeResult.retcode に入ります。GetLastError() が返すのは MQL5 プログラム自体の実行時エラー(4xxx・5xxx)です。OrderSend() が失敗すると両方が出ることが多く、GetLastError() が 4756、本当の理由はリターンコード側に入ります。

Q: エラーが大量に出ているときはEAを止めるべきですか?

10018(市場クローズ)や 10012(タイムアウト)が散発的に出る程度なら止める必要はありません。ただし 10019(証拠金不足)が繰り返し出る場合は、EAを一時停止して証拠金状況を確認してから再開してください。

Q: 「Invalid account」エラーが出ています。

MT5のログイン情報(サーバー名・ログインID・パスワード)が間違っている可能性があります。ファイル → 取引口座を開く、で再ログインを試みてください。

Q: エラーがないのにEAがエントリーしません。

エラーがなくエントリーしない場合は「シグナルが出ていない正常な状態」です。EAはすべての足でエントリーするわけではありません。条件が揃ったときだけエントリーするため、しばらく様子を見てください。H1足のEAなら1日1〜3回エントリーすれば正常です。

📧 値上げ前のお知らせ + 5日間メール講座(無料)

全EAは現在ローンチ価格で、販売数に応じて段階的に値上げされます。値上げ前の事前通知に加えて、FX自動売買の本質、バックテストの正しい見方、ブローカー選びのコツを毎日1通お届けします。

※ プライバシーは厳守。配信解除はいつでも可能です。

EAやFXについて質問はありますか?

Nattzyのトレード掲示板に質問を投稿できます(無料登録)。この記事の内容に限らず、EAの設定やブローカー選びの相談も歓迎です。

Nattzyで質問する ↗

コメント・質問