ATR & Fibonacci Expansion ZonesATR & Fibonacci Expansion Zones is a multi-mode ATR framework designed to help traders read price location, volatility expansion, session structure, and active high/low range context. The script is built around a simple but powerful idea: ATR levels can provide a volatility-adjusted map of how far price has moved from a meaningful close reference. From there, the workflow adds flexible mode selection, organized ATR labels, optional historical ATR periods, mode-aware AVWAPs, active high/low zones, and fibonacci labels that correspond to a respective level within the enabled mode.
────────────────────────────
Core Idea
────────────────────────────
ATR (actual true range) is powerful because it gives price movement a volatility-adjusted frame of reference.
This script helps traders evaluate:
• How far price has expanded from the selected close anchor
• Whether price is still near the first ATR expansion zone or already extended
• Whether price is approaching a major +1, +2, +3, or +4 ATR area
• Whether price is reacting around an active session high/low zone
• Where price is trading inside the active session fibonacci range
• Which ATR mode best frames the current move: Daily, Multiday, Swing, Position, or Long-Term
That makes the script useful for intraday context, multiday moves, swing structure, position-style tracking, and longer-term range mapping.
────────────────────────────
ATR Modes
────────────────────────────
The script renders one selected ATR engine at a time. This keeps the chart cleaner than stacking multiple ATR families together.
Included modes:
Daily
Uses the daily ATR framework. Best for day/session-level context on intraday charts.
Multiday
Uses the weekly ATR framework. Best for trades developing across multiple sessions.
Swing
Uses the monthly ATR framework. Best for larger swing-style movement.
Position
Uses a 3-month ATR framework. Best for broader position-style context.
Long-Term
Uses a 12-month ATR framework. Best for major range structure and larger macro-style moves.
All modes can render the full 23.6% through 400% ATR expansion range, with separate line and label controls for each major range block.
────────────────────────────
ATR Expansion Grid
────────────────────────────
The main ATR grid plots upper and lower ATR expansion levels from the selected close anchor.
The grid includes:
• 23.6% to 100%
• 123.6% to 200%
• 223.6% to 300%
• 323.6% to 400%
Each range has its own parent Show / Hide controls for lines and labels, plus child controls for upper and lower sides. This makes it easier to keep the chart simple when only the closer ATR levels matter, or expand the full map when price is making a larger move.
The labels can show:
• ATR ratio
• ATR level price
• selected mode tag
• percent distance from current price
That percent-from-price read helps make the grid more practical because you can quickly see how close price is to the next ATR level instead of visually estimating it or using the info line tool.
────────────────────────────
Previous / Current Close Reference
────────────────────────────
The PCL / CC line and label show the active close reference used by the selected ATR grid. Depending on the selected mode and settings, this can represent:
• Previous Close
• Current Close
• Daily close reference
• Weekly close reference
• Monthly close reference
• 3-month close reference
• 12-month close reference
The label can also show close-to-close percent change and RSI(14) from the selected ATR timeframe. This is important because the close anchor is the foundation of the ATR grid. The script keeps that reference visible so the user can see exactly where the ATR expansion map begins.
────────────────────────────
ATR Session AVWAPs
────────────────────────────
The script includes mode-aware ATR Session AVWAPs. These are not static VWAPs. They follow the currently selected ATR mode. Depending on the mode, the AVWAP set can reset from:
• the active day/session
• the active week
• the active month
• the active 3-month period
• the active 12-month period
Included AVWAP paths:
• Session VWAP
• High AVWAP
• Low AVWAP
The Session VWAP starts from the active ATR period/session start. The High AVWAP anchors from the candle that creates the active period high. The Low AVWAP anchors from the candle that creates the active period low. When a new active high or low forms, the matching AVWAP re-anchors.
In practical terms:
• ATR levels show volatility expansion from the selected close anchor
• AVWAPs show volume-weighted behavior from the active period structure
• High/Low AVWAPs help track how price behaves after major active-period extremes form
This adds a useful volume-weighted layer around the ATR map.
────────────────────────────
ATR Session High / Low Boxes
────────────────────────────
The script can also draw active high and low boxes for the selected ATR session or period.
The High Box starts from the candle that creates the active high.
The Low Box starts from the candle that creates the active low.
These boxes are wick-based, which makes them useful for highlighting rejection zones, liquidity wicks, exhaustion candles, or important high/low reference areas inside the active ATR period.
────────────────────────────
ATR Session Fibonacci Labels (levels)
────────────────────────────
ATR Session Fibonacci Labels add another layer of context beside the ATR grid.
The ATR grid answers:
“How far has price expanded from the selected close anchor?”
The session fib labels answer:
“Where is price trading inside the active high-to-low range?”
The fib labels use the same active high and low tracked by the AVWAP and high/low box engines.
Direction is inferred automatically:
• If the low formed before the high, the script treats it as a bullish session leg
• If the high formed before the low, the script treats it as a bearish session leg
The fib labels can show:
• fib ratio
• price
• percent distance from current price
This creates a clean second layer of structure: ATR levels for expansion, fib labels for internal active-range location.
────────────────────────────
Historical ATR Periods
────────────────────────────
The script includes an optional Historical ATR Periods mode. When enabled, prior ATR grid segments can remain visible for a user-defined number of completed ATR periods.
This is useful for reviewing:
• how price respected previous ATR levels
• where prior extensions acted as support or resistance
• whether price repeatedly reacted around certain volatility zones
• how current ATR behavior compares to prior periods
Historical labels are intentionally excluded to keep the chart cleaner. The historical mode focuses on line segments only.
────────────────────────────
Asset-Aware Behavior
────────────────────────────
The script includes separate behavior for stocks, crypto, and futures.
For stocks and funds:
• ATR calculations can use regular or extended-session source data
• Daily lines can start from regular open or extended open
• Daily AVWAPs, boxes, and fib labels can reset from the extended-session / premarket day start when available
• Higher-timeframe stock modes wait for the first regular-hours bar of the new period for cleaner visual alignment
For crypto:
• the chart ticker is used
• Daily mode resets once per calendar day
For futures:
• the chart ticker is used
• Daily mode uses a Globex-style 5:00 PM Central session boundary
• higher-timeframe modes reset from the selected W / M / 3M / 12M ATR period boundary
This makes the script more flexible across different asset classes instead of treating every market like a regular-hours stock chart.
────────────────────────────
How I Use It
────────────────────────────
I use this script as a volatility and structure map.
A few practical ways to read it:
• Daily mode helps frame intraday price movement around the active daily ATR grid
• Multiday mode helps show where price is trading inside the weekly ATR structure
• Swing mode is useful when the daily chart is too narrow and the monthly range matters more
• Position and Long-Term modes help zoom out and understand broader extension zones
• PCL (previous close) / CC (current close) keeps the close anchor visible
• The Auto close-anchor setting is especially useful for Daily stock mode because it automatically adapts between Current Close during New York premarket / after-hours and Previous Close during regular market hours
• This means the ATR grid can stay aligned with the session environment without forcing the user to manually decide when to use PCL or CC
• During premarket and after-hours, Current Close helps the levels respond to the active extended-hours move
• During regular hours, Previous Close keeps the main daily ATR map anchored to the completed prior session
• The price guide dash makes it easier to line up current price with the ATR label column
• High/Low Boxes help mark active wick-based extremes
• Session AVWAPs add a volume-weighted path from the active period and its extremes
• Session Fib Labels show internal retracement context inside the active high/low range
• Historical ATR Periods help review how price behaved around prior ATR grids
The Auto close-anchor behavior is one of the most practical parts of the workflow. Premarket and after-hours trading can make a static previous-close grid feel disconnected from the live move, while regular-hours trading often benefits from keeping the prior close as the main reference. Auto handles that transition in the background so the ATR levels remain tied to the most relevant close reference for the active session. In other words, you don't have to decide when to use "Use Current Close" depending on if your'e in pre-market or regular trading hours.
The value of this script is organization. It brings ATR expansion, close-reference context, session extremes, AVWAP structure, and active-range fib location into one chart-side workflow.
ATR levels by themselves can already be useful but this script expands that idea into a fuller range map so traders can better judge whether price is early in a move, pressing into extension, reacting from an active extreme, or moving through a broader volatility structure.
────────────────────────────
Attribution
────────────────────────────
This script is a modern rebuild inspired by Saty’s ATR Levels concept and my original ATR Levels publication.
Special thanks to SimpleCryptoLife for past help and inspiration around improving the original ATR Levels workflow and for the Significant Figures library used for cleaner number formatting.
As always, this is a visual context tool. It is not meant to replace risk management, market structure, support/resistance, volume analysis, or a complete trading plan.
────────────────────────────
A Few Chart Examples
────────────────────────────
Indicateur Pine Script®










