Alerts Not Received
Troubleshoot missing TradingView webhook alerts on PineHook. Check whether the alert fired, inspect delivery status, and fix the URL, message, or license key.
Last updated: 2026-10-20
If a TradingView alert has not produced the trade you expected, start by looking for it in Dashboard → Signal Logs. When there is no matching row, check whether TradingView triggered and delivered the alert. If PineHook recorded it as rejected, blocked, or failed, use the reported reason to find the relevant fix below.
Find where the alert stopped#
| What you see | Start here |
|---|---|
| No triggered alert in TradingView's log | Alert not triggering |
| The alert fired, but PineHook has no matching row | Check webhook delivery |
| PineHook reports a format error | JSON syntax error |
| The alert is blocked | Blocked or duplicate alerts |
| The alert reached the platform but failed | Trade Errors |
| Delivery remains pending | Connection Issues |
Alert not triggering#
In TradingView's Alerts panel, check that the alert is active, has not expired, and uses the condition you intended. Its timing also depends on the trigger type: Once per bar close waits for the bar to close, while an order-fill alert waits for the strategy's broker emulator to fill an order.
After changing a Pine Script strategy, its inputs, chart symbol, or timeframe, delete the old alert and create a new one, because TradingView continues running the snapshot saved when the alert was created. Editing the script alone does not update that running alert. TradingView alert not triggering covers expiry, repainting and the other causes.
Check webhook delivery#
Open TradingView's Alerts → Log to inspect Webhook status, then review the alert's Notifications settings and message against these requirements:
- The webhook URL must be exactly
https://relay.pinehook.io/webhook, without spaces or a license key appended to it. - Your TradingView plan must support webhooks, and TradingView two-factor authentication must be enabled.
- The message must contain your PineHook license key, either as the first CSV field or the JSON
licensevalue.
If those settings are correct but delivery still fails, check PineHook service status. TradingView sends webhooks from its own servers, so changing your browser's VPN does not test the connection used to deliver the alert.
A missing or unrecognized license key can leave no matching Signal Logs row because PineHook cannot associate the message with your account. Check the message TradingView actually sent alongside its webhook error before investigating the MT5 or cTrader connection.
For setup instructions, see Set up TradingView webhook alerts, and for a stage-by-stage diagnosis, see TradingView webhook not working.
HTTP errors#
TradingView reports webhook delivery errors under Alerts → Log → Webhook status, using HTTP response codes returned by PineHook's webhook endpoint. A successful delivery confirms that the message arrived, but you still need to check PineHook's Signal Logs to see whether the trade executed.
| Response | Next action |
|---|---|
| 200, accepted | Check the alert's delivery and execution status in Signal Logs. |
| 200, blocked | Read the block reason and check the relevant setting. |
| 400 | Correct the message format or parameter named in the error. |
| 401 | Check that the license or Copier ID is current and copied correctly. |
| 413 | Shorten the message, removing unnecessary fields or long comments. |
| 429 | Read the limit reason, then follow Rate limiting. |
JSON syntax error#
In your dashboard, open Signal Logs → Alert Test & Validate, paste your intended message, and select Check alert to validate it without placing a trade. Before checking a message that contains TradingView placeholders, replace them with example values such as your broker symbol or a price.
If the message uses JSON, check for single quotes or trailing commas, which make it invalid. PineHook also accepts CSV, so follow the command format you chose for your alert.
Placeholders appear as literal text#
TradingView placeholders need double braces, such as {{ticker}} or {{close}}, and must be supported by the alert type you selected. If the received message still contains the placeholder text, check both its spelling and where it is used. For messages built inside Pine Script's alert(), insert the values through code as shown in Pine Script strategy alerts.
If {{ticker}} supplies the chart symbol correctly but your broker uses a different name, configure symbol mapping to translate it.
Blocked or duplicate alerts#
Open the blocked row in Signal Logs and use its reason to identify the setting to review, such as Signal Authentication, symbol filtering, active hours, news filtering, or an enabled risk management rule. If authentication is required, include the correct auth value in the message. The MT5 Secret Key protects the platform connection and should never go in a TradingView alert.
PineHook also protects against repeated delivery by stopping messages that match byte for byte and arrive within about 12 seconds of each other. As a general rule of thumb, include a unique id= in each new alert so PineHook can distinguish it from an otherwise identical message, while retries of the same alert keep the original ID. See Add a unique ID for the setup instructions.
Rate limiting#
PineHook uses per-minute and daily limits to protect against spam, and an alert that exceeds them is rejected rather than queued for later execution. Close and cancel commands are exempt from these account limits.
You can see your allowance under Licenses → Account limits in the dashboard. If your strategy needs more capacity, use Send us a request to contact our team, and we can raise the limits for you.
Test the route#
Begin in your dashboard under Signal Logs → Alert Test & Validate, where you can paste the message and select Check alert to validate it without placing a trade. Once it passes, test delivery and execution on a connected demo account by creating a TradingView alert with a condition you can observe. When the condition triggers, compare TradingView's delivery status with the PineHook Signal Logs row and the resulting broker order or position.
If PineHook receives the message but execution fails, follow Trade Errors using the reason in Signal Logs. If you still cannot locate the alert, ask the Support Chatbot for help, including the alert time, delivery error, and message with any password removed.