When a signal does not trade

Read the event log first — it names the reason.

Every signal is recorded, including the ones that were refused, and each refusal carries its reason. Almost every question of the form "why did nothing happen" is answered there without guessing.

Rejected at the door
unknown endpoint
The webhook URL is wrong or the strategy was deleted.
invalid passphrase
Usually a passphrase that was regenerated after the alert was written.
payload invalid
A field is missing or holds a value outside the allowed list. The message names the field.
paused
The strategy is paused.
Accepted, then not traded
no subscription
No account follows this strategy, or the one that does is switched off.
outside the trading window
The subscription only trades certain hours.
signal is too old
It arrived later than the subscription's age limit — a stale retry, usually.
account locked
A lock is holding the account. See When a lock fires.
rounds to 0 contracts
Dollar-risk sizing produced less than one contract.
already at target position
A position_size alert asked for a position the account already holds. Nothing to do, and that is correct.
waiting for confirmation
Manual mode. It is in the queue, not lost.
If a signal is not in the log at all, it never arrived — that is a TradingView-side problem: the alert did not fire, or its webhook URL is not yours.

Also in Strategies and signals