当サイトはアフィリエイト広告を含みます(PR)

MT4 エラー137「Broker is busy」ブローカーが処理中で注文できない場合の対処法

✅ 結論(解決策)

エラー137とは

MT4のエラー137(メッセージ:Broker is busy)は、トレーダーが注文を送信した際に、ブローカーのサーバーが他の処理で手一杯になっており、その注文を受け付けられない場合に返されるエラーです。サーバーがダウンしているわけではなく、一時的に処理能力を超えている状態を意味します。

手動取引でもEA(自動売買)でも発生しますが、EA運用時にログに記録されて気づくケースが多いエラーです。

発生しやすいタイミング

  1. 経済指標発表直後:米雇用統計・FOMC・CPI発表後など、大量の注文がサーバーに集中する場面。秒単位で数万件の注文が殺到するため、サーバーの処理が追いつかなくなります。
  2. マーケットオープン直後:月曜朝のマーケットオープン時や、ロンドン市場・NY市場のオープン直後は注文が集中します。
  3. サーバーメンテナンス前後:ブローカーのサーバーメンテナンス前後は処理能力が低下している場合があります。
  4. 同時に大量のEAを稼働:複数のEAが同時に大量の注文を送信すると、アカウント単位で処理待ちが発生することがあります。

解決手順

時間をおいて再注文する

エラー137は一時的なサーバー混雑が原因のため、5〜30秒程度待ってから再度注文を送信してください。指標発表直後の場合は1〜2分待つのが安全です。焦って連続送信するとさらにサーバーに負荷がかかり逆効果です。

経済指標カレンダーを確認する

重要指標の発表スケジュールを事前に確認し、発表直後の数分間は注文を控えるか、指値・逆指値注文を事前にセットしておく運用に切り替えることで、エラー137の発生を回避できます。

EA運用時のリトライ処理を実装する

EA開発者は、エラー137を受け取った場合に1〜3秒のウェイト後に自動リトライする処理を実装することを推奨します。リトライ上限は3〜5回に設定し、それでも失敗する場合はアラートを出す設計にしてください。

ℹ MQL4でのリトライ実装例

if(GetLastError()==137){ Sleep(2000); /* 2秒待機 */ RefreshRates(); /* レート更新 */ }のように、Sleep()でウェイトを入れてからRefreshRates()で最新レートを取得後に再送信します。

サーバー環境を見直す

エラー137が日常的に頻発する場合は、ブローカーのサーバー処理能力が不足している可能性があります。別のサーバー(例:XMではサーバー番号が複数あり、口座開設時に割り当てられる)に切り替えるか、サーバー環境が安定しているブローカーへの移行を検討してください。

エラー137とエラー138の違いを正しく理解する

エラー137(Broker is busy)と138(Requote)はどちらも「注文が通らない」という点で似ていますが、原因と対処法が根本的に異なります。137はサーバーの処理能力の問題であり、時間をおけば解決します。138は価格変動の問題であり、スリッページ許容値の設定やECN口座への変更が対策になります。エラーログに137と138が混在している場合は、まず137の対処(時間をおく)を優先してください。

⚠ スキャルピングトレーダーへの注意

秒単位で取引を行うスキャルピング手法では、エラー137による数秒の遅延が致命的になることがあります。スキャルピング主体の場合は、約定速度・サーバー安定性に定評のあるブローカーを選ぶことが特に重要です。

エラー137の発生頻度を減らすための環境構築

エラー137を完全になくすことは難しいですが、発生頻度を大幅に減らす環境構築は可能です。

  1. VPS(仮想専用サーバー)を利用する:自宅PCからではなく、ブローカーのサーバーに近い場所にあるVPSからMT4を動かすことで、ネットワーク遅延を最小限に抑えられます。注文の送信と応答が高速化されるため、サーバーが混雑状態に入る前に注文が処理されやすくなります。XMでは条件を満たすと無料VPSが提供されます。
  2. 取引サーバーの負荷状況を確認する:MT4の画面右下に表示される接続速度(例:「45ms」)を定期的に確認してください。通常時は100ms以下ですが、200msを超えている場合はサーバーが高負荷状態の可能性があります。この状態で大量の注文を送るとエラー137が返りやすくなります。
  3. 指値・逆指値注文を活用する:成行注文はリアルタイムでサーバーに処理を求めるため、混雑時にエラー137が発生しやすいです。事前に指値(Limit)注文や逆指値(Stop)注文をセットしておけば、注文はサーバーに事前登録されるため、発表直後でもスムーズに約定されやすくなります。

MT4のジャーナルログでエラー137を確認する方法

エラー137が発生しているかどうかは、MT4の「エキスパート」タブまたは「ジャーナル」タブで確認できます。

  1. MT4の画面下部にある「エキスパート」タブをクリックします。
  2. ログの中から「137」または「Broker is busy」というメッセージを検索します。
  3. 発生時刻を確認し、経済指標の発表時間やマーケットオープンの時間と照合してください。

エラーの発生パターンを把握することで、特定の時間帯を避けたり、リトライのタイミングを最適化したりする対策が可能になります。ログはMT4の「ファイル」→「データフォルダを開く」→「logs」フォルダにテキストファイルとして保存されています。

よくある質問

MT4でエラー137が頻繁に出るのはなぜですか?
ブローカーのサーバーが処理過多の状態です。経済指標発表直後やマーケットオープン直後に多発します。数秒〜数十秒待ってから再度注文を送信してください。改善しない場合はブローカーのサーバーステータスを確認してください。
エラー137とエラー138(Requote)の違いは何ですか?
エラー137はブローカーのサーバー自体が処理中で注文を受け付けられない状態です。エラー138は注文は受け付けられたものの、価格が変動したため新しい価格が提示される(リクオート)状態です。137はサーバー側の問題、138は価格変動の問題という違いがあります。
EAでエラー137が出た場合、自動でリトライさせるべきですか?
はい、EAにはリトライ処理を実装することを推奨します。ただし、即座にリトライすると同じエラーが返る可能性が高いため、1〜3秒程度のウェイトを入れてから再送信する設計が安定します。リトライ回数の上限(3〜5回程度)も設定してください。
サーバー安定性で選ぶなら

XMは世界190カ国以上にサービスを提供し、サーバーインフラに大規模投資しています。平均約定速度1秒未満、注文拒否なしのポリシーで、エラー137の発生リスクを最小限に抑えられます。

XM公式サイトで口座開設(無料)
※ 当サイト経由の口座開設でボーナスが付与されます(PR)
※ XMは日本の金融庁に未登録の海外FX業者です。取引にはリスクが伴います。
リスクに関する注意事項
FX(外国為替証拠金取引)は元本保証のない金融商品です。レバレッジにより、預けた証拠金以上の損失が発生する可能性があります。余剰資金の範囲で取引を行ってください。当サイトで紹介する海外FX業者は日本の金融庁に未登録であり、日本の投資者保護基金の対象外です。当サイトの情報は一般的な情報提供を目的としたものであり、特定の業者の利用を推奨するものでも、個別の売買助言でもありません。