Why didn't my TradingView alert fire?
Short answer: First open TradingView's alert log. If the alert shows there, it fired and the problem is the webhook: check the Webhook status column (TradingView: webhooks). If it isn't there, the alert didn't trigger, usually because it expired, was stopped for triggering more than 15 times in 3 minutes, or sits on a repainting script.
When an alert doesn't arrive, "the alert didn't fire" is usually the first guess. In practice it's one of two very different problems, and the fix depends on which one you have:
- It didn't fire. TradingView never triggered the alert. The cause is on TradingView's side: the condition, the frequency setting, an expired or stopped alert, the script, or your plan.
- It fired but wasn't delivered. TradingView triggered the alert, but the webhook never reached your endpoint, or reached it and failed. The cause is in the delivery path: your URL, server, timeout or firewall.
We'll be upfront: HoldAlarms only helps with the second problem. If TradingView never fires or never sends the alert, there is nothing for us, or any webhook relay, to receive or retry.
Step 1: find out which problem you have
Open the Alerts Manager in TradingView and look at the Alerts log. TradingView adds every triggered alert to it (Manage alerts).
- No entry at the time you expected: the alert didn't fire. Go to Step 2.
- An entry is there: it fired. Check the Webhook status column in the log, which TradingView documents for monitoring delivery (webhook docs). Go to Step 3.
The Pine Script FAQ adds that an alert can fire without a notification, depending on its settings (Pine FAQ: alerts). So "I got no email" is not proof it didn't fire.
Step 2: "it didn't fire" checklist (TradingView side)
- Is the alert still active? Below each alert the Alerts Manager shows its status: green Active, orange "Stopped — Triggered" (an "Only once" alert that already fired), grey "Stopped manually", or red "Stopped — Expired" (Manage alerts).
- Did it expire? A standard alert lives at most two months. Premium and Ultimate plans can choose "Open-ended". Even open-ended alerts are switched off if they were created over a year ago and haven't triggered or been edited for a year (Introduction to alerts, Premium alerts expiring).
- Was it stopped for firing too often? A regular alert is limited to 15 triggers in 3 minutes. Watchlist alerts also have a limit of 1,000 triggers in 3 minutes overall (Alert was triggered too often and stopped).
- Did you change the script after creating the alert? An alert saves a snapshot of the script, its inputs and the chart. Edits don't reach existing alerts: delete the alert and create a new one (Pine FAQ).
- Did the script hit a runtime error? A runtime error stops the script, and alerts from that instance can't fire (Pine FAQ).
- Is the condition really true on a live bar? Plot the condition to see where it is true (alertcondition issue). Repainting scripts can behave differently on historical and live data, and TradingView recommends not setting alerts on them (custom script issue).
- Is the frequency right? "Only once" stops after one trigger. "Once per bar close" waits for the bar to close.
- Is the market open? Pine scripts run on new price updates, so a closed market or thin symbol means no execution and no alert (Pine FAQ). Closing your browser is fine: alerts run on TradingView's servers (Will alerts work if TradingView is not open?).
Step 3: "it fired but wasn't delivered" checklist (webhook side)
- Your plan includes webhooks and 2FA is on. TradingView only allows webhook alerts when two-factor authentication is enabled (webhook docs). Check that your TradingView plan includes webhook alerts (TradingView plans).
- Port 80 or 443 only. Other ports are rejected (webhook docs).
- IPv4. IPv6 isn't currently supported for webhooks (webhook docs).
- Answer within about 3 seconds. Slower requests are cancelled (webhook docs). See our webhook timeout guide.
- Firewall allows TradingView's sending IPs. TradingView publishes the list on its webhook page.
- Status codes. If your server answers with HTTP 500–599 (except 504), TradingView sends the webhook again after 5 seconds. There can be a total of 3 such resends, so one trigger can be sent at most 4 times (webhook resubmission).
Our Webhook Checker for TradingView is free and needs no signup. Our server sends one test request to the URL you enter and reports HTTPS and port, whether the address is public, whether the host has a public IPv4 address, the TLS certificate, the response time against ~3 s, the status code and any redirects. It also checks your message template. It can't see TradingView's logs or tell you whether TradingView fired, so Step 1 is still yours.
Where HoldAlarms fits
If your alerts fire but your endpoint is sometimes slow or down, HoldAlarms sits in between. We answer TradingView as soon as your alert is queued, designed to reply fast, well before its ~3-second timeout, then deliver it to your endpoint in the background. If delivery fails we retry up to 5 times, 2 to 60 seconds apart (permanent errors such as 401 or 403 aren't retried). Alerts that still fail are parked in a dead-letter queue, and failure emails are grouped and capped at up to 10 a day. Plans: Starter €19/mo, Ops €49/mo.
For a missing "it didn't fire" alert, HoldAlarms has an optional heartbeat: a scheduled TradingView alert that checks in, so you get an email if the check-ins stop. Heartbeat limits: 1 on the trial, 1 on Starter, 5 on Ops. It tells you a scheduled alert stopped arriving. It can't tell you about one trade alert that wasn't sent.
Questions
How do I know if my TradingView alert fired?
Check the Alerts log in the Alerts Manager. TradingView adds every triggered alert there. If there's an entry, it fired; then check the Webhook status column.
Why did my TradingView alert stop?
The Alerts Manager shows why: Stopped — Triggered (an "Only once" alert fired), Stopped manually, or Stopped — Expired. Alerts that trigger more than 15 times in 3 minutes are also stopped (TradingView: triggered too often).
Can HoldAlarms help if my alert never fired?
No. If TradingView never fires or sends the alert, there's nothing for HoldAlarms to receive or retry. A heartbeat can tell you that a scheduled alert stopped arriving.
Does my alert keep working if I close TradingView?
Yes. TradingView runs alerts on its servers, so closing the browser or app doesn't stop them.
Can the Webhook Checker for TradingView see my alert log?
No. It tests your webhook URL and message template. It can't see TradingView's logs or tell whether TradingView fired.
The alert fired but my webhook got nothing. Why?
Usually a timeout over 3 seconds, a port other than 80/443, IPv6, or a server error. Check the Webhook status column in the alert log.
More guides
- TradingView webhook timeout: why "request took too long" happens
- TradingView webhook not received: 7 things to check
- Duplicate TradingView webhook alerts: why they happen and how to dedupe them
- The TradingView webhook checklist
- Does TradingView retry webhooks?
- TradingView → HoldAlarms → n8n: step-by-step
- TradingView → HoldAlarms → TradersPost: setup and limits
- TradingView → HoldAlarms → PineConnector: setup
- TradingView → HoldAlarms → SignalStack: setup
- TradingView → HoldAlarms → PickMyTrade: setup
- TradingView → HoldAlarms → CrossTrade: setup and limits
- TradingView → HoldAlarms → Alerio: setup
- All guides
- All HoldAlarms questions
HoldAlarms is not affiliated with TradingView. TradingView is a trademark of TradingView, Inc.