TradingView Alerts Not Placing Trades? 9 Causes and Fixes
Your TradingView alert fires but no order appears in MT5. Work through the nine causes in order — most setups fail on one of the first three.
Short answer: work through the causes in the order below — they are sorted by how often they are the real problem. If the alert never reaches your bridge at all, it is a TradingView-side issue (plan, URL field, alert expiry). If it arrives but no order appears, it is an MT5-side issue (AutoTrading, the EA, WebRequest permission, symbol naming).
First: find out where it stops
Before changing anything, work out which half of the chain is failing. Open your bridge's activity log and look:
| What the log shows | Where the problem is | Go to |
|---|---|---|
| Nothing at all — no entry for the alert | TradingView side | Causes 1–3 |
| The alert arrived but was rejected | The alert's content | Causes 4–5 |
| Arrived and queued, but never executed | MT5 side | Causes 6–8 |
| Executed, but the wrong trade | Configuration | Cause 9 |
This single check saves most of the time people spend on this problem. A setup that has never once reached the log has a completely different fault from one that reaches it and fails.
1. Your TradingView plan has no webhooks
Webhook notifications are a paid feature. On the free plan the alert fires, shows on your screen, and sends nothing outward. There is no workaround and no tool can add it.
Check: open the alert, go to Notifications. If "Webhook URL" is greyed out or absent, this is your answer.
2. The URL is in the wrong field
The webhook address goes in the Webhook URL box under Notifications. The Message box is for the alert body — the JSON. Pasting the URL into the message means TradingView sends the text of a URL to nowhere.
3. The alert expired or was deleted
TradingView alerts do not necessarily live forever — they can stop after a period, and they stop when the chart's indicator is removed. An alert that worked last month and silently stopped is often simply inactive.
Check: the Alerts panel. An inactive alert is greyed out; restart it.
4. The alert body cannot be read
If your bridge shows the alert as rejected, it arrived and could not be understood. Common reasons:
- Broken JSON — a missing brace or quote, usually from hand-editing.
- An unresolved placeholder. If you see a literal
{{ticker}}in the received text, that placeholder does not exist on that alert type. TradingView leaves unknown placeholders as-is rather than erroring. - A missing mandatory field — no position size, or a pending order with no entry price.
A well-built bridge names the exact field in its rejection message. If yours only says "invalid", that is worth knowing about your tool.
5. The symbol does not exist at your broker
This one produces the strangest symptom: it works on some symbols and not others.
Brokers add suffixes. Gold might be XAUUSD, XAUUSD+, XAUUSD.m, XAUUSDm or XAUUSD.raw depending on the account type. Your alert sends whatever TradingView calls it, which is usually the bare name.
Worse, some brokers keep an unquoted legacy entry with the bare name. The executor finds a symbol that exists, but it has no live price — so the order fails with a confusing message about prices rather than symbols.
Fix: set the exact broker symbol in your webhook settings. Copy it from MT5's Market Watch, including any suffix, exactly as written.
6. AutoTrading is off
The single most common MT5-side cause. The AutoTrading button in the toolbar must be green. If it is red, every EA on every chart is disabled and nothing will trade.
Also check the chart itself: the EA's face in the top-right corner should be smiling. A sad face means trading is disabled for that specific EA.
7. WebRequest is not allowed — error 4014
If your executor collects alerts over the internet, MetaTrader blocks it until you say otherwise. Go to Tools → Options → Expert Advisors, tick Allow WebRequest for listed URL, and add the exact API address.
| Common mistake | Correct |
|---|---|
| Adding the website instead of the API address | Use the address the tool tells you to |
Missing https:// | Include the scheme |
| Trailing slash | Leave it off |
| Added while the EA was running | Remove and re-attach the EA after |
The Experts tab will show error 4014 when this is the problem.
8. The terminal is not running when the alert fires
If the executor lives inside MT5, the terminal must be open and connected at the moment the alert arrives. A sleeping laptop, a logged-out Windows session or a disconnected broker connection all produce exactly the same symptom: the alert is logged as received, and nothing happens.
This is the fundamental trade-off of the local model, and the reason most people who rely on it run a VPS.
9. It traded, but not what you expected
The order appeared, but it is wrong. Usually one of these:
| Symptom | Cause |
|---|---|
| Only one take-profit set, others missing | The alert format lists targets in a way the parser only partly reads. Check the parsed line in the log against what you sent. |
| Entered at market when you wanted a limit | The order type is not set, or the tool is market-only |
| Two positions from one signal | Duplicate delivery, or a repainting Once Per Bar alert |
| Position closed unexpectedly | An opposite signal with close-and-reverse configured — check the log for a flip |
| Lot size far off | Risk-percentage sizing with a stop distance different from what you assumed |
| Stop rejected by the broker | Placed closer than the broker's minimum distance |
How to diagnose it from scratch in five minutes
- Put the webhook in dry run, so nothing can trade while you debug.
- Fire one alert manually from TradingView.
- Look at the log. No entry at all means causes 1–3. An entry means TradingView is fine and the problem is below it.
- Read the parsed line. If it is wrong, it is the alert body or the webhook settings, not MT5.
- If parsing is right, check the MT5 Experts tab for the reason it did not execute.
Working top-down like this takes a few minutes. Changing settings at random can take an afternoon.
Related
If you are setting this up for the first time, start with how to connect TradingView alerts to MT5. If you are choosing between tools, the comparison framework lists the questions worth asking before you pay for one.
Frequently asked questions
Why is my TradingView alert firing but not placing a trade?+
The alert fires inside TradingView, but something between TradingView and your broker is stopping it. The usual order of causes is: the TradingView plan has no webhooks, the URL was pasted in the wrong field, AutoTrading is off in MT5, the EA is not on a chart, or MetaTrader is blocking the EA's internet access with error 4014.
What is MT5 error 4014?+
Error 4014 means an Expert Advisor tried to make a web request to a URL that has not been allowed. Fix it in Tools → Options → Expert Advisors by ticking Allow WebRequest for listed URL and adding the exact address, including https and with no trailing slash.
Do TradingView webhooks work on the free plan?+
No. Webhook notifications require a paid TradingView plan. On the free plan the alert can still fire and show on screen, but it never sends anything outward, so no external tool can receive it.
Why does my alert work on some symbols but not others?+
Almost always a symbol naming mismatch. Your broker may quote gold as XAUUSD+ or XAUUSD.m while your alert sends XAUUSD. The executor must map that name to your broker's actual symbol, or you set the exact broker symbol in your webhook settings.
My alert fired twice and opened two positions. Why?+
TradingView can deliver the same alert more than once, and indicators set to Once Per Bar can fire mid-candle and again on recalculation. Use Once Per Bar Close, and use a tool that deduplicates identical alerts arriving close together.
Keep reading
Copy trades between MT4 & MT5 in milliseconds
Free local trade copier with a realtime web dashboard. Set up in 10 minutes — no coding.
Get Started Free