Wiki — how the desk decides
Every filter, in the order a suggestion passes through it. All numbers are read live from the code, so this page cannot drift from what actually runs. Each gate lists the incident that caused it — that history matters more than the value, and is the thing to re-read before changing one.
Common stock below this is dropped. Liquid ETFs (SPY, QQQ, GLD, TLT, XLE…) are whitelisted and skip the check.
Why: Small caps gap on news with no options liquidity — you get filled badly on the way in and cannot get out.
Index and sector ETFs bypass the cap floor because market cap is meaningless for a fund.
Why: The July 24 SPY slide was invisible because the scanner built its list from common stock only, so no index could ever appear.
- Min score:
- 50
- Min rel. volume:
- 1.2×
- Min move potential:
- 2%
- Max abs. change:
- 8
- Strikes OTM:
- 0
- Min days to expiry:
- 3
- Min score:
- 55
- Min rel. volume:
- 1.5×
- Min move potential:
- 4%
- Max abs. change:
- none
- Strikes OTM:
- 1
- Min days to expiry:
- 1
- Min score:
- 45
- Min rel. volume:
- 2×
- Min move potential:
- 7%
- Max abs. change:
- none
- Strikes OTM:
- 2
- Min days to expiry:
- 1
Why the expiry floors are low now: they used to be 7 / 5 / 5, which pushed every suggestion past the nearest Friday. On 2026-07-28 every contract on the day's gainer list expired within three days — the hunt could not have named one of them, not from bad scoring but because the calendar refused them first. The floor was standing in for risk management that now exists as a real exit ladder.
The move is already large for this name. A warning, not a block.
Hard veto. Three times a normal day's range is where moves end, not begin.
Vetoed when a call is within this of the 20-day high, or a put within it of the low.
Why: A monster put was suggested on DELL at its capitulation low. A percent-based threshold would not have caught it — 0.84% looked fine, but it was 0.24 ADR.
Above this, a stretched move is treated as trending rather than exhausted — do not fade it.
Extreme RSI AND price sitting at a pivot level, on the wrong side for the trade.
Why: A PLTR call was suggested at R1 with RSI overbought. Every gate before this said 'moving'; none asked whether the price was still worth paying.
One of the two conditions, not both.
MACD(12,26,9) needs this many bars to mean anything. The signal is fed the PREVIOUS session too, so it is warm at the opening bell.
Why: Feeding it only today made it blind until 11:45 ET — the entire morning, which is when short-dated options make their money.
Momentum already on your side. The continuation read.
Histogram still on the wrong side but closing toward zero, with price already back on the right side of VWAP. Scores lower than TREND, so it sizes smaller.
Why: The level-only test waited for the zero cross, by which time a 0DTE premium had already doubled. This caught a 14:30 bounce the old rule slept through.
Both against the trade. Deliberately NOT softened by a turning histogram — that combination is what a fading downtrend looks like from the inside.
A low only counts once it has held. That lag is the price of not catching knives.
The first low must have been a real extreme. Two higher lows mid-range are not a reversal.
The retest must be measurably less weak, not a rounding difference.
Sellers exhausting rather than reloading.
A divergence from 40 minutes ago is history, not an entry.
Below this it stays silent rather than guess.
All five must hold. The naive version of this rule fired 14 times in 50 minutes; this fires about twice a session. Honest result: it signals ~15 minutes earlier than momentum and still did not beat it on fill price on the reference day.
Higher than the equity desks — an index option is leveraged enough that a marginal read is not worth taking, and nothing else is gating it.
Refused server-side for worm and witch regardless of what the UI sends. Every 0DTE ticket carries a mandatory exit ladder and a loud warning.
Why: On 2026-07-28 SPY's whole range was 0.9% — nothing was suggested — while the SPXW 7450 call went 1.15 to 9.60. A scanner asking 'did it move?' cannot see gamma.
Sell 25% at +50%, another 35% at +100%, trail the rest 35% off the closing high, cut everything at −40%, flat by 15:30 ET.
Sell 50% at +40%, another 25% at +100%, trail the rest 30% off the closing high, cut everything at −50%.
Sell 50% at +40%, another 25% at +100%, trail the rest 30% off the closing high, cut everything at −50%.
Why the first rung exists: a trailing stop mathematically cannot protect a gain smaller than t/(1−t) — a 30% trail needs the trade to peak above +43%, a 35% trail above +54%. Below that line the trail sits at or under your entry, so a correct trade that peaks modestly finishes flat. MU's 850 call peaked at +44% and the trail alone returned −1.9%, worse than simply holding. The first rung banks part of the position just below that line. It is not free: on the SPXW 0DTE that ran 6x it costs roughly 47 points of return, which is why the 0DTE rung is smaller and later than the short-dated one.
Two counterintuitive findings, both measured: the trail is judged on the bar CLOSE, not the intrabar low (+169% vs +72% on the same policy and bars — a 0DTE routinely wicks 40% inside one 5m bar without the move ending). And the 0DTE trail is the WIDEST, not the tightest: short-dated means noisy, and the 15:30 ET time stop does the protecting.
A live bridge quote is never more than a couple of seconds old. Anything past this is not a tradeable price.
Polygon returns no lastTrade on this plan, so the price silently falls back to the day aggregate — which lags. Hits priced this way are stamped DELAYED on the card.
Why: A TXT call was journalled at 3:52 PM with entry 90.59. TXT actually traded ~90.05 then; 90.59 was its price at 3:35. Every gate scored a price the market had already left.
A stale price cannot issue a short-dated ticket at all. Fine on a monthly, disqualifying on a 0DTE.
Combined with price extended past VWAP, the push is labelled CHASE — the move already happened.
Why: An INOD alert arrived with 5m RSI at 71.6 and price 4.1% above VWAP. Every guard for this existed; none were wired into the alert path.
The mirror, for puts.
Distance from the session's average price that counts as extended.
INOD was RSI 27 daily and 72 on the 5m at the same moment. Quoting one timeframe misleads whichever you pick.
A scanner line reprints when confidence moves a bucket, price moves a bucket, or the slot rolls over.
Why: It used to key on the contract alone, which never changes — so each suggestion printed one line ever and the tape froze at five.
It never places orders. Every ticket is a suggestion you have to click. Nothing here trades for you.
It cannot buy the low. Every gate is confirmation-based, so it enters after a turn proves itself. A rule that does not wait is the rule that buys capitulation lows.
It cannot sell the high. Nothing knows a top in advance. The trail captures a share of the move.
Its thresholds are calibrated on a small sample. They are defaults, not laws, and should be re-swept as the journal fills. The history page is the scorecard that tells you whether any of this is working.