ML Signal Engine · 0DTE Oracle

0DTE Oracle ML Signal

A machine learning engine that synthesizes VWAP position, EMA alignment, RSI momentum, DMI crossover, market internals (QQQ, IWM, VIX), and EdgeOS pattern scores into a single intraday BUY / SELL / NEUTRAL signal, updated every 30 minutes.

Live Oracle Signal — SPY
Loading Signal…

The SPY Oracle signal is computed from live 30-minute Alpaca bars and updated every 30 minutes during market hours (9:30 AM – 4:00 PM ET). The signal shown here reflects the most recent computation. Check back during market hours for a live BUY, SELL, or NEUTRAL reading.

Full SPY Oracle page →

What is the 0DTE Oracle?

The 0DTE Oracle ML Signal Engine is a real-time directional bias system that combines five weighted technical and market-internals inputs to produce a BUY, SELL, or NEUTRAL signal for any liquid US equity or ETF. It is updated every 30 minutes using Alpaca 30-minute bars, resetting the VWAP calculation at each session open so the intraday structure score always reflects same-day context rather than stale overnight positioning.

The Oracle is designed for intraday and 0DTE options traders who need a directional bias before entering a position. Unlike end-of-day systems that wait for the market close to count bars, the Oracle reads live 30-minute data throughout the session, making it responsive to intraday momentum shifts, VWAP reclaims, DMI crossovers, and VIX regime changes that can occur within a single trading hour. It works on any liquid US equity or ETF — SPY, QQQ, NVDA, AAPL, TSLA, and 2,000+ additional names are covered by the underlying Alpaca data feed.

The Oracle is derived from the same signal infrastructure powering the TraderValue workspace at winstockoptions.com and traderspro.pro. The five sub-scores — Pattern, Internals, Momentum, Structure, and Flow — are computed independently and combined into a composite score using fixed weights that have been validated against intraday price behavior. A composite above +0.12 triggers a BUY, below −0.12 triggers a SELL, and the −0.12 to +0.12 band produces NEUTRAL — a deliberate no-trade zone indicating the system lacks conviction.

The Formula

composite = (Pattern × 0.30)
           + (Internals × 0.25)
           + (Momentum  × 0.18)
           + (Structure × 0.12)
           + (Flow      × 0.15)

  composite > +0.12  →  BUY    (directional conviction, long bias)
  composite < −0.12  →  SELL   (directional conviction, short bias)
  −0.12 to +0.12     →  NEUTRAL (insufficient conviction — wait)

Each sub-score is clamped between −1 and +1 before weighting. The composite is therefore bounded between −1 and +1 by construction. Confidence is computed as min(0.97, |composite| × 1.4 + 0.20) — giving a minimum displayed confidence of 20% and a practical ceiling of 97%. All five components must align directionally to push confidence above 80%.

Five Sub-Scores Explained

01

Pattern

30%

Multi-timeframe EdgeOS bull/bear count alignment across the 1-day, 1-hour, and 30-minute charts. The pattern score is +1 when the majority of timeframes are in active bull counts (SCTR > 9), −1 when the majority are in active bear counts (SCTR < 4), and 0 when timeframes are mixed or no signal is active. This is the highest-weighted input because it encodes the same 7-year signal history that underpins EdgeOS T1 ignitions.

02

Market Internals

25%

A weighted composite of seven market-health proxies: QQQ (weight 1.5 — lead index, the most predictive), IWM (weight 1.0 — small-cap breadth confirmation), VIX inverse signal (weight 1.2 — VIX above 25 creates a −0.5 level bias regardless of direction; VIX falling is bullish), GLD inverse (weight 0.5 — gold rising during equity hours signals risk-off), TLT (weight 0.6 — treasury rally = rates falling = mild equity tailwind), NVDA (weight 0.8 — semiconductor leadership proxy), and TSLA (weight 0.6 — retail-sentiment proxy). The internals score pushes the composite bullish when large-cap tech and small-caps are both rising, and bearish when VIX is spiking into equity weakness.

03

Momentum

18%

A three-component momentum model: RSI(14) deviation from the 50 midline (normalized to −1/+1), 5-bar price velocity relative to ATR (how fast price is moving versus its own volatility), and DMI crossover signal (+DI crossing above −DI confirmed by the next bar's range expansion above the crossover bar's high is a bullish DMI signal; −DI crossing above +DI confirmed by the next bar's low below the crossover bar's low is bearish). The DMI crossover confirmation requirement prevents false signals from single-bar noise.

04

Structure

12%

A five-component price structure model: VWAP position in basis points (26% weight within Structure — being above VWAP is the primary intraday support/resistance signal), EMA8 vs EMA21 spread normalized to price (22% weight — bull when EMA8 > EMA21), day's range position (17% weight — where price sits in today's high-low range, with top-of-range being bullish), consecutive green/red candle streak capped at 5 (13% weight), and VWAP tension score (7% weight — how far price has stretched from VWAP measured in ATR units, with direction). ADX-weighted DMI structure accounts for the remaining 15%.

05

Flow

15%

EdgeOS options flow direction derived from the Supabase symbol_state table populated by the TraderValue signal pipeline. An active bull count (bull > 0) on the daily timeframe adds +0.3 to the flow score, reflecting that institutional options positioning tends to align with the multi-day trend direction. An active bear count (bear > 0) subtracts −0.3. When no signal is active the flow contribution is 0, and the other four components carry proportionally more weight.

Feature Weights

The Oracle normalizes ten raw features to the −1 to +1 range before computing the Structure and Momentum sub-scores. The table below shows every feature used internally by the ML signal engine.

FeatureDescription
RSI(14)Deviation from 50 midline, normalized −1 to +1
EMA SpreadEMA8 − EMA21 spread as % of price × 1000, clamped
VWAP BPSPrice vs session VWAP in basis points, clamped at ±200bps
ATR%ATR(14) as % of last price — measures daily volatility regime
Momentum5-bar price velocity relative to ATR(14)
Range PositionWhere price sits in day's high-low range (0=bottom, 1=top)
Vol RatioCurrent bar volume vs 20-bar average volume
Candle StreakConsecutive green (positive) or red (negative) candles, capped at ±5
Flow ScoreEdgeOS bull/bear count direction from Supabase symbol_state
Candle PatternEdgeOS multi-TF bull/bear alignment score (−1 to +1)

Market Internals Explained

The internals score is the second-highest-weighted input at 25% because broad market context is more predictive of intraday direction than any single-stock technical indicator. When QQQ is up more than 1% and IWM is confirming (also positive on the day), the internals score pushes the composite bullish regardless of what the individual stock's VWAP position looks like. The QQQ weight of 1.5 is intentionally higher than IWM's 1.0 because tech-heavy Nasdaq leadership more reliably predicts same-day momentum continuation.

VIX above 25 applies a −0.5 level bias to the internals score regardless of market direction — because elevated fear regimes increase the probability of sharp reversals and make directional signals less reliable for 0DTE entries. The VIX direction signal (separate from the level bias) penalizes the internals score when VIX is rising and rewards it when VIX is falling, capturing the relationship between put unwinding and equity rallies.

GLD rising during equity hours is treated as mildly bearish (weight −0.5) because gold-to-equity rotation typically signals risk-off sentiment. TLT rising (20+ year Treasury ETF) is treated as mildly bullish for equities (weight +0.6) because falling rates tend to benefit growth stocks and reduce discount rates. NVDA (weight 0.8) and TSLA (weight 0.6) function as semiconductor-leadership and retail-sentiment proxies respectively — when both are positive the internals score leans bullish, consistent with a risk-on market environment.

Historical Pattern Analogs

The Oracle analog engine scans 2+ years of 30-minute, 1-hour, and 1-day intraday history per symbol, looking for sequences of candle patterns with greater than 95% cosine similarity to the current price sequence. When high-similarity analogs are found, the engine surfaces the actual 5-day, 10-day, and 20-day forward returns from those historical periods, giving traders a data-backed calibration for expected move when sizing 0DTE or weekly options positions. This approach is similar to how quantitative funds use historical simulation, but applied to individual candle sequences at intraday resolution.

Analogs are matched across raw OHLCV candle sequences normalized to the same starting price — so a NVDA analog from 2023 can validly match a 2025 SPY sequence if the candle shapes are geometrically similar. The forward return distribution from the top-5 analog matches shows the mean, median, and interquartile range of historical outcomes, helping traders understand whether the current pattern has historically resolved bullishly, bearishly, or with high variance (choppy, inconclusive). High-variance analog distributions are a signal to reduce position size or avoid 0DTE entries entirely.

The Oracle analog data is available in the TraderValue workspace for paid subscribers. The analog chart overlays historical matched sequences on the current chart, so traders can visually inspect whether the patterns are structurally similar before relying on the forward-return statistics for trade sizing.

Live Oracle Signals by Stock

The Oracle ML signal is available for every liquid US equity and ETF in the TraderValue universe. The pages below show the live BUY/SELL/NEUTRAL signal for the most actively-traded names in the options market — the symbols where 0DTE and same-week options volume is highest and where intraday signals carry the most actionable edge.

Frequently Asked Questions

What is the 0DTE Oracle signal?

The 0DTE Oracle is a machine learning signal engine that synthesizes five weighted inputs — EdgeOS pattern alignment, market internals (QQQ, IWM, VIX, GLD, TLT, NVDA, TSLA), momentum (RSI + price velocity + DMI crossover), price structure (VWAP position, EMA alignment, day-range position, candle streak), and options flow direction — into a single BUY, SELL, or NEUTRAL signal updated every 30 minutes. It is designed for intraday and 0DTE options traders who need a directional bias before entering a position. The Oracle ML signal engine uses the same underlying data pipeline powering the TraderValue workspace and traderspro.pro.

How often is the Oracle signal updated?

The Oracle signal is updated every 30 minutes during market hours (9:30 AM – 4:00 PM ET, Monday through Friday). Each update pulls fresh Alpaca 30-minute bars and resets the VWAP calculation to the current session open, ensuring the VWAP position score always reflects same-day context. On weekends and off-hours the most recent computed signal is served from cache until the next market session begins.

What does BUY, SELL, or NEUTRAL mean in the Oracle?

The Oracle computes a composite score between −1 and +1. A composite above +0.12 produces a BUY signal, below −0.12 produces a SELL signal, and anything between −0.12 and +0.12 produces a NEUTRAL signal indicating the system lacks sufficient directional conviction. NEUTRAL is the most common state — it means the five sub-scores are not aligned enough to justify a directional bias, and the Oracle is telling you to wait for clearer conditions before entering a 0DTE position.

How accurate is the Oracle ML signal?

The Oracle is not a guaranteed signal — it is a directional bias synthesizer that combines technical and market-internals data to lean bullish or bearish. Because it uses live intraday inputs (VWAP, momentum, DMI crossover) rather than end-of-day pattern counts, it responds to intraday conditions that can reverse quickly. For the strongest confluence, use the Oracle BUY signal together with an active EdgeOS T1 ignition on the daily chart: when both systems agree, the historical win rate of T1 ignitions rises significantly (55% base rate in bull regimes, adjusted upward when Oracle is also BUY).

What stocks work best with the Oracle?

The Oracle works best on liquid US equities and ETFs with active options markets — specifically SPY, QQQ, NVDA, AAPL, TSLA, and similar large-cap names where 30-minute bar data is dense and options spreads are tight enough to make 0DTE trades practical. For 0DTE options entries, the Oracle internals score (which tracks QQQ and IWM movement) provides the most signal on index ETFs (SPY, QQQ, IWM). For individual stocks like NVDA or TSLA, the pattern score and momentum score carry more weight.

How does the Oracle differ from EdgeOS T1 signals?

EdgeOS T1 signals are a multi-day momentum system: the bull counter increments each day price closes above the Saty ATR trigger, the T1 ignition fires at count 1 (the first bar of new momentum), and the system is derived from a 7-year backtest of 799,000 signals. The Oracle is an intraday ML synthesizer: it reads 30-minute bars, resets VWAP each session, and computes a directional bias in minutes rather than days — making it best suited for 0DTE or same-day options decisions. Use both together for the strongest confluence: EdgeOS T1 confirms the multi-day trend, Oracle confirms the intraday entry timing within that trend.

Related Tools

Open 0DTE Oracle in the Workspace →

Live Oracle signal for every symbol, alongside EdgeOS charts, options flow, GEX levels, and AI research notes — all in one workspace.

Open Workspace →

The 0DTE Oracle ML signal is updated every 30 minutes during market hours using live Alpaca 30-minute bars. For informational purposes only. Not investment advice. Past signal performance does not guarantee future results. Options trading involves substantial risk of loss. Always manage position size and use defined-risk strategies.