Most of the signals that Apex1819's analytical pipeline generates never execute. They are vetoed by the compliance engine for one of a specific set of reasons — each of which represents a real constraint on trading activity, whether regulatory, risk-based, or structural.
This article provides plain-English translations of every veto reason you will encounter in the signal feed. For each one: what it means exactly, what triggered it, and what — if anything — you need to do. Most veto reasons require no action on your part. They are the compliance system doing exactly what it was designed to do.
VETO REASON
The specific compliance check that the system failed on a given signal, displayed in the signal row's expanded compliance panel. Each veto reason maps to exactly one of the compliance engine's checks. The signal's Alpha and Conviction scores are unaffected by a veto — the signal was analytically sound; the veto reflects an external constraint, not a quality failure.
PDT limit reached
What it means: You have made 3 day trades within the current rolling 5-day window, and your account balance is below $25,000. The Pattern Day Trader rule (enforced by FINRA) prohibits a 4th day trade in any 5-day period for margin accounts below that threshold. The compliance engine tracks this counter in real time. When it reaches 3, all signals that would result in a same-day open-and-close are vetoed with this reason.
What you should do: Nothing, typically. The counter clears automatically as the oldest day trade in the window ages out. If you need day trading capacity sooner, funding your account above $25,000 removes the PDT restriction permanently. The AI will not hold back your 3rd trade on a low-confidence signal to preserve capacity for later — it uses day trades as they arise and manages the counter conservatively.
Conviction below floor
What it means: The signal's Conviction score did not reach the minimum threshold required for the current regime. In standard conditions, the quality bar is at a baseline level. In elevated-volatility regimes (volatile chop, panic, crisis), the threshold is raised automatically. A signal with Conviction of 58 that would execute in a calm bull market will be vetoed during a panic because the threshold has moved above it.
What you should do: Nothing. This veto means the AI found an analytically interesting opportunity that lacked the source agreement to justify trading it in the current environment. The conviction threshold exists specifically to prevent the AI from trading on weak evidence during conditions where weak-evidence trades fail at higher rates. You will see more of these vetoes in volatile regimes, and that is the system working correctly.
Daily loss guard active
What it means: Your account's realized-plus-unrealized P&L for the current trading session has crossed -3% of account value. All new trade signals are blocked for the remainder of the session. Existing open positions are held — they are not force-closed by this trigger. Only new positions are blocked.
What you should do: Nothing for the day. The daily loss guard resets at the start of the next trading session. The -3% threshold is not user-configurable — it is a hardcoded platform protection. The rationale is that -3% in a single session indicates conditions or a strategy that is not working that day, and trading through it statistically produces worse outcomes than stopping. The AI learned this from historical data, not from theory.
Position limit reached
What it means: Approving this signal would cause your allocation to a single ticker or sector to exceed your configured maximum concentration limit. For example, if your max concentration is 15% per ticker and you already hold 12% in NVDA, a new NVDA long signal that would push you to 18% will be vetoed. The same logic applies to sector-level concentration — if you are already heavily weighted in Technology, adding another tech position may breach the sector limit.
What you should do: Nothing, unless you want to adjust your concentration limits in settings. Concentration limits exist to prevent the AI from creating a portfolio too exposed to a single stock or sector. A concentrated portfolio can dramatically outperform when you are right, but it creates catastrophic drawdown risk when you are wrong. The defaults are set conservatively for good reason. If you want to adjust them, the mandate settings in your autopilot page are the correct place.
Wash sale window
What it means: You closed a position in this security at a loss within the last 30 days. IRS wash sale rules disallow the tax loss deduction if you buy substantially identical securities within 30 days before or after the loss sale. The compliance engine tracks loss-generating closes and blocks re-entry into the same security for 30 calendar days afterward. This is a proactive avoidance — the AI does not execute the trade and then deal with the wash sale; it avoids creating the condition in the first place.
What you should do: Nothing. Wait for the 30-day window to clear. The exact expiry date is visible in the expanded compliance panel for the vetoed signal. Note that Apex1819 currently applies this rule uniformly — the system cannot currently distinguish between taxable and tax-advantaged accounts. This is a known improvement area on the roadmap.
Outside trading hours
What it means: The signal was generated or would execute outside the permitted trading window for this signal type. Equity signals have a hard cutoff at market close (4:00 PM ET). Certain strategies — particularly those involving high-beta or crypto-adjacent tickers — have an earlier cutoff to avoid the end-of-day volatility window and the risk of gap-down opens the following morning.
What you should do: Nothing. Time restrictions are set by the compliance engine based on signal type and strategy classification. They are based on historical data showing that trades initiated in certain windows for certain instrument types produce systematically worse outcomes. Late-session liquidity dries up, market impact increases, and gap risk at open the next morning is statistically elevated for names in that category.
Bracket R:R below 1.5
What it means: The level calculation engine was unable to identify a viable take-profit target satisfying the minimum 1.5:1 reward-to-risk ratio, given the stop distance required by the ticker's volatility and the current regime multiplier. The signal's technical and fundamental analysis was sound — this veto is not a quality judgment on the opportunity. It means the current price structure does not allow a mathematically viable bracket for this entry point. A major resistance level at the 1.5x target distance, or extreme volatility requiring a very wide stop, are the typical causes.
What you should do: Nothing immediately. This veto often self-resolves — if the ticker pulls back to a more attractive entry, the R:R calculation may work at the new price. The level calculation re-evaluates on every cycle. You will occasionally see the same ticker appear multiple times in the feed: first with this veto when the entry price was high, then as an executed signal later when a pullback brought the entry to a level where the math worked. The ticker did not get better — the math just became viable at the lower entry.