MT5 error 4109: trade not allowed.
Your alert fired, your EA tried to trade, and MetaTrader refused. In MetaTrader 4 that refusal is error 4109 (ERR_TRADE_NOT_ALLOWED); in MetaTrader 5 the same problem is reported as error 4752 (ERR_TRADE_DISABLED, “trading by Expert Advisors prohibited”), with the trade server code 10027 when the AutoTrading button is off. (A literal 4109 in MT5 is a chart-property error, unrelated to trading.) The good news: it 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.
4109 (MT4) and 4752 (MT5) both mean 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. If the order is rejected for its parameters instead, MT5 returns 10013–10016 (invalid request, volume, price or stops): check the lot size, price and stops against your broker’s contract specs (Ctrl+U).
The 60-second diagnosis
MATCH YOUR SYMPTOM TO THE CAUSE. THEN JUMP TO THE FIX.
4109 ERR_TRADE_NOT_ALLOWED (MT4) · 4752 ERR_TRADE_DISABLED + 10027 (MT5)4109 ERR_TRADE_NOT_ALLOWED (MT4) · 4752 ERR_TRADE_DISABLED (MT5)10018 MARKET_CLOSED · 10044 CLOSE_ONLY · 10017 TRADE_DISABLEDACCOUNT_TRADE_ALLOWED = false10013 INVALID · 10014 INVALID_VOLUME · 10015 INVALID_PRICE10014 INVALID_VOLUME · 10016 INVALID_STOPSWhere 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 (4109 in MT4; 4752 and 10027 in MT5) 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 is still blocked (4109 in MT4, 4752 in MT5).
- 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 the error comes back after touching the chart, look here first.
3. Check the symbol is actually open for trading
Fixes cause 3. If orders fail only 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 (code 10044); 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 10018 (market closed).
- 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 (the account reports ACCOUNT_TRADE_ALLOWED = false), 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. Invalid order parameters (10013–10016)
Fixes causes 5 and 6. Here the terminal is on and the symbol is open, but the request does not fit the broker’s contract, so MT5 returns 10013 (invalid request), 10014 (invalid volume), 10015 (invalid price) or 10016 (invalid stops). 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 volume (10014). - 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, an invalid-volume or invalid-price rejection (10014 / 10015) 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 cause parameter rejections too: a risk-percent sizing rule that computes a lot below the broker’s minimum (10014), or an SL/TP override too close to the price for the symbol’s stops level (10016). 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?
4109 (ERR_TRADE_NOT_ALLOWED) is the MetaTrader 4 code for “trade is not allowed”: trading is disabled somewhere, usually the AutoTrading button is off or “Allow algorithmic trading” is unchecked. In MetaTrader 5 the same problem is reported as error 4752 (ERR_TRADE_DISABLED); a literal 4109 in MT5 is a chart-property error, unrelated to trading. It is a local permission problem, not a broker rejection.
What is MT5 error 4752 in MetaTrader 5?
Error 4752 (ERR_TRADE_DISABLED) means trading by Expert Advisors is prohibited: the AutoTrading button is off (the trade server code is then 10027) or “Allow algorithmic trading” is unchecked, globally or on the EA. It is the MT5 equivalent of MT4’s 4109. Malformed orders (wrong lot step, price 0, stops too close) return 10013–10016 instead.
Why does my EA get error 4109 or 4752 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?
Not 4752: that one comes from the terminal’s algo-trading permissions. A webhook can cause parameter rejections, though: if your alert JSON sends a lot with decimals your broker rejects or a price of 0, MT5 answers 10014 (invalid volume) or 10015 (invalid price). 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.