この記事で分かること
- Buy/Sellごとの正しいSL・TP方向と、Bid/Ask・スプレッドの見方
- Stops level、Freeze level、points/pips、Digits、Tick sizeの違い
- 新規注文時、保有後、保留注文へSL・TPを設定する方法
Invalid S/L or T/P、MT4エラー130、MT5のInvalid stops/Frozenの確認方法- サーバー側のSL・TPと端末側のTrailing Stopの違い
まず確認する5ステップ
| 手順 | 確認項目 | 主に確認する内容 |
|---|---|---|
| 1 | 方向 | BuyはSLが下・TPが上、SellはSLが上・TPが下 |
| 2 | 距離 | 現在のBid/Ask、スプレッド、Stops level、Freeze level |
| 3 | 桁数 | points/pips、Digits、Tick size、入力価格の丸め |
| 4 | 変更方法 | 新規注文、保有ポジション、保留注文、チャートドラッグ |
| 5 | ログ | 注文結果、MT4のJournal、MT5のJournal、EAのExperts |
同じ数値を何度も送る前に、銘柄、Buy/Sell、現在のBid/Ask、入力したSL・TP、表示されたエラー、発生時刻を記録してください。全銘柄で失敗するのか、特定銘柄・特定方向・特定の変更方法だけで失敗するのかを分けると原因を絞りやすくなります。
症状別の早見表
| 症状 | 最初に確認すること | 次に確認すること |
|---|---|---|
Invalid S/L or T/P/MT4エラー130 |
Buy/Sellに対するSL・TPの方向 | Stops level、価格桁、現在価格 |
MT5でInvalid stops |
方向と最低距離 | Digits、Tick size、送信値 |
MT5でFrozen |
Freeze levelと現在価格 | 処理中の注文、銘柄・口座制限 |
| Modifyボタンが無効 | 入力値が変更前と同じでないか | 方向、距離、価格の桁数 |
| チャートでドラッグできない | Show trade levels | Disable dragging of trade levels |
| 新規注文では設定できるが後から変更できない | 現在価格とFreeze level | 市場時間、権限、Journal |
| EAだけ失敗する | 実際に送った価格 | Digits、Tick size、正規化、retcode |
| SL・TPが指定価格と違う価格で約定した | ギャップ、スプレッド、流動性 | 履歴、約定方式、ブローカーの条件 |
公式情報を先に確認する
この記事は2026年7月26日時点の公式ヘルプを基準にしています。
- MetaTrader 5:Executing Trades/Stop Loss・Take Profit
- MetaTrader 5:Basic Principles/Stop Loss・Take Profit・Trailing Stop
- MetaTrader 5:Market Watch/Symbol Properties
- MetaTrader 5:Platform Settings/Show trade levels
- MetaTrader 4:Modifying of Positions
- MetaTrader 4:Contract Specification
- MQL4:Runtime Errors
- MQL5:Trade Server Return Codes
画面名、入力単位、Stops level/Freeze level、利用できる注文方法は、MT4・MT5、端末のbuild、ブローカー、口座タイプ、銘柄によって異なります。利用中の銘柄のSpecification/仕様とブローカー公式の取引条件を優先してください。
1. BuyとSellでSL・TPの方向を確認する
最初に、ポジションの方向と入力した価格の上下関係を確認します。
| ポジション | Stop Loss | Take Profit | 判定に使われる主な価格 |
|---|---|---|---|
| Buy(買い) | 現在価格より下 | 現在価格より上 | 決済側のBid |
| Sell(売り) | 現在価格より上 | 現在価格より下 | 決済側のAsk |
BuyのSLを現在価格より上へ、SellのSLを現在価格より下へ入力すると、損切りではなく利益方向の水準になるため拒否されます。TPはその逆です。含み損益の符号だけで判断せず、対象ポジションがBuyかSellか、入力欄がSLかTPかを確認してください。
2. Bid/Askとスプレッドを含めて距離を測る
チャートがBid基準で表示される環境では、Sellポジションの決済判定に使われるAskが見えにくい場合があります。Askは一般にBidよりスプレッド分だけ高いため、見た目では十分離れていても、Askから測ると最低距離の内側になることがあります。
- BuyのSL・TPはBid側の動きで確認する
- SellのSL・TPはAsk側の動きで確認する
- 固定幅ではなく、現在のスプレッドを確認する
- 相場急変時や市場開始直後はスプレッドが広がる場合がある
銘柄の気配値とスプレッドが不自然、または更新されていない場合は、MT4・MT5でチャートが更新されない原因と対処法も確認してください。
3. Stops levelとFreeze levelを区別する
Stops levelは、現在価格の周辺でSL・TPや保留注文価格を置けない最低距離として銘柄仕様に表示されます。数値はpointsで示されるため、価格差へ換算して確認します。
Freeze levelは、現在価格に近い注文やポジションの変更・削除が制限される範囲です。すでに有効なSL・TPでも、価格がFreeze levelへ入ると変更や削除を受け付けない場合があります。
Stops levelが0と表示されても、すべての価格が常に許可される保証にはなりません。サーバー側の条件、変動する制限、Tick size、現在価格の変化も確認し、表示値だけで原因を断定しないでください。
4. points/pips、Digits、Tick sizeを混同しない
銘柄仕様では、次の値を別々に確認します。
- Digits:価格表示の小数桁数
- Point:価格の最小表示単位
- pip:FXで慣用的に使われる値幅。pointと同じとは限らない
- Tick size:その銘柄で価格が動ける最小刻み
- Stops level:現在価格から必要な最低距離をpointsで示す値
たとえば5桁表示のFX銘柄では、1 pipを10 pointsとして扱う環境があります。一方、貴金属、株価指数、暗号資産、先物CFDでは同じ換算を使えない場合があります。入力価格はDigitsに合わせるだけでなく、Tick sizeの刻みにも合うか確認してください。
EAやスクリプトでは、画面表示用に丸めた数値ではなく、実際に取引要求へ入れたsl/tpとサーバー応答を記録します。NormalizeDoubleだけで銘柄ごとのTick size条件を満たすとは限りません。
5. 新規注文時・保有後・保留注文で設定方法を分ける
新規注文時
New Order/新規注文画面のStop LossとTake Profitへ価格または距離を入力します。入力単位は端末設定や画面で異なるため、欄の表示を確認してください。注文ボタンが無効な場合は、数量、注文種別、SL・TPの方向と距離を一つずつ見直します。
ポジション保有後
Trade/取引タブで対象ポジションを右クリックし、Modify or Delete/変更を開きます。MT4ではSL・TPが現在価格に近すぎるとModifyボタンが無効になることがあります。MT5でも入力が正しくなるまでModifyボタンが有効にならない場合があります。
保留注文
保留注文を新規作成するときにSL・TPを付ける方法と、注文後にModify/変更する方法があります。保留注文価格そのものの方向・距離と、発注後のポジションへ引き継がれるSL・TPの方向・距離を分けて確認してください。MT4・MT5で指値・逆指値注文ができない原因と対処法では、Limit/Stopの選択、保留注文価格、最低距離、有効期限を順に確認できます。
新規注文全体が通らない場合は、MT4・MT5で注文できない原因と対処法を先に確認してください。
6. Modifyボタンが無効なときに確認する
Modify/変更ボタンが押せないときは、次を確認します。
- 変更前と同じ価格を入力していないか
- Buy/Sellに対するSL・TPの方向が正しいか
- 現在のBid/AskからStops level以上離れているか
- DigitsとTick sizeに合う価格か
- 価格がFreeze levelへ入っていないか
- 対象がポジションか保留注文か
価格は入力中にも動きます。入力開始時には条件内でも、送信時に最低距離を満たさなくなる場合があるため、送信直前のBid/Askと時刻を記録してください。
7. チャートドラッグとShow trade levelsを確認する
チャート上のSL・TPラインをドラッグできない場合は、Tools/Options/ChartsなどにあるShow trade levelsが有効か確認します。MT5ではDisable dragging of trade levelsが有効だとドラッグ変更できません。
ラインが見えない場合でも、Trade/取引タブのS/L・T/P欄と通常の変更画面を確認します。チャートの水平線を動かしただけではSL・TPを変更したことにならないため、変更後は取引タブの値とJournalの結果を照合してください。
8. エラーとログを確認する
| 表示・コード | 主な確認対象 |
|---|---|
Invalid S/L or T/P |
方向、Stops level、価格桁、現在価格 |
| MT4 error 130 | 無効なストップ値、最低距離、送信価格 |
MT5 Invalid stops/TRADE_RETCODE_INVALID_STOPS |
要求内のSL・TP、方向、距離、刻み |
MT5 Frozen/TRADE_RETCODE_FROZEN |
Freeze level、注文・ポジションの状態 |
No changes |
変更前と同じ値、丸め後に同値になっていないか |
Market closed/Trade disabled |
取引時間、銘柄・口座権限 |
MT4はTerminal/ターミナルのJournal、MT5はToolbox/ツールボックスのJournalを確認します。EAやスクリプトから設定した場合はExpertsも開き、request、result、error/retcodeを同じ時刻で照合してください。
エラーだけを消す目的で距離を根拠なく広げたり、損失管理を外したりしないでください。取引判断と許容リスクは利用者自身で決め、ブローカーの取引条件を確認します。
9. サーバー側SL・TPとTrailing Stopを区別する
通常のSL・TPはポジションや保留注文に関連付けられ、ブローカーのサーバー側で保持・処理されます。一方、Trailing StopはMetaTrader端末側で価格を監視し、条件に応じてサーバー上のStop Lossを変更する機能です。
そのため、端末やVPSが停止するとTrailing Stopの追従更新は止まります。ただし、停止前にサーバーへ設定済みのStop Lossは残るのが基本です。Trailing Stopの設定値と、現在サーバーに登録されているS/L欄の価格を混同しないでください。
MetaTraderの基本操作をまとめて確認したい場合は、MT4・MT5初心者ガイドも参照してください。
10. SL・TPは指定価格での約定を保証しない
SL・TPは指定水準へ到達したときに決済処理を開始する条件であり、指定価格での約定、損失額、利益額を保証するものではありません。週明けのギャップ、指標発表、相場急変、流動性低下、スプレッド拡大、取引停止などでは、利用可能な次の価格で処理され、スリッページが発生する場合があります。
SL・TPを設定できない問題と、設定済みSL・TPがどの価格で約定したかは分けて確認します。ポジション自体を手動で閉じられない場合は、MT4・MT5でポジションを決済できない原因と対処法を確認してください。
ブローカーへ確認するときに整理する情報
- MT4/MT5、端末のbuild、PC/VPS/スマホの別
- ブローカー名、口座タイプ、銘柄名、Buy/Sell
- 現在のBid/Ask、スプレッド、Digits、Tick size
- Specificationに表示されたStops levelとFreeze level
- 入力したSL・TP、操作日時、サーバー時刻
- 新規注文時、保有後、保留注文、EAのどの方法か
- エラー番号、retcode、完全なメッセージ、Journal/Experts
スクリーンショットやログを共有するときは、口座番号、残高、サーバー名、注文番号、氏名、メールアドレス、IPアドレス、ライセンスキー、ログイン情報をマスクしてください。
関連するトラブル解決記事
- MT4・MT5で注文できない原因と対処法
- MT4・MT5でポジションを決済できない原因と対処法
- MT4・MT5で指値・逆指値注文ができない原因と対処法
- MT4・MT5でチャートが更新されない原因と対処法
- MT4・MT5初心者ガイド
よくある質問
Invalid stopsと表示されたら何を確認しますか?
Buy/Sellに対するSL・TPの方向、現在のBid/Askからの距離、Stops level、Digits、Tick sizeを確認します。MT5では要求へ送ったsl/tpとTRADE_RETCODE_INVALID_STOPSが出た時刻をJournalやExpertsで照合してください。
BuyポジションのSL・TPはどちらへ設定しますか?
BuyのSLは現在価格より下、TPは現在価格より上へ設定します。判定には主にBidが使われるため、チャート表示、現在のBid、Stops levelを確認してください。
SellポジションのSL・TPはどちらへ設定しますか?
SellのSLは現在価格より上、TPは現在価格より下へ設定します。判定には主にAskが使われるため、Bid表示のチャートだけでなくAskとスプレッドも確認してください。
Modifyボタンが無効なのはなぜですか?
変更前と同じ値、方向が逆、現在価格に近すぎる、DigitsやTick sizeに合わない、Freeze level内などが考えられます。対象ポジションまたは保留注文の仕様と送信直前のBid/Askを確認してください。
Stops levelとFreeze levelの違いは何ですか?
Stops levelはSL・TPなどを現在価格から離す最低距離、Freeze levelは現在価格の近くで注文やポジションの変更・削除が制限される範囲です。どちらも銘柄・ブローカーで異なるためSpecificationを確認してください。
pipsとpointsは同じですか?
常に同じではありません。5桁表示のFX銘柄では1 pipが10 pointsになる例がありますが、銘柄によってDigitsとTick sizeが異なります。慣用換算ではなく、対象銘柄の仕様と実際の価格差で確認してください。
チャートでSL・TPをドラッグできないのはなぜですか?
Show trade levelsが無効、Disable dragging of trade levelsが有効、対象ラインが非表示、または端末・口座側の制限が考えられます。通常の変更画面とTrade/取引タブでも値を確認してください。
Trailing Stopと通常のStop Lossは何が違いますか?
通常のStop Lossはサーバー側で保持・処理されます。Trailing Stopは端末側で価格を監視してStop Lossを更新するため、端末やVPSが停止すると追従更新は止まりますが、停止前に設定済みのStop Lossは基本的に残ります。
まとめ
MT4・MT5でSL・TPを設定できないときは、方向 → 距離 → 桁数 → 変更方法 → ログの順に確認します。Buy/SellとBid/Askを合わせ、Stops levelとFreeze level、points/pips・Digits・Tick sizeを分けることが重要です。
SL・TPは指定価格での約定や損失額を保証しません。銘柄仕様と送信結果を確認しても理由が分からない場合は、個人情報を隠したうえで利用中のブローカー公式サポートへ問い合わせてください。
