OPEN-SOURCE SCRIPT

Oversold Screener · Webhook v3.3

117
#Oversold Screener · Webhook v3.3

US Equities · 15-minute signals · AVWAP entries A–F · Optional CVD gate

## TL;DR

This indicator finds short-term, emotion-driven selloffs in large, liquid US stocks and pings your webhook with a compact alert (symbol + 15-minute close time).
It anchors an Event-AVWAP at the first qualified 15-minute bar after the selloff and proposes disciplined “right-side” entries (A–F) as price mean-reverts back through statistically defined bands. Optional macro fuses and CVD filters help avoid catching knives.

---

## What it does

1. Universe filter (off-chart): You run this on constituents of S&P 500 / Nasdaq-100 / Nasdaq Golden Dragon (or your curated list of healthy companies).
2. Signal (Step-2): On the 15-minute timeframe—including extended hours—the script flags an “oversold event” when:
• Depth: Today’s drawdown vs yesterday’s RTH reference (min of yesterday’s VWAP and Close) is large.
• Relative: The stock underperforms both its market benchmark (e.g., SPY/QQQ) and its sector ETF over the same 16/32×15m windows.
• Macro fuses: If any of the following exceed thresholds, the signal is suppressed: VIX spike, market 16/32×15m selloff, sector 16/32×15m selloff.
• RSI guard: 1-hour RSI is below a configurable level (default 30).
• Cooldown: De-dupes repeated events; you won’t be spammed by the same name intraday.
3. Execution geometry: At the event bar’s close the indicator anchors an AVWAP calculated natively in 15m space and draws ±1σ/±2σ/±3σ bands from a rolling variance of typical price.
4. Entry proposals: It labels A–F entries when price regains key bands after first probing the lower ones (see below). Optional 15m CVD confirmation can be required.
5. Alerts: When the event closes, TradingView raises a single alert with a tiny JSON payload so your downstream AI/service can do the news check and decide.

---

## Why this approach works

• Depth vs yesterday’s RTH reference targets “fresh” dislocations rather than slow trends.
• Relative filters ensure the stock fell much more than both the market and its sector, isolating idiosyncratic panic.
• AVWAP from the event bar approximates the market’s true average position after the shock; band reclaims are robust right-side confirmations.
• Optional CVD (delta volume) catches sell-side exhaustion and buy-side emergence without requiring a full order-book feed.
• Macro fuses (VIX / market / sector) avoid swimming against systemic stress.

---

## Inputs (key)

Bench ETF / Sector ETF
Choose your market (SPY or QQQ) and sector ETF (XLK/XLF/XLY… or KWEB/CQQQ for China tech ADRs).

Depth & relative settings (15-minute space)
• Depth vs prior-day RTH reference: percentage thresholds for 16 and 32 bars.
• Relative to market & sector: underperformance thresholds over 16 and 32 bars.

Macro circuit breakers
• VIX max change (e.g., +8%/+12% over the session)
• Market max 16/32×15m selloff (e.g., −1.5% / −2.5%)
• Sector max 16/32×15m selloff (e.g., −2.0% / −3.0%)
If any one exceeds the limit, the signal is suppressed.

Momentum guard
• RSI(1h) < 30 (configurable).

AVWAP band engine (15m native)
• Bands: ±1σ / ±2σ / ±3σ with EMA smoothing and optional σ cap.
• Settling bars after anchor (default 1–3) to reduce immediate whipsaws.

Entry toggles
• Enable/disable A, B, C, D, E, F individually.
• Optional CVD gate (on/off), lookback window and reversal thresholds.

Housekeeping
• Debounce per ticker and per entry type.
• Entry window length (default 1 week) and per-type cap (show top 3 per event).
• Webhook on/off.

---

## Entries (A–F)

These are right-side confirmations; each requires first touching the prerequisite lower band before reclaiming a higher one.

A Touch ≤ −2σ, then cross up through −1σ (classic exhaustion → relief).
B Touch ≤ −1σ, then reclaim AVWAP (crowd average changes hands).
C Break −1σ up, retest near −1σ within N bars, then bounce (retest confirmation).
D After compression (low ATR%), reclaim AVWAP (coiled spring).
E Touch ≤ −2σ, then reclaim AVWAP after a base (deeper flush → stronger reclaim).
F Touch ≤ −3σ, then cross up through −1σ (capitulation → violent mean reversion).

Optional CVD gate (15m): require sell-pressure exhaustion and a CVD turn-up before validating entries. Defaults are conservative so that A/F remain the highest-quality.

---

## Alert payload (minimal by design)

On event close, one alert is fired with a tiny JSON:

{
"event": "step2_signal",
"symbol": "TSLA",
"ts_15m_ms": 1730879700000
}

Use “Once per bar close” and the 15-minute chart. Your webhook receiver can enrich with fundamentals/news and decide Allow / Hold / Reject, then monitor A–F entries for execution.

---

## How to use

1. Run on your 15-minute chart with extended session enabled.
2. Create one alert per chart (or use TradingView’s multi-chart / watchlist alerts if you have Pro+).
3. Your backend ingests the minimal payload, fetches news and fundamentals, and returns a decision.
4. For Allowed names, watch the on-chart A–F labels; scale in across levels, scale out into upper HVNs/POC or AVWAP give-back.

---

## Defaults that work well

• RSI(1h) < 30
• Depth vs yesterday’s RTH ref: ≤ −4% (16 bars), ≤ −6% (32 bars)
• Relative to market/sector: ≤ −3% (16 bars), ≤ −4% (32 bars)
• Macro fuses: VIX day change ≤ +10%; market ≤ −2.0% / −3.0%; sector ≤ −2.5% / −3.5%
• AVWAP bands: EMA(σ)=3; σ cap off; settle ≥ 1 bar
• CVD gate off initially; enable after you’re comfortable with its behavior.

---

## Notes & limitations

• Indicator, not a strategy: it proposes event points and entries; position sizing and exits are up to you.
• Designed for US equities with ample liquidity; thin names will be noisy.
• Repainting: AVWAP and bands are anchored and do not repaint; entries are evaluated on bar close.
• To keep charts readable, we limit entry labels to the first three occurrences per type within the one-week window.

---

## What’s new in v3.3

• 15-minute event engine (always 15m, independent of the chart you view).
• Depth measured vs yesterday’s RTH VWAP/CLOSE (the lower of the two).
• Removed structure-health (SMA50 coverage) and MA50/200 position checks.
• Macro circuit breakers: VIX + market + sector thresholds; any one trips a fuse.
• RSI guard moved to 1-hour.
• AVWAP bands include ±3σ and new Entry F (−3σ → −1σ reclaim).
• Optional 15m CVD gate for entries.
• Minimal webhook payload for fast downstream AI checks.
• Debounce + entry-window caps to prevent over-labeling and to focus the week after the event.
• Numerous performance and stability tweaks in the 15m security sandbox.

---

## Disclaimer

This is a research tool. It does not constitute investment advice. Test in Replay first, start with small size, and respect your risk.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.