NRUNO Trading Automation Wiki

Webhooks, Delivery & Reliability

Payloads, HTTP failures, timeouts, retries, idempotency, ordering and signal lifecycle.

005How does a TradingView webhook work?

When an alert fires, TradingView sends an HTTP POST to the configured URL. Valid JSON is sent as application/json; otherwise the body is text/plain.

006How do I set up a TradingView webhook for automated trading?

Enable 2FA, create the correct alert, add a secure webhook URL, provide a valid message and test the full route on demo first.

007What should a TradingView webhook message contain?

Use explicit fields such as action, symbol, volume/risk, optional SL/TP and a unique signal ID. Never include broker passwords or sensitive credentials.

013Why did TradingView trigger the alert but the webhook fail?

Alert generation and webhook delivery are separate. Invalid URL/TLS, redirects, authorization, malformed data, rate limits, server errors and slow responses are common causes.

014What do TradingView webhook 3xx, 4xx and 5xx errors mean?

3xx means redirect; 4xx means the receiver rejected the request/data/access; 5xx means the receiving server failed to process it. Timeouts and TLS failures are separate.

015Why does my TradingView webhook time out?

TradingView requires a response within three seconds. A robust receiver validates and safely accepts the signal quickly instead of waiting for slow broker execution.

016Why is my TradingView webhook or automated trade delayed?

Measure signal calculation, alert, webhook, receiver, cTrader transport, order submission and broker fill separately. Each stage has different causes.

017Why does TradingView open duplicate trades?

Duplicates can come from Pine logic, duplicate alerts, duplicate execution instances or retries. TradingView can resend certain 5xx webhooks three times, so one trigger can…

032What is webhook idempotency and why does a trading connector need it?

Idempotency means receiving the same signal multiple times does not create multiple trading effects. It is essential because networks retry and TradingView can resend certain…

033How should I create a unique signal ID for TradingView automation?

A signal ID should identify one intended action and stay identical when that same action is retried. Store processed IDs so repeated delivery can be acknowledged without…

034Why did one TradingView trigger produce up to four webhook requests?

TradingView can resend webhook requests that receive HTTP 500–599 except 504 after five seconds, up to three resends. One trigger can therefore produce at most four sends.

035What should happen after a webhook receiver returns HTTP 200?

HTTP 200 should mean the receiver accepted the HTTP/application request, not that the broker guaranteed a fill. Track execution as a separate state after acknowledgement.

036What if the webhook is accepted but cTrader execution later fails?

Treat webhook acceptance and cTrader execution as separate statuses. If cTrader later rejects the operation, log and expose the exact execution error instead of pretending…

063How long should a TradingView webhook signal remain valid before it becomes stale?

Give time-sensitive signals an explicit creation time and expiry policy. A delayed entry that was valid 30 seconds ago may be dangerous after a disconnect or market move, so…

067What happens to TradingView signals received while cTrader is disconnected?

The system needs an explicit policy: reject immediately, queue with a short expiry, or hold for manual review. Blindly replaying every signal after reconnection can open trades…

082How should partial closes be represented in webhook commands?

A partial-close command should identify the target position/strategy scope and an explicit quantity or percentage to close. Do not use an ambiguous SELL command when the intent…

091What happens when an EXIT signal arrives before the ENTRY is confirmed?

Correlate ENTRY and EXIT by identity and reconcile actual cTrader state. An EXIT arriving first must not blindly become an opposite entry.

092How should out-of-order webhook signals be handled?

Where sequence matters, carry identity, timestamps and/or sequence numbers. Reject, defer or reconcile stale/out-of-order commands instead of processing them blindly.