MT5 ERROR GUIDE · UPDATED JULY 2026

MT5 error 4756: trade request failed.

Error 4756 is MT5's generic way of saying your broker rejected the order. It is not a bug in your EA and rarely a bug at your broker either — it is the trade server enforcing its own rules on stops, volume, margin or market state. Here is how to read it in 60 seconds and fix the cause, ordered by how often each one is the culprit.

BBenjamin SF · Founder Published Jul 26, 2026 Read 7 min
Quick answer
MT5 error 4756 means your broker rejected the order. Almost always it is stops placed too close to the price (invalid stops, error 10016) or an invalid lot size. Widen your SL/TP beyond the broker's stop level, check the symbol's minimum lot, and make sure AutoTrading is on.

The 60-second diagnosis

OPEN TOOLBOX → JOURNAL (OR EXPERTS), FIND THE 4756 LINE, AND MATCH IT BELOW

4756 with “invalid stops” (error 10016)
SL or TP too close to the price. The distance is smaller than the broker's stops level for that symbol. The classic case on XAUUSD with a wide spread. → Fix 1.
4756 with “invalid volume” / “invalid lots”
Lot size outside the rules of the symbol: below the minimum, above the maximum, or not aligned to the volume step (e.g. 0.005 on a 0.01-step symbol). → Fix 2.
4756 at rollover, news or market open/close
Market closed or quotes paused. Many brokers freeze execution around 00:00 server time and during major news. → Fix 3.
4756 with “no money” / “not enough margin”
Insufficient margin: free margin cannot cover the position at your leverage. → Fix 4.
4756 with “requote” / “price changed”
The price moved between your request and the broker's execution — fast markets and news spikes. → Fix 5.

Two 10-second sanity checks before anything else: the AutoTrading button in the toolbar must be green (toggle with Ctrl+E), and Tools → Options → Expert Advisors → “Allow algorithmic trading” must be checked. If either is off, orders never reach the broker and you will see different errors — but they take seconds to rule out.

The five fixes, ordered by frequency

FIX 1

Stops too close to the price (invalid stops, error 10016)

By far the most common cause behind 4756. Every symbol has a stops level — a minimum distance, in points, that your SL and TP must keep from the current price. If your stop lands inside it, the broker rejects the order. Gold is the classic offender: the stops level on XAUUSD is often wide, and when the spread spikes, a stop that was valid a minute ago falls inside the forbidden zone.

Find the limit: press Ctrl+U (Symbols), select your symbol, and read “Stops level” in points. Your SL/TP must be at least stops level + current spread away from the price.
If stops come from your alert: widen the sl/tp values in the TradingView alert JSON (see the payload reference in the docs).
If stops come from the EA: right-click the chart → Expert Advisors → Properties (or press F7) and increase the SL/TP points in the inputs — or set the overrides to 0 to trade without fixed stops.

Real support case: a client trading XAUUSD was getting 4756/10016 on every signal. His alerts carried no TP/SL at all, but MT5 had kept old EA inputs on the chart that placed stops inside the broker's stops level for gold during a high-spread window. Setting the SL/TP override inputs to 0 in F7 fixed it on the spot.

FIX 2

Lot size outside the symbol's min / max / step

Every symbol defines a minimum volume, a maximum volume and a volume step. A lot below the minimum, above the maximum, or off the step (0.005 on a 0.01-step symbol) is rejected. This bites alert users who hardcode a lot that works on one symbol but not on another — indices and crypto CFDs have very different rules from forex pairs.

Check the rules: Ctrl+U → select the symbol → read “Minimal volume”, “Maximal volume” and “Volume step”.
Align your alert or EA input to a valid volume — e.g. 0.10 instead of 0.05 if the step is 0.10, or 0.01 if the minimum is 0.01.
FIX 3

Market closed or quotes paused

If the alert fires while the market is closed (weekend, holiday) or while your broker pauses quoting — common around the 00:00 server-time rollover and during major news — the order is rejected. Check the time of the last tick in Market Watch: if it is frozen, nothing will execute until quotes resume.

For automated setups this is a retry problem, not a configuration problem: a bridge or EA with bounded retries will re-send the order once the market reopens instead of dropping the signal.

FIX 4

Insufficient margin

The broker calculates the margin needed for the position at your leverage and rejects the order if your free margin cannot cover it. Open Toolbox → Trade and compare Free margin against the position you are trying to open. The fix is a smaller lot, higher leverage (if your broker and ruleset allow it), or closing other positions first. On prop-firm accounts, remember the drawdown rules sit on top of plain margin math.

FIX 5

Requote: the price moved

Between your terminal sending the order and the broker executing it, the price moved beyond the allowed deviation, so the broker declines and offers a new price. It happens in fast markets and around news. The practical fixes: allow a larger deviation/slippage in the order settings, use market execution where the broker supports it, and retry — a single requote is normal in a volatile spike.

When it is NOT your broker

4756 HAPPENS AT THE BROKER — BUT THE ROOT CAUSE CAN BE UPSTREAM IN YOUR ALERT

The alert, not the broker, sent something impossible

An EA executes what it is told. If your TradingView alert JSON carries a symbol name your broker does not use (XAUUSD vs XAUUSD.pro vs GOLD), a lot below the symbol minimum, or sl/tp values in the wrong units (price vs points), the EA faithfully sends the order and the broker rejects it with 4756. The fix is in the payload, not the platform: check the exact field reference in our docs and compare it against your alert message line by line.

The fastest way to rule the payload in or out: paste your alert message into the free webhook tester. It validates the schema and shows you exactly what the bridge would send to MT5 — before anything reaches your broker.

If the JSON is clean and 4756 persists

Then the cause is broker-side: stops level, volume rules, market state or margin — go back to the five fixes above. And if you want your alerts validated, routed and retried automatically instead of debugging payloads by hand, start the 14-day free trial — no card required.

FAQ

WHAT 4756 MEANS, 10016, GOLD, AND WEBHOOK ALERTS.

What is MT5 error 4756?

Error 4756 (“trade request failed”) means MetaTrader 5 sent your order to the broker's trade server and the broker rejected it. It is a generic wrapper: the Journal or Experts log shows the specific reason next to it as a retcode — most often 10016 invalid stops, 10014 invalid volume, 10019 no money or 10004 requote.

Is MT5 error 4756 the same as error 10016?

No. 4756 is the generic “order sending failed” message; 10016 (invalid stops) is the most common specific cause behind it. 10016 means your SL or TP sits closer to the current price than the broker's stops level allows. Widen the stops and the 4756 usually disappears.

Why do I get error 4756 only on gold (XAUUSD)?

Many brokers set a wide stops level on gold and the spread spikes around news and rollover, so an SL/TP distance that works on EURUSD gets rejected on XAUUSD. Open Symbols with Ctrl+U, check the stops level in points, and place your stops at least stops level + current spread away from the price.

Can a TradingView webhook alert cause error 4756?

Indirectly, yes. A lot below the symbol minimum, SL/TP too tight, or a symbol name your broker does not use in the alert JSON all end as a broker rejection. Validate the payload in the webhook tester — a schema error normally fails earlier at the bridge, not at the broker.

Keep reading

More troubleshooting: PineConnector not working? 12 fixes (and when to switch). Payload reference: SignalForge docs.

Author

Benjamin SF is the founder of SignalForge and an expert in trading algorithm automation. He builds and operates the SignalForge bridge for prop-firm traders and answers support cases like the one in this guide.

Automate your TradingView signals on MT5

SignalForge routes your alerts to MetaTrader 5 in milliseconds, with payload validation and automatic retries. 14-day free trial, no card required.

SignalForge AI is an order-execution tool. We do not provide investment advice. Trading involves risk of loss.