TradingView → HoldAlarms → PickMyTrade: setup
Who this is for: you send TradingView alerts to PickMyTrade and want each alert logged, and retried when PickMyTrade doesn't accept it.
Before you start: set IP Management to "Allow All IP's". HoldAlarms has no fixed outgoing IP address yet, so PickMyTrade's IP allowlist has to be off. If IP Management is set to "Allow My Specific IP's", alerts sent through HoldAlarms are rejected with an error such as Cannot place alert, valid ip not found in whitelist (PickMyTrade: IP Management). Select "Allow All IP's" instead, and don't whitelist a HoldAlarms IP: we have none, and the address may change. The secret token in your PickMyTrade URL and generated message then becomes the protection, so keep it private. If it leaks, rotate it in PickMyTrade (PickMyTrade: rotate your token); HoldAlarms can't rotate it for you.
Why put HoldAlarms in between
TradingView cancels a webhook request if the receiving server takes longer than three seconds to process it (TradingView: webhooks). If your server answers with HTTP 500–599 (except 504), TradingView sends the webhook again after 5 seconds, with a total of 3 such resends (TradingView: webhook resubmission).
HoldAlarms answers TradingView as soon as the alert is queued, designed to reply fast, well before that timeout, then forwards the alert to PickMyTrade. Each delivery attempt gets 10 s. Any reply other than 2xx, a timeout or a network error counts as a failure. HoldAlarms retries up to 5 times, 2 to 60 seconds apart. If the reply asks for a longer wait (Retry-After), we wait up to 60 seconds. A reply of 400, 401, 403, 410, 413, 414 or 415 is a permanent error: it isn't retried. If every try fails, the alert goes to the dead-letter queue, and failure emails are grouped and capped at up to 10 a day. Retries finish within about 3 minutes, or up to about 6 with Retry-After. So a retried alert can arrive that late; decide whether that's acceptable for your strategy. HoldAlarms adds a hop; it doesn't cut latency.
What you need
- A TradingView plan with webhook alerts and 2-factor authentication turned on.
- A PickMyTrade account with IP Management set to "Allow All IP's".
- A HoldAlarms account. Starter is €19/mo and Ops €49/mo, after a free trial.
Step 1: Point HoldAlarms at PickMyTrade
- In PickMyTrade, open Generate Alert, select your account and click Copy Webhook URL. Use the generated URL exactly; extra spaces or characters cause errors (PickMyTrade: TradingView alerts setup).
- In the HoldAlarms dashboard under Destinations, paste that URL into Add a destination URL and click Add destination.
- Copy Your webhook URL from the dashboard (it looks like
https://api.holdalarms.com/hook/<your token>).
Step 2: Point TradingView at HoldAlarms
- Create or edit the alert in TradingView.
- In Notifications, tick Webhook URL and paste your HoldAlarms webhook URL.
- In PickMyTrade's Generate Alert, click Copy Code and paste the generated JSON into the TradingView Message box (PickMyTrade: TradingView alerts setup). Paste it exactly as PickMyTrade generates it; don't hand-write or rename the fields. HoldAlarms forwards it unchanged.
HoldAlarms forwards your alert message as sent, with the same media type (application/json for a JSON message). A ; charset=… parameter on the Content-Type is dropped, and HoldAlarms adds its own X-HookWatch-Event-Id, X-HookWatch-Event-Hash and X-HookWatch-Attempt headers.
Step 3: Test it
- Check your HoldAlarms URL first with the free Webhook Checker for TradingView.
- Fire a test on a demo account, for example on a 1-minute chart.
- Check three places: TradingView's Alerts log (Webhook status), HoldAlarms (a failed alert shows as Failed, in dead-letter queue under Recent alerts; failure emails are grouped and capped at up to 10 a day), and PickMyTrade's Alert Log.
- HoldAlarms only confirms delivery. What PickMyTrade does with the message is set up and checked in PickMyTrade.
Common pitfalls
- IP Management still on "Allow My Specific IP's". PickMyTrade rejects the alert. If it rejects it with a permanent error (400/401/403/410/413/414/415), the alert goes straight to the dead-letter queue. Otherwise every retry is rejected the same way, and the alert lands there after the last one.
- Edited JSON. Extra commas, missing brackets or a wrong symbol format break the message; regenerate it in PickMyTrade rather than editing by hand (PickMyTrade: TradingView webhooks).
- URL copied with extra characters. Copy the webhook URL exactly as PickMyTrade shows it.
- Duplicates. Identical alerts from the same HoldAlarms account within 20 seconds are forwarded once. PickMyTrade generates the message for you, so don't add your own fields; if you need two identical messages close together, send them more than 20 seconds apart.
- Rejected messages. A message PickMyTrade rejects with a 5xx is sent up to 6 times in total, the first try plus 5 retries, before it lands in the dead-letter queue. A permanent error (400/401/403/410/413/414/415) is sent once and goes straight there.
Questions
Does HoldAlarms work with PickMyTrade's IP whitelist?
No. HoldAlarms has no fixed outgoing IP address yet, so IP Management must be set to "Allow All IP's". The secret token in your PickMyTrade URL then protects the webhook, so keep it private and rotate it in PickMyTrade if it leaks.
Which PickMyTrade docs should I follow?
PickMyTrade runs two sites, pickmytrade.trade and pickmytrade.io. Use the docs for the site your account is on.
Is HoldAlarms an alternative to PickMyTrade?
No. HoldAlarms only checks and retries delivery to PickMyTrade's webhook URL. What PickMyTrade does with the message is set up in PickMyTrade.
What happens if PickMyTrade rejects an alert?
Any reply other than 2xx counts as a failure. A permanent error (400, 401, 403, 410, 413, 414 or 415) goes straight to the dead-letter queue, with no retries. Other errors are retried first, up to 5 times, 2 to 60 seconds apart. Either way, failure emails are grouped and capped at up to 10 a day. Fix the cause in PickMyTrade first, because a rejected message is rejected again on every retry.
More guides
- Why didn't my TradingView alert fire?
- 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 → 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. HoldAlarms is not affiliated with PickMyTrade. PickMyTrade is a trademark of its owner.