v3.5.0 is live — What's New — August 29, 2026See What's New
Skip to main content
tutorials

Why Your TradingView Alerts Keep Missing Trades (and How to Fix It)

RelayDesk Team
RelayDesk Team
September 10, 2026 · 5 min read
Why Your TradingView Alerts Keep Missing Trades (and How to Fix It)

TradingView alerts fire late, miss entries, or never reach your broker. Here's what's causing it, and how to fix each failure point.

Never guess why a trade didn't fire

See your signal history

You built the strategy. The backtest was clean.

You set up the alerts, connected your webhook, and went live. Then the fills started coming in wrong: late entries, missed exits, positions that should have triggered but didn't.

This is the most common frustration in TradingView automation, and it almost always comes down to a handful of fixable problems. Here's how to diagnose which one is hitting you.

Why TradingView alerts miss in the first place

TradingView fires alerts based on conditions evaluated at bar close by default. That means your alert logic runs at the end of each candle, not in real time. On a 5-minute chart, if your condition triggers at 10:02:47, TradingView won't evaluate it until 10:05:00.

That's not a bug. It's how bar-based alerts are designed. The problem comes when traders expect real-time execution from a bar-close trigger.

The webhook delivery chain

When a TradingView alert fires, it sends an HTTP POST request to your webhook URL. That request travels from TradingView's servers to your automation platform, gets parsed, and then forwards an order to your broker's API. Each step introduces latency: TradingView to webhook typically takes 100–500ms but can spike under load, webhook to broker API adds another 50–200ms, and broker order routing varies from 10 to 500ms depending on the broker.

For most swing trading and daily strategies, that latency is irrelevant. For 1-minute charts or fast-moving momentum plays, 500ms can mean missing the entry price entirely.

Webhook alerts require TradingView's Essential plan or higher. The free Basic plan doesn't support webhooks at all, so if you're not seeing any activity in your signal history, confirm your plan tier before troubleshooting further.

The five most common failure points

1. Alert condition set to "Once Per Bar" instead of "Once Per Bar Close"

This is a different setting from the bar-close evaluation timing covered above. It controls how often TradingView checks your alert condition within a candle: "Once Per Bar" checks continuously and can fire mid-bar, while "Once Per Bar Close" waits until the candle closes.

If your alert fires mid-bar, it can trigger on noise that gets reversed by close. Use "Once Per Bar Close" for any strategy whose backtest uses bar-close logic. Otherwise your live alerts are evaluating a different condition than your strategy assumes.

2. Alert payload formatting errors

Your webhook payload has to match exactly what your automation platform expects. A missing quote, wrong field name, or incorrect JSON structure will cause the request to arrive and silently fail.

Always check your platform's signal history. If the alert fired but no order was placed, it's almost certainly a payload error.

3. Alert expiration

TradingView alerts expire on every plan except Premium and Ultimate. Free plan alerts expire after 1 month; Essential and Plus plans expire after 2 months.

An expired alert stops firing with no visible warning unless you check the alert log. This causes more "my bot stopped working" support tickets than any other single issue.

4. Symbol precision mismatches

Some brokers require specific symbol formats: "AAPL" vs "NASDAQ:AAPL", for example. If your webhook payload uses TradingView's full ticker format and your automation platform or broker expects a plain symbol, the order will fail to route. Check your broker's required format and match it exactly in your alert message.

5. TradingView server load during high-volatility periods

TradingView processes millions of alerts. During major news events or high-volatility sessions, webhook delivery can lag by 30 seconds or more. This is a platform-level constraint outside your control. If you're trading strategies that are extremely time-sensitive, it's worth building your configuration to account for this.

How to debug a missed alert

The fastest way to diagnose a missed trade is to check your signal history in RelayDesk. Every webhook payload that arrives gets logged with a timestamp, the raw payload, and the outcome: whether an order was placed, rejected, or errored.

Cross-reference that log with TradingView's alert log (accessible under Alerts → the clock icon on any alert). If TradingView shows the alert fired but RelayDesk shows nothing arrived, the webhook delivery failed. If RelayDesk received the payload but no order was placed, it's a payload or routing issue.

The structural fix

Most of these failure points are symptoms of a fragile signal chain. The bar-close timing issue is one you'll always live with when using TradingView alerts.

That's a platform constraint. But webhook delivery failures, payload mismatches, and silent routing errors are entirely solvable.

Start with the signal history, match your payloads to spec, and set a calendar reminder to check alert expiration dates before they quietly stop working. RelayDesk's signal log gives you the full audit trail from the moment each webhook arrives to the moment the order is sent, so when something misses, you're diagnosing facts instead of guessing.

RelayDesk is a trading automation platform. We are not a broker-dealer or investment advisor and do not provide investment advice. Trading involves substantial risk of loss. Past performance is not indicative of future results. View full disclaimer

RelayDesk Team

RelayDesk Team

Never guess why a trade didn't fire

See your signal history