You try to place a trade in MetaTrader 5, you set your stop loss and take profit, and MT5 rejects the order with “Invalid stops”. This is one of the most common execution problems for signal followers—especially on fast markets like XAUUSD—because the platform is strict about how close your SL/TP can be to the current price and how those prices must be formatted.
This guide explains the exact reasons behind the MT5 invalid stops message and gives you a quick, repeatable checklist to fix it before you execute any forex or gold signal.
Key takeaways
- MT5 rejects SL/TP when they’re inside your broker’s minimum stop distance (Stops Level) or inside the Freeze Level near current price.
- Wrong side stops (e.g., SL above a buy entry) and wrong order type (limit vs stop) can trigger “Invalid stops.”
- Digits/points confusion (especially 5-digit FX and 2/3-digit gold symbols) causes SL/TP to be calculated too close by mistake.
- Symbol settings vary by broker (suffixes, contract size, execution mode), so a signal level may need a small adjustment to be valid.
- A 30-second pre-trade check (Stops Level, Freeze Level, spread, and correct rounding) prevents most rejections.
What “Invalid stops” means in MT5 (in plain English)

In MT5, every order you send must pass your broker’s rules. “Invalid stops” appears when the stop loss (SL) or take profit (TP) you entered is not acceptable for that symbol at that moment.
Most of the time, it’s one of these:
- Your SL/TP is too close to the current market price (minimum stop distance).
- Your SL/TP is inside a freeze zone where modifications are blocked (freeze level).
- The SL/TP is on the wrong side of the entry for the order direction.
- You used the wrong pending order type (Buy Limit vs Buy Stop, etc.).
- Your SL/TP price has the wrong number of digits or is calculated using the wrong “point” value.
- You’re trading a different symbol variant (e.g., XAUUSDm, XAUUSD., GOLD) with different rules.
Reason #1: Minimum stop distance (Stops Level) is not met
The most common cause of MT5 invalid stops is the broker’s Stops Level (also called minimum stop distance). It’s the minimum distance—measured in points—that your SL and TP must be away from the current price (or away from the pending order price, depending on the order type).
How to check Stops Level in MT5
In MT5:
- Open Market Watch
- Right-click your symbol (e.g., XAUUSD) → Specification
- Look for Stops level (points)
If Stops level is, for example, 200 points, your SL and TP must be at least 200 points away from the relevant reference price.
Hypothetical example (gold / XAUUSD)
Example (hypothetical): Suppose your broker’s XAUUSD has:
- Stops level: 300 points
- Point size: 0.01
That means the minimum distance is 300 × 0.01 = 3.00 dollars.
If gold is trading around 2,400 and you try to place a buy with SL only $1.50 away, MT5 can reject it as Invalid stops because it violates the minimum stop distance.
Why this hits signal followers
Signals often use clean levels (entry, SL, TP). But your broker’s Stops Level can widen during:
- High volatility (news spikes)
- Low liquidity (rollover, session transitions)
- Symbol-specific rules (gold often has different constraints than majors)
So a valid stop on one broker can be invalid on another.
Reason #2: Freeze Level blocks SL/TP placement or modification

Freeze level MT5 is a separate rule from Stops Level. It defines a “no-change zone” near the current price where the broker does not allow you to place or modify stops (especially common when price is moving quickly).
In practice, the Freeze Level can cause “Invalid stops” when:
- You place a market order and simultaneously set SL/TP too close to current price
- You try to modify SL/TP while price is near your stop level
- You’re trading XAUUSD during fast candles and the price is constantly inside the freeze zone
How to check Freeze Level
Same place as Stops Level:
- Market Watch → right-click symbol → Specification → Freeze level
Practical fix when Freeze Level is the issue
- Place the trade without SL/TP first (only if your risk rules allow it), then add SL/TP once price moves away from the freeze zone.
- Or set a wider SL/TP that is clearly beyond both Stops Level and Freeze Level.
Important: If you place without SL, do it only if you can add the SL immediately after and you accept the risk of a short unprotected window. Many traders prefer not to do this at all.
Reason #3: Your SL/TP is on the wrong side (direction rules)
MT5 will reject stops that don’t make logical sense for the order direction.
| Order direction | Stop Loss (SL) must be | Take Profit (TP) must be | Common mistake that triggers “Invalid stops” |
|---|---|---|---|
| Buy | Below entry (and below current Ask for market buy logic) | Above entry | Putting SL above entry or TP below entry |
| Sell | Above entry | Below entry | Putting SL below entry or TP above entry |
Hypothetical example (forex)
Example (hypothetical): You place a Sell on EURUSD at 1.1000. If you accidentally set SL at 1.0980 (below entry), MT5 may throw Invalid stops because a sell stop loss must be above the entry.
Why it happens when copying signals
This usually happens when you:
- Tap the wrong side (Buy vs Sell) in a hurry
- Manually type the SL/TP but mix up the levels
- Copy/paste values with missing decimals (turning 2400.0 into 24000)
Reason #4: Wrong pending order type (Limit vs Stop)
Pending orders have strict placement logic. If you choose the wrong pending type, MT5 can reject the order and sometimes the message you see is “Invalid stops.”
Pending order logic (simple rules)
- Buy Limit: entry below current price
- Buy Stop: entry above current price
- Sell Limit: entry above current price
- Sell Stop: entry below current price
Hypothetical example (XAUUSD)
Example (hypothetical): Gold is trading around 2,400 and a signal says “Buy Stop at 2,405”. If you accidentally place a Buy Limit at 2,405 (which is above current price), MT5 may reject it because a Buy Limit must be below market.
Quick fix
Before you press Place:
- Check whether the entry is above or below current price
- Select the pending type that matches the rule above
Reason #5: Digits, points, and rounding errors (especially on gold)
This is the sneaky one. Many “Invalid stops” cases are not about your strategy—they’re about price formatting.
Every symbol has:
- Digits: how many decimals the broker quotes
- Point: the smallest price step MT5 uses internally
- Tick size: the minimum allowed movement/price increment
If your SL/TP isn’t aligned to the symbol’s tick size, MT5 may reject it.
Why XAUUSD gets more “Invalid stops” than EURUSD
Different brokers quote gold differently, for example:
- XAUUSD with 2 decimals (0.01)
- XAUUSD with 1 decimal (0.1)
- Gold symbol named GOLD with its own tick size
A stop like 2398.37 might be valid on a 0.01 tick broker, but invalid on a 0.1 tick broker.
How to verify digits and tick size
- Market Watch → right-click symbol → Specification
- Check Digits and Tick size (if shown)
Hypothetical example (rounding)
Example (hypothetical): Your broker’s gold tick size is 0.10. You try to set SL at 2398.37. MT5 may reject it. Rounding to 2398.40 (or 2398.30) aligns to tick size and is more likely to be accepted—assuming it also respects Stops Level and Freeze Level.
Reason #6: Spread and the Bid/Ask reference you’re unknowingly violating
MT5 uses Bid and Ask prices. Your stop distances are validated against the relevant side of the spread.
- For a Buy, you enter at Ask, and SL/TP checks often reference Ask/Bid depending on broker rules.
- For a Sell, you enter at Bid.
When spreads widen (common on XAUUSD and around news), your SL can suddenly become “too close” even if it looks fine on the chart.
Hypothetical example (spread widening)
Example (hypothetical): You plan a buy with SL $3.20 away, and your broker’s minimum is $3.00. If spread widens and the reference price shifts, MT5 may treat your SL as only $2.90 away and reject it.
Practical fix
- If you’re getting “Invalid stops” during volatility, re-check spread and widen SL/TP slightly.
- Consider trading at calmer times; see our guide on best time to trade xauusd.
Reason #7: Broker symbol settings (suffixes, contract specs, execution mode)
Your broker might not use the “standard” symbol name. Instead of XAUUSD, you may see:
- XAUUSDm
- XAUUSD.
- GOLD
Those variants can have different:
- Stops level and freeze level
- Tick size and digits
- Trading sessions
- Execution mode (market execution vs exchange-style)
This is why a stop that works for someone else can trigger XAUUSD invalid stops for you.
What to do
- Always check the Specification for your symbol variant.
- If you follow signals, confirm you’re executing on the intended instrument. If you’re new to gold symbols, read what is xauusd.
Quick pre-trade checklist (so SL/TP works first try)
Use this checklist before you execute any forex or gold signal in MT5. It takes about 30 seconds once you’re used to it.
Checklist
- 1) Confirm symbol: Are you on the correct pair (and correct suffix)?
- 2) Check Stops Level: Market Watch → Specification → Stops level (points).
- 3) Check Freeze Level: Same window → Freeze level.
- 4) Confirm order type: Market vs Pending; and if pending, limit vs stop matches entry location.
- 5) Validate direction logic: Buy = SL below, TP above. Sell = SL above, TP below.
- 6) Round correctly: Match symbol digits/tick size (especially XAUUSD).
- 7) Re-check spread: If spread is wide, you may need slightly wider stops.
Step-by-step: How to fix “MT5 invalid stops” in under 2 minutes
If you’re already staring at the error message, do this process in order. It’s designed to identify the exact constraint you’re violating.
Step 1: Read what you’re placing (market or pending)
- If it’s a market order, your SL/TP must respect minimum distances from the current trading price.
- If it’s a pending order, both the entry price and the SL/TP must be valid relative to current price and the pending price.
Step 2: Open the symbol Specification
Market Watch → right-click symbol → Specification. Keep it open while you adjust levels.
Step 3: Convert Stops Level from points into price distance
You want a simple number like “minimum SL distance is $3.00” (gold) or “minimum is 15 pips” (forex).
Example (hypothetical):
- Stops level = 250 points
- Point = 0.01
- Minimum distance = 250 × 0.01 = 2.50
Now compare your SL and TP distances to that minimum.
Step 4: Check Freeze Level and current volatility
- If Freeze level is non-zero and price is moving quickly, assume you need extra distance.
- If you’re trying to modify an existing trade, wait a few seconds for price to move away, then try again.
Step 5: Confirm SL/TP are on the correct side
This is fast to verify and fixes a surprising number of issues.
- Buy: SL below, TP above
- Sell: SL above, TP below
Step 6: Fix rounding (digits and tick size)
- Match the number of decimals shown for the symbol.
- If your broker uses 0.1 steps on gold, use prices ending in .0, .1, .2 … not .07 or .38.
Step 7: If it still fails, widen SL/TP slightly and retry
If all logic is correct, the remaining cause is almost always distance (Stops Level, Freeze Level, or spread widening). Increase the SL/TP distance a small amount and try again.
After the order is accepted, adjust your position size if needed so your account risk stays the same. If you need a refresher on risk sizing, see forex risk management and use the lot size calculator.
Common mistakes we see when traders execute signals in MT5
Mistake 1: Copying the signal levels but not the order type
A signal might say “Buy Stop” and you place “Buy Limit.” The entry is invalid by definition, and MT5 may throw the stops error even if your SL/TP are fine.
Mistake 2: Using the chart line price instead of the actual order window price
On fast markets, the chart updates and your order window might be a fraction behind. If you set SL/TP based on a stale price, your stop can end up inside the minimum distance.
Mistake 3: Forgetting gold’s tick size differences across brokers
Gold is not standardized across retail brokers. If your friend’s XAUUSD accepts 0.01 precision, yours might require 0.10. That alone can create “Invalid stops.”
Mistake 4: Tight stops during news
Even if your strategy uses tight stops, your broker’s constraints may not allow them during volatility. If you trade news, build extra buffer and accept that some orders will be rejected.
Mini reference: What to check in MT5 Specification
| Specification field | What it affects | What to do when “Invalid stops” happens |
|---|---|---|
| Stops level | Minimum SL/TP distance (in points) | Widen SL/TP so distance > minimum |
| Freeze level | Zone near price where changes are blocked | Wait, or set stops farther away, or add SL/TP after execution (with caution) |
| Digits | Decimal precision allowed | Round SL/TP to correct decimals |
| Tick size (if shown) | Allowed price increments | Align SL/TP to tick steps (e.g., 0.10 on some gold symbols) |
| Trading hours | When orders are accepted | If market is closed/paused, wait; otherwise errors can look “random” |
How to adjust a signal level without breaking the method
If you must adjust an SL/TP to satisfy your broker’s rules, keep the adjustment mechanical and small. The goal is not to “improve” the signal—it’s to make it executable while keeping risk controlled.
A simple adjustment rule
- Move the SL just enough to be beyond Stops Level + a small buffer.
- Then recalculate lot size so your $ risk (or % risk) stays the same.
Example (hypothetical): A gold trade plans a $2.80 stop, but your minimum distance requires $3.00 and spread is currently wider than usual. You widen SL to $3.30. To keep risk constant, reduce lot size proportionally (use the lot size calculator).
If you also want to keep a consistent reward-to-risk profile, use a tool like the risk reward calculator to re-check the ratio after small adjustments.
FAQ
Why do I get “Invalid stops” only on XAUUSD and not on EURUSD?
XAUUSD often has different broker rules: larger Stops Level, non-zero Freeze Level, and different tick sizes/decimals. Spreads can also widen more aggressively on gold, making your stops “too close” more often.
Where exactly do I find “Stops level” and “Freeze level” in MT5?
Open Market Watch, right-click the symbol (like XAUUSD), choose Specification, then look for Stops level and Freeze level.
Can I place a trade without SL/TP to avoid the error?
Sometimes yes, and then you add SL/TP immediately after. But it increases risk because you are briefly unprotected. If you do this, practice on a demo first and only do it when you can add the stop right away.
Does “Invalid stops” mean my broker is manipulating my trade?
Not necessarily. Most of the time it’s a rule-based rejection: minimum stop distance, freeze level, tick size, or the wrong pending order type. Start by checking the symbol Specification and your SL/TP logic.
What’s the fastest way to prevent this when following Telegram signals?
Before placing the order, check the symbol Specification (Stops Level + Freeze Level), confirm the order type (market/limit/stop), and round SL/TP to the correct digits. This prevents most first-try rejections.
Risk warning: Trading forex and gold involves a significant risk of loss and is not suitable for all investors. You can lose more than your deposit in some account types. Past performance does not guarantee future results. This article is educational and not personal financial advice. If you’re new, practise on a demo account before trading live.
If you want trade ideas delivered in a clean format you can execute quickly, United Kings sends forex and gold (XAUUSD) signals on Telegram with an entry, stop loss, and take-profit levels. You can view a selection on our public telegram, and read how results are tracked on our results and methodology pages. VIP plan details are on the pricing page.



