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.
plan does not include the webhook
The alert was correct, but your plan has no TradingView webhook. The event log records TradingView alert refused — the Manual plan does not include the webhook, and TradingView's own alert log shows that alerts need the Algo plan. Algo and Unlimited include the webhook — see Plans and billing.
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
An entry arrived later than the subscription's age limit — a stale retry, usually. The age is counted from the alert's time, and the limit holds back entries only: an exit, or a buy or sell that only makes the position smaller, goes through whatever its age, and the event log notes that it was past the limit. An order that adds to the position or turns it is an entry, and so is one on an account whose position the broker cannot report at that moment.
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.
skipped — arrived after the alert that follows it
Two alerts from the same bar reached Tradeus in reverse order. The later one was already traded to the strategy's newest position, so the earlier one is recorded and not traded. That is correct.
skipped — its own close arrived first
Your strategy opened and closed a trade on the same bar, and the close reached Tradeus a fraction of a second before the open. The close found nothing to close; the open is the trade that close already ended, so it is recorded and not traded and your account stays flat, as the strategy is. That is correct.
skipped — the entry that follows it on the same bar arrived first
Your strategy exited and re-entered on the same bar, and the re-entry reached Tradeus first. It found the position already there; the exit is the half that re-entry already undid, so it is recorded and not traded, and you keep the position the strategy holds. That is correct.
waiting for confirmation
Manual mode. It is in the queue, not lost.
part of this order executed before it failed
The broker took part of it and refused the rest — an exit on an account that holds several positions in one instrument closes them one by one, and one was refused. Tradeus does not send the order again, even with retries on, because the same size would overshoot; it reads the account back instead. Check what is open before you act.
may have filled though nobody confirmed it
The broker did not answer in time, so the order may be live. It is not sent again, even with retries on; Tradeus reads the account back. Check the account before you act.
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.

Step-by-step

Send a TradingView alert to a Tradovate account

Tradovate does not accept a TradingView alert directly. Something has to sit between the two: receive the webhook, read the alert, decide the size and place the order on the right account. Tradeus is that something, hosted, so for a Tradovate account there is nothing to install and nothing of yours has to be awake at 3am.

Send a TradingView alert to a Capital.com account

Capital.com is the one broker here you bring your own API key to, and it has two surprises that both come down to names. The password it asks for is not your account password, and the instrument it trades is not the ticker on your chart — XAUUSD there is GOLD. Neither is difficult once you know; both are confusing for an afternoon if you do not.

Send a TradingView alert to an Alpaca account

Alpaca is the odd one out here, and the most useful thing this page can do is say so before you spend an evening on it: there are no futures. If you came looking for a way to automate a funded futures account, this is the wrong broker and one of the other pages is the right one. If you trade US shares or crypto, three differences are worth knowing first.

What to put in a TradingView alert message

A TradingView alert message is just text, and if that text is valid JSON, TradingView posts it with an application/json content type. Everything below is about what to put in it — including the two fields that turn "do this" into "be this", which is the single best protection against an alert that fires twice.

Turn a TradingView strategy into real orders

A Pine strategy on a chart cannot place an order. TradingView can only fire an alert, and an alert is an HTTP request to a URL — it carries no broker, no account and no authentication. Everything between that request and a fill is what this page is about, including the five places the path can stop and what each one says when it does.

Also in Strategies and signals