Options Decision Dashboard CPR, Expected Move & Day TypeOverview
An index option buyer loses to theta unless the day actually moves. So the first question isn't "which way?" — it's "will this session trend at all, and is implied volatility cheap enough to pay for the ride?"
This dashboard answers that in one panel, before the session gets going:
DAY TYPE — from the Central Pivot Range. Narrow CPR historically precedes trending days; wide CPR precedes rangebound ones.
DIRECTION — from where price sits against the CPR, plus the two-day pivot-range relationship.
THE PRICE OF THE BET — from the volatility index: the expected move it's charging you for.
TIME — days to expiry, and the theta context.
It then states a plain-language verdict — BUY CE / BUY PE / SELL PREMIUM / STAY OUT — with the CPR and floor-pivot levels drawn on price, targets and invalidation marked.
What makes it different
Every CPR script asserts that a narrow CPR means a trending day. None of them check.
This one forward-tests its own core claim. Each session's CPR type is logged at the open, and at the close the day is scored as trending or not (by directional efficiency: how much of the day's range price actually closed away from its open). The panel then reports the trend-day hit rate for narrow-CPR sessions against the unconditional base rate, with a Wilson 95% lower bound.
If narrow CPR carries no edge on your instrument, the dashboard says so — and you should discount its day-type logic accordingly. It is built to be able to tell you it doesn't work.
Why the four layers are ONE tool
An option-buying decision needs all four at once:
Day type without volatility pricing tells you to buy an option that may be too expensive.
Volatility pricing without day type tells you it's cheap without telling you whether it will move.
Either without the levels gives you no entry, target or invalidation.
All three without the calibration is just another confident indicator.
Remove one and the decision isn't decidable.
How it works
CPR — Pivot = (H+L+C)/3 · BC = (H+L)/2 · TC = 2·Pivot − BC, from the prior session. Width is normalised as a % of the pivot and rank-scored against its own recent history, so "narrow" means narrow for this instrument — not a hard-coded point value. (10 points is narrow on NIFTY and wide on a mid-cap.)
Two-day relationship — higher / lower / overlapping / inside / outside value: the classic Pivot-Boss classifications, used as the directional prior.
Expected move — EM = Spot × (IV/100) × √t, shown for the day and to expiry, and drawn as a band. If the session stays inside that band, an option buyer typically loses to theta — which is exactly the trap this tool exists to flag.
Verdict — combines day type, direction, IV percentile and days-to-expiry into one call. Expensive IV can veto a buy; expiry-day theta can veto it too.
How to use it
Read it top-down at the open. Day type tells you whether to buy options at all. Direction tells you which side. Expected move tells you whether the premium is worth it. The verdict is the summary; the levels are your entry, target and invalidation.
Then — before you trust any of it — read the calibration row. If narrow CPR has no proven edge on this symbol, the day-type logic isn't carrying its weight here.
This is decision support. It does not place trades and it is not advice.
Data & scope
Built for NSE:NIFTY / BANKNIFTY index futures on intraday timeframes (5m or 15m is the CPR norm). Needs a volatility index for the expected-move layer (NSE:INDIAVIX by default); without one, that layer switches off cleanly and the rest still works.
Strike step, expiry weekday and volatility symbol are all inputs — so it runs on any index-options market. Set the expiry weekday to match your contract: the exchange has changed the index expiry day before, and this script does not assume, it asks.
On a daily+ chart the panel tells you to switch to intraday rather than showing a confident verdict built on a meaningless CPR.
Non-repainting
Prior-session values are requested as on the daily series, so they're settled before the session opens and never move. The calibration harness logs at the session open and resolves at the session close, on confirmed bars only — a session is graded on the first bar of the next session, from completed data. Intraday readings (price vs level, day-so-far range) update as the session forms; that's a live read, not a repaint.
Concept credits
Central Pivot Range and the two-day pivot-range relationships — Frank Ochoa (Secrets of a Pivot Boss). Floor pivots (R1–R3 / S1–S3) — long-standing public trading-floor practice. Expected move from implied volatility — standard option-pricing arithmetic (Black-Scholes-Merton lineage). Wilson score interval — Edwin B. Wilson. ATR — J. Welles Wilder.
The day-type calibration harness, the expected-move comparison and the verdict engine are the author's own. No third-party Pine code is reused.
Honest limits
The CPR day-type claim is folklore until measured — which is exactly why this script measures it. Calibration figures are in-sample, with no costs, and a proven in-sample edge is not a guarantee out-of-sample. The expected move is a one-standard-deviation estimate under a lognormal assumption; real index returns have fat tails and gaps. The verdict describes conditions — it is not a recommendation — and it says nothing about strike selection, position sizing or risk.
Options carry the risk of TOTAL loss of premium. Nothing here predicts price.
Disclaimer
Research and educational tool only. Not financial advice, not a recommendation, no guarantee of results. Options trading carries a risk of total loss. Test out-of-sample and make your own decisions. The author accepts no liability. Indicator

RPFXBYDAN - Multi-Session Range & Pre-Market Highlighter# Multi-Session Range & Pre-Market Highlighter
An educational visualization tool that automatically highlights three key intraday time windows for the New York, London, or Tokyo sessions: a pre-market window ahead of the exchange open, a short opening range around the open, and the regular trading session that follows. Designed to help chart readers see how price behaves across these fixed time blocks each day.
This script does not generate trade advice, does not predict future price movement, and does not backtest a strategy. It is a visualization overlay that draws boxes and reference levels based purely on session time and the price action of the current chart.
## What It Displays
The indicator identifies and marks three distinct intraday windows in the timezone of the selected market:
1. **Pre-Market Window** — A short block of time ahead of the exchange open. By default this is a 15-minute window starting 1.5 hours before the trading session begins. The high and low across this window are recorded and drawn as a translucent box with optional dashed reference lines.
2. **Opening Range Window** — The 15 minutes immediately before the regular trading session begins. During this window, the indicator records the highest high and lowest low. When the window ends, those two prices are locked and drawn as horizontal reference levels for the rest of the day.
3. **Trading Session** — The regular exchange hours. During this window, the indicator continues to display the locked reference levels from the opening range and observes when price crosses above the upper level or below the lower level. Cross events are marked on the chart with small directional markers.
All three windows reset automatically at the start of each new trading day.
## How Reference Levels Are Formed
For each new trading day, the indicator tracks the highest high and lowest low of every bar within the opening range window. When the window closes, these two prices become that day's fixed reference levels. They remain drawn on the chart through the rest of the session so the viewer can see the day's early range relative to subsequent price action.
The pre-market window works the same way independently — its own high and low are recorded and shown, giving context for how the market moved into the open.
## Cross Events
Once the opening range levels are locked and the trading session is open, the indicator observes when the current bar crosses above the upper reference level or below the lower reference level. The trigger can be configured to any of the following:
- **Close** — Requires a bar to close beyond the level.
- **High / Low** — Any intrabar high or low print beyond the level triggers.
An optional **retest confirmation** filter can also be enabled: after an initial cross, a return to the level and a re-cross in the same direction is required before the event is marked. A limit of one event per direction per day can also be enabled to keep the chart clean.
Cross events are informational only — they mark where price interacted with the reference level. They are not trade signals and do not constitute a recommendation to buy, sell, hold, or take any action.
## Built-in Session Presets
Selecting a Market applies the standard hours for that exchange, evaluated in the exchange's own timezone (so it works correctly regardless of your chart's timezone):
- **New York (NYSE/NASDAQ)** — Opening Range 09:15-09:30, Trading 09:30-16:00 America/New_York
- **London (LSE)** — Opening Range 07:45-08:00, Trading 08:00-16:30 Europe/London
- **Tokyo (TSE)** — Opening Range 08:45-09:00, Trading 09:00-15:00 Asia/Tokyo
Every default can be overridden with custom session strings for non-standard schedules (half-days, futures pit hours, FX-overlap windows, etc.).
## Settings
- **Market & Sessions** — Market selector, "Use Market Defaults" toggle, custom Opening Range and Trading Session strings, and a fine-grained Opening-Range Start Offset control that nudges only the OR start time in 1-minute steps.
- **Your Local Timezone** — Display-only. Controls the timezone shown in the local column of the info table. Does not affect any calculations.
- **Signal Logic** — (This group controls the cross-event trigger.) Choose trigger source (Close vs High/Low), enable the retest filter, set the retest window, and toggle the one-event-per-side-per-day cap.
- **Pre-Market Marker** — Enable/disable, minutes before exchange open, window length, and style controls.
- **Visuals** — Toggles and color/width controls for the opening range box, reference lines, midline, on-chart markers, and info table.
## Info Panel
An optional info panel in the top-right corner of the chart shows the selected market, both timezones, and the resolved time window for each of the three windows in both the exchange timezone and your local timezone.
## Alerts
The indicator provides three alert conditions:
- **Range High Break** — Fires when price crosses above the locked upper reference level (after the OR window has closed).
- **Range Low Break** — Fires when price crosses below the locked lower reference level (after the OR window has closed).
- **Opening Range Locked** — Fires at the moment the opening range window ends and the reference levels are finalized for the day.
## Timeframes and Instruments
The indicator is designed for intraday timeframes (1-minute through 15-minute typically works best). It is compatible with any instrument that has intraday data, including stocks, futures, indices, forex, and crypto. Non-standard trading hours can be handled by disabling defaults and typing custom session strings.
## Educational Notes on the Opening Range Concept
The opening range is a well-known chart-reading concept: the high and low of a fixed early portion of the trading day. Many chart readers use these levels as visual reference points for evaluating subsequent price action. This indicator does not endorse or recommend any particular way of using them — it simply draws the levels consistently and lets the viewer study them.
## Disclaimer
This script is provided for educational and informational purposes only. It is a visualization tool that highlights configurable price windows on the chart; it is not a trading system, is not trading advice, and does not constitute a recommendation to buy, sell, hold, or take any other action with respect to any instrument. Trading and investing carry substantial risk of loss. Past price behavior is not indicative of future results. You are solely responsible for any decisions you make based on what you see on your chart. Always do your own research and consider consulting a licensed financial professional before making any trading or investment decisions.
Indicator

Range Detectorrange detector is built to identify real consolidation zones directly on the chart.
instead of marking every small pause as a range, the tool waits for price to remain contained between two boundaries for a minimum number of bars. the range must stay compact compared to volatility, avoid strong directional expansion, and remain valid until a confirmed breakout or structural widening occurs.
the goal is simple: help traders separate true sideways compression from normal market noise.
what the indicator detects
range detector searches for market areas where price is moving inside a controlled box instead of trending aggressively. a valid range is built from three main conditions:
price must stay contained between a top and bottom boundary
the height of the box must remain reasonable compared to atr
the structure must last long enough to confirm consolidation
once a range is active, the indicator displays:
top of the range
bottom of the range
midline equilibrium
range size classification
breakout markers
dashboard status
range size classification
each range is classified by height using atr units.
small range
medium range
large range
this helps understand whether the market is compressing tightly or building a wider consolidation structure. a tight range can be useful for breakout preparation, while a wider range can be useful for mean reversion, liquidity sweeps, and boundary reactions.
multi-timeframe detection
one of the most important features is the detection timeframe input.
by default, the detection timeframe is empty. this means the indicator uses the current chart timeframe.
for stronger structure, you can select a higher timeframe.
examples:
on a 5 minute chart, set detection timeframe to 1h to see larger intraday ranges
on a 15 minute chart, set detection timeframe to 4h to track stronger session structures
on a 1h chart, set detection timeframe to 1d to follow major daily compression zones
this is useful because a range detected on a higher timeframe is generally more important than a small range detected only on the chart timeframe.
when using mtf, the range engine runs directly on the selected detection timeframe. this means the boxes are not simply visual approximations from the lower timeframe. the range logic is calculated from the chosen timeframe structure.
how to use mtf correctly
for scalping, use a chart timeframe such as 1m, 3m, or 5m, then set the detection timeframe to 15m, 30m, or 1h.
for intraday trading, use a chart timeframe such as 5m, 15m, or 30m, then set the detection timeframe to 1h or 4h.
for swing trading, use a chart timeframe such as 1h or 4h, then set the detection timeframe to daily or weekly.
the higher the detection timeframe, the fewer ranges will appear, but the zones usually become more meaningful.
basic trading workflow
1. choose the chart timeframe
start with the timeframe you trade most often.
scalpers may use 1m to 5m.
intraday traders may use 15m to 1h.
swing traders may use 4h to daily.
2. set the detection timeframe
leave it empty for chart timeframe detection.
select a higher timeframe when you want cleaner and more structural ranges.
3. wait for an active range
when a range appears, price is currently moving inside a consolidation box. the top acts as upper range resistance, the bottom acts as lower range support, and the midline represents equilibrium.
4. study price behavior inside the box
near the top of the range, traders often watch for rejection, failed breakouts, or liquidity sweeps.
near the bottom of the range, traders often watch for absorption, failed breakdowns, or reversal behavior.
near the midline, price is usually less attractive because it is balanced between both sides.
5. wait for breakout confirmation
breakout markers appear only when price closes beyond the range boundary with the selected atr buffer.
a break above the range suggests upside expansion.
a break below the range suggests downside expansion.
the breakout buffer helps reduce false breaks by requiring extra distance beyond the range boundary.
main inputs explained
detection timeframe
selects the timeframe used to detect ranges. leave empty to use the current chart timeframe. use higher timeframes for cleaner structural ranges.
min consolidation bars
sets the minimum number of bars required before a range can be confirmed. higher values create fewer but stronger ranges. lower values make the tool more reactive.
reference atr length
controls the volatility reference used to evaluate range height and breakout buffer. a longer atr length gives a smoother volatility base.
max range height
defines the maximum allowed range height in atr units. if the box becomes too wide, the structure is no longer treated as a clean range.
breakout buffer
adds confirmation beyond the range boundary before a breakout is validated. increasing this value makes breakouts stricter.
small range threshold
defines the maximum atr height for a small range.
medium range threshold
defines the maximum atr height for a medium range. anything above this level is classified as large.
show small, medium, large
allows each range category to be shown or hidden independently.
show midline
displays the equilibrium level of the range.
show range labels
displays the range class and range height directly on the chart.
show breakout markers
displays breakout markers when price confirms an upside or downside break.
show dashboard
shows the live range dashboard.
dashboard position
moves the dashboard to any side or corner of the chart.
dashboard size
changes the text size of the dashboard.
range colors and opacity
each range category can be customized with its own color. fill opacity, border opacity, midline opacity, and label opacity can also be adjusted to match any chart style.
dashboard
the dashboard gives a fast reading of the current market state.
it shows:
active timeframe
current state
range height
top level
midline
bottom level
when no valid range is active, the dashboard shows that the market is trending or that no range is currently detected.
alerts
the indicator includes alerts for:
range started
range break up
range break down
these alerts can be used to monitor new compression zones and confirmed exits from consolidation.
example setups
scalping setup
chart timeframe: 5m
detection timeframe: 1h
min consolidation: 10 to 20 bars
breakout buffer: 0.20 to 0.35 atr
this setup keeps the chart reactive while using stronger higher timeframe structure.
intraday setup
chart timeframe: 15m
detection timeframe: 4h
min consolidation: 10 to 30 bars
breakout buffer: 0.25 to 0.50 atr
this setup is useful for session ranges and larger intraday breakouts.
swing setup
chart timeframe: 1h or 4h
detection timeframe: daily
min consolidation: 10 to 50 bars
breakout buffer: 0.35 to 0.75 atr
this setup focuses on major compression zones before larger directional moves.
practical interpretation
inside the range, the market is balanced.
above the range, buyers are attempting expansion.
below the range, sellers are attempting expansion.
the midline is the equilibrium zone. reactions near the top and bottom are usually more meaningful than signals in the middle.
range detector is not designed to predict direction by itself. it is designed to map consolidation, structure, compression, and breakout conditions so traders can build cleaner decisions around price behavior.
best used with:
market structure
volume analysis
session timing
liquidity sweeps
support and resistance
trend filters
risk management
risk note
no indicator guarantees a winning trade. always use risk management, wait for confirmation, and avoid trading during unclear market conditions.
Indicator

Volume To Bar Range RatioThis script plots
volume / (high - low)
for each bar. A simple measure of how much volume was traded per unit of price range.
Usage
In normal trading bars, volume tends to be correlated to the size of the bar. Small bars have small volume, large bars have large volume. However, key bars tend to have an unusually high ratio of range to volume. This is useful for identifying areas of support and resistance, when they are broken, and key runaway days when price goes parabolic.
Support and Resistance
When price is near an area of support or resistance, or approaching a recent high/low, a small bar with unusually high volume tends to be an indicator that the support/resistance is holding.
When price breaks through an area of support or resistance, or makes a new high or low, and the bar that does is large with an unusually high ratio of volume to range, this is an indicator that support/resistance has been decisively broken. Conversely, if the bar is large, but the ratio of price to volume is similar to other large bars, it is a warning that this might not be a decisive break.
Key Runaway Days
When price has become parabolic and has made several consecutive large moves up, a large bar with a volume to bar range ratio that is extremely high, higher than any other bar made previously, this is an indicator that a runaway day is occurring. Price is unlikely to continue moving parabolically after this day, and it would be a good time to take profits.
Notes
Bars where `high == low` produce `na` (a gap in the plot) to avoid division by zero.
Works on any symbol and timeframe that reports volume.
Note on Originality
This is the first, only, and original implementation of Volume to Bar Range Ratio available in PineScript. This can be easily verified with a search for "Volume to Bar Range Ratio", "Volume Bar Range Ratio", "VBRR", and"VTBRR" on PulseWire. Also, a Google search for the same terms, adding "pinescript" or "pulsewire" shows that my implementation is the only implementation, and the only other result is a complaint on reddit that this does not exist. Indicator

NY RTH Opening Range [M1D]NY RTH Opening Range
This indicator marks the New York Regular Trading Hours Opening Range (09:30–10:00 New York time, DST-adjusted automatically) on any chart timeframe at or below 30 minutes.
How it works: the script accumulates the highest high and lowest low across every bar that falls inside the 09:30–10:00 New York session window, rather than assuming a single candle equals the range — this makes it accurate whether you're viewing a 1-minute or 30-minute chart.
Once the window closes, the range locks and three levels are drawn: the range high, the range low, and the midpoint (equilibrium). The current day's range plus a user-defined number of prior days are displayed for reference, with prior days dimmed automatically.
After the range locks, the script monitors price for a confirmed bar close beyond the range high or low and marks a single directional signal per side per day. If price later closes back inside the range following a break, a separate marker flags that the break may have failed, prompting reassessment rather than continued directional bias.
A status panel in the corner of the chart shows whether the range is still forming or has locked, the current high/low values, and the live directional bias.
Settings: session window and timezone, line extension length, number of prior days shown, line/marker colours, and panel visibility are all user-adjustable via the indicator's settings menu.
Note: This tool identifies a structural reference level and does not constitute financial advice or a standalone trading signal. As with any single concept, it is intended to be used as one component of a broader trading framework and should be combined with proper risk management. Indicator

IPDA Data Ranges - 20 40 601. Daily Lookback Ranges
At the core of the IPDA theory, institutions look back over specific windows of time (usually 20, 40, and 60 days) to identify "Old Highs" and "Old Lows", which act as liquidity pools.
The script automatically calculates the highest high and lowest low of the last 20, 40, and 50 days (customizable in settings).
It uses a special function (request.security with the "D" resolution) to strictly pull this data from the Daily timeframe. This means even if you drop down to a 5-minute or 1-hour chart, the boxes will always accurately represent the daily ranges, rather than just 20 or 40 "intraday candles."
2. Box Visualization
Instead of cluttering your chart with lines, the script draws three overlapping transparent rectangle boxes representing these dealing ranges.
The X-axis (Time): The left side of each box starts at the exact opening time of the day the lookback period began, and the right side extends to the current live candle.
The Y-axis (Price): The top of the box rests exactly on the highest price within that window, and the bottom rests on the lowest price.
3. Dynamic Rendering & Performance
To keep PulseWire running smoothly and prevent memory bloat, the script uses a barstate.islast check.
Rather than drawing hundreds of historical boxes over past price action, the script only draws three dynamic boxes on your chart.
On every new live tick, it simply updates the borders and boundaries of these 3 existing boxes in real-time, anchoring them perfectly to the right side of the chart.
4. Customization Engine
You have full control over the script’s display through the settings:
Lookback Periods: You can change the 20/40/50 day windows to any number of days.
Labels: You can customize the text labels (e.g., typing "Short Term IPDA" instead of "20 Day IPDA").
Text Alignment: You can use dropdown menus to snap the labels to any corner or center of the box (Left, Center, Right, Top, Bottom) so they don't cover your candles.
Aesthetics: You can tweak the background fill color and the solid border color for each box to match your chart theme. Indicator

Indicator

Indicator

Indicator

Average True Range PercentATRP expresses Average True Range as a percentage of price instead of an absolute value. Raw ATR is denominated in price, so it can't be used to compare volatility across instruments trading at different price levels — a $10 stock and a $400 stock will have very different ATR values even if they move by the same relative amount. Dividing ATR by close (×100) normalizes it into a percentage, making volatility comparable across any symbol, timeframe, or asset class.
How It's Calculated
True range is smoothed with a selectable moving average rather than a fixed method, so you can match the indicator's responsiveness to your own style.
Settings
ATR Lookback Period — number of bars used in the smoothing calculation (default 14).
ATR Smoothing — RMA, SMA, EMA, or WMA (default RMA, the classic Wilder smoothing used by standard ATR).
ATR Timeframe — calculate ATR on the chart's own timeframe, or pin it to a fixed timeframe (ticks, seconds, minutes, hours, days, weeks, or months) regardless of what chart resolution you're viewing. Useful for gauging a higher-timeframe's volatility while trading a lower one.
Wait for Timeframe Closes — only relevant when ATR Timeframe differs from the chart. Off: the value updates live with the still-forming higher-timeframe bar (can repaint on historical reloads). On: the value only updates once the selected timeframe's bar has actually closed (no repainting, one-bar lag).
Indicator

Indicator

Range Expansion Divergence OscillatorRange Expansion Divergence Oscillator
## Overview
The Range Expansion Divergence Oscillator turns **directional range expansion** - how large each bar range is versus its recent average, signed by the prevailing price direction - into a standardized, bounded oscillator, and then looks for **divergence between price and range**. The idea it tests: when price makes a new extreme on shrinking ranges, the move is "thin" and lacks effort behind it.
It is a single-pane oscillator. It needs no external data and no volume. Every data input is user-configurable, so it runs on any symbol, asset class or timeframe, in any market and on any timeframe. Defaults target NSE NIFTY index futures on intraday charts.
## What it plots
- A z-scored **range oscillator** (expanding range with the trend = up, contracting range = near zero), with a glow line and sigma-based overbought/oversold levels.
- **Extreme-zone bands** (default +/-3 sigma) with a gradient fill that deepens toward the edge.
- **Divergence lines and labels** on the oscillator - regular (reversal) and hidden (continuation), in two colors.
- **In-band reversal dots** where the oscillator turns inside an extreme zone.
- Optional **price-pane marks** at the confirmation bar (all generated by this one indicator).
- A **background-adaptive status dashboard** (oscillator value in sigma, zone, last divergence, last reversal, current range z-score).
## Why these components are combined (mashup rationale)
This script combines a **derived measure**, a **normalization stage**, a **divergence engine** and a **reversal read**, because each answers a question the others cannot and none is useful here alone:
1. **Directional range expansion (effort/participation).** Price geometry alone cannot show participation. A new high made on shrinking bar ranges is "thin"; a high on expanding ranges has effort behind it. The oscillator z-scores the bar range (high - low) versus its recent average and signs it by the net direction of price, giving the closest read to participation buildable from the bars of the instrument itself - with no volume required.
2. **Standardization (rolling z-score).** range differs in scale across instruments. The z-score expresses it in standard-deviation units, so "overbought/oversold" and the extreme bands mean the same thing on NIFTY, on a commodity future, or on a crypto instrument. Without this step the divergence thresholds would not transfer between symbols.
3. **Divergence engine.** The original payload is reading **price-versus-range disagreement at confirmed pivots**. The engine pairs each new price pivot with the oscillator value, then requires: a genuine new price extreme; the measure failing to confirm it; a minimum oscillator gap scaled to the oscillator own stdev; the two pivots within a maximum bar distance; and optionally an overbought/oversold reading at the pivot. These gates make the combination produce signal rather than noise.
4. **Reversal read.** Independently, the engine flags oscillator turns that occur inside the extreme bands - a complementary exhaustion cue.
Together the components form one pipeline: **build the signal -> make it comparable (z-score) -> surface where price and that signal disagree (divergence) and where it exhausts (reversal).** Each is incomplete alone.
## How it works (method)
bar range (high - low) is standardized to a rolling z-score, then signed by the net direction of price over the range window so that up = bullish; the result is the oscillator.
Regular and hidden divergence are detected from confirmed pivothigh/pivotlow pivots and filtered by the gates above; reversals are oscillator pivots that print inside the extreme bands. Pivots confirm a few bars after they occur, so a printed signal does not repaint. The confirmation lag equals the pivot length.
## How to use it
1. Add the indicator on any chart; no volume or external data is required.
2. Read divergence as **context, not a trigger**: a bearish divergence (price higher high, range lower high) says the new high lacks expanding range/effort; a bullish divergence says the opposite at lows. Confirm with your own structure, levels and risk process.
3. Tune the **pivot length**, **max gap** and **min oscillator gap** to your timeframe; raise them for fewer, cleaner signals.
## Originality
This is an original implementation - not a range line and not a generic divergence script, but the specific combination of range, sigma-standardization that makes the read portable across markets, a multi-gate divergence engine (magnitude + distance + extreme-zone), hidden-divergence and in-band reversal detection, and a background-adaptive dashboard. The code is written from scratch; helper functions use only their arguments and built-ins.
## Credits
Range-expansion / **effort-versus-result** analysis is a long-standing public technical-analysis approach (in the **Wyckoff** tradition). **Price/oscillator divergence** is likewise a standard, publicly documented technique. This script is not affiliated with, nor endorsed by, any third party.
## Notes / limitations
- Range is a participation proxy, not a direction call; the sign comes from a short price window, so very choppy segments can flip it.
- Divergence is descriptive context, never a guarantee of reversal.
- Confirmation lags each pivot by the pivot length.
## Disclaimer
Research and educational tool only. NOT financial advice and no guarantee of profitability or accuracy. Indicators describe past behaviour; they do not predict the future. Trading carries risk of loss. Test out-of-sample and make your own decisions. The author accepts no liability for any use of this script.
Indicator

Visible Range Volume NodesVisible Range Volume Nodes is a visible-range volume profile indicator that shows how traded volume is distributed across price levels inside the currently visible chart area.
The script builds a horizontal volume profile from the candles visible on the chart. It divides the visible price range into rows and distributes each candle's volume across the price rows touched by that candle's high-low range. Rows with more accumulated volume are displayed wider. Rows with less accumulated volume are displayed narrower.
How volume is calculated
Each candle's volume is distributed proportionally across the price rows covered by that candle's high-low range. If a candle covers several rows, its volume is split between those rows based on the amount of price overlap.
Bullish and bearish volume are separated using candle direction:
* Candles closing above their open are counted as bullish volume;
* Candles closing below their open are counted as bearish volume;
* Neutral candles are split evenly.
Key Volume Areas
POC - Point of Control
POC is the price row with the highest volume inside the visible range. It marks the largest volume concentration in the selected chart area.
VAH - Value Area High
VAH is the upper boundary of the value area.
VAL - Value Area Low
VAL is the lower boundary of the value area.
The value area starts from the POC and expands through the highest-volume neighboring rows until the selected percentage of total visible-range volume is included. By default, this is commonly used as a 70% value area, but the percentage can be changed in the settings.
HVN - High Volume Node
HVN zones are high-volume areas detected from local peaks in the smoothed volume profile. These zones show where volume was concentrated compared with nearby price levels.
LVN - Low Volume Node
LVN zones are low-volume areas detected from local valleys in the smoothed volume profile. These zones show where volume was thinner compared with nearby price levels.
How to use it
The profile can help users compare current price action with previously traded volume areas inside the selected visible range:
* POC shows the main high-volume reference area of the visible range;
* VAH and VAL show the upper and lower limits of the main value area;
* HVN zones show areas where price previously spent more volume;
* LVN zones show areas where volume was thinner relative to nearby price levels;
* The histogram shows the full volume distribution across the selected price range.
A trader can use these areas as context when analyzing price location. For example, price trading near POC is trading near the main volume concentration of the visible range. Price trading near VAH or VAL is trading near the edge of the calculated value area. HVN and LVN zones can be used to compare current price behavior with areas of stronger or weaker previous volume participation.
These levels should be treated as structural references only. They are not automatic entries, exits, support, resistance, targets, or invalidation levels.
Main settings
* Profile Rows controls how many price rows are used to build the volume profile. More rows create a more detailed profile. Fewer rows create a smoother, broader profile;
* Value Area % controls how much of the visible-range volume is included inside the value area;
* Histogram Direction controls whether the profile is displayed to the left or right side of the visible chart area;
* Profile Distance controls the spacing between the visible candles and the profile panel;
* The script also includes settings for showing or hiding POC, VAH/VAL, HVN, LVN, labels, prices in labels, line style, line width, label size, and colors.
Limitations
*This indicator does not generate buy or sell signals;
*It does not predict future price direction;
*It does not define guaranteed support or resistance;
*It does not use exact bid/ask volume;
*It does not use footprint, delta, or order book data.
The displayed structure depends on the selected visible range, symbol, exchange, timeframe, and available volume data.
Because the profile is based on the currently visible chart range, moving or zooming the chart can change the calculated POC, value area, HVN zones, and LVN zones.
Indicator

Fractal Dimension Oscillator [JOAT]Fractal Dimension Oscillator
Introduction
Fractal Dimension Oscillator is an open-source market geometry classifier that computes the fractal dimension of a price series using the Katz method and derives the Hurst exponent from it. The fractal dimension measures how much a price series fills space — a perfectly straight line has dimension 1.0, while a completely random walk approaches 2.0. Values between these extremes encode whether price is behaving in a trending, random, or mean-reverting fashion at the current moment.
The Hurst exponent H is derived as H = 2 - FD. Values above 0.5 indicate persistent trending behavior; values below 0.5 indicate mean-reverting behavior; H near 0.5 indicates a random walk. This gives traders an analytically grounded way to distinguish market regimes that directly determines which type of strategy applies.
Core Concepts
1. Katz Fractal Dimension Method
The Katz method computes fractal dimension from the total path length of price movements divided by the maximum distance traveled from the starting point:
// L = total path length, d = max distance from first point, n = N-1
float fd = math.log(n) / (math.log(n) + math.log(L / d / n))
This is computationally efficient compared to methods requiring fractal level decomposition and produces stable results across the configurable lookback period. The formula ensures that as price moves more linearly (large L relative to d), FD approaches 1.0. As price moves chaotically (small d despite large L), FD approaches 2.0.
2. Five-State Regime Classification
The raw FD value maps to five regime states based on configurable thresholds. The default boundaries are: Strong Trend (FD < 1.33), Trending (1.33–1.45), Random Walk (1.45–1.55), Mean-Reverting (1.55–1.67), Strong Mean-Revert (FD > 1.67). Each state carries a distinct color and strategy implication.
3. FD Percentile Tracking
The current FD value is ranked against a 100-bar rolling window to produce a percentile score. This shows not only the current regime state but how extreme that reading is relative to recent history — a 95th percentile trending reading is more significant than a borderline one.
4. Candle and Background Coloring
Candles are painted using a gradient: amber/gold for trending states, neutral for random walk, teal/cyan for mean-reverting states. Chart background is tinted faintly in the corresponding regime color. Both color channels update in real time as FD changes.
Features
Katz fractal dimension calculation: Computationally efficient geometric method
Hurst exponent display: H = 2 - FD, shown alongside raw FD in dashboard
Five-state regime classification: Strong Trend through Strong Mean-Revert
Smoothed EMA overlay: Optional EMA of raw FD for noise reduction
Regime transition markers: On-chart triangle shapes at every regime change
FD percentile (100-bar): Shows how extreme the current reading is historically
Gradient candle coloring: Amber for trend, teal for mean-revert, neutral center
Regime background tinting: Chart background reflects current regime state
Dashboard: FD, Hurst, regime, percentile, and strategy bias recommendation
Five alert conditions: Regime transitions and extreme readings
Input Parameters
Fractal Engine:
Fractal Period: Lookback bars for FD calculation (default: 30, range: 10-200)
EMA Smoothing: Smoothing period for the display line (default: 5)
Thresholds:
Trending Threshold: Hurst value above which market is trending (default: 1.5)
Mean-Revert Threshold: Hurst value above which market is strongly mean-reverting (default: 1.6)
How to Use This Indicator
Step 1: Read the Strategy Bias
The dashboard's Strategy Bias row gives a direct instruction: USE TREND SIGNALS, USE MEAN-REV SIGNALS, or AVOID / WAIT. This summarizes the regime into an actionable filter.
Step 2: Use Regime Transitions as Mode Switches
When a TREND triangle appears after a period of RANGE, consider activating trend-following setups. When a RANGE transition appears after trend, consider rotating to mean-reversion approaches.
Step 3: Check the Percentile
A 90th-percentile trending reading suggests a particularly directional market. A 10th-percentile trending reading is borderline — apply less conviction to trend signals.
Indicator Limitations
Fractal dimension is a mathematical property of the price series, not a predictive indicator — it describes what has happened, not what will happen
The Katz method is one of several FD estimation approaches; results will differ from Higuchi or other methods
Short lookback periods produce noisier FD values; longer periods produce smoother but slower-responding readings
Originality Statement
The Katz fractal dimension method is applied here in a complete regime classification engine with five states, EMA smoothing, a 100-bar percentile ranking, gradient candle coloring, and a strategy bias recommendation layer — none of which are standard in simple FD implementations. The combination of Hurst exponent derivation, percentile context, and strategy bias output in a single publication distinguishes this from generic fractal dimension scripts.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Fractal dimension values describe historical price geometry and do not predict future price movement. Trading involves substantial risk of loss.
-Made with passion by jackofalltrades
Indicator

ICT ADR Levels - Judas x Daily RangeThis indicator provides a clean and flexible way to monitor Average Daily Range (ADR) with two distinct calculation modes, along with visual levels and a detailed historical table.
Calculation Modes
- Classic Mode: Uses the standard daily candle range (high minus low of regular daily bars). This is the traditional daily range calculation.
- Midnight Mode: Calculates the daily range from midnight to midnight in America/New_York time. This provides a true calendar-day range independent of session opens.
You can switch between the two modes instantly using the dropdown in the settings. All table values, percentages, and 80% ADR levels update dynamically based on the selected mode.
The indicator plots the following levels from a session anchor point:
- Full ADR (above and below)
- 1/3 ADR (Judas levels)
- 80% ADR measured from the current daily high and low (two lines) - user selectable %
All lines are dynamically managed to avoid duplication and update cleanly as new sessions begin. Labels on the right side display price levels and can be toggled on or off.
Historical Table
A customizable table displays the following information for the selected number of days:
- Day or Date (user selectable)
- 5-Day ADR value for each historical day
- 80% of that day's 5-Day ADR
- Actual daily Range
- Percentage of the 5-Day ADR reached that day
The current/live row shows Today's Range compared against the active 5-Day ADR, including the percentage reached and the 80% target level. The table supports multiple sizes and positions.
Key Features
- Toggle between Classic and Midnight ADR calculations
- 80% ADR levels drawn from daily high and low
- Clean, non-duplicating horizontal lines and labels
- Historical data table with day/date, ADR, 80% ADR, Range, and percentage columns
- Adjustable styling, colors, text size, and visibility for all elements
- Option to plot levels from a session anchor or current price
This tool is designed for traders who want precise ADR-based levels with the flexibility to choose between standard daily ranges and strict midnight-to-midnight calculations. Indicator

Golden Range Zones | Rainbow MatrixGENERAL OVERVIEW
Golden Range Zones is a nested prior-range projection tool. At every reset boundary it freezes the just-closed period's high and low as the inner Band lines, then scans backward to find the nearest earlier extremes that price has NOT yet broken — the outer Oscillation lines. The gap between each Band and its Oscillation is filled with a golden Fibonacci zone, giving an immediate map of where price has prior structural precedent above and below the current range.
The goal is to answer one question at a glance: where are the levels that actually matter right now, and how much room is there before price reaches them? Instead of a single prior-day high/low pair, you get a nested structure — the recent range bracketed by the closest unbroken historic extremes — with the space between them measured in Fibonacci proportion. Every line is derived from real completed-period extremes, not approximated from the current bar.
The indicator works on crypto and futures (24h session reset) and on stocks (custom trading-hours window with timezone), computes the range from in-session data only, and never repaints its frozen levels.
WHAT IS THE THEORY BEHIND THIS INDICATOR?
Prior high/low levels are among the most watched references in trading — but most tools draw only the single most recent pair (yesterday's high and low) and stop there. That tells you the edges of the last range. It does not tell you what lies beyond those edges: the next level up that price failed to break, or the next level down that has held historically.
Price does not react in a vacuum at the edge of yesterday's range. When it breaks above the recent high, the relevant question becomes "what is the nearest overhead level that has actually rejected price before?" — because that unbroken prior extreme is where the next reaction is statistically more likely. Golden Range Zones formalizes this: it brackets the recent range with the nearest UNBROKEN prior extremes on each side, found by scanning completed periods backward until it locates the first one whose high exceeded (or low undercut) the current range.
The space between the recent edge (Band) and the nearest unbroken extreme (Oscillation) is then divided in Fibonacci proportion — the zone where price travels between "left the recent range" and "reached the next historic wall." Reading that space as a graded golden zone, rather than two bare lines, turns the gap into a structured probability map: the deeper price pushes into the zone, the closer it sits to the level that has rejected it before.
Where no prior breaching extreme exists — price at an all-time high or low, a young asset, a very high reset period — the tool does not go blank. It projects a conservative Oscillation from the Band by 25% of the period range and flags it distinctly, so the structure is always present even at historic extremes.
GOLDEN RANGE ZONES FEATURES
The indicator includes these main components:
◇ Nested Prior-Range Engine (Band + backward-scan Oscillation)
◇ Golden Fibonacci Zones (dual-sided, mirrored)
◇ Extreme-Event Fallback Projection
◇ Black Swan Extension (liquidation-sweep zone)
◇ Session / Custom Trading-Hours Anchoring
◇ Zone-Size % Read-out
◇ Multilingual interface (5 languages) and full visual customization
NESTED PRIOR-RANGE ENGINE
🔹 What It Does
Freezes four static horizontal lines at each reset. The Band lines are the just-closed period's high and low (the inner pair). The Oscillation lines are the nearest prior period extremes that lie beyond that range (the outer pair).
🔹 Method
At each reset, the just-closed period's high and low are pushed to a rolling history of completed-period extremes and frozen as the Band lines. The engine then scans that history backward from the most recent period: the first earlier period whose high exceeds the Band high becomes the Oscillation high; the first whose low undercuts the Band low becomes the Oscillation low. The two sides resolve independently and can sit at very different look-back distances — the overhead wall might be four periods back while the floor below is two hundred periods back. Because both sides are bracketed by real extremes that the recent range did not breach, the structure is always ordered: Oscillation high ≥ Band high ≥ Band low ≥ Oscillation low.
🔹 No-Repaint
Every value comes from closed periods. Once frozen at the reset, the lines do not repaint for the duration of the period.
GOLDEN FIBONACCI ZONES
🔹 What It Does
The gap between each Band (inner) and its Oscillation (outer) is filled with a rainbow Fibonacci zone — the area where price travels from the recent range edge toward the nearest unbroken historic level.
🔹 Method
On each side the axis runs from the Band (ratio 0) to the Oscillation (ratio 1.0). The zone is divided into bands whose widths follow a Fibonacci 1:1:2:3:5:8 distribution, so the sub-bands grow as they approach the outer extreme — the area nearest the historic wall is the widest, where reaction is most likely. The palette runs aqua at the inner edge through to red at the outer edge, mirrored on the upper and lower sides. The space between the two Band lines stays clean, keeping the current trading range visually uncluttered.
EXTREME-EVENT FALLBACK
🔹 What It Does
When the backward scan finds no prior period that breached the Band on a side — price at a historic extreme, a young instrument, or a very high reset period — the Oscillation on that side is projected rather than left blank.
🔹 Method
The orphan side's Oscillation is placed at 25% of the period range beyond the Band, and the line is rendered with a distinct purple accent so it reads clearly as a conservative projection, not a historic level. Only the side without a real prior breach uses the fallback; the other side keeps its true extreme. The tool therefore always presents a complete structure, even in uncharted price territory.
BLACK SWAN EXTENSION
🔹 What It Does
An optional zone projected beyond the Oscillation — the area where price often wicks past a level to sweep liquidity before reacting.
🔹 Why It Matters
Levels are rarely respected to the tick. Price frequently overshoots a key extreme, triggering stops and liquidating leveraged positions, then reverses. The Black Swan extension marks that overshoot band explicitly, so an aggressive wick beyond the Oscillation reads as a potential liquidation sweep rather than a clean breakout.
SESSION / CUSTOM TRADING-HOURS ANCHORING
🔹 What It Does
The reset that defines each period can follow the instrument's native session (ideal for 24h crypto and futures) or a custom trading-hours window in a chosen timezone (ideal for stocks).
🔹 Method
In Session mode the period resets on the symbol's session boundary at the chosen reset timeframe (default Daily). In Custom Hours mode you set an open–close window and a timezone; the running high and low then accumulate from in-session bars only, discarding after-hours movement, and the period rolls over at the window open. This makes the Band represent the true regular-session range for stocks, not a figure distorted by thin extended-hours activity.
ZONE-SIZE % READ-OUT
🔹 What It Does
Three dashed vertical markers, drawn a configurable number of candles past the block, each span one zone and report its size as a percentage of current price.
🔹 The Three Zones
◇ Sell zone (green): Oscillation high → Band high — the room above the recent range.
◇ Neutral zone (gray): Band high → Band low — the recent range itself.
◇ Buy zone (red): Band low → Oscillation low — the room below the recent range.
Reading each zone as a % of price lets you size targets and risk against the structural levels directly.
HOW TO USE
This indicator is not a signal generator. It is a structural map: it shows the recent range, the nearest unbroken extremes that bracket it, and the graded space between them.
🔹 Setup
Set the chart timeframe below the reset period (for example a 15m chart with a Daily reset). For 24h markets leave Reset Mode on Session. For stocks, switch to Custom Hours and set the regular-session window and timezone. If the chart timeframe is at or above the reset period, the projection hides and a guard note appears.
🔹 Reading the Structure
◇ The two Band lines are the just-closed period's range — the immediate edges.
◇ The two Oscillation lines are the nearest prior levels the range has not broken — the next structural walls.
◇ The golden zone between each Band and Oscillation is where price has prior reaction precedent; the Fibonacci-weighted bands widen toward the outer wall.
🔹 Tactical Reading
◇ Price holding inside the Bands — trading within the recent range; no structural test yet.
◇ Price entering a golden zone — travelling toward the nearest unbroken extreme; the deeper it pushes, the closer the historic level.
◇ Price wicking into the Black Swan extension — possible liquidity sweep beyond the level; watch for rejection.
◇ A purple-accented Oscillation — no real prior breach on that side; the level is a conservative projection, treat with lower confidence.
INPUTS EXPLAINED
🔹 System Language
Display language for the panel and labels. Options: English (default), Português, Español, Русский, 中文 (Chinese).
🔹 Reset Period / Reset Mode
The period boundary that defines each range. Session (auto) for 24h markets; Custom Hours (with trading window + timezone) for stocks.
🔹 Lines
Visibility and width for the Band and Oscillation strokes.
🔹 Rainbow Style
Golden-zone visibility and transparency.
🔹 Black Swan / Aqua
The outer liquidation-sweep extension and the inner breathing-room line.
🔹 Extreme Event
Enables the 25%-range fallback projection when no prior breach exists.
🔹 Zone % Lines
The three zone-size verticals and their candle offset from the block.
🔹 Info Panel
Visibility, position, and font size.
IMPORTANT NOTES
Golden Range Zones works on any chart timeframe below the reset period. It is built for instruments with reliable price data across many periods, since the backward scan may look back far to find an unbroken extreme — on very short history the fallback projection covers the gap. In Custom Hours mode the range reflects in-session bars only.
The frozen levels do not repaint within a period; they recompute at the next reset, like an anchored tool. The Fibonacci 1:1:2:3:5:8 zone distribution is part of the canonical Rainbow Matrix design grammar, shared across the portfolio for consistent readability.
Pine Script v6. Open-source under Mozilla Public License 2.0.
UNIQUENESS
Golden Range Zones is unique in how it brackets the recent range. Most prior-range tools draw a single high/low pair; this one finds the nearest UNBROKEN prior extremes on each side via a backward scan through completed-period history, producing a nested structure rather than two bare lines. The space between the recent edge and the nearest unbroken extreme is then divided in Fibonacci 1:1:2:3:5:8 proportion, so the graded zone widens toward the historic wall where reaction is most likely — turning the gap into a structured probability map rather than empty space between two lines. An extreme-event fallback keeps the structure intact at all-time highs and lows by projecting a conservative level instead of going blank, and a Black Swan extension models the liquidation-sweep overshoot beyond each extreme. Session or custom trading-hours anchoring lets the same engine serve 24h crypto and regular-session stocks correctly, computing the range from in-session bars only. The combination of backward-scan nested ranges, Fibonacci-weighted golden zones, conservative fallback projection, and session-aware anchoring produces a structural read of prior-range context that single-pair high/low tools cannot provide. Indicator

Average Daily Range Percentage (ADR%) and Average Daily VolumeTwo critical pre-trade filters, always visible right on your chart.
Before entering any swing trade, you need to know two things: is this stock volatile enough to move your account, and is it liquid enough to trade cleanly? This indicator answers both questions at a glance.
**ADR% (Average Daily Range)** measures how much a stock moves on an average day. Too low and it won't move your portfolio. Too high and the daily noise will stop you out randomly. The color tells you where you stand instantly.
**ADV (Average Dollar Volume)** measures how much money flows through the stock each day. Liquid stocks respect key levels, pull back cleanly to moving averages, and don't gap randomly on low volume. Illiquid stocks do the opposite.
Both values are color-coded against your thresholds:
🟢 Green — within your ideal range
🟠 Orange — borderline, proceed with caution
🔴 Red — outside your criteria, skip it
Fully customizable:
ADR% and ADV thresholds
Warning zones for borderline values
Lookback periods for both calculations
Colors for good, warning, and bad values
Default thresholds are calibrated for swing traders. Adjust to match your account size and risk tolerance.
Built for swing traders who want clean, fast chart reviews without second-guessing liquidity or volatility on every name. Indicator

Fractional CUSUM Regime Filter [Jamallo]🔹 Intro
The Fractional CUSUM Regime Filter is a quantitative trend and volatility channel indicator designed to identify structural market regimes with high stability. Unlike traditional filters that suffer from lag or whipsaw signals, this indicator applies a dual-layered preprocessor combining Lopez de Prado’s Fixed-Window Fractional Differentiation (FFD) with a classic Cumulative Sum (CUSUM) statistical trigger.
🔹 Break down
Fractional Differentiation (FFD) : Stationarizes pricing input while retaining long-term historical memory (controlled by the "d" parameter).
Classic CUSUM Filter : Accumulates deviations from a rolling baseline relative to current volatility. When cumulative deviation exceeds the threshold multiplier (h), a new regime change is triggered, and the baseline steps dynamically to the new price level.
Vol-Adjusted Percentile Bands : Linear interpolation percentiles of price deviation relative to the stepped baseline. The distances are "locked" and only update on CUSUM regime triggers to prevent wobbly bands.
🔹 Visual Guide: Indicator Anatomy
Here we have the structure of the indicator, including the CUSUM baseline, the 68% inner percentile band, and the 95% outer percentile band.
How to use: Mean Reversion (Pullbacks to the Mean)
The channel boundaries represent statistical extremes. When the price is pushed outside the bands, it is mathematically overextended and highly likely to revert back to the CUSUM baseline.
Long Setup (Pullbacks in Bullish Trend): During a green CUSUM uptrend, watch for price to pull back to the lower bands ("micro pullback") and enter as it heads back up to the baseline mean.
Short Setup (Pullbacks in Bearish Trend): During a red CUSUM downtrend, watch for price to rally into the upper bands ("micro pullback") and enter as it reverts down to the baseline mean.
🔹 How to use: Trend Following & Risk Management
The indicator is designed to capture sustained macro trends while providing clear risk parameters.
Entering on Breakthroughs : Enter when the BUY/SELL signal flags appear (indicating a new CUSUM regime shift).
Stop Loss Placement : Place stop loss orders just below the opposite outer band or below the stepped baseline.
Letting Winners Run : Ride the trend as long as the CUSUM baseline maintains its colored regime state (Green for Long, Red for Short).
🔹 Settings Parameters
d (0.01 - 0.99) : Differentiation order. Lower values retain more historical memory; higher values approach first-difference.
CUSUM Drift & Threshold : Controls baseline sensitivity to regime changes.
Percentile Lookback & Targets : Set the statistical width of the inner and outer boundaries.
Indicator

Session Liquidity Atlas [JOAT]Session Liquidity Atlas
Introduction
SLA Session Liquidity Atlas is an open-source session context indicator built to map the active trading session, opening range, prior-session liquidity, confirmed sweeps, and confirmed opening-range breaks in one clean overlay.
The problem it solves is session context. A breakout above the opening range means something different when the prior-session high was just swept, when the session range is compressed, or when price is still trapped inside the opening band. SLA organizes those reference points into a readable liquidity atlas with a top-right dashboard and restrained dark-mode chart shading.
Core Concepts
1. Active Session Range
The indicator tracks the selected session's open, high, low, close, bar count, and live range. The session band updates during the active window and freezes naturally when the session ends.
2. Opening Range
The opening range is built from the first configurable number of session minutes. Confirmed closes above or below the opening range define bullish or bearish break events.
3. Prior-Session Liquidity
Prior-session high and low are projected forward as liquidity reference levels. A sweep is confirmed only when price trades through a prior level but closes back inside it on a confirmed bar.
4. Confirmed Bias State
Bias updates from opening-range breaks and mature sweep states. All official events use confirmed bars, avoiding realtime-only signals being mistaken for final signals.
5. Visual System
The overlay uses transparent session bands, opening-range shading, prior-session reference lines, and a compact dashboard. No arrows or retail-style marker clutter are used.
Features
Session range band: Tracks live high and low of the selected session
Opening range band: Displays the early-session decision range
Prior-session liquidity levels: Projects prior high and low as reference lines
Confirmed sweep detection: Detects high/low sweeps only after bar close
Confirmed opening-range breaks: Break events require closed-bar confirmation
Bias tinting: Background gently reflects current bullish, bearish, or neutral state
Top-right dashboard: Shows session status, bias, sweep state, breakout state, range, OR/session ratio, and body balance
Alert conditions: Includes confirmed alerts for sweeps and opening-range breaks
Input Parameters
Session:
Primary Session: Session window used by the atlas
Opening Range Minutes: Number of minutes used to build the opening range
Sweep Hold Bars: Bars required before a sweep state matures into bias context
Visual:
Show Session Band
Show Opening Range Band
Show Prior Session Liquidity
Tint Background On Bias
Line Width and transparency controls
How to Use
Step 1: Read the dashboard bias and session status.
Step 2: Watch whether price is inside or outside the opening range.
Step 3: Treat prior-session high and low as liquidity reference levels, not guaranteed reversal points.
Step 4: Use confirmed sweeps and confirmed opening-range breaks as context for another entry model or discretionary plan.
Limitations
Opening-range logic depends on the selected session and chart timeframe
A sweep can fail and continue beyond the prior level
The indicator is a context layer, not a complete trading system
Signals confirm only after the bar closes, so they intentionally appear after the event candle is complete
Originality Statement
SLA is an original JOAT implementation combining session range logic, prior-session liquidity sweeps, opening-range breaks, and a compact state dashboard into one transformed Pine Script v6 overlay. It is not a copy of any source script.
Disclaimer
This script is for educational and informational purposes only. It is not financial advice and does not guarantee future results. Trading involves risk, and users should apply their own risk management.
Made with passion by jackofalltrades
Indicator

AlligatorFlex Reversal Engine
AlligatorFlex Reversal Engine detects potential early trend-shift conditions using modified Alligator structure, line slope, volume expansion, and range confirmation.
NASDAQ:QQQ
AlligatorFlex Reversal Engine is a modified Alligator-style indicator designed to identify potential early trend-shift conditions using slope, volume, and price-range validation.
Unlike a traditional Alligator indicator that only plots trend structure, AlligatorFlex adds confirmation filters to highlight moments where the market may be transitioning from one directional state to another.
The indicator uses three EMA-based Alligator lines:
- Jaw: slower structure line
- Teeth: medium structure line
- Lips: faster structure line
Each line changes color based on its current slope, allowing traders to quickly visualize whether the internal structure is pushing upward or downward.
Signal validation includes:
- All three Alligator lines must show directional slope.
- Current volume must exceed the average volume by a user-defined multiplier.
- The recent price range must expand beyond its average range.
- Line structure must meet the required alignment condition.
A LONG signal appears when the Alligator structure is still positioned in a bearish alignment, but all three lines are rising with strong volume and range expansion. This can suggest a possible bullish reversal or early recovery attempt.
A SHORT signal appears when the structure is still positioned in a bullish alignment, but all three lines are falling with strong volume and range expansion. This can suggest a possible bearish reversal or early rejection.
This makes the indicator useful for traders looking for possible transition zones, reversal pressure, momentum shifts, and early directional expansion.
Best used with:
- Higher timeframe trend context
- VWAP
- Support and resistance
- Market structure
- Volume analysis
- Breakout or reclaim setups
AlligatorFlex Reversal Engine helps traders detect potential early market shifts by combining a modified Alligator structure with slope, volume, and range expansion filters.
Instead of only showing moving average lines, the indicator evaluates whether the market is showing enough directional pressure to justify a possible transition signal.
It highlights moments where:
- Alligator lines begin to slope in the same direction
- Volume expands above average
- Price range expands beyond normal conditions
- Structure suggests a possible reversal or directional shift
LONG and SHORT labels are plotted directly on the chart when all confirmation layers align.
The goal of AlligatorFlex is to help traders spot possible early reversal pressure before a fully developed trend becomes obvious.
Jaw Length:
Controls the slowest Alligator structure line.
Teeth Length:
Controls the medium Alligator structure line.
Lips Length:
Controls the fastest Alligator structure line.
Volume Length:
Defines the lookback period used to calculate average volume.
Range Length:
Defines the lookback period used to calculate recent price-range expansion.
Slope Threshold:
Minimum slope required from each Alligator line before a signal can be considered valid.
Volume Multiplier:
Requires current volume to be greater than average volume by the selected multiplier.
Range Multiplier:
Requires the recent price range to expand beyond its average range by the selected multiplier.
Limitations:
- This is a modified Alligator-style indicator, not the classic Williams Alligator.
- Signals are designed for potential early shifts, not confirmed trend continuation.
- Volume filters may behave differently across markets with unreliable or synthetic volume.
- Range expansion can trigger late signals after a move has already started.
- Choppy markets can still produce false signals.
- The indicator does not include stop loss, take profit, or position sizing logic.
Important:
This indicator is not a standalone trading system and does not predict future price movement. It is designed as a visual confirmation tool for identifying potential directional shifts. Signals may fail during choppy, low-liquidity, or range-bound conditions. Indicator

Dealing RangeDealing Range (DR) — Session Range Tracker
Automatically maps the full CME session range from 6:00 PM to 4:15 PM New York time, tracking the highest high and lowest low as the session develops in real time. DR.High and DR.Low expand bar by bar and freeze at session close, giving you a clean visual boundary of the day's full price delivery range.
Within that range, the indicator plots the 25%, 50%, and 75% equilibrium levels. The 50% acts as the session's premium/discount divide — price trading above it is in premium, below it is in discount. The 25% and 75% levels mark the first standard reaction zones within each half of the range, useful for anticipating where price may stall, reverse, or accelerate through.
At the open of each new session, the completed range is preserved as the Previous Dealing Range (PDR.High, PDR.Low) with its own set of percentage levels. These static reference lines carry forward as key context for the incoming session — particularly the PDR 50%, which frequently acts as a draw on liquidity or a decision point during the early hours of the new session.
All visual elements are independently configurable. Current DR boundaries, current DR levels, previous DR lines, and labels for both sessions can each be toggled, recolored, resized, and restyled without affecting one another.
Can set to only having one Range active at once, just used both to show both the ranges off, Works the same as the MTF DR just not using individual sessions for Higher time frame analysis.
Enjoy. :) Indicator

Volatility Compression Release Map [AGPro Series]Volatility Compression Release Map
🧠 Core Idea
Is the market quietly building expansion energy, or has the release already failed back into the shelf?
📌 Overview / What it does
Volatility Compression Release Map is a volatility regime and compression shelf visualization tool built to identify quiet range contraction, release attempts, fake releases, and expansion quality.
The script maps a projected compression shelf when volatility rank and range size contract together. It then tracks whether price releases away from that shelf, returns back inside it, or continues to hold expansion pressure.
This script does not predict future price direction, automate trades, or produce guaranteed buy/sell signals. It is designed as a structured chart-reading layer for volatility compression, release quality, and contextual risk.
🎯 Purpose & Design Philosophy
The script was built for traders who care about the transition between quiet markets and expansion phases.
Many charts look calm before movement starts. The challenge is not simply seeing a tight range, but understanding whether that range is still building energy, whether the release is active, or whether the move has already failed back into the shelf.
The design philosophy is simple: reduce volatility noise into a readable map, preserve the important shelf story, and make the current regime understandable at first glance.
⚡ Why This Script Is Different
Most tools focus on breakout arrows, squeeze dots, or raw volatility bands.
This script does NOT treat every contraction as an immediate trade signal and does NOT frame every expansion candle as confirmation.
Instead, it builds a full compression-to-release map: the shelf, volatility rank, range size, release direction, fake-release risk, quality score, right-side state labels, and a compact AG Pro panel all work together.
⚙️ Methodology
1. Context Detection
The script evaluates ATR rank, recent range size, and whether price is still inside a quiet shelf.
2. Shelf Mapping
When compression conditions align, the active range is stored and projected forward as a compression shelf.
3. Release Evaluation
The script checks whether price leaves the shelf with enough candle body expansion to qualify as a release attempt.
4. Failure Tracking
If price quickly returns into the shelf during the fake-release window, the state changes to fake release.
5. Visual Output
The chart displays a projected shelf, dotted rails, a centered shelf-quality label, event labels, right-side state tags, and a compact AG Pro panel.
🗺️ How to Read the Chart
Zones represent the active compression shelf.
The shelf label shows the current shelf quality score using a compact `SHELF | Q` format.
Green/teal visual states generally indicate constructive expansion or defended release behavior.
Pink visual states highlight failed release or adverse volatility behavior.
Indigo/accent visuals represent compression and neutral shelf structure.
The panel summarizes compression state, release direction, volatility rank, range size, quality score, shelf range, and next context.
🚦 Signals & States
• COMPRESSION BUILD → a quiet shelf is forming and volatility is compressed
• RELEASE ACTIVE → price has moved away from the shelf with sufficient body expansion
• FAKE RELEASE → price returned back into the shelf after a release attempt
• SHELF WATCH → a shelf exists but the market has not produced a clean active release
• WAIT COMPRESSION → no valid compression shelf is currently active
🔔 Alerts Logic
Compression Build alert triggers when a new volatility compression shelf is detected.
Compression Release alert triggers when price releases from the active shelf with enough candle body expansion.
Fake Release alert triggers when price returns back into the shelf within the defined fake-release window.
Alerts are attention markers. They are not trade instructions.
🧩 Confluence Logic
The context becomes stronger when low volatility rank, compact range size, a visible shelf, and a strong release candle align.
The context becomes weaker when price fails back into the shelf shortly after release.
📊 When to Use
• Before potential expansion phases
• During quiet range compression
• Around breakout preparation zones
• When evaluating whether a move is expanding or failing
• On liquid markets where volatility structure is meaningful
⚠️ When NOT to Use
• Extremely illiquid symbols
• Very noisy low-timeframe charts
• News shock environments where volatility structure changes suddenly
• Markets with unreliable volume or large gaps
• Situations where a single indicator is being used without broader context
🎛️ Key Inputs
• Compression Lookback → controls the range window used to detect the shelf
• Volatility Rank Lookback → controls how ATR rank is measured
• Compression Rank Max → changes how selective compression detection is
• Range ATR Max → limits how wide a valid shelf can be
• Release Body ATR Min → defines how strong a release candle must be
• Fake Release Window → controls how quickly a release failure is detected
• Visual settings → control shelf projection, labels, panel, theme, and font sizes
🖥️ Interface & Visual Design
The interface is designed to look clean, premium, and publication-ready.
The shelf is the main visual anchor. Event labels are intentionally limited so the chart does not become crowded.
The AG Pro panel uses a merged blue header row and summarizes the state without covering the main chart story.
🧪 Practical Usage Workflow
1. Read the panel state.
2. Locate the active compression shelf.
3. Check whether price is inside, releasing, or failing back into the shelf.
4. Compare the quality score with the visual structure.
5. Use broader market context before making any decision.
🔍 Interpretation Guidelines
Compression is not direction.
A shelf shows where volatility has contracted.
A release shows that price moved away from the shelf with expansion pressure.
A fake release shows that the market rejected the expansion and returned to the compression area.
The strongest interpretations come from combining the shelf, state, quality score, and surrounding market structure.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not financial advice.
It is not an auto-trading system.
It does not guarantee profitable trades.
It does not replace risk management or independent analysis.
⚠️ Limitations & Transparency
Timeframe differences can change how compression and release behavior appears.
High volatility news events may reduce the usefulness of shelf-based interpretation.
Low-liquidity markets can produce misleading shelves and sudden false releases.
The script is rule-based and should always be interpreted within broader market context.
🧠 Market Context Notes
Volatility often contracts before expansion, but compression alone does not define direction.
The shelf helps identify where the market has stored recent range energy.
Release quality helps separate stronger expansion attempts from weak movement outside the range.
🧾 Use Case Examples
When price remains inside a shelf while volatility rank is low, the market may still be building energy.
When price leaves the shelf with strong body expansion, the script marks release behavior.
When price returns into the shelf quickly, the script flags a fake-release context.
🧱 System Philosophy
AGPro Series tools are built to turn complex market behavior into structured visual maps.
The goal is not to simplify markets into certainty, but to make important context easier to read.
🔐 Non-Promise Statement
No script can know the future.
No signal is certain.
No visual state should be treated as a guaranteed outcome.
📉 Risk Disclosure
Trading involves risk.
Markets can move unexpectedly.
Users are responsible for their own decisions, risk management, and trade execution.
This script does not provide financial advice.
📚 Educational Note
This tool is intended for educational and analytical use. It can help traders study volatility compression, release behavior, fake-release risk, and shelf-based market context.
Indicator

OPR Asia London US Universal Open Price RangeDescription :
What this script does
This indicator automatically draws the Open Price Range (OPR) for up to three configurable trading sessions: Asia, London, and US. For each session, it captures the high and low over a user-defined opening window, then extends the resulting levels forward in time so traders can monitor whether price respects or breaks the opening range.
What makes it original
Most OPR indicators on PulseWire are hardcoded for a single instrument (DAX, NQ, ES) and a single timezone. This script solves three problems that existing public OPR tools do not handle:
Universal — works on any asset (indices, forex, commodities, crypto) without symbol detection logic. No ticker filtering.
Per-session timezone — each of the three sessions has its own independent timezone setting. Asia runs on America/New_York, London on Europe/London, US on America/New_York by default, but all are fully configurable. This ensures correct alignment regardless of the chart's display timezone.
Cross-midnight handling — the Asia session starts at 20:00 ET (evening) and its extension target falls the next morning. The script correctly computes next-day timestamps for the extend line, a case that breaks most existing OPR implementations.
How it works
For each session the script computes a tStart and tEnd timestamp in the session's own timezone using Pine Script's timestamp() function with explicit year/month/day/hour/minute parameters. It accumulates the highest high and lowest low of all bars within the window. On the first bar after the window closes, it draws:
A filled rectangle over the OPR capture window
A thick left-edge vertical line marking the exact open
High and low horizontal lines extended to a configurable end time
An optional dotted midpoint line
A small session label (AS / LN / US, all editable)
The extend target uses a cross-midnight guard: if the extend hour falls before the session start hour in that timezone, 86,400,000 ms (one day) is added to the timestamp.
How to use it
Set Start hour/min and End hour/min to define the capture window for each session. Set Extend hour/min to control how far the high/low lines project forward. Enable or disable each session independently. All colors, line widths, and labels are customizable in the Style group.
Works on any timeframe from 1 minute to 1 hour. Tested on indices (DAX, NQ, ES), forex pairs, and Gold. Indicator
