海外FX/運用環境

EAが突然「OrderSend Error 130」を連発する原因と解決策

MT5のエキスパートログ(操作ログ)に表示される OrderSend Error 130 (ERRINVALIDSTOPS) は、EAが設定しようとした損切り(SL)や利食い(TP)、あるいは待機注文(指値・逆指値)の価格が、現在の現在値に近すぎる(ブローカーが定める「ストップレベル」に違反している)ことが原因です。 解決策は、「EAのパラメータ設定でSL/

Read this for この条件を、EA運用環境の中で確認する。

口座タイプ、スプレッド、手数料、約定、VPS、キャッシュバックは単独では判断しません。EAの売買回数と保有時間に合わせて見ます。

Category 約定 / 実行

execution

EAが突然「OrderSend Error 130」を連発する原因と解決策

結論

MT5のエキスパートログ(操作ログ)に表示される OrderSend Error 130 (ERR_INVALID_STOPS) は、**EAが設定しようとした損切り(SL)や利食い(TP)、あるいは待機注文(指値・逆指値)の価格が、現在の現在値に近すぎる(ブローカーが定める「ストップレベル」に違反している)**ことが原因です。 解決策は、「EAのパラメータ設定でSL/TPの幅を広げる」か、「ストップレベルがゼロ(または極めて狭い)ブローカーに口座を乗り換える」かの2択になります。

なぜEA運用で重要か

EAがこのエラーを出している時、内部的には「エントリー条件を満たして注文を出そうとしたが、サーバーに拒否された」状態にあります。つまり、本来得られるはずだった利益を取り逃がしている、あるいは損切りラインを設定できずにノーガードでポジションを持ってしまっているという、極めて危険な状態です。 ログの赤文字エラーを無視して放置することは、システムトレードにおいて致命傷になります。

仕組み・条件

「ストップレベル(Stops Level)」とは、ブローカーが定める「現在価格から最低限離さなければならない注文幅(pips)」のことです。 例えば、ストップレベルが「20ポイント(2pips)」の通貨ペアで、現在価格が 100.00 だとします。 この時、EAが 100.01(現在値から1pipsの距離)に指値注文やSLを置こうとすると、ストップレベル違反としてブローカーのサーバーが注文を弾き、MT5側に「Error 130」を返します。

バックテストやリアル運用で壊れるポイント

どう確認するか

まずは、稼働させているブローカーのストップレベルを確認します。 MT5の「気配値表示」ウィンドウで該当する通貨ペアを右クリックし、「仕様(Specification)」を開きます。中段あたりにある「ストップレベル」の数値(ポイント単位)を確認してください。ここが「0」であれば問題ありませんが、数値が入っている場合、EAのSLやTPの設定値がこの数値を上回るようにパラメータを調整する必要があります。

自分の検証スタンス

私はEAを開発・運用する際、「ストップレベルが存在するブローカー」での稼働は基本的に避けるようにしています。 スキャルピングや細かくトレールを行うロジックの場合、数pipsの制約が命取りになるからです。そのため、ExnessやTradeview、IC Marketsなど、ストップレベルが原則「ゼロ」に設定されているNDD方式のブローカーをEA稼働の第一候補(インフラ)として選定しています。

関連して読む

Broker environment この条件を、EA運用環境の中で確認する。

口座タイプ、スプレッド、手数料、約定、VPS、キャッシュバックは単独では判断しません。EAの売買回数と保有時間に合わせて見ます。

参照した公式情報

免責

本記事は個人の検証メモであり、投資助言ではありません。バックテスト結果は将来の成績を保証しません。海外FXや自動売買には、法規制・レバレッジ・スプレッド拡大・約定遅延・スリッページなどのリスクがあります。条件は変わるため、最新情報は各公式ページで確認してください。