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.
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.
ERR_TRADE_NOT_ALLOWEDERR_TRADE_NOT_ALLOWEDERR_TRADE_NOT_ALLOWEDERR_TRADE_NOT_ALLOWEDTRADE_RETCODE_INVALIDTRADE_RETCODE_INVALIDWhere 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+Eto 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 > tickAllow 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 stepand keep it betweenminimalandmaximal volume. Sending 0.001 on a symbol with a 0.01 step = invalid request. - Price: never send price
0on 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 leveldistance.
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.
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.
Payload schema and every supported field: SignalForge docs. Sister guide: PineConnector not working? 12 fixes (and when to switch).
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.