MT5の発注拒否リターンコードと切り分けの優先順位
目次
結論:最初に「毎回失敗するか、たまに失敗するか」を見る
EAの注文がMT5で拒否されると、ログに「retcode=10030」のような数字が出ます。私たちのところにも、このリターンコードについての問い合わせが多く届きます。
先に結論を書きます。最初に見るのは、拒否が毎回起きているのか、ときどき起きるだけなのかです。
- 毎回失敗する → 10030・10013・10018 を疑います。設定や時間帯の問題なので、直すかやめるかしない限り何度試しても通りません。
- ときどき失敗する → 10004・10006 を疑います。相場の状況や業者側の判断で起きるので、少し待つと通ることがあります。
どちらに当てはまるかで、調べる場所も急ぎ度も変わります。
おすすめブローカー比較 →
🎁 無料EAをダウンロード📧 無料メール講座(全8通)+登録者限定 MT5 インジケーター13本パック
※ プライバシーは厳守。配信解除はいつでも可能です。
仕組み:リターンコードは「サーバーの返事」
EAが注文を出すと、ブローカーのサーバーが受け付けるかどうかを判定し、結果を数字で返します。成功なら 10009(約定)などが返り、失敗なら拒否の理由を表す番号が返ります。
注意したいのは、この番号はあくまでサーバーが返した分類だということです。拒否の本当の理由までは教えてくれないことがあります。とくに 10006 は、業者側で何を判定したのかがログから分からないことが多いコードです。
| コード | MT5上の意味 | 起き方 | 主な確認先 | 待てば通るか |
|---|---|---|---|---|
| 10018 | 市場が閉まっている | 毎回(時間帯による) | 取引時間・休場日 | 開場すれば通る |
| 10030 | 執行方式(フィリング)の指定が非対応 | 毎回 | EA設定・銘柄仕様 | 通らない |
| 10013 | リクエストが不正 | 毎回のことが多い | ロット・価格・銘柄名 | 通らない |
| 10004 | リクオート(価格が変わった) | ときどき | 許容スリッページ・時間帯 | 通ることが多い |
| 10006 | リクエストが拒否された | ときどき〜毎回 | 業者への問い合わせ | 分からない |
確認手順:この順番で調べる
1. 10018:まず時計を見る
いちばん簡単に確認できるので最初に見ます。週末・祝日・年末年始のほか、銘柄ごとの休憩時間(ゴールドや株価指数は日中に休憩がある業者が多い)に当たっていないかを確かめます。気配値表示で銘柄を右クリックし「仕様」を開くと、取引時間を確認できます。サーバー時刻と日本時間がずれていることにも注意してください。時間帯が原因なら、何もしなくても開場後に通ります。
2. 10030:執行方式を合わせる
業者や口座タイプによって、受け付ける執行方式(FOK・IOC・Return)が違います。EAが対応していない方式で注文すると、毎回拒否されます。EAの入力に「Filling」のような項目があれば、銘柄仕様の「約定」欄に書かれている方式に合わせます。項目が無い場合はEA側で直す必要があるので、配布元に問い合わせてください。新しい業者や口座タイプに移った直後によく起きます。
3. 10013:注文の中身を疑う
ロットが最小ロットより小さい、ロットの刻み幅に合っていない、銘柄名の末尾(「.m」「#」など)が違う、といった注文内容の誤りでよく出ます。ログに詳しい理由が出ないこともあります。ロットや銘柄名を少しずつ変えながら試すしかない場合もあります。設定項目の見直しは EA設定方法 にまとめています。
4. 10004:許容スリッページと時間帯
指標発表の直後や早朝など、価格が速く動く時間帯に出やすいコードです。EAに「Slippage」「Deviation」の項目があれば、少し広げると減ることがあります。ただし広げすぎると、不利な価格で約定することを受け入れることになります。回線の遅さが重なっている場合は、VPS で改善することもあります。
5. 10006:業者に聞くしかないことがある
業者側の判断による拒否で、ユーザー側からは原因が見えません。口座の取引制限、銘柄の一時的な取引停止、注文が多すぎることへの制限などが考えられますが、どれに当たるかは私たちにも断定できません。ログの時刻と注文内容を控えて、業者のサポートに問い合わせるのが確実です。頻繁に起きるなら、業者の比較 を参考に乗り換えを検討するのもひとつの手です。
限界と注意
- デモ口座では再現しないことがあります。 約定のしかたはデモ口座と実口座で同じとは限らず、リクオートや拒否の起きやすさが違う場合があります。デモ口座で問題なく動いても、実口座で同じように通るとは言い切れません。
- 何度もやり直すのは逆効果になることがあります。 10030 や 10013 は、同じ注文を出し直しても通りません。拒否のたびに再送するEAだと短時間に注文が集中し、それが業者側の制限につながる可能性もあります。私たちのEAでは、10004 のような一時的なコードだけを、回数を決めて再送する方針にしています。
- 拒否された回の取引は記録に残りません。 バックテストではこうした拒否はほとんど起きないので、実運用ではそのぶん成績がずれます。テスターの結果どおりにならない理由のひとつです。
- リターンコードには、ここで扱った5つ以外にもロット不正、価格不正、証拠金不足などの番号があります。この記事は、問い合わせの多い5つに絞った整理です。
まとめ
- 最初に「毎回失敗するか、ときどき失敗するか」を見る
- 毎回失敗するなら 10018(時間)→ 10030(執行方式)→ 10013(注文内容)の順に調べる
- ときどき失敗するなら 10004(スリッページ・時間帯)を見て、10006 は業者に問い合わせる
- 10030・10013 は何度出し直しても通らないので、設定を直す
- 10006 の本当の原因はユーザー側から見えないことがあり、私たちにも断定できない
- デモ口座で通っても、実口座で同じように通るとは限らない
関連記事
📧 無料メール講座(全8通)+登録者限定 MT5 インジケーター13本パック
※ プライバシーは厳守。配信解除はいつでも可能です。