エラー130とは
MT4でエラーコード130(メッセージ:Invalid stops)は、注文時に設定したストップロス(SL)またはテイクプロフィット(TP)の価格が無効であることを示します。
主にSL/TPが現在の市場価格に対して近すぎる場合に発生します。各FX業者・各通貨ペアには「最低ストップレベル(Stops Level)」が定められており、この値より近い位置にSL/TPを置くことはできません。
スキャルピングやEA(自動売買)で、タイトなSL/TPを設定して注文を出したとき。特にボラティリティが低い時間帯に発生しやすい。
原因
エラー130が発生する主な原因は以下の通りです。
- SL/TPが最低ストップレベルより近い:最も一般的な原因。業者と通貨ペアごとに異なるストップレベルを確認する必要があります。
- SLとTPの方向が逆:買い注文でSLを現在価格より上に設定した場合など。
- スプレッド拡大時の一時的エラー:指標発表時などスプレッドが急拡大すると、設定値が実質的にストップレベル内に入ってしまうことがあります。
解決手順
最低ストップレベルを確認する
MT4で対象通貨ペアを右クリック →「仕様」を選択。「ストップレベル」の値(ポイント単位)を確認します。例えば 50 と表示されていれば、5pips以上離す必要があります。
SL/TPの設定値を修正する
注文画面で、SL/TPを最低ストップレベル以上離した値に変更して再注文します。例:ストップレベルが50の場合、現在価格から最低でも5pips以上離します。
EAの場合はコードを修正する
EA(自動売買)で発生している場合は、MarketInfo(Symbol(), MODE_STOPLEVEL) でストップレベルを取得し、SL/TPの計算にストップレベル分のマージンを加えるよう修正します。
int stopLevel = (int)MarketInfo(Symbol(), MODE_STOPLEVEL);
double minDistance = stopLevel * Point;
// SL/TPをminDistance以上離して設定
上記の手順で解決しない場合は、利用中のFX業者のサポートに問い合わせてください。業者側でストップレベルが変更されている可能性があります。
XMのZero口座やKIWAMI極口座など、一部の口座タイプではストップレベルが0に設定されています。スキャルピング用途であれば、ストップレベルが0の口座タイプの利用も選択肢です。
よくある質問
出典・参考
- MQL5 Documentation — Trade Server Return Codes
- 各FX業者公式サイトの取引仕様ページ
MT4/MT5のエラーが頻発する場合、サーバー環境や口座設定に問題がある可能性があります。XMは日本語サポート完備で、口座開設ボーナス15,000円を使えば自己資金を投入する前に取引環境を試すことができます。
XM公式サイトで口座開設(無料)※ XMは日本の金融庁に未登録の海外FX業者です。取引にはリスクが伴います。
FX(外国為替証拠金取引)は元本保証のない金融商品です。レバレッジにより、預けた証拠金以上の損失が発生する可能性があります。余剰資金の範囲で取引を行ってください。当サイトの情報は一般的な情報提供を目的としたものであり、個別の売買助言ではありません。