Signals and rejections
Received does not mean filled
Open a signal row for details. Webhook delivery, filter checks and LIVE execution are separate stages. A missing linked execution in the available journal proves neither a fill nor a rejection.
What to check
For RSI waiting, check confirmation conditions. For minimum-size rejection, check rounded size. For a position mismatch, open exchange reconciliation. A signal skipped because of a previous order is not queued for retry.
ATR filter rejection
Entry rejected by LeoHook ATR filter means a signal arrived but LeoHook’s volatility check did not allow entry. This is not a rejection by TradingView or the exchange. The reason appears in the signal journal.
Why new entries are blocked
A received webhook does not mean a trade was opened. Check the signal’s final status and reason, then Events and the position’s management status. A management fault or an unresolved order can block new LIVE entries. Do not close a manual position just to clear the warning: first check whether the discrepancy concerns the bot’s position. An unknown order outcome requires reconciliation, not resubmission.
An unfilled IOC entry
An IOC order executes immediately within its price limit; any unfilled remainder is canceled. After iocCancelRejected, the bot reconciles the order and fills. If the exchange confirms zero fills, an enabled LIVE bot automatically resumes processing new signals. The old order is never resubmitted. Stale queued signals are rejected as “Signal expired before LIVE execution.” This recovery does not override a manual stop and does not apply to unknown outcomes, partial fills or other rejections.