OPEN-SOURCE SCRIPT
Updated

SPY/SPX Expected Move + Session Levels

1 513
📊 Expected Move + Session Levels (SPY / SPX)
Plots the day's expected move band plus the key session levels — automatic, refreshed daily before the open, nothing to enter or maintain.

🔹 Draws: Expected Move High/Low (the one-standard-deviation daily range implied by options pricing, anchored at the prior close), Prior Day High/Low, and Overnight High/Low (from the ES futures overnight session, rescaled to your chart). Optional shaded band and info table.

⚙️ Settings: every level toggles on/off individually; colors, line width, and label size are adjustable. The overnight source, session window, and IV index can be changed, and setting Horizon to 5 with VIX approximates the weekly move. Best on intraday timeframes.

⚠️ Note: the expected move is a statistical estimate, not a boundary — price is expected to close inside the band roughly two days out of three, and beyond it roughly one in three. Treat the edges as context, not walls; the market will go where it chooses. All levels are built from CBOE volatility indices, daily session data, and CME ES futures. Informational only, not trading advice.
Release Notes
update chart to daily
Release Notes
no code changes - Reminder that on the expected move: it's a probability range, not a promise. Options pricing implies price closes inside the band about two days out of three — which means it breaks roughly one day in three, and that's completely normal. Use it as context for your trades, not as a wall to lean on. Your plan, your levels, your risk rules always come first.

Not financial advice. Trade your own plan and manage your own risk.
Release Notes
Update: Overnight High/Low now hold steady through the session — the futures-to-chart conversion locks in at the cash open instead of adjusting tick by tick

Release Notes
Updates

Expected move now locks at the cash open — one fixed band per session (tracks live IV premarket, so pre-open data releases are reflected)
Overnight High/Low hold steady through the session — the futures-to-chart conversion locks at the open instead of adjusting tick by tick
Release Notes
Updates:
*Expected move lock improved — the band now reliably freezes once per session
*Info table timestamp confirms live refresh
*Timestamp updated with refresh
Release Notes
Added "Band Update Mode" setting to script
Release Notes
Expected move now locks for the full session using the prior close of the volatility index — one fixed, consistent band per day across all charts and timeframes.
Release Notes
regular update
Release Notes
"As of" timestamp switched to CT; overnight ONH/ONL now latch at the cash open (no more intraday repaint) and are hidden by default as ES-derived estimates

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.