Round Number Rejection Planner [AGPro Series]# Round Number Rejection Planner
🧠 Core Idea
Is the round number acting as rejection, magnet, or failed reference?
📌 Overview / What it does
Round Number Rejection Planner is a psychological price level decision-support script built to evaluate how price reacts around nearby round numbers.
The script maps adaptive round-number bands, detects wick-based rejection behavior, separates rejection from magnet conditions, scores the context from 0 to 100, and summarizes the current state inside a compact AG Pro panel.
It does not predict price direction, automate trades, or provide guaranteed signals. It is designed to organize round-number context, rejection quality, distance, failure risk, and action state into a clean visual workflow.
🎯 Purpose & Design Philosophy
Round numbers often attract attention because they are easy reference points for traders, algorithms, stops, targets, and liquidity.
This script was built for traders who want to evaluate whether price is respecting a psychological level, getting pulled toward it, or failing to reject it cleanly.
The design supports structured observation instead of treating every round-number touch as a signal.
⚡ Why This Script Is Different
Most tools draw psychological levels or mark round numbers.
This script does NOT stop at drawing levels.
Instead, it evaluates the behavior around the level: wick rejection, close location, distance, reaction count, volatility fit, and failure risk.
⚙️ Methodology
1. Adaptive Round Level Detection
2. Psychological Band Mapping
3. Wick Rejection Evaluation
4. Magnet And Failure Risk Detection
5. 0-100 Rejection Score
6. Panel And Alert Output
🗺️ How to Read the Chart
The active round band marks the nearest psychological price zone.
Nearby round rails show the next upper and lower round references.
READY REJECTION labels appear when wick response, close location, and score quality align.
Magnet or failed-reference states appear when price interacts with the level without a clean rejection.
The panel summarizes Round Level, Rejection Score, Distance, Failure Risk, and Action.
🚦 Signals & States
• READY → A qualified round-number rejection has formed.
• MONITOR → Price is near the round number but rejection quality is not yet strong enough.
• WAIT → No active round-number context is close enough to evaluate.
• INVALIDATED → Price failed through the level instead of rejecting it.
• BLOCKED → The script cannot define a valid round-number context.
🔔 Alerts Logic
Bullish Round Number Rejection Ready triggers when price rejects upward from a round-number band with enough quality.
Bearish Round Number Rejection Ready triggers when price rejects downward from a round-number band with enough quality.
Round Number Magnet Warning triggers when price is close to the level but rejection quality is weak.
Round Number Rejection Invalidated triggers when price fails through the level instead of respecting it.
Alerts are attention markers, not trade instructions.
🧩 Confluence Logic
The rejection score combines wick strength, close distance from the level, proximity, recent reaction count, relative volume, and volatility fit.
When several of these conditions align, the context becomes stronger.
When they do not align, the script remains in WAIT, MONITOR, INVALIDATED, or BLOCKED state.
📊 When to Use
• Psychological level analysis
• Intraday price action workflows
• Round-number rejection setups
• Stop and liquidity reaction observation
• Support and resistance context around visible price levels
⚠️ When NOT to Use
Avoid relying on this script in extremely illiquid markets, very noisy symbols, holiday sessions, or conditions where round numbers are not meaningful to participants.
It should not be used as a standalone decision tool without broader market context, risk planning, and independent confirmation.
🎛️ Key Inputs
• Round Level Mode controls whether level spacing is automatic or manual.
• Manual Round Step defines custom level spacing when manual mode is selected.
• Round Band ATR controls the width of the psychological level band.
• Max Active Distance controls how close price must be before evaluation begins.
• Minimum Ready Score controls how strong the rejection must be before READY appears.
• Failure Risk Threshold controls when weak rejection or magnet behavior blocks READY.
• Visual settings control bands, rails, labels, right-side tags, panel location, and font size.
🖥️ Interface & Visual Design
The interface is designed to make the active psychological level readable without flooding the chart.
The chart shows the active round band, nearby round rails, failure shelf, and relevant rejection labels.
The AG Pro panel provides compact decision context while preserving chart visibility.
🧪 Practical Usage Workflow
1. Check the active round level in the panel.
2. Observe whether price is touching or rejecting the round band.
3. Read the rejection score and failure risk.
4. Check whether the action state is READY, MONITOR, WAIT, INVALIDATED, or BLOCKED.
5. Confirm the context with broader trend, liquidity, volatility, and risk structure.
🔍 Interpretation Guidelines
A higher rejection score means the round-number reaction is cleaner according to the script logic.
A high failure risk means the level may be acting more like a magnet or failed reference.
READY means the rejection context deserves attention, not that price must reverse.
MONITOR means price is near the level but the reaction is not yet clean enough.
🚫 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 provide guaranteed signals.
It does not replace risk management or independent analysis.
⚠️ Limitations & Transparency
Round-number behavior changes across markets, symbols, timeframes, volatility regimes, and liquidity conditions.
The score is rule-based and depends on wick behavior, close location, distance, relative volume, and ATR normalization.
Different symbols may require different round-step or sensitivity settings.
🧠 Market Context Notes
Round-number rejection can be more meaningful when aligned with liquidity response, trend context, session timing, volume participation, and nearby structure.
Weak rejection near a level can become magnet behavior instead of a clean turn.
🔐 Non-Promise Statement
No script can guarantee future price behavior.
This tool provides structured visual context only.
📉 Risk Disclosure
Trading involves risk.
Users remain responsible for their own decisions.
This script is for educational and analytical purposes only and does not provide financial advice or guaranteed trading outcomes.
Indicator

Indicator

Indicator

Indicator

Pivot Points [DecodingFlowLab]Pivot Points
A clean and lightweight pivot structure indicator designed to detect significant swing highs and swing lows directly from market structure.
This tool uses a symmetric pivot detection model based on a configurable depth value to identify confirmed turning points in price action.
━━━━━━━━━━━━━━
How It Works
━━━━━━━━━━━━━━
• The indicator scans both sides of the candle using the selected “Depth” value.
• A Pivot High is confirmed only when the candle’s high is greater than the highs of surrounding candles.
• A Pivot Low is confirmed only when the candle’s low is lower than the lows of surrounding candles.
• Signals are plotted only after confirmation to reduce market noise and false swings.
━━━━━━━━━━━━━━
Smart Filtering Logic
━━━━━━━━━━━━━━
The script includes an internal directional filtering mechanism:
• If a new higher pivot high appears, the previous pivot high is automatically replaced.
• If a new lower pivot low appears, the previous pivot low is replaced as well.
This creates a cleaner market structure view and prevents unnecessary duplicate pivots.
━━━━━━━━━━━━━━
Features
━━━━━━━━━━━━━━
✔ Clean visual swing detection
✔ Dynamic replacement of weaker pivots
✔ Adjustable pivot sensitivity using “Depth”
✔ Offset plotting to avoid candle overlap
✔ Lightweight and optimized
✔ Useful for market structure analysis
✔ Can assist with:
• Swing Trading
• Trend Analysis
• Liquidity Mapping
• BOS / CHOCH concepts
• Support & Resistance identification
━━━━━━━━━━━━━━
Inputs
━━━━━━━━━━━━━━
• Depth
Controls pivot sensitivity.
Higher values = stronger but fewer pivots.
• plotShift
Moves pivot markers away from candles for better chart visibility.
• Pivot Colors
Custom colors for highs and lows.
━━━━━━━━━━━━━━
Best Use Cases
━━━━━━━━━━━━━━
This indicator works especially well for:
• Market Structure traders
• Smart Money Concept (SMC) traders
• Swing traders
• Liquidity-based analysis
• Manual chart markup
━━━━━━━━━━━━━━
Important Note
━━━━━━━━━━━━━━
Because pivots require future candle confirmation, signals appear after the structure is confirmed.
This behavior is intentional and helps filter out weak or temporary swings.
Built by DecodingFlowLab.
Disclaimer
This indicator is provided for educational and informational purposes only and should not be considered financial advice, investment advice, or a recommendation to buy or sell any financial instrument.
The indicator does not provide guaranteed entry or exit signals for trading positions. Financial markets involve significant risk, and past performance does not guarantee future results.
Users are solely responsible for their own trading decisions, risk management, and use of this indicator in any market or trading environment.
The publisher, developer, and distributor of this indicator assume no responsibility or liability for any financial losses, damages, or outcomes resulting from the use or misuse of this indicator. Indicator

Meridian Regime Overlay [JOAT]JOAT Meridian Regime Overlay
Introduction
JOAT Meridian Regime Overlay is an open-source market context overlay built to classify whether price is operating in directional expansion, balanced auction, or compression.
It is designed as a chart-first regime engine rather than a standalone trigger study.
The script combines local baseline alignment, confirmed higher-timeframe bias, pivot structure, opening-range acceptance, realized volatility state, and session VWAP location into one integrated regime map.
The problem it solves is context.
Many indicators can say whether price is above or below an average.
Far fewer explain whether the move is supported by volatility expansion, structural acceptance, value migration, and higher-timeframe alignment.
Meridian Regime Overlay focuses on that exact problem.
It grades the live auction bar by bar.
It also shows what is supporting the grade.
That makes it useful as a decision filter before interpreting any lower-level signal source.
This script is not trying to predict the future.
Its job is to organize the present market condition.
It helps answer practical questions:
Is the market trending with real conviction?
Is price only drifting above a baseline without expansion?
Is the market compressing near a likely release point?
Is higher-timeframe structure aligned with the current move?
Is price accepting away from value or simply rotating around it?
Core Concepts
1. Baseline Stack Alignment
Fast, slow, and anchor baselines define the local directional stack.
Directional strength improves when those baselines align in sequence and their slopes support the move.
fastBase = ta.ema(close, fastLen)
slowBase = ta.ema(close, slowLen)
anchorBase = ta.ema(close, anchorLen)
2. Confirmed Higher-Timeframe Bias
Higher-timeframe context is pulled using confirmed values only.
This avoids depending on unfinished HTF candles.
htfFast = request.security(syminfo.tickerid, biasTf, ta.ema(close , fastLen), lookahead = barmerge.lookahead_on)
htfSlow = request.security(syminfo.tickerid, biasTf, ta.ema(close , slowLen), lookahead = barmerge.lookahead_on)
htfAnchor = request.security(syminfo.tickerid, biasTf, ta.ema(close , anchorLen), lookahead = barmerge.lookahead_on)
3. Compression and Expansion State
The script compares Bollinger width and Keltner position to identify squeeze behavior and release behavior.
ADX and realized variance refine the classification.
4. Pivot Structure State
Confirmed pivots define recent structural reference points.
Breaks through those pivots update the structural state.
5. Session VWAP Context
Distance from session VWAP is normalized in ATR units.
This helps reveal whether price is auctioning away from value with intent or just rotating around it.
6. Opening-Range Acceptance
The opening range is tracked and plotted.
Acceptance above or below that range adds useful early-session context.
7. Composite Regime Score
Multiple directional variables are folded into a single regime score.
The score is a context summary, not a standalone trade signal.
8. Confirmed Event Labels
The overlay prints confirmed auction-up, auction-down, and squeeze-release labels directly on the chart.
Features
Directional regime classification: bullish expansion, bearish expansion, balance, and compression states
Baseline cloud system: fast and slow cloud for local trend stack
Confirmed HTF alignment: higher-timeframe bias uses confirmed values only
Opening-range plotting: high, low, and midpoint are tracked
Session VWAP context: value migration is integrated into the read
Pivot structure state: recent structural breaks are tracked
Compression and release logic: squeeze and expansion state are visualized
Bar-state coloring: candles transition with regime intensity
Confirmed event labels: auction and expansion markers print on the chart
Dashboard: summarizes regime, score, HTF, structure, volatility, and VWAP context
Input Parameters
Trend Engine:
Fast Baseline
Slow Baseline
Anchor Baseline
Adaptive Mean Length
Bias Timeframe
Slope Lookback
Slope Threshold ATR
RVOL Impulse Threshold
Volatility Engine:
ATR Length
Compression Length
Band Deviation
Keltner Length
Keltner Multiplier
ADX Length
ADX Floor
Expansion Threshold
Realized Variance Length
How to Use This Indicator
Step 1: Read the regime color, cloud, and dashboard state.
Step 2: Check higher-timeframe alignment before trusting directional continuation.
Step 3: Compare structure and VWAP position to see whether price is accepting away from value.
Step 4: Watch squeeze-release transitions closely because those often precede cleaner directional movement.
Step 5: Use the script as a context filter for other tools rather than as a complete trading system.
Indicator Limitations
Pivot structure confirms after the pivot fully forms, which is intentional non-repainting behavior
Higher-timeframe values are confirmed and therefore intentionally delayed
Compression can persist longer than expected in slow auction environments
Directional classification does not guarantee continuation
Originality Statement
This publication is original in the way it integrates baseline structure, confirmed higher-timeframe bias, compression state, realized variance, session VWAP, opening-range acceptance, and pivot structure into one unified regime overlay.
The components are not combined arbitrarily.
They all answer the same core question:
what is the current quality of the auction?
Disclaimer
This indicator is provided for educational and informational purposes only.
It is not financial advice.
Market regimes can shift quickly.
All readings are based on historical and current bar data and do not guarantee future performance.
Always use independent analysis and risk management.
Best Use Cases
Directional trend filtering before using a separate trigger model
Session context analysis during London and New York activity
Volatility transition analysis when compression begins to release
Structure-aware regime filtering for discretionary execution
Interpretation Notes
The strongest readings usually occur when the local stack, confirmed higher-timeframe stack, VWAP position, and volatility expansion agree.
If only one or two of those are aligned, the chart can still move, but the regime read is weaker.
Compression should not be treated as a bearish or bullish state by itself.
It is a warning that the market is withholding directional commitment.
Opening-range acceptance adds value because many directional sessions reveal their intent early.
When price cannot hold outside the opening range, the regime should usually be treated more cautiously.
Publication Notes
This script is intended to be published with a clean chart where the cloud, baselines, opening range, and event labels are clearly visible.
The chart should not be cluttered with unrelated overlays.
If showing an example image, the regime state and at least one structural transition should be identifiable at a glance.
-Made with passion by jackofalltrades
Indicator

Liquidity Cartography [JOAT]JOAT Liquidity Cartography
Introduction
JOAT Liquidity Cartography is an open-source liquidity mapping overlay built to organize where price has swept obvious pools, where imbalance still exists, and where repricing blocks remain active.
It combines prior-day and prior-week references, equal-high and equal-low clustering, sweep-state persistence, displacement logic, imbalance arrays, repricing block arrays, and confluence scoring.
The problem it solves is fragmented liquidity analysis.
Many traders watch prior highs and lows separately from fair value gaps, separately from equal highs and lows, and separately from displacement.
This script turns those references into one coordinated chart map.
That makes it easier to judge whether the market is merely tapping a level, actually sweeping it, or accepting away from it with structure and participation.
The script is useful because it tracks the sequence, not just the level.
A prior-day low by itself is only a reference.
A sweep below it is more informative.
A sweep followed by displacement and structure recovery is a different condition again.
Liquidity Cartography is built around those transitions.
The box system is managed over time.
Zones are extended, aged, and deleted when invalidated or expired.
That keeps the chart focused on currently relevant liquidity rather than permanent drawings.
Core Concepts
1. Daily and Weekly Reference Liquidity
The script tracks PDH, PDL, PWH, and PWL.
These are the major reference pools used to judge whether price is probing obvious liquidity.
= request.security(syminfo.tickerid, "D", [high , low ], lookahead = barmerge.lookahead_on)
= request.security(syminfo.tickerid, "W", [high , low ], lookahead = barmerge.lookahead_on)
2. Equal-High and Equal-Low Tracking
Confirmed pivots are compared in ATR terms to identify clustered highs and lows.
3. Sweep-State Persistence
Sweeps remain active for a configurable confirmation window.
That allows follow-through logic to validate the narrative.
4. Displacement Validation
The script checks whether the reaction away from a pool is meaningful through body expansion and gap behavior.
5. Imbalance Management
Imbalance zones are stored and extended as long as they remain active.
6. Repricing Block Management
Order-block style repricing areas are created after structural breaks and managed over time.
7. Filter Stack
Trend, RVOL, RSI, and session filters can refine signal quality.
8. Confluence Scoring
The indicator counts alignment across the active liquidity narrative.
Features
Prior-day and prior-week levels: major reference pools are tracked
Equilibrium levels: daily and weekly range centers are shown
Equal-high / equal-low detection: clustered pools are identified
Sweep persistence: active sweep context remains available for confirmation
Displacement checks: strong rejection is separated from weak noise
Imbalance boxes: active FVG-style zones extend until mitigation or expiry
Repricing blocks: revisit zones are stored and managed
Filter stack: trend, RVOL, RSI, and session alignment are available
Confluence scoring: current liquidity alignment is summarized
Dashboard: active pool, trend, confluence, and signal state are displayed
Input Parameters
Reference Levels:
Show Prior Day Levels
Show Prior Week Levels
Show Equilibrium
Track Weekly Sweeps
Sweep / Zone Logic:
Structure Length
Sweep Reset Bars
Zone Extension
Equal Pool Tolerance ATR
Zone Max Age
History Limits
Validation:
Require Displacement
Displacement Multiplier
Use Trend Filter
Use RVOL Filter
Use RSI Filter
Use Session Filter
How to Use This Indicator
Step 1: Identify the active daily or weekly liquidity pool.
Step 2: Check whether price only touched the pool or actually swept it.
Step 3: Look for displacement and structure response after the sweep.
Step 4: Watch active imbalances and repricing blocks for later revisits.
Step 5: Use the confluence count to separate weak narratives from stronger ones.
Indicator Limitations
Obvious liquidity pools can be tapped or swept multiple times before direction resolves
Object-heavy overlays may appear dense on low timeframes if many zones remain active
Pivot-based pool detection confirms after the swing completes, which is intentional non-repainting behavior
Zones are analytical references, not guarantees of reversal or continuation
Originality Statement
This script is original in how it combines sweep persistence, equal-pool detection, imbalance inventory, repricing blocks, and confluence scoring into one coordinated liquidity framework.
The components are integrated because they all describe the same process:
price probing liquidity, taking it, and either failing or accepting beyond it.
Disclaimer
This indicator is provided for educational and informational purposes only.
It is not financial advice.
Liquidity reactions can fail.
Sweeps can repeat.
No level or zone guarantees a directional outcome.
Always use independent judgment and risk management.
Best Use Cases
Mapping where obvious daily and weekly liquidity is likely resting
Studying how price behaves after a confirmed sweep
Tracking whether displacement and imbalance support the sweep narrative
Marking revisit zones after structural repricing
Interpretation Notes
A sweep by itself is only the beginning of the story.
The more useful sequence is sweep, displacement, structural response, and active zone support.
Equal-high and equal-low references are helpful because they often identify where liquidity may accumulate before the sweep occurs.
The confluence score should be interpreted as a narrative-strength read, not a promise of reversal.
Publication Notes
This script is intended to be published with a clean chart that clearly shows the active liquidity pool, the current sweep state, and one or two relevant active zones.
Do not overload the publication chart with unrelated drawings.
The value of the visual example should come from clarity rather than chart decoration.
-Made with passion by jackofalltrades
Chart Reading Framework
1. Start with the active daily or weekly pool.
2. Determine whether price only touched or truly swept the pool.
3. Check displacement, break state, and confluence.
4. Review active imbalances and repricing blocks for the next revisit path.
5. Use the dashboard to verify whether the liquidity narrative is strengthening or fading.
Why This Matters
Liquidity logic becomes much more useful when it is organized as a process instead of a list of disconnected levels.
This indicator is meant to help the user see that process clearly.
Open-Source Notes
This script is published open source so users can inspect how sweep persistence, imbalance management, and zone aging are handled.
Who This Is For
This indicator is for traders who want a structured liquidity map rather than isolated levels.
It is especially useful for users who think in terms of sweeps, repricing, and revisit zones.
Summary
JOAT Liquidity Cartography turns scattered liquidity references into one organized live framework.
Its main value is clarity.
Additional Notes
The strongest use of this script comes from following the sequence of events rather than reacting to a single box or line in isolation.
Clean publication images should make that sequence obvious.
Indicator

Liquidity Matrix | AnonycryptousLiquidity Matrix | Anonycryptous
Description & user manual
**Credits**
The sweep detection engine in Liquidity Matrix draws conceptual inspiration from the Liquidity Sweep Filter by AlgoAlpha. The approach to identifying swing-based stop hunts, classifying sweeps by volume significance, and filtering by trend direction is based on ideas first demonstrated in their open-source script, author: AlgoAlpha (pulsewire.com/u/AlgoAlpha)
---
Why this indicator is different;
Most liquidity indicators show you one thing. A zone. A sweep marker. A supply box. A trendline. Each tool tries to solve one problem, and if you want to understand the full picture, you stack five or six indicators on the same chart until it becomes unreadable.
Liquidity Matrix works differently.
It is not a signal indicator. It does not tell you when to buy or sell. It does not score your trades or track your win rate. What it does is something more fundamental: it maps the full landscape of liquidity around price, across ten independent engines, all configurable, all in one overlay.
The core idea is that liquidity drives price. Retail traders place stops at predictable locations — below swing lows, above swing highs, at equal highs and lows, at structural pivots, inside fair value gaps. Institutional participants know this. They move price to those locations, collect that liquidity, and then move in the direction they were always going. If you understand where the liquidity is, where it has already been taken, and what levels are still sitting unmitigated, you understand the context before you place a trade.
Liquidity Matrix gives you that map.
What makes it different from other multi-engine indicators is that every engine is genuinely independent. You can run just the liquidity zones. Or just the voids and HTF levels. Or every engine at once and build your own confluence system. There is no forced reading. There is no house view on what the market is doing. You bring your methodology. The indicator gives you the context to apply it.
It also does something no single-purpose tool does: it shows you the volume behind every level. Not just where the stop clusters are — but how much liquidity was there when they formed. A zone created on 2.4M volume is not the same as a zone created on 58K. The indicator makes that difference visible.
Important notice
Liquidity Matrix does not generate trading signals.
It does not tell you when to buy or sell.
It does not predict market direction.
It does not guarantee any outcome.
All trading decisions remain entirely with the user.
Always apply your own judgment and manage your own risk.
1. Overview
Liquidity Matrix is a multi-engine liquidity context indicator built around one idea: before you place a trade, understand where the liquidity is.
What it includes:
- Liquidity zones: probability-scored pivot clusters with volume intensity rendering
- Equal highs and equal lows: zones where retail stops stack at matching price levels
- Trend engine: directional band with accumulated sweep volume tracking
- Sweep detection: swing-level stop hunt identification with safe stop placement
- HTF liquidity levels: higher timeframe high/low levels as horizontal reference lines
- Dynamic trendlines: automatically detected diagonal support and resistance with touch volume
- Supply and demand zones: SMC-based structural zones with BOS conversion
- Weekend gap: Friday close reference with gap fill tracking
- Liquidity voids: fair value gaps with gradient layer fill tracking
- RSI divergence: price chart divergence detection with candle coloring and optional trailing stop
- Dashboard: live market context across all active engines
2. Liquidity zones
2.1 How they form
Liquidity zones are identified at confirmed pivot highs and lows. A pivot forms when a price extreme holds for a configurable number of bars on both sides. Each zone is scored using a probability model that weighs four factors: distance from current price, age of the zone, whether it is still fresh (untested), and the volume present at formation.
The result is a probability score from 0 to 100 displayed on the chart. A score above 70 appears in green. Between 40 and 70 it appears in gold. Below 40 it appears in red.
The fill intensity of each zone box scales automatically with the normalized volume at formation. Higher volume at creation means a fuller, more opaque box. This makes the visual weight of each zone reflect its actual significance without requiring manual evaluation.
Zones above price are BSL — buy side liquidity. These are where long stops and breakout orders sit. Zones below price are SSL — sell side liquidity. These are where short stops and breakdown orders sit.
2.2 Sweep markers
When price breaks through the bottom of a demand zone or the top of a supply zone, a circle marker appears on the chart — above the candle for a supply zone break (bearish), below the candle for a demand zone break (bullish). The zone fades to indicate the liquidity has been consumed. This is distinct from the swing sweep detection engine, which operates independently.
2.3 Settings
Pivot left and right bars control detection sensitivity. Fewer bars on the right produces faster confirmation but reduces accuracy. The volume filter removes zones that formed on below-average activity. Fresh zones only hides tested zones to keep the chart clean. Max zones controls how many active zones are held at once. The swept zone transparency and show swept toggle control what remains visible after a zone is consumed.
2.4 In practice
Look for price approaching an unmitigated zone with a high probability score on high-volume context. The higher the score and the more opaque the box, the more likely institutional interest was present at formation. When multiple zones stack closely — visible as a cluster — that price area has concentrated stop density. When a zone is swept and the circle marker appears, the liquidity at that level has been cleared. Stops are gone. The level loses its significance as a target.
Volume note: all volume values in Liquidity Matrix are expressed in the base currency of the trading pair. On BTC/USDT, the value shown is in BTC. On SOL/USDT, it is in SOL. To convert to USD equivalent, multiply by the current price. This applies to every volume label across all engines.
3. Equal highs and equal lows
3.1 How they form
Equal highs and equal lows (EQH/EQL) are zones where price has tested the same level on two or more separate occasions without closing through it. These represent areas where retail stop orders have accumulated in a predictable way. Matching swing highs create a resistance cluster with long stops resting above. Matching swing lows create a support cluster with short stops resting below.
The zones are rendered as filled boxes using a linefill between two lines. The box spans from the lower of the two matching pivots to the higher, creating a clearly visible area of concentrated liquidity.
3.2 Settings
Tolerance (ATR×) controls how precisely two pivots must match to qualify as equal. A lower tolerance requires a near-exact match. A higher tolerance allows approximate levels to be grouped. The minimum age prevents recent, unconfirmed pivots from forming zones too early. The removal mode determines whether a zone is removed when price touches the wick, the body, or the body at twice ATR distance.
3.3 In practice
An EQH/EQL zone directly above or below price is a high-probability target for a liquidity sweep. When price approaches such a level, consider whether the move has the characteristics of a stop hunt: a spike through the level, a strong close back inside, and a reversal. The volume label on each zone shows the total volume from both matching pivots combined — giving you a sense of how much liquidity is sitting there.
4. Trend engine
4.1 How it works
The trend engine calculates a rolling volatility band using ATR. When price is above the upper band, the trend direction is bullish. When price is below the lower band, it is bearish. The band tracks the dominant directional bias and changes color accordingly.
As the trend unfolds, peak and valley levels form at local turning points within the band. The engine accumulates the volume from sweep events at each of these turning points and displays it as a label on the band. The label shows the total volume cleared at that inflection point — a direct measure of how much liquidity was consumed as the trend moved through that level.
4.2 In practice
The trend direction is shown in the dashboard as bull or bear. Use this as your macro bias filter. Look for setups in the direction of the trend. The volume labels along the band show where the significant sweeps occurred — these points represent former liquidity levels that have already been consumed and are unlikely to act as targets again. The current edge of the band is where the next sweep may occur.
5. Sweep detection
5.1 How it works
The sweep detection engine monitors rolling swing highs and lows using a configurable lookback. When price spikes through a swing level on the wick and closes back inside, a sweep event is recorded. The wick must penetrate the level by at least a minimum ATR multiple. The close must reject with a minimum strength relative to the candle range. An optional EMA filter and cooldown period reduce false triggers.
Sweeps are classified as major or minor based on normalized volume. A sweep on above-average volume is marked with a solid triangle. A below-average sweep is marked with a hollow triangle.
When a sweep fires, a safe stop line is drawn at the sweep extreme — the wick tip. This is the correct location for a stop loss after a sweep, because the liquidity that was resting there has already been consumed. Placing a stop beyond a consumed sweep is placing it where no further stop hunt is likely to occur.
5.2 Settings
The wick minimum ATR multiple and minimum rejection percentage filter out weak sweeps. The EMA filter aligns sweeps with the broader trend. The cooldown prevents repeated triggers from the same level. Major sweep threshold (normalized volume) separates significant events from minor ones.
5.3 In practice
A major sweep on a significant EQH or liquidity zone is one of the cleanest setups in the indicator. Price took the liquidity, volume confirms the institutional event, and the safe stop line gives you a clear invalidation level. The smaller the distance between current price and the safe stop line, the more attractive the risk structure.
6. HTF liquidity levels
6.1 How they form
Higher timeframe high and low levels represent the largest clusters of resting liquidity on the chart. Monthly, weekly, daily, previous day, 4-hour, and 1-hour levels are supported. Each level is drawn as a horizontal line starting at the bar time of the HTF candle that created it and extending a configurable number of bars to the right.
The volume of the HTF candle is shown as a label at the right edge of the line. Higher volume on the HTF candle means more institutional activity was present when that level formed. Monthly levels have the highest opacity. Opacity decreases progressively as timeframe decreases, so the relative significance is immediately visible.
6.2 Settings
Each timeframe is individually toggleable. Line style (solid, dashed, dotted), width, and color are configurable. Extend bars controls how far the line projects to the right. The liquidity label can be hidden if a cleaner chart is preferred.
6.3 In practice
HTF levels are major liquidity magnets. Price tends to move toward unmitigated monthly and weekly highs and lows before reversing. When a HTF level aligns with a liquidity zone or EQH/EQL cluster, the confluence strengthens the case for a sweep at that level. The dashboard shows the nearest HTF level above and below current price so you can read the closest target without examining every line on the chart.
7. Dynamic trendlines
7.1 How they form
The trendline engine scans historical pivot highs and lows and finds the best-fit diagonal line across multiple touch points. A valid trendline requires at least two confirmed touches with minimal deviation, a score that weighs touch count, recency, tightness of touches, and span. The highest-scoring line for both support and resistance is drawn automatically every bar.
Volume accumulates at each confirmed touch point. The label at the end of the line shows the total accumulated volume across all touches — the more volume that has interacted with the trendline, the more significant it is as a structural level.
A channel fill renders between the support and resistance lines and changes color based on whether price is in the upper or lower half of the channel.
7.2 Settings
Pivot length controls detection sensitivity. Lookback bars limits how far back the engine searches. ATR length controls the volatility smoothing used for touch tolerance. Max violations allows lines to remain valid after a small number of wick pierces. Touch tolerance and max distance filter noise. Extend bars projects the lines forward.
7.3 In practice
A trendline with high accumulated volume and multiple tight touches is a strong structural level. When price approaches it from inside the channel, it is approaching a level where multiple institutional interactions have occurred. The volume label tells you how much. A break and retest of such a line — particularly with a sweep marker — is a high-quality location for a trade idea.
8. Supply and demand zones
8.1 How they form
Supply and demand zones are identified using structural pivot points. When a new swing high forms, a supply zone is created at that level. When a new swing low forms, a demand zone is created. Zones are sized using an ATR-based width multiplier. An overlap filter prevents duplicate zones from stacking in the same price area.
When price breaks through a zone boundary, the zone converts to a BOS line — a thin horizontal marker showing where market structure was broken. This mirrors the SMC (smart money concepts) approach where a broken supply zone confirms bullish structure, and a broken demand zone confirms bearish structure.
8.2 Settings
Swing length controls how many bars are required on each side of a pivot for zone formation. Zone width scales the height of each box relative to ATR. The midline (POI) can be toggled to show the point of interest at the center of each zone. History to keep limits the total number of visible zones. HH/LH/HL/LL labels mark each swing point with its structural context. BOS color is configurable separately from zone colors.
8.3 In practice
Supply and demand zones show you where price left an imbalance after a structural break. When a demand zone holds and price bounces from it, the zone remains valid. When price breaks through it, the BOS line marks where that structure was invalidated. These zones work best in combination with the liquidity zone engine — when both a liquidity zone and a demand zone overlap in the same price area, the confluence raises the probability of a significant reaction.
Note on terminology: liquidity zones and supply/demand zones are different concepts. Liquidity zones mark where stop orders are likely to be resting based on pivot volume and probability scoring. Supply and demand zones mark structural imbalances where price left quickly. Both can occur at the same level, but they represent different phenomena.
9. Weekend gap
9.1 How it works
The weekend gap engine records the last confirmed Friday close price and tracks whether price returns to fill that level during the following weekend and early week. On assets that trade continuously (crypto, 24/7 markets), the gap fill tracks whether price has revisited the Friday close since the weekend began.
The Friday close is drawn as a horizontal reference line extending forward into the week. The gap fill zone renders between the Friday close and price during the relevant window. A bullish gap (price above Friday close) renders in green. A bearish gap (price below Friday close) renders in red. When the gap is filled, it clears automatically.
9.2 Settings
Line style, width, and color are configurable. Extend days controls how far the Friday close line remains visible. Bull and bear gap colors are independently adjustable.
9.3 In practice
The Friday close acts as a liquidity magnet for early week price action. Markets frequently return to fill the weekend gap before continuing in the dominant direction. The dashboard shows the gap status (open, percentage, or filled) so you can monitor it without keeping the line visible on all timeframes. On CME futures charts, the gap window is literal — the market was closed and the gap in data is visible. On crypto charts, the market was open but institutional behavior around the weekly close creates the same magnetic effect.
10. Liquidity voids
10.1 How they form
A liquidity void (also called a fair value gap or imbalance) forms when price moves quickly in one direction across three consecutive candles, leaving a gap between the wick of the first candle and the wick of the third candle. No trading occurred in that gap area. Price tends to return to fill these zones as the market seeks balance.
The void is rendered as a gradient of 13 layers. Each layer fills individually as price touches it, changing to the filled color. This gives a precise view of how much of the void has been mitigated and how much remains unvisited. A volume label shows the total volume from the bars that created the void.
10.2 Settings
Mode controls whether all historical voids are shown or only the most recent N bars. Threshold (ATR×) sets the minimum gap size relative to ATR(144) — smaller values detect more voids, larger values filter to only significant imbalances. Bullish and bearish colors are independently configurable. The filled void color can be adjusted or filled voids can be removed entirely by toggling the show filled setting.
10.3 In practice
Unfilled voids below price are areas where no transactions occurred during an upward move. They act as potential support and pullback targets. Unfilled voids above price are areas where no transactions occurred during a downward move. They act as potential resistance and rally targets. When a void aligns with a liquidity zone or HTF level, the overlap represents an area with both structural significance and a gap to fill. The volume label on each void gives you a sense of how much liquidity was consumed when the void was created — larger voids on higher volume represent more significant imbalances.
11. RSI divergence
11.1 How it works
RSI divergence occurs when price and RSI move in opposite directions at swing points. A bullish divergence forms when price makes a lower low while RSI makes a higher low — momentum is increasing even though price is still falling, which often precedes a reversal upward. A bearish divergence forms when price makes a higher high while RSI makes a lower high — momentum is weakening even though price is still rising, which often precedes a reversal downward.
The engine detects these events mechanically using pivot-based RSI analysis. When a divergence is confirmed, a box is drawn directly on the price chart spanning all candles between the two pivot points. Circle markers appear at each pivot on the price candle. This keeps the divergence signal on the chart where the price action is, rather than requiring a separate RSI pane below.
Candle coloring reflects RSI momentum continuously. When RSI is above 50 and below the overbought level, candles are colored green — the gradient becomes more intense as RSI approaches the overbought threshold. The closer RSI is to overbought, the stronger the green. When RSI crosses the overbought level, coloring stops entirely — momentum is at an extreme and the gradient no longer adds information.
The same logic applies in reverse below 50. Candles are colored red with increasing intensity as RSI approaches the oversold level. When RSI crosses below the oversold threshold, coloring stops.
This means the gradient is always telling you how much room is left in the current momentum move — fully colored means RSI is just above 50 with a long runway ahead, faded means RSI is approaching an extreme. When the color disappears, the move is at full extension.
An optional trailing stop activates after a divergence is confirmed by an RSI 50 crossover. For a bullish divergence, the stop activates when RSI crosses back above 50 and trails below price using ATR distance. It closes when price breaks the stop level or RSI reaches the overbought threshold. For a bearish divergence, the stop activates on an RSI cross below 50 and trails above price until price breaks through or RSI reaches oversold.
Note: if the RSI divergence engine is disabled while a trailing stop is active, the stop line will disappear immediately without triggering a close. Do not disable the engine mid-trade while relying on the trailing stop as an active risk tool.
11.2 Settings
RSI length — period for the RSI calculation. Default 14.
Sensitivity — controls the pivot detection window. High detects more divergences using smaller pivots. Medium is the default. Low requires larger structural pivots and produces fewer but stronger signals.
Show bullish / show bearish — each direction can be toggled independently so you only see what is relevant to your current bias.
Bullish color / bearish color — the color used for the divergence box, circle markers, candle gradient, and trailing stop line.
RSI candle coloring — toggle the gradient candle coloring on or off without affecting divergence detection.
Overbought level — RSI level at which candle coloring stops on the upside. Default 70. Raise this to 80 for assets that tend to stay overbought for extended periods.
Oversold level — RSI level at which candle coloring stops on the downside. Default 30. Raise this to 20 for assets that tend to stay oversold for extended periods.
Trailing stop — toggle the trailing stop line on or off independently.
ATR length / ATR multiplier — control the sensitivity of the trailing stop. A higher multiplier gives the stop more room and reduces premature exits on volatile assets.
11.3 In practice
Use the divergence engine as a momentum context layer on top of the liquidity engines. A bullish divergence forming at an unmitigated liquidity zone or demand zone adds significant weight to the expectation of a reversal. A bearish divergence forming just below a major HTF level or supply zone suggests the move upward may be losing momentum before reaching that target.
The dashboard row shows the current divergence state — none, bullish, or bearish — so you can monitor it without inspecting the chart.
The candle gradient is the most immediately useful visual element. Watch for candles that are deeply colored — RSI has momentum but has not yet reached an extreme. When the gradient begins fading, RSI is extending. When it disappears entirely, RSI has crossed the overbought or oversold threshold and the move is at full extension. This is often where divergence begins to form on the next cycle.
For overbought and oversold levels: on assets like BTC or ETH that can sustain strong trends, consider raising the overbought level to 75 or 80 and lowering the oversold level to 20 or 25. This prevents the coloring from stopping too early during genuine momentum moves. On more volatile altcoins where RSI whipsaws frequently around the extremes, the default 70/30 setting works well.
12. Dashboard
The dashboard displays a live summary of all active engine data in one panel. It updates every bar.
Rows shown:
Header — indicator name and timeframe label.
Trend — current direction from the trend engine: bull, bear, or ranging.
Liq zones — count of active BSL and SSL zones in view.
Nearest BSL — closest buy side liquidity level above current price.
Nearest SSL — closest sell side liquidity level below current price.
Top zone — highest probability unmitigated zone and its score.
Safe SL — current safe stop level from the sweep detection engine.
ATR (14) — current ATR value for context.
HTF — section divider for higher timeframe levels.
HTF above — nearest higher timeframe level above price.
HTF below — nearest higher timeframe level below price.
Market — section divider for market context rows.
Gap — weekend gap status: off, open (direction and percentage), or filled.
TL dist — distance from the nearest active trendline in ATR multiples.
BOS/CHoCH — whether the supply/demand structure engine is active.
EQH/EQL — count of active equal high and equal low zones.
Engines — total number of active engines.
Divergence — current RSI divergence state: none, bullish, or bearish.
Anonycryptous — version reference.
Dashboard position and text size are configurable.
13. Settings overview
Liquidity zones
- Enable/disable master toggle
- Pivot left and right bars
- Volume filter threshold
- Dynamic zone width
- Show fresh only
- Show swept zones
- Swept zone transparency
- Max zones
- Bull and bear zone colors
- Midline toggle and color
- Swept zone circle marker toggle, colors, and size
Equal highs and equal lows
- Enable/disable master toggle
- Pivot lookback length
- Tolerance (ATR×)
- Minimum age
- Removal mode (wick, body, body×2)
- EQH and EQL zone colors
- Show volume label
- Show accumulated sweep volume
Trend engine
- Enable/disable master toggle
- Trend band length
- Bull and bear band colors
- Show major/minor sweep volume labels
- Major sweep normalized volume threshold
Sweep detection
- Enable/disable master toggle
- Swing lookback
- Minimum wick ATR multiple
- Minimum rejection percentage
- EMA filter toggle, length, and timeframe
- Cooldown bars
- Major sweep normalized volume threshold
- Volume filter toggle
- Bull and bear colors
- Marker size
Safe stop line
- Line style, color, and extension bars
- Glow toggle
- Auto-remove after N bars
HTF liquidity levels
- Enable/disable master toggle
- Individual toggles for monthly, weekly, daily, previous day, 4H, P4H, 1H, P1H
- Line style, width, and color
- Extend bars
- Show liquidity label
Dynamic trendlines
- Enable/disable master toggle
- Pivot length
- Lookback bars
- ATR length
- Max violations
- Touch tolerance (ATR×)
- Max slope (degrees)
- Max distance (ATR×)
- Extend bars
- Show channel fill
- Show volume on touch
- Support and resistance colors
- Line width and style
Supply and demand zones
- Enable/disable (controls zones and BOS simultaneously)
- Swing length
- Zone width (ATR×0.1)
- History to keep
- Supply and demand colors and outlines independently
- Show midline (POI)
- Midline color
- Show HH/LH/HL/LL labels
- BOS color and line width
Weekend gap
- Enable/disable master toggle
- Show gap fill and show Friday close line independently
- Extend line (days)
- Bull and bear gap colors
- Friday close line color, width, and style
Liquidity voids
- Enable/disable master toggle
- Mode (present / historical)
- Lookback bars (for present mode)
- Void threshold (ATR×)
- Bullish and bearish void colors
- Show filled voids
- Filled void color
- Show volume label
RSI divergence
- Enable/disable master toggle
- RSI length
- Sensitivity (high, medium, low)
- Show bullish and bearish independently
- Bullish and bearish colors
- RSI candle coloring toggle
- Overbought level (default 70)
- Oversold level (default 30)
- Trailing stop toggle
- ATR length and multiplier for trailing stop
Dashboard
- Enable/disable
- Position
- Size
14. How to use
The indicator does not prescribe a method. It provides context. How you use that context depends on your own approach. The following describes the logic behind combining the engines effectively.
Start with bias. The dashboard trend row shows the current directional bias. The nearest HTF levels above and below give you the macro targets. If the weekly high is the nearest HTF above price, the market may be running toward that level before reversing.
Identify the nearest liquidity. The nearest BSL and SSL rows in the dashboard show the closest unmitigated zones. These are the most likely near-term targets for price. A high-probability zone score adds weight to the expectation that price will visit that level.
Look for confluence. When a liquidity zone, an EQH/EQL cluster, an HTF level, and a void all align at the same price area, the confluence is significant. Price has multiple reasons to move to that location. Once it arrives, multiple forms of liquidity can be consumed in one move.
Read the sweep markers. When a sweep triangle fires, liquidity was taken. The safe stop line shows the consumed level. If the sweep occurred at a high-probability zone with volume confirmation, the conditions for a reversal are in place. The triangle type (solid for major, hollow for minor) tells you how significant the volume event was.
Use the gap. In the early part of the week, the weekend gap status is visible on the dashboard. If the gap is open and price is below the Friday close, price has a tendency to return to that level. This can serve as a short-term directional bias early in the week.
Check the voids. Unfilled voids represent areas the market has not yet returned to. If price is approaching an unfilled void from outside, it is approaching a zone of imbalance that the market may seek to fill. A void aligned with a swept zone or an EQH/EQL cluster adds structural weight to the expected reaction.
15. Notes
- Liquidity Matrix is a context indicator. It maps where liquidity is, where it has been taken, and what levels remain unmitigated. It does not generate entry signals.
- All volume values are in the base currency of the trading pair. BTC/USDT shows volume in BTC. SOL/USDT shows volume in SOL. Multiply by price to approximate USD value.
- The sweep detection engine uses swing-based pivots. The supply/demand BOS engine uses a separate pivot. These are independent systems with independent lookback settings.
- On lower timeframes, more engines running simultaneously increases computation. If the indicator is slow to load, reduce the number of active engines or lower lookback values.
- HTF levels require the chart timeframe to be lower than the HTF being referenced. A daily chart will not show daily HTF levels accurately.
- The dynamic trendline engine runs every bar. On very long chart histories with tight tolerances, this may produce slightly longer load times.
- The liquidity void threshold is relative to ATR(144). On assets with low average volatility, the default threshold may produce very few voids. Reduce the threshold to increase sensitivity.
- Weekend gap tracking works on all assets. On CME futures, the gap is a literal data gap. On crypto and 24/7 assets, the gap reflects the Friday close level as an institutional reference.
16. Disclaimer
This indicator by Anonycryptous is provided for educational and informational purposes only.
All outputs are based on historical price and volume data.
Past behavior does not guarantee future results.
Trading involves substantial risk of loss.
Use at your own discretion.
Indicator

StructureX Market Structure & Liquidity Engine [CLEVER]🧠 StructureX – Deep Overview
StructureX – Market Structure & Liquidity Engine is a comprehensive price action framework designed to interpret and visualize the natural structure of the market. Its primary objective is to transform raw price movement into a clear and organized structure, where highs, lows, and their relationships are logically defined. Instead of relying on random candle behavior, the system helps users understand how price is actually moving within a structured environment.
At its core, StructureX is built on the idea that markets are not entirely random — they move in structured phases of expansion, retracement, and transition. The system tracks these phases using rule-based calculations derived from historical price data. This ensures that the output remains consistent and systematic, rather than subjective. The focus is not on predicting the future, but on providing a clearer understanding of the current market context, allowing users to make more informed decisions within a defined framework.
StructureX integrates multiple structural elements into a single unified model, offering a layered view of market behavior. Key turning points, structural breaks, and imbalance areas are all presented together on the chart, reducing the need for multiple separate tools. This integration enhances clarity and allows users to evaluate market conditions more efficiently, with all relevant structural information available in one place.
In terms of real-time behavior, the system operates using confirmation-based logic. Certain calculations—especially those related to swing detection—require additional candles to confirm, which can introduce a slight delay. During live candle formation, some elements may temporarily update or adjust, but the structure becomes more stable once the candle closes. This is a normal and expected characteristic of structure-based analytical systems, as confirmation helps reduce noise and improve reliability.
Overall, StructureX functions as a decision-support tool that simplifies complex market behavior into a structured and readable format. It does not provide financial advice or guarantee outcomes, but instead offers a disciplined, rule-based approach to analyzing price action. By focusing on structure and context, it enables users to approach the market with greater clarity and consistency.
🧠 Core Concept – StructureX
The core concept behind StructureX is built on a simple but powerful principle: price moves in a structured way, not randomly. Instead of treating the market as unpredictable noise, the system focuses on identifying how price forms highs, lows, and transitions between them, which together define the underlying structure of the market. This structure becomes the foundation for understanding trend direction, continuation, and potential shifts.
At the heart of this approach is the idea that every market phase is a result of interaction between buying and selling pressure, which is reflected through the formation and breaking of key levels. When price creates a series of higher highs and higher lows, it reflects bullish structure; when it forms lower highs and lower lows, it reflects bearish structure. StructureX tracks these formations in a rule-based way, ensuring that structure identification is consistent and not based on subjective interpretation.
Another key part of the concept is structural validation through break events. The system does not assume a trend change or continuation until price clearly interacts with previously established levels. This is where events like Break of Structure (BOS) and Change of Character (CHoCH) come into play. These are not predictions, but confirmations that the market has either maintained its direction or transitioned into a new phase. By waiting for these confirmations, the system prioritizes clarity over speed, reducing the impact of market noise.
StructureX also incorporates the idea that price does not move efficiently at all times. There are moments where imbalances and liquidity interactions occur, leading to areas where price may react or stabilize. Instead of treating these as guaranteed reversal zones, the system presents them as contextual areas of interest, which can be used alongside structure for more informed analysis. This keeps the framework realistic and avoids over-reliance on any single factor.
Importantly, the entire concept is rule-based and data-driven, meaning all outputs are derived from historical and current price action without any forward-looking assumptions. Some components require confirmation over multiple candles, which can introduce slight delays, but this trade-off helps improve stability and reduce false signals. Real-time updates during candle formation are normal, and the structure becomes more reliable once conditions are fully confirmed.
In essence, the core concept of StructureX is to provide a structured lens through which market behavior can be interpreted, combining clarity, consistency, and multiple layers of context. It does not aim to predict exact outcomes or guarantee results, but rather to offer a disciplined framework that helps users better understand how price evolves over time and make decisions based on observable structure rather than guesswork.
⚙️ Key Features – StructureX
StructureX is designed as a multi-layered market structure framework, where each feature plays a specific role in helping users interpret price action more clearly. Instead of relying on a single signal, the system combines several rule-based components to provide a more complete view of market behavior.
🔹 1. Swing-Based Market Structure Detection
The system automatically identifies swing highs and swing lows using a defined lookback range. These points act as the foundation of the entire framework, as they represent where price has naturally turned in the past. By mapping these levels, StructureX creates a clear structural outline of the market, allowing users to visually understand how price is evolving over time.
🔹 2. Break of Structure (BOS) Identification
StructureX highlights when price breaks a previously established structural level in the direction of the current trend. This is referred to as a Break of Structure (BOS), and it indicates that the market is continuing its existing directional movement. These events are based on confirmed price interaction with key levels, helping reduce ambiguity in trend continuation analysis.
🔹 3. Change of Character (CHoCH) Detection
The system also detects potential structural transitions through Change of Character (CHoCH) events. These occur when price moves against the current structure and breaks a key level, signaling that market conditions may be shifting. Rather than predicting reversals, this feature provides early structural context that the current trend may be weakening or transitioning.
🔹 4. Order Block Visualization
StructureX marks potential order block zones, which are derived from the last opposing candles before significant structural moves. These zones are presented as areas where price has previously shown strong reaction. They are not guaranteed reaction points, but serve as contextual zones of interest where users may observe how price behaves if revisited.
🔹 5. Fair Value Gap (FVG) Detection
The system identifies price imbalances, commonly referred to as Fair Value Gaps. These occur when price moves quickly, leaving areas where trading activity was relatively low. StructureX highlights these zones to show where price may revisit or stabilize, offering additional context for understanding inefficient market movement.
🔹 6. Liquidity Sweep Identification
StructureX includes logic to detect liquidity sweeps, where price temporarily moves beyond key highs or lows and then rejects. This reflects areas where stop orders may have been triggered. The system marks these events as observational signals, helping users recognize potential shifts in short-term market behavior without making predictive claims.
🔹 7. Internal Structure (Optional Layer)
An optional internal structure feature allows users to view minor structural movements within the main trend. This adds a deeper level of analysis for those who want to study short-term fluctuations while still maintaining the broader structural context.
🔹 8. Dynamic Visualization & Trend Background
The indicator provides visual clarity through structure lines, labels, and optional background coloring based on market bias. This helps users quickly interpret whether the market is currently aligned in a bullish, bearish, or neutral state, improving readability without adding unnecessary complexity.
🔹 9. Customizable Settings
StructureX offers a range of inputs that allow users to adjust sensitivity and visual preferences, such as swing length, detection ranges, and display options. This flexibility ensures the tool can be adapted to different trading styles and timeframes without altering its core logic.
🔹 10. Alert System for Key Events
The built-in alert functionality enables users to receive notifications when important structural events occur, such as BOS, CHoCH, or liquidity sweeps. This allows for more efficient monitoring without needing to constantly watch the chart.
🏁 Summary
👉
StructureX combines multiple rule-based features—structure detection, break events, imbalance zones, and liquidity behavior—into a single framework, providing a clear and structured view of market activity without relying on predictive assumptions.
⚙️ How It Works – StructureX
StructureX operates as a rule-based analytical engine that processes price data step by step to build a structured view of the market. Instead of generating signals from a single condition, it follows a logical sequence of detection → validation → visualization, where each layer depends on the previous one.
🔹 1. Price Data Processing & Swing Identification
The system begins by scanning historical and current price data to detect swing highs and swing lows within a defined lookback range. These swings represent natural turning points in the market and form the base structure. Since this process requires surrounding candles for confirmation, there is a built-in delay that helps filter out noise and avoid premature signals.
🔹 2. Structure Formation & Bias Tracking
Once swings are identified, the system uses them to construct a market structure framework. By comparing current swings with previous ones, it determines whether the market is forming:
Higher highs / higher lows → bullish structure
Lower highs / lower lows → bearish structure
This comparison allows the system to maintain a dynamic market bias, which updates only when specific structural conditions are met. The bias is not predicted—it is derived from confirmed price behavior.
🔹 3. Break Validation (BOS & CHoCH)
After establishing structure, the system monitors how price interacts with key levels:
If price breaks a level in the direction of the current bias, it is marked as a Break of Structure (BOS), indicating continuation.
If price breaks a level against the current bias, it is marked as a Change of Character (CHoCH), suggesting a potential transition.
These events are only recognized when price clearly crosses and confirms the level, which helps reduce false interpretations and ensures consistency.
🔹 4. Contextual Zone Detection (Order Blocks & FVG)
Once a structural event (BOS/CHoCH) occurs, the system identifies contextual zones around that movement:
Order Blocks are derived from the last opposing candles before a strong move, highlighting areas where price previously showed strong reaction.
Fair Value Gaps (FVGs) are detected when price moves quickly, leaving behind areas of imbalance.
These zones are not treated as guaranteed reaction points. Instead, they are presented as areas of interest, providing additional context for how price might behave if revisited.
🔹 5. Liquidity Interaction Monitoring
The system also evaluates liquidity behavior, specifically looking for scenarios where price moves beyond recent highs or lows and then rejects. These are marked as liquidity sweeps, which can indicate short-term shifts in order flow. This feature helps users observe how price interacts with commonly targeted levels, without assuming a fixed outcome.
🔹 6. Continuous Update & Object Management
StructureX continuously updates all elements in real time:
Active zones (OBs/FVGs) are extended forward until they are invalidated
Old or mitigated zones are removed to keep the chart clean
Structure levels are maintained and updated as new data forms
This ensures the chart reflects the current state of the market, not outdated conditions.
🔹 7. Visualization & User Interaction
All detected elements are displayed using lines, labels, boxes, and optional background coloring. The goal is to provide clear visual feedback without overwhelming the user. Additionally, customizable inputs allow users to adjust sensitivity and visibility based on their preferences, while alerts notify them of key structural events.
🔄 Real-Time Behavior Note
Because the system relies on confirmation-based logic, some elements (especially swings) require multiple candles to finalize. During live candle formation, temporary changes may occur, but the structure becomes more stable once conditions are confirmed. This behavior is normal and helps improve reliability by reducing noise.
🏁 Summary
👉
StructureX works by sequentially detecting swings, validating structure through break events, mapping contextual zones, and continuously updating the chart—providing a structured, rule-based interpretation of market behavior without relying on predictive assumptions.
📊 How It Is Used – StructureX
StructureX is used as a structured analysis tool, not as a standalone signal generator. Its purpose is to help users read market conditions step by step, so decisions are based on context and confirmation, rather than isolated signals or assumptions.
🔹 1. Start with Market Structure Context
The first step is to observe the overall market structure displayed by the system. By looking at how price is forming highs and lows, users can determine whether the market is:
Moving upward (bullish structure)
Moving downward (bearish structure)
Or transitioning between phases
This step provides a directional framework, helping users avoid taking decisions against the broader structure.
🔹 2. Wait for Structural Confirmation (BOS / CHoCH)
Instead of reacting immediately to price movement, StructureX is typically used by waiting for confirmed structural events:
BOS (Break of Structure): suggests continuation within the current direction
CHoCH (Change of Character): indicates a possible transition in structure
These events help users understand whether the market is maintaining its direction or potentially shifting. The key idea is confirmation before action, not anticipation.
🔹 3. Use Zones as Areas of Interest, Not Certainty
After a structural event, the system highlights zones such as:
Order Blocks
Fair Value Gaps (FVGs)
These are used as reference areas, where users observe how price reacts if it returns. They are not treated as guaranteed reversal or entry points. Instead, they provide contextual locations where additional confirmation may be considered.
🔹 4. Observe Liquidity Behavior
Liquidity sweeps are used to understand how price interacts with recent highs and lows. When price briefly moves beyond these levels and then rejects, it may indicate short-term shifts in behavior. Users typically combine this observation with structure and zones to build a more complete view, rather than relying on it alone.
🔹 5. Combine Multiple Factors (Confluence Approach)
StructureX is most effective when its components are used together:
Structure direction (trend context)
Break events (confirmation)
Zones (areas of interest)
Liquidity behavior (market reaction)
This confluence-based approach helps users avoid decisions based on a single factor and encourages a more balanced evaluation of market conditions.
🔹 6. Adapt Settings to Trading Style
The system includes adjustable inputs such as swing length, detection ranges, and visibility options. Users can modify these to suit different timeframes or preferences, making the tool flexible for various styles while maintaining the same underlying logic.
🔄 Real-Time Usage Note
Because the system uses confirmation-based logic:
Some elements require candle completion to finalize
Live candles may show temporary changes
More stable interpretation is typically achieved after confirmation
This is normal behavior and reflects the system’s focus on reducing noise rather than reacting instantly.
⚠️ Important Consideration
StructureX does not provide financial advice or guaranteed outcomes. It is designed to support analysis by offering a clear structural framework, while final decisions remain dependent on the user’s own judgment and risk management.
🏁 Summary
👉
StructureX is used by first identifying market structure, waiting for confirmed break events, and then observing how price reacts around key zones and liquidity areas—allowing decisions to be made within a structured, multi-factor framework rather than relying on isolated signals.
⚙️ Settings & Customization – StructureX
StructureX provides a high level of customization so users can adapt the indicator to different trading styles, timeframes, and sensitivity preferences. The goal of these settings is not to change the core logic, but to control how strictly or loosely the market structure is interpreted and displayed.
🔹 1. Structure Sensitivity (Swing Length Settings)
The most important setting is the swing lookback length, which controls how swing highs and lows are detected.
Lower values → more sensitive structure (more swings, faster reactions)
Higher values → smoother structure (fewer swings, stronger confirmation)
This setting directly affects how often the system identifies structural points. It allows users to balance between early detection and stability depending on their strategy.
🔹 2. Internal Structure Toggle
StructureX includes an optional internal structure layer.
When enabled → shows minor intraday structure inside the main trend
When disabled → only focuses on major market structure
This is useful for users who want either:
A clean, high-level view, or
A detailed micro-structure analysis
🔹 3. BOS & CHoCH Display Controls
Users can enable or disable:
Break of Structure (BOS) labels
Change of Character (CHoCH) labels
This helps in reducing chart clutter or focusing only on specific types of structural events. It allows traders to decide whether they want a full structural map or simplified trend view.
🔹 4. Order Block Customization
Order Blocks come with multiple configurable options:
Visibility toggle: show or hide OB zones
Mitigation type (Wick / Close): defines how price invalidates or interacts with zones
Maximum active OBs: controls how many zones remain on chart
Color customization: bullish and bearish zones can be visually differentiated
These settings help users manage chart clarity and zone relevance based on their trading approach.
🔹 5. Fair Value Gap (FVG) Settings
FVG module can also be customized:
Filter options (Bullish, Bearish, or All)
Maximum number of active FVG zones
Color and transparency control
This allows users to focus only on specific imbalance types or keep full visibility depending on their analysis style.
🔹 6. Liquidity Sweep Sensitivity
Liquidity detection includes a lookback range setting, which defines how far back the system searches for key highs and lows.
Smaller range → more reactive, short-term liquidity detection
Larger range → broader, higher-timeframe liquidity focus
This helps users align liquidity analysis with their preferred trading horizon.
🔹 7. Visual Customization
StructureX provides full visual control:
Bullish and bearish structure colors
Line thickness for structure markings
Swing point visibility (HH, HL, LH, LL labels)
Trend background opacity
These settings are designed to improve readability without changing logic, allowing users to create a clean or detailed chart environment.
🔹 8. Alert Configuration
Users can enable alerts for key structural events:
BOS alerts
CHoCH alerts
Liquidity sweep alerts
This allows passive monitoring of market structure without constantly watching the chart. Alerts are based on confirmed conditions, not premature signals.
🔄 Customization Philosophy
All settings in StructureX follow a single principle:
👉 Flexibility in visualization and sensitivity, without altering the core structural logic.
This ensures that no matter how settings are adjusted, the underlying market structure interpretation remains consistent and rule-based.
🏁 Summary
👉
StructureX customization allows users to control sensitivity, structure detail level, zone visibility, and visual presentation, enabling adaptation to different trading styles while keeping the core market structure logic unchanged and consistent.
🔗 Mashup (Combined System) – StructureX
The Mashup system in StructureX refers to the way multiple independent market concepts are combined into one unified framework. Instead of treating each element separately (like structure, liquidity, order blocks, and gaps), the system merges them into a single logic flow where every component supports the other.
The main idea is not to create extra signals, but to build a multi-layer confirmation environment where market context becomes clearer and more structured.
🧠 1. Core Idea of the Mashup System
At its core, the mashup system works on this principle:
👉 “One market event = multiple confirmations across different structures.”
Instead of reacting to a single condition, StructureX combines:
Market Structure (trend direction)
Break events (BOS / CHoCH)
Liquidity behavior (sweeps)
Inefficiency zones (FVGs)
Reaction zones (Order Blocks)
Each element contributes a different perspective of the same price movement.
🔄 2. How the Combination Works
When price moves, the system does not treat it as one isolated event. Instead:
A structural break may trigger detection
That same move is checked for liquidity interaction
Then the system maps order blocks or gaps created by that move
So a single price impulse becomes a multi-layer mapped structure, where every layer explains a different part of the same movement.
This creates a more complete interpretation of market behavior.
📊 3. Layered Confirmation Logic
The mashup system follows a layered validation approach:
🔹 Layer 1 – Structure Context
Defines whether market is bullish, bearish, or transitioning.
🔹 Layer 2 – Break Confirmation
Checks if structure has been continued or shifted (BOS / CHoCH).
🔹 Layer 3 – Liquidity Interaction
Observes whether price has swept key highs/lows.
🔹 Layer 4 – Zone Formation
Identifies where imbalances or institutional interest may exist (OB / FVG).
👉 Only when multiple layers align, the market context becomes stronger and more meaningful.
⚙️ 4. Why Mashup System Is Important
Without mashup logic, analysis becomes fragmented:
Structure alone = incomplete context
Zones alone = unconfirmed areas
Liquidity alone = short-term signal
But when combined:
👉 You get context + confirmation + reaction zones in one framework
This reduces randomness in interpretation and helps create a structured decision environment.
🔄 5. Dynamic Interaction Between Components
The important part of mashup design is that all modules are interconnected but independent:
Structure influences BOS/CHoCH logic
BOS/CHoCH triggers OB and FVG detection
Liquidity sweeps provide additional context to breaks
Zones remain active until mitigated or invalidated
So the system behaves like a continuous loop, where each new candle updates multiple layers at once.
⚠️ 6. Non-Predictive Nature
Even though multiple confirmations exist, the mashup system:
Does NOT guarantee direction
Does NOT predict exact reversals
Works only on current and historical structure interpretation
All outputs are based on confirmed price action, not assumptions.
🏁 Summary
👉
The Mashup system in StructureX combines market structure, break events, liquidity behavior, and imbalance zones into a single layered framework, where each component confirms and supports the others to create a more structured and contextual market view instead of isolated signals.
⚠️ Repainting / Real-Time Behavior –
StructureX uses a pivot-based swing detection and structure logic that depends on a lookback system. This means the system does not evaluate the current candle in isolation, but instead compares it with surrounding candles within a defined range.
🔶 Pivot-Based Swing Detection & Confirmation Delay
StructureX uses a pivot-based swing detection system, which means it does not identify market swings instantly from a single candle. Instead, it compares a candle with surrounding candles within a defined lookback range. Because of this design, a swing high or swing low is only confirmed after enough candles have formed on both sides. This introduces a natural delay in confirmation, but it helps ensure that only meaningful and structurally valid swing points are used in analysis.
🔶 Structure Break Confirmation (BOS / CHoCH Logic)
In addition to swing detection, structure breaks such as Break of Structure (BOS) and Change of Character (CHoCH) are confirmed based on candle close conditions. This means the system does not rely on intrabar price movement. During an active candle, price can move up and down, temporarily crossing levels and creating changing visual signals. However, these are not final confirmations. The actual signal is only considered valid once the candle closes and the condition is fully met.
🔶 Real-Time Candle Fluctuation Behavior
Because of this behavior, the indicator may show temporary fluctuations in real time while the candle is still forming. Swing levels, structure breaks, and related markings can adjust during this phase as new price data comes in. This is a normal part of live market processing and does not represent a final or confirmed signal.
🔶 Non-Repainting Clarification
It is important to understand that this system is not repainting in the classical sense. Once a candle is closed and a signal is confirmed, it does not change retroactively. The only adjustments occur during live candle formation, where the market is still developing and incomplete data is being processed.
🔶 Design Purpose & Final Behavior
Overall, this design prioritizes accuracy and structural stability over instant signals. The slight delay and live updates are intentional features that help reduce noise and improve the reliability of the final confirmed market structure interpretation.
🏁 Final Note – StructureX
StructureX is designed as a structured market analysis framework that focuses on reading price action through clear rules rather than assumptions or predictions. Its main purpose is to convert raw and often noisy market movement into a clean structural map, where trends, breaks, and key zones can be understood in a more organized way.
The system works entirely on rule-based logic, meaning every output is generated from predefined conditions such as swing detection, structural breaks, and price interaction with key levels. Because of this, the indicator does not rely on subjective interpretation or random signals, but instead follows a consistent mathematical and structural process based on historical and real-time price data.
It is also important to understand that StructureX is confirmation-driven rather than prediction-driven. Signals like BOS, CHoCH, order blocks, and liquidity sweeps are only considered valid when price action confirms them through specific conditions, especially candle close. This ensures that the information provided reflects actual market behavior rather than temporary fluctuations during candle formation.
Due to its pivot-based and confirmation-based design, the system may show slight delays or temporary changes while candles are still forming. However, once a candle closes and conditions are confirmed, the structure becomes stable and does not change retroactively. This behavior is intentional, as it helps reduce noise and improves the reliability of the final market structure interpretation.
Overall, StructureX should be understood as a decision-support tool, not a predictive system. It helps users analyze market context in a more disciplined and structured way, combining multiple layers of price action into one framework. The effectiveness of the system depends on how well the user understands structure, context, and confirmation, rather than expecting fixed outcomes or guaranteed results.
⚠️ Disclaimer – StructureX
StructureX – Market Structure & Liquidity Engine is developed strictly for educational and informational purposes only. It is designed to help users understand and analyze market structure, price behavior, and liquidity concepts in a more organized way. The indicator does not provide financial advice, investment recommendations, or trading signals that guarantee any specific outcome.
All information displayed by this tool is based on historical and real-time market data processing, including swing detection, structural breaks, and liquidity-related zones. While these elements can assist in understanding market context, they do not predict future price movements with certainty. Markets are inherently volatile and influenced by many unpredictable factors.
Trading and investing in financial markets involve significant risk of loss. Users should not rely solely on this tool for making trading decisions. It is strongly recommended to use proper risk management, independent analysis, and, if needed, consult with a qualified financial advisor before engaging in any trading activity.
Because StructureX uses pivot-based and confirmation-based logic, some signals may appear with slight delay or may adjust during live candle formation. This is a normal characteristic of structure-based analysis tools and should not be interpreted as guaranteed accuracy or real-time certainty.
By using this indicator, you acknowledge that all trading decisions are made at your own risk, and the developer is not responsible for any financial gains or losses resulting from its use. Indicator

Meridian Liquidity Ledger [JOAT]Meridian Liquidity Ledger
Introduction
Meridian Liquidity Ledger is an open-source Pine Script v6 indicator that maps directional liquidity shelves across a rolling price window. It separates buy-side and sell-side volume concentration, ranks shelves by relative participation strength, extends the most relevant levels through the chart, and summarizes the current liquidity ledger in an institutional-style dashboard.
The problem this indicator solves is density. A standard volume profile can show where volume accumulated, but it often does not express directional participation clearly enough for traders who want to know whether the market built more inventory above or below a reference anchor. Meridian Liquidity Ledger addresses that by classifying shelves relative to an adaptive reference price and showing whether each shelf behaves more like a buy shelf or a sell shelf.
The script is intended for traders who think in terms of inventory, acceptance, and liquidity stacking. It does not try to replace execution logic. It provides a map of where volume concentrated across the rolling ledger window, where the point of control sits, how dominant the buy-side and sell-side shares are, and how far price has stretched from the anchor and point of control in ATR terms.
Because the heavy rendering happens only on the last visible bar, the indicator aims to deliver rich visual output without turning into an unreadable chart wall. Historical shelf zones, profile bars, dotted spines, the point of control extension, and the dashboard all work together to make the liquidity map readable rather than overwhelming.
Core Concepts
1. Adaptive Reference Price
At the center of the ledger is a reference engine built from an EMA and a deviation adjustment. The script can use a plain EMA reference or a slight adaptive band depending on the user setting.
float emaRef = ta.ema(close, referenceLength)
float rangeDev = ta.stdev(close, deviationLength) * referenceBias
float synthetic = close >= emaRef ? emaRef - rangeDev * 0.20 : emaRef + rangeDev * 0.20
This reference acts as the ledger divider. Shelves above the reference are treated as sell-side inventory zones. Shelves below the reference are treated as buy-side inventory zones.
2. Rolling Price-Volume Binning
The script scans a configurable lookback window, divides the full price range into bins, and accumulates total, buy-side, and sell-side volume in each bin. This creates the ledger foundation.
Instead of looking only at price touches, the indicator asks where actual traded volume concentrated across the window. That gives each shelf more meaning than a simple horizontal line.
3. Shelf Strength Ranking
Each bin’s relative strength is measured as a percentage of the maximum bin volume in the window. Only shelves above the minimum strength threshold are rendered. That keeps weak background noise from cluttering the chart.
This is important because the point of the ledger is not to show every possible micro shelf. It is to show the shelves that stood out meaningfully within the chosen lookback.
4. Shelf History And Spine Extension
For each active shelf, the script estimates how far left the midpoint price was last crossed, then draws a historical zone, a profile bar on the right, and an optional dotted spine through the shelf midpoint. This creates both historical and forward reference in a single visual package.
The effect is similar to having a compressed split-profile, a shelf map, and a point-of-interest extension all in one indicator.
5. Point Of Control And Ledger Balance
The point of control is the strongest single shelf in the active ledger. The script can extend that level to the right and label it. At the same time, the dashboard tracks buy share, sell share, total imbalance, top-shelf concentration, and ATR distance to both the reference and the point of control.
This makes the ledger useful not just visually but quantitatively.
Features
Directional liquidity shelves: Separates bins into buy-side and sell-side inventory relative to the reference anchor
Adaptive reference engine: Uses EMA and deviation bias to frame the ledger around a contextual central price
Rolling volume ledger: Accumulates total, buy, and sell participation across a user-defined window
Shelf strength filter: Displays only bins strong enough to matter
Historical shelf zones: Shows where active shelves projected through the recent chart history
Profile bars on the right edge: Renders compact shelf bars for immediate strength comparison
Shelf spines: Optional dotted lines extend each shelf midpoint through the chart
Point-of-control extension: Marks and extends the strongest shelf in the current ledger
Institutional dashboard: Displays buy share, sell share, imbalance, POC, concentration, shelf count, and ATR distance metrics
Confirmed-bar alerts: Includes buy dominance, sell dominance, and anchor stretch conditions
Visual Elements
Historical shelf zones: These show where strong bins projected back through the active ledger window
Right-edge profile bars: Compact bars make it easy to compare shelf strength without reading every label
Shelf spines: Optional dotted midpoint lines extend the key shelf levels through the chart
Anchor bands: Inner and outer reference bands help frame whether price is balanced or stretched
POC label and extension: The strongest shelf remains visible as the primary ledger reference
Best Practices
Use the ledger to frame where inventory is concentrated before applying your own execution logic
Watch the relationship between price, the anchor, and the point of control to judge balance versus stretch
Favor shelves that remain visually dominant even as the rolling window updates
Remember that shelf color and position are contextual to the current anchor, not absolute predictions of support or resistance
Use the buy-share and sell-share readings to understand ledger skew before reacting to a single shelf in isolation
Input Parameters
Ledger Window:
Lookback Bars: Sets the rolling history used to build the ledger
Bin Count: Controls the price segmentation granularity
Profile Width: Controls the maximum width of the profile bars on the right
Shelf Padding: Adjusts the spacing between price and the right-edge profile
Reference Engine:
Reference EMA Length: Sets the central EMA anchor
Deviation Length: Controls the standard-deviation calculation for adaptive biasing
Reference Bias: Scales the adaptive offset around the EMA
Use Adaptive Anchor Band: Chooses between the synthetic anchor and plain EMA reference
Shelf Filters And Display:
Minimum Shelf Strength %: Removes shelves below the selected threshold
Show Historical Shelf Zones: Toggles the historical box layer
Extend Point Of Control: Projects the strongest shelf forward
Show Shelf Spines: Enables midpoint extension lines
Show Dashboard: Enables the top-right ledger panel
How to Use This Indicator
Step 1: Start With Buy Share, Sell Share, And Imbalance
The dashboard tells you how the rolling ledger is currently distributed. If buy share dominates, the ledger is skewed below or through the anchor in a way that favors buy-side participation. If sell share dominates, the opposite is true.
Step 2: Locate The Point Of Control
Find the extended POC line. This is the strongest shelf in the current window. It often acts as the most important reference price when judging whether the market is balanced, stretched, or returning to its highest concentration zone.
Step 3: Compare Price To The Reference Anchor
The reference and its surrounding bands tell you whether price is trading above, below, or far away from the ledger center. This is useful for deciding whether the market is exploring beyond inventory or still trading within its main concentration zone.
Step 4: Focus On The Strongest Shelves
The most useful shelves are usually the ones with the greatest width, clearest labels, and strongest color intensity. Those are the bins where the rolling window concentrated the most inventory.
Step 5: Use The Ledger As A Context Map
Meridian Liquidity Ledger is best used as a map of where liquidity stacked and how it is distributed. Pair it with your own entry logic rather than treating any single shelf as an automatic trade signal.
Indicator Limitations
The ledger is rolling-window dependent, so shelf hierarchy can change as older bars leave the calculation window
A strong shelf does not guarantee support or resistance will hold on the next interaction
Directional buy and sell classification is based on bar-level bullish versus bearish volume attribution, which is an approximation rather than true order-flow data
On illiquid symbols or very small windows, shelf concentration can become unstable and less informative
Originality Statement
Meridian Liquidity Ledger is original in the way it turns a rolling bin-based volume map into a directional liquidity shelf system with adaptive anchoring. It is not a generic profile overlay:
It separates buy-side and sell-side participation relative to an adaptive reference rather than showing only total profile mass
It combines historical shelf zones, right-edge shelf bars, shelf spines, and POC extension in one integrated view
It frames liquidity through dashboard metrics such as imbalance, concentration, and ATR stretch rather than pure histogram display
It creates a practical shelf map for context instead of relying on a single profile style or one static reference
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Liquidity shelves and point-of-control levels are descriptive references built from rolling historical data. They do not guarantee future support, resistance, or directional continuation. Always use independent judgment and proper risk management.
-Made with passion by jackofalltrades
Indicator

Session Raid StatsThis indicator combines two ideas into one tool: it plots fixed-point projection levels above and below up to three configurable session ranges, and it tracks a **raid statistics table** that measures how often price breaks beyond each of those levels and closes back inside the range — a confirmed "raid" — across hundreds of historical sessions.
The result is a probability-based view of where price tends to reach and reverse after a session closes, expressed as a percentage drawn from real historical data on your current chart and timeframe.
---
**What is a Raid?**
A raid occurs when price breaks beyond a session's high or low by at least a user-defined minimum amount, then closes back inside the range. This is distinct from a simple breakout — a raid requires the close to return, confirming the move was a liquidity sweep rather than a sustained break.
The indicator tracks raids separately for the high side (upward sweeps above the range high) and the low side (downward sweeps below the range low).
---
**Features**
- Up to **3 independent session ranges**, each with configurable time windows (in NY timezone)
- **Range boxes** drawn during the session using wick high/low
- **Projection lines** drawn at fixed-point intervals beyond the range high and low when the session closes — all three ranges share the same level configuration so the lines are directly comparable
- **Raid detection** begins the moment each session range closes and runs for a user-configurable cutoff window
- **Raid statistics table** showing cumulative confirmed raid counts and probabilities at each level, for both the high and low side, for all three ranges
- **Cutoff line** drawn on the chart when each range's detection window expires, with configurable colour, style and label size
- Title row of each table panel is colour-matched to that range's box colour for instant visual identification
---
**How the Levels Work**
All projection lines and statistics table rows are driven by a single pair of inputs: **Level Start** and **Level Step**. If you set Level Start to 20pts and Level Step to 10pts, the six levels will be placed at 20, 30, 40, 50, 60 and 70 points beyond the range high and low. The same thresholds define the bucket boundaries in the statistics table — so the "≥ 20 pts" row in the table directly corresponds to the "+20pts" line on the chart.
This means the table is answering a precise question: *"Of all historical sessions on this chart, what percentage had a confirmed high-side raid that reached at least the +20pts line?"*
---
**Statistics Table — How to Read It**
The table shows one panel per range (or just the active range if "Show All 3 Panels" is turned off). Each panel contains:
| Column | Meaning |
|---|---|
| **Level** | The point threshold beyond the range high/low |
| **^ Cnt** | Number of historical sessions with a confirmed high-side raid reaching at least this level |
| **^ Prob** | That count as a percentage of total sessions tracked |
| **v Cnt** | Same for low-side raids |
| **v Prob** | Low-side probability |
The probabilities are **cumulative** — the "≥ 20pts" row counts all sessions where the confirmed raid reached *at least* 20pts beyond the range, including any that went further. This means probabilities always decrease as you move down the table to higher levels.
A **→** arrow next to a level indicates the current session's confirmed raid has been sized into that bucket.
The **STATUS** row at the bottom shows the live state of the current session:
- **WATCHING** — range has closed, cutoff window is open, no raid confirmed yet
- **CONFIRMED** — a raid has been confirmed this session, with the extension in points shown
- **WINDOW CLOSED** — the cutoff window has expired without a confirmation
The title row of each panel shows the session time string and total number of historical sessions used for the statistics.
---
**Raid Detection Logic**
Detection begins on the first bar after the session range closes and continues until the cutoff window expires:
1. A **touch** is registered when price wicks beyond the range high or low by more than the minimum raid size (configurable per range)
2. A **confirmation** is registered when, after a touch, price closes back inside the range
3. At the moment the cutoff window expires, the session is recorded — confirmed raids are bucketed by their extension size, sessions without a confirmation are recorded as no-raid and counted toward the denominator
Raids that touch outside the range but never close back inside are not recorded as confirmed raids, but they do count toward the session total used to calculate probabilities.
---
**Settings**
**Range Extension / Raid Levels** *(shared across all ranges)*
- **Level Start (pts)** — distance in points of the first level beyond the range high/low. This becomes the first line on the chart and the first row in the table.
- **Level Step (pts)** — distance between each subsequent level. With Start=20 and Step=10, levels are at 20, 30, 40, 50, 60, 70pts.
- **Level 1–6** — enable/disable individual levels. Disabling a level removes both the chart line and the corresponding table row.
**Range 1 / 2 / 3 Settings** *(per range)*
- **Session** — the time window in NY timezone (e.g. `0200-0215` for 2:00–2:15am ET). The range high and low are built from the wicks during this window.
- **Show Range Extension Lines** — toggle the projection lines on/off for this range
- **Show Range Box** — toggle the session range box on/off
- **Box colour** — colour of the range box (also tints the table title row for this range)
- **Line colour / Line style** — appearance of the projection lines
**Range 1 / 2 / 3 — Raid Detection** *(per range)*
- **Min Raid Size (pts)** — minimum distance price must wick beyond the range before a touch is registered. Filters out minor noise near the range boundary. Set this to match a reasonable minimum for the volatility of the session you are analysing.
- **Cutoff (mins after range close)** — how many minutes after the session closes the indicator will continue watching for raids. Set to 0 to watch indefinitely until the next session start. A cutoff line is drawn on the chart when this window expires.
**Raid Statistics — Table**
- **Position** — where the table appears on the chart
- **Text Size** — size of table text
- **Show All 3 Panels** — when on, all three range panels are shown side by side. When off, only the most recently active range is shown.
- **Max Historical Sessions** — caps the number of sessions used to build the statistics. Higher values give more statistically robust numbers; lower values weight recent history more heavily.
**Cutoff Line Display**
- **Cutoff Label Size / Colour** — appearance of the "R1 cutoff" label drawn on the chart
- **Cutoff Line Colour / Style** — appearance of the vertical dashed line drawn when the cutoff window expires
---
**Usage Notes**
- The indicator works on any **intraday timeframe**. The statistics accumulate over the chart history loaded by PulseWire — longer histories and lower timeframes generally produce more sessions and more reliable probabilities. For sessions shorter than 30 minutes, a 1–5 minute chart is recommended.
- The session times are evaluated in the **America/New_York timezone** regardless of your chart's timezone setting.
- Statistics reset if you change the session times or the level configuration, as the historical data will no longer match the current settings.
- For futures markets with overnight sessions (e.g. NQ, ES), set the session window to match the specific range period you want to analyse — for example the London open range, the Asia session high/low, or the NY open range.
- The **minimum raid size** should be calibrated to the instrument's typical noise level near range boundaries. Too low a value will register false touches on every minor wick; too high will miss genuine raids. A starting point is roughly half the average range size.
---
**Disclaimer**
This indicator is a statistical tool based on historical price data. Past probabilities do not guarantee future outcomes. It is intended as a research aid and does not constitute financial advice.
---
Indicator

Indicator

Auction Structure Ledger [JOAT]Auction Structure Ledger
Introduction
Auction Structure Ledger is an open-source Pine Script v6 indicator that transforms confirmed pivot behavior into structured auction zones. Instead of treating every swing high and swing low as equally important, the script looks for clustered defended pivots, measures how much volume-confluence exists at those prices, and converts the result into support and resistance shelves that persist, update, and eventually retire as price accepts or fails them.
The problem this indicator solves is structural ambiguity. Many charts contain repeated pivot noise that does not deserve equal visual weight. A single swing high does not automatically represent meaningful supply, and a single swing low does not automatically represent meaningful demand. Auction Structure Ledger filters pivot activity through clustering logic and local volume-confluence so the chart emphasizes defended areas where auction acceptance and rejection are more likely to matter.
The script is useful for traders who think in terms of accumulation, distribution, acceptance, and failure. It does not attempt to forecast the future from one oscillator reading. It organizes the chart around defended reference zones, tracks how price behaves around them, and summarizes the current auction state in a way that can support discretionary analysis or other rule-based systems.
Because it combines pivot clustering with a volume-confluence layer, the indicator is not simply painting boxes around old highs and lows. It is trying to identify where the market repeatedly acknowledged a price region and whether that region still behaves as support or resistance.
Core Concepts
1. Pivot Confirmation And Structural Timing
The script uses `ta.pivothigh()` and `ta.pivotlow()` to confirm swing highs and lows with a symmetric lookback. This means zones are only created after the pivot is actually confirmed, which avoids the false certainty that comes from drawing structure before the right-side bars exist.
float pivotHigh = ta.pivothigh(high, pivotLength, pivotLength)
float pivotLow = ta.pivotlow(low, pivotLength, pivotLength)
This is deliberate non-repainting behavior. The structure appears later than the original pivot candle, but it appears only after the market has confirmed the swing.
2. Clustered Defense Rather Than Single-Pivot Noise
Once a pivot appears, the script scans a configurable cluster window to count how many nearby pivots formed within an ATR-based tolerance. That cluster count becomes part of the zone’s strength score.
This is what gives the ledger its auction logic. A zone becomes more meaningful when the market keeps defending the same approximate level rather than printing a one-off pivot and moving on.
3. Volume-Confluence Layer
The script builds a rolling volume distribution across the current price window and checks how much of that distribution sits at the pivot price. That reading is normalized into a confluence percentage.
In practice, this means a clustered pivot with low local volume-confluence is treated differently from a clustered pivot that sits in a high-activity price region. The first may represent weak structure. The second may represent a more meaningful auction shelf.
4. Support And Resistance Shelf Construction
When a pivot passes the cluster criteria, the script creates a zone with ATR-based width. Resistance shelves are built above price with an offered profile. Support shelves are built below price with a bid profile. Each shelf contains a body, a spine line through the midpoint, and an information label summarizing the zone.
The shelf width is not arbitrary. It scales with ATR so zones remain proportionate across different volatility conditions and instruments.
5. Acceptance And Failure Tracking
After a zone is created, the script continues monitoring it. If price trades within the zone and remains inside it, the shelf is counted as accepted. If price closes through the invalidation side of the shelf, it is counted as failed and eventually removed after a short lifecycle buffer.
That behavior matters because the market is not static. A valid shelf today can become irrelevant after repeated acceptance or a decisive failure.
Features
Cluster-confirmed auction shelves: Builds zones only when pivots cluster within an ATR-based tolerance
Support and resistance separation: Maintains bid-side and offered-side structure independently
Volume-confluence scoring: Measures how much rolling price-volume concentration supports each shelf
ATR-scaled zone width: Keeps shelf geometry adaptive to volatility instead of fixed-width boxes
Acceptance and failure tracking: Continues scoring shelves after creation as price interacts with them
Confluence ribbon: Displays whether current price is trading in a high-confluence region of the rolling ledger
Nearest distance metrics: Shows the ATR distance to the closest active support and resistance shelves
Institutional dashboard: Summarizes support count, resistance count, acceptance rate, failure rate, bias, and strongest zone
Confirmed-bar alert set: Includes bullish ledger, bearish ledger, fresh support, and fresh resistance alerts
Data-window outputs: Exposes structure counts and confluence values for additional interpretation
Visual Elements
Auction shelves: Each zone is rendered as a structured body rather than a simple line so the user can read width and tolerance clearly
Shelf spine: A dotted midpoint line marks the internal balance area of each shelf
Confluence ribbon: The ribbon around price shows whether the current location overlaps with strong rolling confluence
Responsive color logic: Support, resistance, touched, and failed states each alter the way the shelf is displayed
Compact info labels: Each zone carries its own context label so the chart remains interpretable without opening settings
Best Practices
Give more weight to shelves that combine both repeated pivot defense and strong volume-confluence
Watch how price behaves on the first return to a new shelf before assuming the level is strong
Treat accepted zones and failed zones differently because they tell very different auction stories
Use nearest support and resistance ATR distances to understand whether price is extended or structurally balanced
Combine the ledger with your own trigger logic rather than assuming shelf presence alone is a complete trade plan
Input Parameters
Structure Engine:
Pivot Length: Sets how many bars are required on each side of a pivot to confirm it
ATR Length: Controls the volatility measure used for zone sizing and tolerance logic
Shelf ATR Width: Sets the width of each auction shelf relative to ATR
Cluster Window: Defines how far back the script scans for repeated nearby pivots
Cluster ATR Tolerance: Determines how close pivots must be to count as the same structural cluster
Volume Confluence:
Volume Window: Sets the rolling price-volume study range
Volume Bins: Controls the granularity of the confluence distribution
Confluence Strength Threshold: Defines when the ribbon should represent strong price-volume overlap
Show Confluence Ribbon: Toggles the contextual ribbon around price
Display:
Show Dashboard: Enables the top-right structural summary
Color inputs: Allow independent styling for support, resistance, neutral, and panel colors
How to Use This Indicator
Step 1: Start With The Bias Row
The dashboard summarizes whether active support shelves outnumber resistance shelves, whether the market is balanced, and how strong the current ledger looks. This gives immediate context before focusing on individual zones.
Step 2: Identify The Strongest Active Shelf
Check the strongest zone reading and visually locate the shelf with the most emphasis. This is often the most useful structural reference when price approaches an auction boundary.
Step 3: Watch Acceptance Versus Failure
Acceptance means price is interacting with the zone without invalidating it. Failure means price has moved through the wrong side of the shelf. A high failure rate weakens the reliability of the current ledger.
Step 4: Use The Nearest ATR Distances
The dashboard shows the ATR distance to the nearest support and resistance shelves. That helps frame whether price is sitting directly on a structure reference or is trading between meaningful levels.
Step 5: Combine With Your Own Execution Model
Auction Structure Ledger is most useful as a context layer. It defines where defended structure exists. It does not decide entries or exits for you. Use the zones to frame reactions, continuation decisions, or risk placement inside your own process.
Indicator Limitations
Pivot-based structure is inherently delayed because the script waits for right-side confirmation before creating a shelf
A clustered pivot region can still fail immediately if broader market flow overwhelms the local auction structure
Rolling volume-confluence is context-dependent and can shift as the lookback window evolves
Zones are analytical references, not guarantees that support or resistance will hold on the next test
Originality Statement
Auction Structure Ledger is original in the way it turns clustered pivot defense and rolling volume-confluence into a persistent auction map. This is more than a standard support and resistance overlay:
It requires repeated pivot behavior before treating a level as meaningful structure
It combines cluster count and volume-confluence into a unified strength score for each shelf
It tracks acceptance and failure after creation so zones remain part of a living ledger rather than a static drawing layer
It presents the structure through a bias dashboard and confluence ribbon that helps translate zone behavior into usable chart context
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Support and resistance shelves represent historical auction behavior, not guaranteed future turning points. Markets can accept, reject, or ignore any level without warning. Always use independent judgment and appropriate risk management.
-Made with passion by jackofalltrades
Indicator

Indicator

Indicator

Liquidity Pool Detector [EXCAVO]Equal High/Low Cluster Detection with Sweep Identification and Period Reference Levels
The Liquidity Pool Detector identifies where resting orders accumulate near swing
levels by detecting equal highs and equal lows using swing pivot analysis with ATR-based
tolerance. When price wicks through a cluster level and closes back inside, the indicator
marks a sweep - the moment orders at that level were filled and price reversed direction.
This is not a basic pivot-high/low indicator. The cluster-merging logic groups nearby
pivots into unified levels with touch counts, and the sweep filter distinguishes between
a genuine zone test and a breakout continuation.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW TO USE
Step 1 → Add the indicator to the price chart. Red solid lines appear above
price (equal highs clusters) and blue solid lines appear below price
(equal lows clusters). Previous day and week H/L reference levels
appear as slightly thicker dotted lines.
Step 2 → Watch for sweep markers. "Highs Swept" appears on a bar where price
wicked above an equal-highs cluster and closed back below it. "Lows
Swept" appears below a bar where price wicked below equal lows and
closed above. These bars indicate price tested and reversed from a cluster level.
Step 3 → Read the touch count on each cluster label. "Highs ×3" means three
swing highs formed at approximately the same level - a stronger cluster
with a stronger level formed by more historical touches.
Step 4 → Check the dashboard. Dist to High and Dist to Low show how many ATR
units separate current price from the nearest cluster above and below.
Values below 1.0 ATR highlight in orange - price is close to a level.
Nearest High and Nearest Low show the exact price of those levels.
Step 5 → Set up sweep alerts to receive notifications on bar close when a
cluster level is tested and rejected. Use JSON Alerts for bot integration.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW IT CALCULATES
◆ Swing Pivot Detection
The indicator uses ta.pivothigh() and ta.pivotlow() with a configurable Swing Length
(default 3). A pivot high is confirmed when the bar's high is the highest point among
the surrounding N bars on each side - requiring N bars to the left and N bars to the
right, so detection occurs N bars after the actual pivot forms. This lag ensures the
pivot is fully confirmed and the value never changes after the bar closes. Lower Swing
Length values (2-3) suit intraday timeframes; higher values (5) suit daily charts.
◆ Cluster Merging (ATR Tolerance)
When a new confirmed pivot is detected, the indicator compares it against all existing
clusters of the same type. If the distance between the new pivot and an existing cluster
level is within the Equal Tolerance threshold (default 0.5 x ATR), the pivots are merged:
the cluster level is updated to the weighted average of all touches, and the touch count
increments. If no nearby cluster exists and the cluster limit has not been reached, a new
cluster is created at that price level. This approach prevents visual noise from minor
price variations between otherwise equal levels.
◆ Sweep Detection
On each confirmed bar close, every active cluster is checked against two conditions.
For equal-highs clusters: if the bar's high exceeded the cluster level AND the close is
below the cluster level, a sweep is registered - price moved through the zone of resting
orders and reversed. For equal-lows clusters: if the bar's low was below the cluster level
AND the close is above it, a sweep is registered. A close through the level without
reversal (close >= highs cluster, or close <= lows cluster) is treated as a breakout:
the cluster is invalidated and removed without a sweep marker.
◆ Period Reference Levels
Previous Day High/Low and Previous Week High/Low are fetched using request.security()
with a confirmed-bar offset (high / low with barmerge.lookahead_on). These levels
are included in the Nearest High and Nearest Low dashboard calculations alongside the
detected equal-high/low clusters.
◆ Non-Repainting Design
All cluster additions, sweep detections, and invalidations are gated on
barstate.isconfirmed. No cluster is created and no sweep marker is placed until the bar
closes. Pivot detection uses a right-bar offset that confirms the pivot on a fully closed
bar. No value changes after a bar is confirmed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ WHAT MAKES IT DIFFERENT
◆ ATR-Based Cluster Tolerance
Most equal-high/low detectors use a fixed pip or percentage threshold that fails across
different instruments and timeframes. Using ATR as the tolerance baseline means the same
settings work on BTCUSD hourly (high ATR) and EURUSD daily (low ATR) without manual
recalibration. The tolerance adapts to current market conditions automatically.
◆ Cluster Merging with Touch Count
Instead of drawing a separate line for every swing pivot, nearby pivots are merged into a
single cluster with an incrementing touch count. A cluster labeled "Highs ×3" represents
three independent swing highs at the same level - a significantly stronger zone than a
single untested level. The line and label update in place as new touches are added.
◆ Sweep vs Breakout Distinction
The indicator explicitly separates sweep bars (wick through, close back inside) from
breakout bars (close through the level). A sweep generates a "Highs Swept" or "Lows
Swept" marker and an alert. A breakout silently removes the cluster. This distinction
matters: sweeps are potential reversal setups; breakouts confirm continuation.
◆ Period Levels as Part of the Analysis
Previous Day and Week H/L are integrated into the same framework as the equal-high/low
clusters. They appear in the Nearest High/Low dashboard calculation and use the same color
scheme as cluster lines, making them immediately readable alongside the dynamically
detected clusters.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ DASHBOARD
Compact panel showing current conditions:
Dist to High - distance from current price to nearest cluster above, in ATR units; turns orange below 1.0 ATR
Dist to Low - distance from current price to nearest cluster below, in ATR units; turns orange below 1.0 ATR
Nearest High - exact price of the closest active cluster or period level above
Nearest Low - exact price of the closest active cluster or period level below
Last Sweep - most recent sweep type: Highs Swept, Lows Swept, or - (none)
Swing - active swing length parameter
Legend table (bottom left) explains cluster lines, period levels, and sweep markers.
Both panels toggle in Dashboard settings.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ SETTINGS
Detection
Swing Length - 3 bars (pivot confirmation window left and right; use 2-3 for intraday, 5 for daily)
Equal Tolerance (x ATR) - 0.5 (cluster merge radius as ATR multiple)
Max Clusters - 10 (maximum active clusters tracked per direction)
Max Display Distance (x ATR) - 5.0 (clusters beyond this ATR distance from price are hidden; detection continues)
Period Levels
Show Prev Day H/L - ON (previous day high and low reference lines)
Show Prev Week H/L - ON (previous week high and low reference lines)
Visualization
Bull Color - default blue (equal-lows clusters and lows-swept markers)
Bear Color - default red (equal-highs clusters and highs-swept markers)
Sweep Color - default orange (sweep marker labels)
Show Sweep Markers - ON (labeled markers on sweep bars)
Background Highlight - OFF (subtle tint when price is within one ATR of nearest cluster)
Alerts
JSON Alerts - OFF (enable for bot integration)
Dashboard
Dashboard Position - Top Right
Show Dashboard - ON
Show Legend - ON
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ ALERTS
Highs Swept - price wicked above equal-highs cluster and closed below on bar close
Lows Swept - price wicked below equal-lows cluster and closed above on bar close
Any Sweep - any cluster level tested and rejected on bar close
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best regards,
EXCAVO
Disclaimer
Trading involves significant risk. This indicator is a technical analysis tool
and does not constitute financial advice, investment recommendations, or a
guarantee of future results. Past indicator behavior does not guarantee future
performance. Always use proper risk management and your own judgment.
Indicator

$SPX / $SPY / $QQQ BullFlow 5/5 Plan5/5 Script for SP:SPX , NASDAQ:QQQ , $SPY.
I classified flow this way:
Call Ask / Above Ask = bullish
Put Bid / Below Bid = bullish
Put Ask / Above Ask = bearish
Call Bid / Below Bid = bearish
Mid = neutral / excluded from directional score
Correction prints were separated because they distorted SP:SPX heavily.
Flow Work
Ticker Total Premium Calls Puts Bullish Premium Bearish Premium Read
SP:SPX all prints $417.3M $205.6M $211.7M $304.5M $100.3M Looks bullish, but distorted by corrections
SP:SPX excluding corrections $72.8M $22.1M $50.7M $22.2M $50.6M Actionable flow skewed bearish
$SPXW all prints $31.9M $9.7M $22.2M $15.9M $14.1M Balanced
$SPXW excluding corrections $12.5M $2.2M $10.3M $4.1M $6.4M Slight bearish tilt
AMEX:SPY $224.9M $89.7M $135.2M $120.7M $101.5M Slight bullish, but put-heavy
NASDAQ:QQQ $200.2M $110.2M $90.0M $108.8M $86.9M Cleanest bullish setup
TVC:VIX $18.6M $17.9M $0.8M $11.9M $2.0M Vol hedge active
The most important part: NASDAQ:QQQ has the cleanest conditional long profile. AMEX:SPY is more two-way. SP:SPX is sitting on a dangerous pivot because $SPXW max -GEX is at 7200.
SP:SPX Analysis
SP:SPX is at 7200.75. The chart is not cleanly bullish here. It rallied into 7250s, failed, rolled back into 7200, and is now compressing directly on the $SPXW 7200 negative gamma zone.
Gamma structure:
SP:SPX Total Net GEX: +29.08B
SP:SPX Max +GEX: 7400
SP:SPX Max -GEX: 6800
$SPXW Total Net GEX: +7.31B
$SPXW Max +GEX: 7300
$SPXW Max -GEX: 7200
This creates a very specific setup. Above 7220 to 7240, the market can stabilize and squeeze back toward 7250, 7275, 7300. Below 7200, the index can get slippery because spot is sitting directly on the $SPXW max negative gamma level.
Base case: neutral-to-bearish below 7220. Bullish only on reclaim above 7220 and stronger above 7240.
Trade plan:
Bull trigger: 7220 reclaim
A-grade bull trigger: 7240 hold
Bull targets: 7250, 7275, 7300, 7350, 7400
Bear warning: below 7200
A-grade bear trigger: below 7185 / 7175
Bear targets: 7150, 7125, 7100, 7050, 7000
Avoid chop: 7195 to 7220 unless there is strong VIX confirmation.
VIX filter:
Longs are higher quality only if TVC:VIX is below 18.25 and preferably losing 18.00.
Shorts become higher quality if TVC:VIX holds above 18.25 and starts pushing toward 18.75 to 19.25.
AMEX:SPY Analysis
AMEX:SPY is at 717.76. This is weaker than NASDAQ:QQQ and less attractive for longs unless it reclaims 720.
Gamma structure:
AMEX:SPY Total Net GEX: -2.38B
AMEX:SPY Max +GEX: 725
AMEX:SPY Max -GEX: 700
Negative net GEX means AMEX:SPY can move more aggressively once a level breaks. It is not as pinned as a strong positive gamma tape. The upside magnet is 725, but price first has to reclaim 720 and 722.50. Without that reclaim, AMEX:SPY remains vulnerable to a 715 to 712 test.
Flow read:
AMEX:SPY had $224.9M total premium. Puts were larger than calls by notional value, but directional scoring still leaned slightly bullish because of put selling and some call buying. The issue is that the tape is mixed, not clean. 5/15 flow was almost balanced at $36.2M bullish versus $33.9M bearish.
Trade plan:
Bull trigger: 720 reclaim
A-grade bull trigger: 722.50
Bull targets: 725, 728, 730, 735
Bear warning: below 717.50
A-grade bear trigger: below 715
Bear targets: 712, 710, 705, 700
Avoid chop: 717.50 to 720.
Best usage: AMEX:SPY is the confirmation vehicle. If SP:SPX reclaims 7220 but AMEX:SPY cannot reclaim 720, do not chase index calls.
NASDAQ:QQQ Analysis
NASDAQ:QQQ is the best long candidate of the three, but still conditional. Price is at 672.02 and holding above the 670 to 672 zone after the rally.
Gamma structure:
NASDAQ:QQQ Total Net GEX: +2.46B
NASDAQ:QQQ Max +GEX: 680
NASDAQ:QQQ Max -GEX: 645
Flow read:
NASDAQ:QQQ had $200.2M total premium. Calls were $110.2M versus puts at $90.0M. Directionally, bullish premium was $108.8M versus bearish premium at $86.9M. This is cleaner than $SPY. The 5/5 flow also leaned bullish at $7.14M bullish versus $5.39M bearish.
The problem is that price is still sitting below the real breakout area. NASDAQ:QQQ above 675 to 676.25 can magnetize into 680. Failure below 670 puts 668, 665, 660 into play.
Trade plan:
Bull trigger: 673.50 reclaim
A-grade bull trigger: 676.25
Bull targets: 680, 685, 690, 700
Bear warning: below 670
A-grade bear trigger: below 668
Bear targets: 665, 660, 655, 645
Avoid chop: 670 to 673.50.
Best setup: NASDAQ:QQQ long above 676.25 with TVC:VIX below 18.25 and AMEX:SPY above 720. That is the cleanest continuation setup.
Priority Ranking for 5/5
NASDAQ:QQQ long above 676.25
Cleanest flow, positive net GEX, 680 magnet overhead.
SP:SPX downside below 7200 / 7185
Best volatility expansion setup if TVC:VIX holds above 18.25.
AMEX:SPY directional confirmation
Use AMEX:SPY 720 / 722.50 reclaim or 717.50 / 715 breakdown to confirm whether SP:SPX is real.
No blind bullish open. The market needs to prove reclaim first.
Master Pine Script for SP:SPX / AMEX:SPY / NASDAQ:QQQ
This one script covers all three. Add it to each chart and leave auto-detect on. It will detect SP:SPX , AMEX:SPY , or NASDAQ:QQQ and plot the correct levels, labels, triggers, table, EMAs, and VWAP. Indicator

Golden Pocket ReduxeGolden Pocket Reduxe
Golden Pocket Reduxe is a single overlay that combines two of the most reliable kinds of price levels — Fibonacci Golden Pocket retracement zones and Supply/Demand order blocks — and shows you where they line up. It is built to give you a clean read of where price is most likely to react, across as many timeframes as you want to see at once, without the chart turning into spaghetti.
The Golden Pocket is the area inside a swing where pullbacks most often pause or reverse. The Reduxe applies this concept across multiple timeframes and trading styles at once, and pairs it with order-block detection so you can see when a Fib pullback is also landing on a level where institutional buyers or sellers stepped in.
Why this exists
Most Golden Pocket indicators draw one set of zones based on one set of pivot rules. That works great, but you might have issues when you change timeframes, switch from stocks to futures, or want to see a 1-hour zone while you trade a 5-minute chart. This indicator was built to address all of that:
It runs up to five GP setups at once — two on the chart timeframe and three from any higher timeframes you pick — without redrawing the same zone twice.
It detects supply and demand zones the way professional order-block traders do, with filters for break of structure, volume confirmation, and zone shrinkage on retest.
It highlights confluence — places where multiple signals overlap — so you can immediately see the highest-probability levels.
It handles futures session rollovers, non-standard chart types like Heikin Ashi and Renko, and Regular Trading Hours filtering for equities, all without you having to think about it.
Golden Pocket zones
The indicator tracks pivot highs and lows on whatever timeframe you point it at and draws the Golden Pocket retracement band between each pair. Each zone stays anchored to the specific pivot pair that created it, so an unrelated swing on the opposite side of the market does not destroy a still-valid zone. Bullish GPs mark pullback support in uptrends. Bearish GPs mark rally resistance in downtrends. Both can be color-coded, labeled, or hidden independently.
When a new pivot forms in the same direction, the previous zone can either be archived as a Closed GP (kept on the chart in a different color so you can see historical levels that may still matter) or removed entirely. Closed GPs can be cleaned up automatically by max count, by price invalidation, or both.
There is also an optional Active GP invalidation rule: if price closes beyond a zone for a set number of consecutive bars, the zone is closed automatically. While the counter is running, the box border can recolor as a warning so you can see at a glance which zones are about to be invalidated.
Supply and Demand zones
When an impulsive candle breaks recent structure, the indicator draws an order block at the last opposing candle before the impulse — the precise level where the previous side lost control. This is the classic order-block construction, not a wide consolidation range.
The S/D engine includes:
Break of Structure filter — only confirm a zone when the impulse actually breaks the recent high or low, not just any large candle inside a range. Toggleable.
Shrink on retest — each time price comes back to a zone, it shrinks from the tested edge to visually represent orders being absorbed. After the configured number of retests, the zone is removed.
Cross-invalidation — opposing zones that overlap heavily are automatically removed, since they cannot both be valid.
Volume protection — high-volume zones (marked with a ★) resist invalidation from weaker opposing impulses.
Overlap deduplication — prevents the same level from being marked twice.
Persistent GPs (Day / Week / Month)
Three calendar-period boxes drawn from the live High and Low of the current calendar day, week, or month. These are different from pivot-based GPs — they update continuously as the period's range expands and reset cleanly at the start of each new period. Each period has its own enable toggle, color, fib levels, position, label, midpoint extension, and Regular Trading Hours mode. They are anchored to calendar boundaries in the symbol's timezone, which means they stay stable across futures session rollovers and behave the same way on every symbol.
Useful for higher-timeframe context that does not move as fast as pivot-based GPs, intraday targets off the day range, and weekly or monthly bias zones for swing trading.
Profiles
Instead of forcing you to manually retune pivot distance, ATR multiplier, and zone height every time you change charts, the indicator ships with preset bundles tuned for different trading styles:
Auto — picks the best profile based on the chart's timeframe.
Scalping — tighter pivots and faster zones, suited to charts under 5 minutes.
Intraday — balanced settings for session trading on 15–30 minute charts.
Swing — wider, slower zones for institutional levels on 1-hour charts and above.
Custom — full manual control over every parameter.
GP profiles and S/D profiles are independent — you can run a Scalping GP and a Swing S/D on the same chart, or any other combination.
Multi-timeframe layout
Chart GP Profile 1 / 2 — two profile slots that draw on the chart timeframe with no higher-timeframe lag. Each has its own color.
Overlay Timeframe 1 / 2 / 3 — three slots that each have their own timeframe, GP profile checkboxes (Scalping, Intraday, Swing, Custom), and S/D profile selector. If an overlay slot's timeframe matches the chart and a chart profile already covers that profile, the overlay slot suppresses just that profile to avoid drawing the same zone twice.
So a typical setup might be: chart Profile 1 set to Auto for the chart timeframe, Overlay TF1 set to 1H for medium-term context, and Overlay TF2 set to 4H for higher-timeframe bias — all running simultaneously, each with its own color, all drawn on the same chart.
Confluence detection
Automatically highlights places where two GPs overlap, or where a GP overlaps an S/D zone. Confluence boxes are drawn in their own color and labeled "GP + GP" or "GP + S/D" so you can immediately tell which kind of agreement you're looking at. These are typically the highest-probability levels on the chart.
Volume enhancement
Zones that form on above-average volume are visually boosted (more opaque) and marked with a ★ in the label. The intuition is simple: a level made by real participation is more likely to hold than one made by thin price action. The volume MA length and the opacity boost are both configurable.
MA filter
Optional trend filter that restricts which GP boxes are drawn based on a configurable Fast/Slow MA pair. You can filter by trend direction (only draw GPs that align with the trend), by price position (only draw GPs whose pivots are on the right side of the MA), or turn the filter off entirely. Each MA has its own type (SMA or EMA), length, color, and line style (Solid / Dashed / Dotted).
Use Real OHLC
Forces the indicator to use actual market prices on non-standard chart types like Heikin Ashi, Renko, and Kagi. Without this, pivots and zones would be drawn from modified candle values that don't reflect real traded levels, and your entries, exits, and alerts would all sit at the wrong prices. Keep this on unless you specifically want zones based on the chart's modified candles.
Alerts
Two alert paths, usable independently or together:
Specific conditions — pick from the dropdown: Bull GP Touch, Bear GP Touch, Day GP Touch, Week GP Touch, Month GP Touch, Demand Zone Touch, Supply Zone Touch, Confluence Zone Touch, or Any Zone Touch.
All-Events Alert Stream — set the alert condition to "Any alert() function call" and every zone touch fires a detailed message with direction, timeframe, profile, and symbol — for example "Bull 15 Intraday Golden Pocket Hit on BTCUSD". Persistent GP touches fire as "Day GP Hit", "Week GP Hit", or "Month GP Hit".
Visual customization
Bull, Bear, Day, Week, Month, and Confluence labels each toggle independently. Volume ★ markers have their own toggle. GP box borders can be Solid, Dashed, or Dotted. Active GPs have separate cosmetic offset inputs that control visual width and position without affecting any underlying calculations. An optional GP anchor dot marks the pivot bar where each zone originated. Midpoint lines can optionally be extended back to the originating pivot to make the zone's history easier to read.
How to start
Open Settings → Inputs.
Pick a Chart GP Profile (Auto is a fine default) and a color.
Optionally enable one or more Overlay Timeframe slots if you want higher-timeframe GPs on the same chart.
Leave the S/D engine on its defaults to start; tune later if you want fewer or wider zones.
Enable Persistent GPs (Day / Week / Month) for fixed bias zones that don't depend on pivots.
To set up alerts, right-click the chart → Add alert → set the Condition to this indicator → pick a specific event or choose "Any alert() function call" with the All-Events stream toggle on.
Credit
Based on the original Golden Pocket script by TradingWolf , heavily extended from there.
Most features were inspired by Terry ( Terryztrade ), who taught myself and many others the true value of fibs.
Alert plumbing uses the RecursiveAlerts library by HeWhoMustNotBeNamed .
License
Open-source under the Mozilla Public License 2.0. Indicator

Aperture Imbalance Register [JOAT]Aperture Imbalance Register
Introduction
Aperture Imbalance Register is an open-source Pine Script v6 indicator built to detect, rank, and manage directional imbalance zones in a more structured way than a basic fair value gap overlay. Instead of marking every raw three-candle gap and leaving the trader to judge which ones matter, the script builds a register of active bullish and bearish imbalance zones, measures their internal lower-timeframe participation, assigns a quality score, tracks mitigation progress, and keeps the resulting stack visible with a compact institutional-style dashboard.
The problem this indicator solves is selectivity. Many imbalance tools show too many zones, retire them too slowly, or provide no context for which inefficiencies are likely to matter. Aperture Imbalance Register focuses on the active imbalance stack and grades each register by combining gap displacement with lower-timeframe volume participation. That lets the trader see not only where imbalance exists, but how concentrated the internal participation was when the zone formed.
The script is designed for traders who use imbalance as part of a broader market-structure process. It is not trying to predict every reversal. It is designed to answer practical chart questions: where are the open directional inefficiencies, how strong are they, how much of each zone has been mitigated, and whether the current stack favors bullish or bearish continuation pressure.
Because the script uses Pine Script v6 lower-timeframe arrays, the register is not just a visual box painter. It uses lower-timeframe intrabar data to build participation histograms inside each zone, identify the local point of control of the imbalance, and display whether a register still has open space or has already been substantially repaired by later price action.
Core Concepts
1. Confirmed Bullish and Bearish Gap Detection
The script detects a bullish register when the current low is above the high from two bars ago and the middle bar confirms continuation. It detects a bearish register with the inverse condition. A sigma-style filter based on the statistical size of the gap helps reject weaker dislocations:
bool confirmedBullGap = enoughGapHistory and barstate.isconfirmed and low > high and high > high and bullGapSigma > gapSigma
bool confirmedBearGap = enoughGapHistory and barstate.isconfirmed and high < low and low < low and bearGapSigma > gapSigma
This means the indicator is not plotting every minor price skip. It requires both structural displacement and a size filter before a new register is added to the active stack.
2. Lower-Timeframe Participation Ranking
Once a gap is confirmed, the script requests lower-timeframe `close` and `volume` data using `request.security_lower_tf()` and maps intrabar participation into configurable bins across the zone. That participation profile is then used to score the register.
This matters because not all imbalances are equal. Some form with broad participation spread across the full zone. Others form with concentrated acceptance in one portion of the gap. The participation histogram helps identify where the market transacted most heavily inside the register and where the imbalance may be most meaningful on a retest.
3. Quality Scoring and Register Prioritization
Each register receives a quality score derived from the concentration of lower-timeframe participation plus the size of the gap sigma event. Higher-quality zones get more visual emphasis, stronger edges, and greater dashboard influence.
In practice, this creates a hierarchy. The trader does not need to treat every imbalance equally. The register list naturally emphasizes the zones with stronger displacement and denser participation.
4. Mitigation Tracking and Lifecycle Management
Open imbalance is not enough. What matters is whether the zone remains unfilled. The script measures mitigation depth as price trades back into the register and updates the display from open to partial mitigation to fully filled. When the `Retire Fully Mitigated Zones` option is enabled, fully repaired or invalidated zones are removed from the active stack.
This keeps the chart cleaner and prevents stale boxes from dominating the view after the market has already rebalanced the inefficiency.
5. Participation Histogram and Local POC
Each register can display a small internal histogram showing participation intensity by price segment. The maximum participation bin defines the register’s local point of control, and that level is drawn as a line through the zone.
This gives the register more structure than a plain box. Instead of just seeing the outer bounds, the trader can see where activity concentrated inside the imbalance.
Features
Bullish and bearish imbalance registers: Detects confirmed gap-style inefficiencies in both directions using confirmed-bar logic
Lower-timeframe participation model: Uses lower-timeframe arrays to rank each register by internal participation rather than gap presence alone
Quality scoring: Combines participation concentration and sigma displacement into a single register score
Mitigation tracking: Continuously estimates how much of each register has been repaired by later price action
Automatic lifecycle retirement: Fully mitigated or invalidated zones can be retired automatically to reduce clutter
Internal histogram bars: Optional profile bars show where lower-timeframe participation concentrated inside the zone
Point-of-control line: Each register maintains a local participation midpoint for tactical reference
Midline support: Optional dotted midpoint line helps visualize the fair center of the register
Dashboard summary: Displays bull count, bear count, mitigated count, average quality, best quality, stack count, and bias
Data-window exports: Publishes stack bias, quality sum, and active register count for downstream reading
Visual Elements
Register boxes: The outer body of each imbalance zone shows whether price is dealing with bullish or bearish open inefficiency
Participation bars: Optional internal profile bars highlight where lower-timeframe participation concentrated inside the register
Midline and POC references: The centerline and participation high point help identify the most important sub-levels inside the zone
Adaptive edge intensity: Stronger registers receive more visual emphasis than weaker ones
Mitigation labels: Each register updates from open to mitigation to filled so the chart communicates lifecycle state directly
Best Practices
Use the register stack as context, then let your own execution model decide entries
Favor high-quality registers that align with broader structure instead of reacting to every new zone
Treat partial mitigation as a sign that some imbalance has already been repaired, not as automatic invalidation
Be especially careful on symbols with poor lower-timeframe data because internal participation quality can degrade
If the active stack flips from one side to the other quickly, read that as changing imbalance context rather than a guaranteed reversal signal
Input Parameters
Intrabar Data:
Auto Lower Timeframe: Automatically derives a lower timeframe for participation analysis
Custom Lower Timeframe: Allows manual lower-timeframe selection when auto mode is disabled
Calculation Depth: Controls how much lower-timeframe history is requested
Imbalance Detection:
Gap Sigma Filter: Sets the minimum displacement strength required for a new register
Participation Bins: Controls how many internal profile slices are built inside each zone
Max Active Registers: Limits how many open registers remain on the chart at once
Retire Fully Mitigated Zones: Removes zones once they are effectively repaired or invalidated
Lifecycle And Display:
Extend Active Zones: Extends open registers to the right for forward reference
Show Participation Histogram: Displays the internal lower-timeframe bar profile
Show Midline: Draws a dotted centerline through each register
Show Dashboard: Enables the top-right summary panel
How to Use This Indicator
Step 1: Read the Stack Bias
Start with the dashboard. Compare the bullish and bearish active register counts and note the stack bias value. A positive bias means bullish imbalance is dominating the active structure. A negative bias means bearish imbalance is dominating.
Step 2: Focus on Quality, Not Quantity
Use the average and strongest quality readings to judge whether the active stack is meaningful. A chart with fewer but stronger registers is often more actionable than a chart with many weak inefficiencies.
Step 3: Watch Mitigation Progress
Each active register updates from open to partial mitigation to filled. Open registers represent unresolved inefficiency. Deeply mitigated registers have already lost part of their tactical edge.
Step 4: Use The Internal Profile
When the participation histogram is enabled, look for bins that concentrated most of the intrabar volume. The local point of control and denser profile segments often become the most useful retest references inside the wider zone.
Step 5: Apply It As Context, Not A Standalone Trigger
Aperture Imbalance Register works best as a context layer. It helps frame whether an imbalance stack is supporting continuation or warning of unresolved opposing pressure. Use it with your own structure, execution, and risk model.
Indicator Limitations
Because the script uses lower-timeframe data requests, realtime behavior can differ slightly from historical behavior as new intrabars accumulate inside the live bar
Mitigation does not guarantee reversal or continuation. It only shows how much of the zone has been traded back through
A strong register can still fail if broader market structure, liquidity, or volatility conditions change
On very low-history charts or symbols with thin lower-timeframe data, participation quality can be less informative than on liquid instruments
Originality Statement
Aperture Imbalance Register is original in the way it treats imbalances as managed registers rather than passive boxes. The script is published because it contributes more than a generic fair value gap mashup:
It ranks each imbalance with a lower-timeframe participation model instead of drawing every gap with equal importance
It combines gap displacement, intrabar participation, mitigation tracking, and internal histogram rendering into a single workflow
It maintains a tactical register stack with lifecycle management rather than leaving stale zones permanently on the chart
It exposes stack-level information through a dashboard and data-window fields so the indicator can be read systematically
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Imbalance zones are analytical references based on historical price behavior and lower-timeframe participation, not guarantees of future reaction. Markets can rebalance, ignore, or invalidate any zone without warning. Always use proper risk management and independent judgment.
-Made with passion by jackofalltrades
Indicator

Session Range BoxesThis script automatically draws rectangular boxes on your chart to visualize specific time-based trading sessions. It calculates periods based on a configurable start time (in UTC) and a fixed duration (defaulting to 3-hour intervals). For each session, it tracks the High, Low, Open, and Close prices:
Historical Boxes: Once a session ends, it locks the High/Low range into a static box. It keeps a limited history (default 50 boxes) to prevent clutter.
Live Box: It draws a dynamic, updating box for the current active session that expands as the price moves. This can be toggled on/off instantly.
OHLC Lines: It optionally plots lines for the session's opening and closing prices within the live box.
Primary Use Cases
Session Analysis: Traders use this to visually isolate price action during specific market hours (e.g., London Open, New York Open, or custom Asian sessions) to identify volatility ranges and support/resistance levels formed during those times.
Range Boundaries: The boxes clearly define the high and low of a specific time window, helping traders spot breakouts or rejections at session extremes.
Custom Timeframes: Since it allows custom start times and durations (in seconds), it works for non-standard sessions (e.g., a specific 4-hour block or a custom "pre-market" window) that standard indicators might miss.
Visual Clarity: By separating sessions into distinct colored blocks, it helps remove noise from overlapping timeframes and focuses attention on the current session's behavior. Indicator

RSI Divergence DetectorRSI Divergence Detector with automatic pivot based detection
Spots bullish and bearish RSI divergences automatically by connecting pivot highs and lows on the RSI panel.
🔍 What it does
This indicator detects when price and RSI momentum disagree. One of the most reliable early warning signals in technical analysis.
Regular Bullish Divergence: Price makes a lower low while RSI makes a higher low. Momentum is improving despite price weakness, potential reversal to the upside.
Regular Bearish Divergence: Price makes a higher high while RSI makes a lower high. Momentum is fading despite price strength, potential reversal to the downside.
Hidden Bullish Divergence (need to turn on in options): Price makes a higher low while RSI makes a lower low. Trend continuation signal the pullback is likely over.
Hidden Bearish Divergence (need to turn on in options): Price makes a lower high while RSI makes a higher high. Downtrend continuation signal, the bounce is likely over.
📊 Visual Design
- Clean RSI line that changes color: green in oversold (below 30), red in overbought (above 70), white in the middle
- Subtle gradient fills on overbought/oversold zones
- Solid lines connecting divergence pivots on the RSI panel (green for bullish, red for bearish)
- Dashed lines for hidden divergences (when enabled)
- Small triangle markers when divergence is detected
⚙️ Settings
RSI Length: Default 14. Standard setting that works across most timeframes.
Pivot Lookback: Default 5. How many bars are needed to confirm a pivot point. Lower (3) = more signals. Higher (8-10) = fewer but stronger divergences.
Max Divergence Width: Default 60. Maximum bars allowed between two pivots forming a divergence. On daily charts, 60 bars is roughly 3 months.
Recommended settings by timeframe:
- Daily: Pivot 5, Width 60 (default)
- 4H: Pivot 5, Width 100
- Weekly: Pivot 3, Width 30
- 1H: Pivot 5, Width 120
Hidden divergence is OFF by default. Learn to read regular divergences first, then enable hidden for trend continuation signals.
🔔 Alerts
Built-in alert conditions for: Bullish Divergence, Bearish Divergence, Hidden Bullish, Hidden Bearish, Any Regular, and Any Divergence.
⚠️ Important Notes
Divergence signals appear with a delay equal to the Pivot Lookback setting (default 5 bars) because the indicator needs bars after a potential pivot to confirm it was a real turning point. This is by design accuracy over speed.
Divergence is a warning signal, not an entry trigger. Use it alongside other technical analysis, price action, and your own risk management. Not every divergence leads to a reversal.
This indicator is for educational and informational purposes only. Not financial advice. Indicator

Foundry Range Ledger [JOAT]Foundry Range Ledger
Introduction
Foundry Range Ledger is an open-source range and auction-structure indicator that maps active supply, active demand, and the live auction corridor between them.
The script is built for traders who need to know where the market is being offered, where it is being defended, and whether price is rotating cleanly between those two points or breaking away from them.
Instead of relying on a large dashboard to explain everything, Foundry is designed so the main value is visible directly on the chart.
The indicator draws split supply and demand boxes, top and bottom rails, an equilibrium reference, an auction corridor, and candle-state coloring so the structure can be read without hunting through text.
The problem Foundry solves is range readability.
Many range indicators either mark too little and disappear once the first break occurs, or they mark too much and become unreadable.
Foundry focuses on a smaller number of cleaner, higher-visibility structures so the trader can immediately understand whether the market is boxed, rotating, absorbing, rejecting, or releasing through an active zone.
Core Concepts
1. Pivot-Derived Supply and Demand Seeding
Foundry begins with confirmed pivot highs and pivot lows.
Each confirmed pivot can seed a new zone.
If a new pivot forms close enough to the prior pivot of the same type, the zone is treated as a stronger cluster rather than as unrelated noise.
This lets the script represent repeated defense or repeated supply more clearly than a single-touch model.
2. Split-Zone Construction
Each zone is drawn as a body with two internal halves.
For supply, the upper half represents the more aggressive offer side and the lower half represents the response pocket below it.
For demand, the lower half represents the more aggressive bid side and the upper half represents the response pocket above it.
This creates a cleaner institutional-style visual than a single flat rectangle.
3. Top, Bottom, and Equilibrium Rails
Foundry does not leave the zone as only a filled box.
Each active zone has clear rails at its boundary and a dashed equilibrium line through its center.
These rails make it easier to judge exactly where price is entering, holding, or releasing from the zone.
4. Participation Inside the Zone
The indicator tracks directional participation inside the active zone.
Touches are counted only when price actually interacts with the zone.
Buy-side and sell-side participation are then compared to determine whether the zone is absorbing or rejecting.
This information drives both state text and the internal color emphasis of the split halves.
5. Auction Corridor Logic
When both an active supply zone and an active demand zone exist at the same time, Foundry calculates the live auction corridor between them.
That corridor is the space where price is rotating between opposing areas of interest.
The script highlights that corridor directly on the chart and adds an equilibrium reference so range traders can see where the market is most balanced.
6. Release and Post-Break Behavior
A zone is not immediately forgotten once price breaks it.
Foundry can keep released zones visible as post-break context, allowing the trader to study whether price is cleanly escaping or coming back to retest the released area.
This is important because the first break is often only part of the story.
The retest frequently matters more than the break itself.
7. Candle-State Coloring
Candles are recolored based on where price is interacting.
If price is trading inside active supply, the candles reflect offer pressure.
If price is trading inside active demand, the candles reflect bid pressure.
If price is rotating in the live corridor, the candles shift toward the neutral response color.
This creates immediate chart feedback without cluttered shapes.
Features
Confirmed supply and demand zones: Zones are seeded from confirmed pivots rather than unconfirmed intrabar motion
Cluster-aware strengthening: Repeated pivots near the same level strengthen the visual and informational quality of the zone
Split zone bodies: Each supply and demand box is divided internally for cleaner auction reading
Boundary rails and midpoint rail: Top, bottom, and equilibrium references remain visible directly on the chart
Auction corridor cloud: When both sides are active, the space between them is highlighted as a live range environment
Stateful release behavior: Broken zones can remain visible as post-break structure instead of vanishing instantly
Retest labels: Optional tags mark when price revisits released structure
Zone interaction candle coloring: Price bars reflect supply interaction, demand interaction, or corridor rotation state
Six-row dashboard: Only the highest-value summary fields remain, keeping the chart as the primary information surface
Confirmed-bar alerts: Alerts are available for releases, retests, active auction states, and balanced corridor conditions
Input Parameters
Range Construction:
Pivot Length: Number of bars required on each side to confirm a pivot
Cluster Tolerance ATR: Distance allowed between repeated pivots before they are treated as one stronger cluster
Zone Width ATR: ATR-scaled depth of each zone
Forward Extend Bars: Number of bars the active zone projects forward on the chart
Minimum Zone Age: Minimum number of bars before a break qualifies as a meaningful release
Context and Behavior:
Show Auction Cloud toggle
Keep Broken Zones toggle
Show Retest Tags toggle
Show Zone Labels toggle
Recolor Candles toggle
Broken Zone Fade Bars: Controls how long released zones remain visible when historical persistence is disabled
Break Body Quality and filter toggle: Prevents weak-body candles from being treated as high-quality releases
How to Use This Indicator
Step 1: Identify Whether Supply, Demand, or Both Are Active
If only supply is active, the market is currently capped from above.
If only demand is active, the market is currently supported from below.
If both are active, price is trading inside a live auction corridor.
That is the first and most important read.
Step 2: Read the Box Geometry, Not Just the Labels
The top and bottom rails define the actual interaction edges.
The dashed midpoint shows the local equilibrium of the zone.
When price enters the zone, watch where it spends time, where it rejects, and whether the candles recolor in the expected direction.
Step 3: Use the Corridor as a Rotation Map
When both zones are active, the space between demand top and supply bottom becomes the tradable balance corridor.
That space is where mean-reversion and auction-style logic are most relevant.
A clean release out of that corridor changes the context immediately.
Step 4: Watch Release Quality
Foundry does not treat every poke outside a zone as equally important.
Body quality can be used as a filter so weak noise does not count the same as committed expansion.
This helps reduce false structural releases.
Step 5: Retests Matter
A released zone that price retests cleanly can be more informative than the initial break itself.
Use the retest labels and the remaining zone structure to judge whether the prior range is truly being left behind or simply probed.
Indicator Limitations
Pivot-based zones confirm only after the pivot is complete, so the script will always favor non-repainting structure over earliest possible marking
If price trends strongly without forming relevant repeat pivots, the indicator may show fewer zones than a more aggressive retail-style detector
A zone is contextual, not predictive; price can ignore supply or demand completely when momentum is strong enough
Balanced corridor conditions do not guarantee rotation and can still resolve into directional continuation
The recolored candle state is contextual feedback, not an entry signal by itself
Originality Statement
Foundry Range Ledger is original in the way it combines pivot-seeded supply and demand bodies, split internal zone construction, visible auction corridor rendering, participation-aware state handling, and post-break structural persistence into one chart-first overlay.
The script is designed to make range structure visually readable, not to hide it behind a large panel or reduce it to generic rectangles.
Disclaimer
This indicator is provided for educational and informational purposes only.
It does not provide financial advice or trading recommendations.
Supply and demand zones can fail, release, or be ignored entirely by price.
Balanced ranges can break violently without warning.
Always use independent confirmation and risk management.
Indicator

Indicator
