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 seeStart here
No triggered alert in TradingView's logAlert not triggering
The alert fired, but PineHook has no matching rowCheck webhook delivery
PineHook reports a format errorJSON syntax error
The alert is blockedBlocked or duplicate alerts
The alert reached the platform but failedTrade Errors
Delivery remains pendingConnection 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 license value.

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.

ResponseNext action
200, acceptedCheck the alert's delivery and execution status in Signal Logs.
200, blockedRead the block reason and check the relevant setting.
400Correct the message format or parameter named in the error.
401Check that the license or Copier ID is current and copied correctly.
413Shorten the message, removing unnecessary fields or long comments.
429Read 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.