MT5 ERROR CODES · UPDATED JULY 2026

MT5 error 4109: trade not allowed.

Your alert fired, your EA tried to trade, and MetaTrader answered error 4109 (ERR_TRADE_NOT_ALLOWED) — or its cousin 4752 (TRADE_RETCODE_INVALID). The good news: 4109 is almost never your broker. It is a switch inside your own terminal, and it takes under a minute to fix. Here is the diagnosis table and every fix, ordered by how often we see each cause.

BBenjamin SF · Founder Published Jul 26, 2026 Read 6 min
Quick answer

MT5 error 4109 means trading is disabled in your terminal: enable the AutoTrading button (Ctrl+E, it must be green) and tick “Allow algorithmic trading” in Tools > Options > Expert Advisors. Error 4752 means the order parameters are invalid: check the lot size, price and order type against your broker’s contract specs (Ctrl+U).

The 60-second diagnosis

MATCH YOUR SYMPTOM TO THE CAUSE. THEN JUMP TO THE FIX.

4109 on every order, from any EA or scriptERR_TRADE_NOT_ALLOWED
cause 1The AutoTrading button is off in the toolbar (or Ctrl+E was pressed by accident). This is the #1 cause we see — fix below.
4109 only from your EA; manual trades workERR_TRADE_NOT_ALLOWED
cause 2“Allow algorithmic trading” is unchecked — either globally (Tools > Options > Expert Advisors) or on the EA itself (F7 > Common tab).
4109 only on one symbolERR_TRADE_NOT_ALLOWED
cause 3The symbol is closed for trading: outside its session hours, market closed (weekend, holiday), or the broker set it to close-only / disabled. Check Ctrl+U > Specification.
4109 on every order, on a new accountERR_TRADE_NOT_ALLOWED
cause 4You logged in with the investor (read-only) password, or the account itself has trading disabled (some demo and prop-firm accounts during news or weekends).
4752 right after the EA sends an orderTRADE_RETCODE_INVALID
cause 5The order request is malformed: a lot that does not fit the broker’s volume step, price 0 on a pending order, or an order type the symbol does not support.
4752 only for some symbolsTRADE_RETCODE_INVALID
cause 6Contract specs differ per symbol. A lot that is valid on EURUSD can be invalid on XAUUSD or an index CFD — different volume step, minimum and maximum.

Where to look: MT5 logs the exact error in the Toolbox (Ctrl+T) under the Experts and Journal tabs, with the symbol and the request that failed. Always read that line first — it tells you which row of this table you are in.

The fixes, in order of frequency

1. Turn on AutoTrading (the green button)

Fixes cause 1 — the most common by far. The AutoTrading button in the MT5 toolbar must be green. If it is red or grey, every order from every EA and script is rejected with 4109 before it even reaches the broker.

  • Look at the toolbar, top of the terminal: the AutoTrading button (a play icon) must show green.
  • Or press Ctrl+E to toggle it.
  • Check the chart’s top-right corner: the EA icon must be a smiley, not a sad face.

2. Allow algorithmic trading (global + per-EA)

Fixes cause 2. There are two separate checkboxes and both must be on — this is why manual trading can work while the EA still gets 4109.

  • Global: Tools > Options > Expert Advisors > tick Allow algorithmic trading. Press OK.
  • Per-EA: right-click the chart with your EA > Expert Advisors > Properties (or press F7) > Common tab > tick Allow algorithmic trading.
  • Re-check the chart icon: smiley = allowed to trade.

Heads up: changing the chart’s symbol or timeframe re-attaches the EA and can silently reset the per-EA checkbox on some builds — if 4109 comes back after touching the chart, look here first.

3. Check the symbol is actually open for trading

Fixes cause 3. If 4109 only happens on one symbol, open Ctrl+U (Symbols), select it and check its Specification: the Trade field must say Full. Close-only means you can only exit positions; Disabled means the broker turned it off.

  • Press Ctrl+U, find the symbol, open Specification and read the Trade mode.
  • Check the sessions: many symbols (indices, metals, prop-firm symbols) stop quoting outside their hours — orders then return 4109.
  • Weekend or broker holiday? Wait for the session to reopen, or test on a 24/7 symbol like a crypto CFD.

4. Rule out a read-only or restricted account

Fixes cause 4. If you logged in with the investor password, MT5 lets you watch everything but rejects every order with 4109 — the terminal looks completely normal otherwise.

  • Log out and log back in with the master password (not the investor one) via File > Login to Trade Account.
  • Try a manual trade on a liquid symbol. If manual trading is also rejected, the restriction is on the account, not on your setup — talk to your broker or prop firm.
  • On prop-firm accounts, check for news or weekend trading restrictions — some firms disable trading around high-impact events.

5. Fixing 4752: validate the order parameters

Fixes causes 5 and 6. Error 4752 means the request itself is malformed — the terminal is on, the symbol is open, but the numbers do not fit the broker’s contract. Open the symbol’s Specification (Ctrl+U) and compare against what your EA or alert is sending:

  • Volume: normalize the lot to the symbol’s volume step and keep it between minimal and maximal volume. Sending 0.001 on a symbol with a 0.01 step = invalid request.
  • Price: never send price 0 on a pending order — use a real price, or send a market order if you want immediate execution.
  • Order type: confirm the symbol supports what you are sending (buy/sell vs pending types) and that SL/TP respect the broker’s stops level distance.

When it is NOT your broker

THE ERROR SHOWS UP IN MT5. THE ROOT CAUSE OFTEN LIVES UPSTREAM.

The alert or webhook payload

If you trade from TradingView alerts, the 4752 you see in the Experts tab is often born in the JSON of the alert message, not in MT5: a "lot" with decimals your broker rejects, an empty "price", or a field with a typo. The terminal only reports what it received. Paste your exact payload into our free webhook tester and compare it against the field schema in the docs before touching anything else.

The EA configuration

EA inputs can produce both errors: a risk-percent sizing rule that computes a lot below the broker’s minimum (4752), or an SL/TP override too close to the price for the symbol’s stops level. Open the EA properties (F7) and check the effective values — and if you use remote settings from a dashboard, remember they overwrite the local inputs on every sync.

Test the payload, not the broker

Before opening a ticket with your broker, send your exact alert JSON through the TradingView webhook tester — it validates the format and shows you exactly what the bridge would receive. The full field reference is in the SignalForge docs.

FAQ

4109 VS 4752, MANUAL VS EA, WEBHOOKS.

What is MT5 error 4109?

Error 4109 (ERR_TRADE_NOT_ALLOWED) means MetaTrader is refusing to send any order because trading is disabled somewhere: the AutoTrading button is off, “Allow algorithmic trading” is unchecked, the symbol is closed for trading, or the account is in read-only (investor) mode. It is a local permission problem, not a broker rejection.

What is MT5 error 4752 in MetaTrader 5?

Error 4752 (TRADE_RETCODE_INVALID) means the trade request itself is malformed: a lot size that does not match the broker’s volume step, a price of 0 on a pending order, or an order type the symbol does not support. Check the contract specification (Ctrl+U) and normalize the volume to the symbol’s volume step.

Why does my EA get error 4109 but manual trading works?

Because manual and algorithmic trading have separate switches. An EA needs both the global option (Tools > Options > Expert Advisors) and the per-EA checkbox (F7 > Common tab). Check the chart’s top-right icon: a smiley means the EA may trade, a sad face means it may not.

Can a TradingView webhook cause MT5 error 4752?

Yes. If your alert JSON sends a lot with decimals your broker rejects, a price of 0, or an unsupported field value, the order arrives malformed and MT5 answers 4752. Validate your payload in the webhook tester before blaming the broker.

Keep reading

Payload schema and every supported field: SignalForge docs. Sister guide: PineConnector not working? 12 fixes (and when to switch).

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 maintains its public latency benchmark.

Automate your TradingView signals on MT5

SignalForge routes your alerts to MetaTrader 5 in milliseconds. 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.