The Reject exit if signal is older than setting applies only to the proposed exit order when too much time has passed since the effective reference time plus any configured Delay, measured in seconds. The reference time is the optional time field in your webhook JSON when you send it (for example the bar or alert time from TradingView); if you omit time, TradersPost uses when the webhook was received. The number you configure is the maximum allowed seconds from that reference (after delay) before the exit is ignored. TradersPost evaluates this after it has already communicated with your broker to gather the data needed to compute the planned exit (for example quotes and position details); if the signal is too old at that step, the exit is not included in the trade plan. Including an accurate time helps when TradingView or another hop delivers the HTTP request late but the payload still reflects when the signal actually occurred.
This check does not cancel open-order cancellations and does not apply to entry planning. A trade is only fully rejected when there are no open orders to cancel, the exit order is not planned (for example because exit staleness was exceeded), and the entry order is not planned (for example because entry depends on that exit or because entry staleness was exceeded).
The value must be a whole number of seconds between 1 and 30. Leave blank to disable this check for exits.
The entry setting (Reject entry if signal is older than) is separate: setting one does not set the other, and the exit setting does not apply when planning an entry.
time (optional reference clock)When you include time in the JSON, the staleness check uses that moment (plus any configured Delay) as the start of the clock, instead of when TradersPost received the webhook. That measures roughly when TradingView (or your system) considers the alert to have fired → when the trade plan is ready after broker calls, even if the HTTP delivery was slow.
Example: rejectAfter (or your strategy’s Reject exit if signal is older than value) is 10 seconds. The alert really fired at 10:00:00 and your payload sends that as time, but the webhook only reaches TradersPost at 10:00:45. Broker planning then finishes quickly at 10:00:46. Because the reference time is 10:00:00, the signal is already about 46 seconds old, so the proposed exit is not kept in the trade plan even though work after receipt was fast. Without time, the same payload would anchor to receive time (10:00:45) and would likely not be excluded for age.
time may be any string PHP can parse as a date and time (for example 2026-04-23 10:00:00 or ISO-8601). In TradingView, map a time placeholder into your alert JSON so time reflects the bar or alert time.
{
"ticker": "SPY",
"action": "exit",
"time": "2026-04-23 10:00:00",
"rejectAfter": 10
}
rejectAfter (exit)For action: "exit" (and equivalent exit signals), the webhook may send rejectAfter to set a per-signal maximum signal age in seconds. The effective exit value comes from the webhook when either:
If signal values are allowed for this field and the payload includes rejectAfter, that value is used. If signal values are allowed but the payload omits rejectAfter, the configured Reject exit if signal is older than value in the strategy or subscription is used.
If neither Allow signal overrides nor Allow signal override for Reject exit if signal is older than is enabled, rejectAfter in the webhook is ignored for exit planning and only the configured value applies.
Example webhook payloads
Exit using only the strategy's configured value:
{
"ticker": "AAPL",
"action": "exit"
}
Exit with a per-signal rejectAfter (requires Allow signal overrides and/or Allow signal override for Reject exit if signal is older than as above):
{
"ticker": "AAPL",
"action": "exit",
"rejectAfter": 5
}
Free 7-day trial
Set-up in 3 minutes
Paper account for testing
Your browser didn't send the information this action needs.
That usually means a privacy tool, ad blocker, or other browser extension changed the page before you clicked. Nothing is wrong with your account.
What to try: allow this site in your ad blocker or privacy extension, use a private window with extensions turned off, or reload the page and try again.
Still stuck? Contact support and we can help.