Russell 2000 Band Cross-Down Scanner

EMA + StdDev upper band · multi-timeframe · Russell 2000 optionable stocks

Data Source

Your deployed Cloudflare Worker (see README) — proxies Yahoo Finance and the Russell 2000/IWM symbol list, and adds the CORS headers Yahoo won't.
When set and no symbol filter is given, keeps the top-N Russell 2000 names by index weight (IWM's free-float weighting) instead of scanning all ~2,000 — much faster and avoids leaning on the thin tail's options liquidity.

Band Settings

Scan Scope

Kept lower than the crypto version's default — Yahoo Finance (behind the worker) throttles harder than an exchange API.
Idle0%

Results

Symbol TF Direction Episode Start (UTC) Signal (UTC) Extreme Price Price at Signal Gap (ATR) Gap % Band Value Confirmed Peak Search
Configure your settings above and click Run Scan.

How this works / assumptions

Upper band = EMA(close, emaPeriod) + k × StdDev(close, stdevPeriod); lower band = EMA(close, emaPeriod) − k × StdDev(close, stdevPeriod). Same formula and same look-ahead-safe convention as the crypto version (every candle tested against the band from the previous closed candle). StdDev smoothing works identically.
Data source: a Cloudflare Worker proxies two things Bybit gave the original tool for free: (1) Yahoo Finance's chart API for OHLC candles — unlike Bybit, Yahoo doesn't reliably allow direct browser CORS calls, hence the worker; (2) the Russell 2000 constituent list, sourced from IWM's public holdings CSV (the ETF tracking the index), refreshed daily.
"F&O supporting": almost every Russell 2000 constituent already has listed options in the US — there's no NSE-style restricted F&O list here. The universe is effectively "Russell 2000," full stop; a handful of very illiquid tail names may have thin or no options chain, which this tool doesn't currently filter for.
Max symbols (Data Source panel): ranks by IWM's index weight and keeps the top-N when no explicit symbol filter is set — a practical stand-in for "liquid enough to matter," since weight roughly tracks float-adjusted market cap.
Scan date is a single US market session (9:30–16:00 America/New_York, DST-aware) rather than a UTC calendar day — equities aren't 24/7 like perpetuals. Only the Signal has to land inside that session; Episode Start and Extreme Price can sit any distance before it.
Timeframes: 15m/30m/1h/1D. No 4h — Yahoo has no native 4h bar for equities and a synthetic one doesn't divide the 6.5h session cleanly, so it's dropped rather than faked.
Peak Search = truncated now has a concrete, common cause beyond just "hit Max lookback bars": Yahoo's own history horizon per interval (roughly 60 days for 15m/30m, ~2 years for 1h, unlimited for 1D). The worker flags this explicitly (clipped) when it happens, so a 15m scan reaching more than ~2 months back will often show truncated legitimately, not from a bug.
Confirmed / Gap ATR / Gap % / Precision timeframe all work exactly as in the crypto version — see inline field labels above.
Symbol links open TradingView using the exchange (NASDAQ/NYSE/AMEX) reported by IWM's holdings file for that ticker.