Dealing Range by EonMetricsDealing Range by EonMetrics
WHAT IT DOES
This indicator draws one box around the exact price range you're currently trading inside — from the most recent significant low up to the most recent significant high (or vice versa). It then splits that box into two halves at the exact middle: the top half is labeled "Premium" (price here is relatively expensive — a place to look for selling opportunities) and the bottom half is labeled "Discount" (price here is relatively cheap — a place to look for buying opportunities). The exact halfway line is called "Equilibrium" — a common point where price pauses or reverses.
Instead of waiting for both ends of the range to fully finish forming (which most similar tools do, and which makes the box lag behind price), one end of this box is locked to the last confirmed turning point, while the other end keeps following the live price in real time. This means the box always contains the current candle and never leaves it stranded outside — you're never looking at a stale, outdated range.
HOW TO ACTUALLY USE IT (STEP BY STEP)
1. Decide which side you want to trade, then wait for price to come to you — don't chase it in the middle of the box.
- Looking to buy (go long)? Wait for price to fall all the way down into the green Discount zone before considering an entry.
- Looking to sell (go short)? Wait for price to rise all the way up into the red Premium zone before considering an entry.
2. Once price reaches the zone you're waiting for, look for an actual trigger before entering — a reversal candle, a price gap, a small break of structure — rather than buying or selling the instant price merely touches the colored area.
3. Treat the Equilibrium (halfway) line as a "fair value" reference — price often reacts around this line before deciding its next move, so it can act as a first target or a place price pauses on the way to the far zone.
4. Watch the two dots marking the range's boundaries (0 = the low, 1 = the high) — these are the exact swing points the box is built from.
5. The box updates and can shift over time as new swings form — that's expected behavior, not a bug; it means the range is following the market's current structure.
EVERY SETTING EXPLAINED
Range Detection group
- Swing Length — how many candles on each side must be smaller/bigger for a point to count as a real turning point. A bigger number only catches major, important swings (slower-updating, bigger ranges); a smaller number catches minor ones (faster-updating, smaller ranges).
- Lock Range Until Band Break — when ON (recommended), the box stays fixed in place while price bounces around inside it, and only redraws once price actually breaks all the way out through the top or bottom. When OFF, the box updates every time a new turning point confirms, which reacts faster but can shift the box around more while you're watching it.
Visualization group
- Premium Zone — fill color of the top (expensive) half.
- Discount Zone — fill color of the bottom (cheap) half.
- Boundary Lines (0 / 1) — color of the lines marking the very top and bottom of the box.
- Show Equilibrium (50%) — turns the halfway line on or off.
- Equilibrium Color.
- Equilibrium Style — solid, dashed, or dotted line.
- Extend Right — stretches the box and lines all the way to the right edge of your chart. Turn off to have them stop at the current candle instead.
Swing Markers group
- Show Swing Points — turns on two small dots marking exactly where the box's high and low come from.
- High Swing (1) / Low Swing (0) — colors for those two dots.
Labels group
- Show Fib Levels (0 / 0.5 / 1) — labels the bottom of the box as "0", the middle as "0.5", and the top as "1" (standard reference numbers used to describe where price sits inside the range).
- Show Premium / Discount Labels — writes the words "Premium" and "Discount" inside each half.
- Show Prices — adds the actual price number next to the 0 / 0.5 / 1 labels.
- Label Position — puts the text labels on the right side (following the current candle) or the left side (where the range originally started).
- Label Text Color.
Indicator

Dealing Range Equilibrium & Premium/Discount Zones (SMC)This indicator is a streamlined visualization tool designed specifically for traders utilizing Smart Money Concepts (SMC) and ICT methodologies. It automatically detects the current structural Dealing Range and divides it into logical quadrants: Premium, Discount, and Equilibrium.
Rather than manually drawing Fibonacci grids on every new structural swing, this script dynamically anchors to the most recent validated pivot points, keeping your charts clean and your focus on price action.
Underlying Logic & Calculations
The script relies on a standard pivot-detection algorithm to establish the boundaries of the dealing range:
Swing Detection: It uses standard ta.pivothigh and ta.pivotlow functions to scan for structural highs and lows based on a user-defined "Swing Lookback Period" (default is 20 bars). A pivot high is confirmed when the central candle is higher than the n candles to its left and right.
Range Anchoring: Once a new swing high or low is validated, the top or bottom variables update respectively. These horizontal levels persist forward in time until a new structural pivot breaks them.
Equilibrium Calculation: The script calculates the mathematical median of the current range by adding the active Swing High and Swing Low, then dividing by two (top + bottom) / 2.
Visuals & Practical Usage
In SMC theory, markets move from consolidation to expansion, seeking liquidity. The dealing range helps traders contextualize where price is relative to recent structure:
Premium Zone (Red Fill): The upper 50% of the dealing range. In a bearish structural environment, traders look for price to retrace into the Premium zone to identify high-probability short setups or institutional distribution.
Discount Zone (Green Fill): The lower 50% of the dealing range. In a bullish environment, traders wait for price to retrace into the Discount zone to look for long setups or institutional accumulation.
Equilibrium (Midline): The exact 50% level (fair value). Price action around this line often acts as a transition point or near-term support/resistance.
Settings
Swing Lookback Period: Controls the sensitivity of the pivot detection. A lower number (e.g., 5 or 10) will capture micro-structure and minor pullbacks, ideal for scalping. A higher number (e.g., 20 or 50) will anchor only to major macro-swings.
Show Labels: Toggles the text labels on the current price axis to keep the chart clean if desired. Indicator

Indicator

ICT Dealing Range [Malibu]ICT Dealing Range Engine is an open-source market structure and imbalance indicator built to organize multiple ICT-style concepts inside a single live dealing range framework. Instead of plotting Fair Value Gaps, Order Blocks, Breaker Blocks, and equilibrium zones as disconnected elements, this script uses the active dealing range as a structural engine that helps filter, organize, and maintain the most relevant zones around current price.
The purpose of this indicator is not to flood the chart with every possible imbalance or block. Its purpose is to build a cleaner, more contextual map of price by combining dealing range logic, equilibrium, liquidity interaction, market structure shifts, Fair Value Gaps, Inverted Fair Value Gaps, Order Blocks, and Breaker Blocks into one coordinated framework. This makes the script especially useful for traders who want to study price delivery inside a living range rather than treat each concept as an isolated label.
At the center of the script is a rolling dealing range calculated from a user-defined lookback window. The highest high and lowest low within that window define the active range boundaries, while the midpoint defines the equilibrium level. These values are not drawn as static references. They continuously update with market movement, which allows the range to function as a live structural context rather than a fixed historical box. The range can be visually extended to the right and styled with its own fill and boundary colors so that it remains readable without overwhelming the chart.
This range engine is what gives the script its identity. Many indicators can detect FVGs, Order Blocks, or swing-based zones, but they often do so everywhere on the chart without a hierarchy of relevance. In this script, the dealing range can act as a filter, meaning zones can be accepted, preserved, or removed according to whether they belong to the active structural window. That design choice helps reduce clutter and keeps the chart focused on what is currently most relevant from a structural perspective. Instead of treating the range as decoration, the script turns it into the framework that governs how other zones are interpreted.
The indicator can display the active dealing range itself, including the range high, range low, and optional equilibrium line. On top of that structural layer, it can detect bullish and bearish Fair Value Gaps, convert broken gaps into Inverted Fair Value Gaps, identify bullish and bearish Order Blocks after liquidity and structure conditions are met, and build bullish and bearish Breaker Blocks from recent swing relationships. Each of these zone categories can be managed independently, which gives the user control over both logic and presentation.
The Fair Value Gap engine uses a classic three-candle imbalance relationship. A bullish FVG forms when the older candle’s high is below the current candle’s low, creating a void that suggests upward displacement. A bearish FVG forms when the older candle’s low is above the current candle’s high, creating a downward imbalance. This script does not stop at merely finding such gaps. It can also require the gap to be meaningful relative to ATR, which helps ignore very thin or insignificant imbalances that often clutter lower timeframes. Once a qualifying gap is found, it is projected forward as a live zone so the user can monitor future interaction with it.
The Inverted Fair Value Gap logic extends that idea further. If a bullish FVG later breaks to the downside by close, the script can convert it into a bearish IFVG. If a bearish FVG later breaks to the upside by close, it can become a bullish IFVG. This is important because failed imbalances often retain analytical value after polarity changes. Instead of treating a broken gap as useless, the script can reinterpret it as a new directional zone. This creates a more complete picture of how imbalance evolves as price transitions from one state to another.
The Order Block logic is intentionally more selective than simple “last opposite candle” approaches. The script first tracks confirmed pivot highs and pivot lows using the chosen pivot length. Those pivots are then monitored for liquidity sweeps. A move above a stored pivot high marks buy-side liquidity taken, while a move below a stored pivot low marks sell-side liquidity taken. These events alone do not create an Order Block. Instead, they establish the context needed for the next confirmation step.
After liquidity is taken, the script waits for a close-based Market Structure Shift. This means price must actually close through a relevant structural level in the opposite direction before an Order Block candidate is allowed to form. Once that sequence completes, the script scans backward over a configurable number of bars to find the first qualifying opposite candle and uses that candle’s range as the Order Block. In practical terms, after sell-side liquidity is swept and bullish structure shifts, the script searches for a bearish candle to define a bullish OB. After buy-side liquidity is swept and bearish structure shifts, it searches for a bullish candle to define a bearish OB. This makes the Order Block engine more conditional, more context-aware, and less arbitrary than approaches that mark every local opposite candle before a move.
The Breaker Block logic is also structure-driven rather than purely cosmetic. For bearish breakers, the script looks for a high-low-high relationship in which the more recent high exceeds the previous one and price later closes below the intervening low. For bullish breakers, it looks for a low-high-low relationship in which the more recent low undercuts the previous one and price later closes above the intervening high. When those conditions are met, the corresponding region is marked as a Breaker Block. This approach makes breaker creation dependent on actual structural sequencing rather than on a simple visual approximation. To keep the chart readable, the script can also suppress near-duplicate breakers using ATR-based distance checks and remove breaker zones once they exceed a user-defined maximum age.
A major strength of the script is that all of these zones can optionally be filtered through the active dealing range. If enabled, only FVGs, IFVGs, OBs, and BBs that belong to the current structural window are retained. This is one of the main reasons the indicator is useful as a full framework rather than as a loose collection of concepts. The range is not merely a backdrop. It acts as a relevance filter that helps keep attention on the most structurally important zones around current price.
The script also includes a maintenance layer for zone management. Once zones are created, they can be extended forward for continued monitoring. If price invalidates or mitigates a zone, that zone can either be deleted or faded depending on the user’s preference. This is especially useful for traders who want to preserve historical context without keeping fully active boxes on the chart. Breakers can also expire based on age, and every major category has a cap on how many active regions can remain on screen. These controls are important not only for visual clarity but also for overall chart performance and usability.
From a user interface standpoint, the indicator is organized into functional groups so the settings remain easy to understand. The Dealing Range section controls the rolling range window, midpoint visibility, forward extension, and styling for the box and lines. The FVG / IFVG section manages gap detection, range filtering, extension length, and directional colors. The Order Blocks section controls pivot sensitivity, activation, range filtering, extension, scan depth, and color settings. The Breaker Blocks section manages activation, range filtering, extension, age limits, and directional styling. Finally, the Style / Performance section controls label visibility, label color, mitigation fading, faded opacity, and the maximum number of retained zones per category.
This layout is intentional. The script is meant to remain usable for both visual traders and more process-oriented users who want to adjust sensitivity and chart density. A lower pivot length will make the structure engine more reactive, while a higher pivot length will usually produce cleaner but slower structural responses. A shorter range lookback will make the dealing range more adaptive, while a larger one will emphasize broader price boundaries. FVG filtering, zone retention, and fading options can all be adjusted depending on how minimal or information-dense the chart should be.
A practical workflow is to first identify the active dealing range and its equilibrium. That establishes the structural frame. From there, the user can observe which imbalances and reaction zones are forming inside that range, whether price is operating above or below equilibrium, and whether recent liquidity events are producing valid structure shifts. Bullish or bearish FVGs can then be evaluated in the context of current price location, while Order Blocks and Breaker Blocks can be interpreted as more conditionally derived zones that reflect structural responses rather than raw candle patterns. If price later invalidates an FVG and flips it into an IFVG, that polarity change remains visible and can be studied as part of the evolving delivery process.
Key features:
• Rolling dealing range with optional equilibrium line
• Optional dealing-range filter for FVG, IFVG, OB, and BB zones
• ATR-based Fair Value Gap thickness filter
• Sweep + close-based Market Structure Shift logic for Order Blocks
• Structure-based Breaker Block detection
• Inverted Fair Value Gap polarity flips after invalidation
• Zone extension, cleanup, fading, and age controls
• Per-category retention limits for better chart clarity
• Organized input groups for range, FVG/IFVG, OB, BB, and style/performance settings
How to use:
Use the dealing range to define the current structural window, then use equilibrium as the internal reference point of that range. Monitor which FVGs, OBs, and BBs form inside that context, and pay attention to whether price respects, mitigates, invalidates, or flips those zones. The script is most useful when its zones are read as contextual structural areas rather than as automatic signals.
Notes:
This indicator is a chart analysis tool, not a promise of outcome. It does not guarantee direction, entries, or performance. Past market behavior does not guarantee future results. Like any structure- or imbalance-based model, it should be used together with confirmation, risk management, and broader market context.
This script is published as open-source so users can inspect the logic, study the implementation, and adapt the framework for their own research and education. Indicator

CandelaCharts - Dealing Range 📝 Overview
Dealing Range is a precision tool designed to identify and measure the internal and external ranges that define institutional market structure. By mapping out specific high and low boundaries across different timeframes and sessions, it provides traders with clear Premium, Discount, and Equilibrium zones. This context is essential for recognizing where smart money is likely to accumulate or distribute relative to a specific Dealing Range.
📦 Features
Modular visualization for multi-timeframe analysis. Toggle three independent ranges to see nested structure and overlapping PD Arrays at a glance.
Projected & Overlay Modes : View ranges forward in time (Projected) to anticipate levels, or anchored to historical data (Overlay) for structural context.
Multiple Measurement Modes : Switch between Premium/Discount, OTE (Optimal Trade Entry), Quadrants, 8ths, and 16ths.
Session Tracking : Define specific sessions (e.g., London, New York) to automatically capture the relevant high and low boundaries.
Multi-Timeframe Support : Overlay ranges from Higher Timeframes (HTF) onto your current execution chart.
Dynamic Zones : Visual boxes highlighting Premium, Discount, and the specific OTE (61.8% - 78.6%) range.
⚙️ Settings
Global Settings
Start Offset : Gap (in bars or time) for projected ranges.
Range Width : Horizontal length of the range visualization.
Gap Width : Horizontal space between multiple projected ranges.
Timezone : Set your local or market timezone for session accuracy.
Range Slots (1, 2, 3)
Enabled : Toggle individual ranges on or off.
Reverse : Flip the range (useful for identifying bearish equivalents of bullish setups).
UI Mode : Projected (future bars) or Overlay (historical data).
Range Mode : Select measurement logic (OTE, Quadrants, etc.).
Session / Timeframe : Input a specific session string (e.g., "0830-1100") or select a timeframe (e.g., "1H", "4H", "D").
Colors : Customize Premium, Discount, and OTE upper/lower zone colors.
⚡️ Showcase
Projected Dealing Range (Premium/Discount Mode)
Projected Dealing Range (OTE Mode)
Overlay Dealing Range (Quadrants Mode)
Overlay Dealing Range (8ths Mode)
Overlay Dealing Range (16ths Mode)
Projected & Overlay Dealing Range
📒 Usage
Identifying OTE (Optimal Trade Entry) : Set Range Mode to "OTE" to highlight the 62% and 79% retracement levels. These are high-confluence zones for entries within a directional bias.
Premium vs. Discount : Institutional buys typically occur in the Discount zone (below 0.5 Equilibrium), while sells occur in Premium (above 0.5 Equilibrium).
Multi-Timeframe Context : Enable Range 1 for the Daily timeframe and Range 2 for the 4-Hour timeframe. Look for entries where a Lower Timeframe OTE aligns with a Higher Timeframe Discount zone.
Session Highs/Lows : Use the Session input to automatically measure the London session range and project it into the New York session for potential distribution shifts.
🚨 Alerts
This indicator does not currently support automated alerts. All range detections and zone entries are visual-only. Users who require notifications can manually set alerts using standard PulseWire horizontal levels at the Equilibrium (0.5) or OTE boundaries.
⚠️ Disclaimer
Trading involves significant risk, and many participants may incur losses. The content on this site is not intended as financial advice and should not be interpreted as such. Decisions to buy, sell, hold, or trade securities, commodities, or other financial instruments carry inherent risks and are best made with guidance from qualified financial professionals. Past performance is not indicative of future results.
Indicator

Structure Pro by MurshidfxInspired by the 'mentfx Structure' indicator created by Anton (mentfx) on PulseWire,
## Overview
Structure Pro tracks market structure by maintaining an adaptive dealing range and its midpoint. Swing highs and lows become structural boundaries, and the script responds to confirmed breakouts by recalculating the active range. Labels highlight the latest trend flip so the chart stays readable while the range evolves.
## Core Logic
- Detects swing highs/lows using a configurable pivot strength and promotes confirmed pivots to structural levels.
- Applies a percentage buffer to decide when price truly breaks structure; once triggered, the opposite boundary is recalculated with an anchor search that looks back through historical bars.
- Computes equilibrium as the midpoint between the current structural high and low so you can gauge premium versus discount zones.
- Emits a single BULL or BEAR label when the trend state changes, keeping only the most recent signal on the chart.
## How to Use
1. Open a clean chart and apply only this script.
2. Select a swing strength that matches the scale you want to monitor (lower values for responsive intraday swings, higher values for broader moves).
3. Tune the structure sensitivity percentage if you prefer tighter or looser confirmation before declaring a breakout.
4. Track DRH/DRL for the current dealing range, use the equilibrium line as a mean-reversion guide, and look to the BULL/BEAR label for structure confirmation.
5. Combine the levels with your own execution, risk, and position rules—this script does not manage orders.
## Inputs
- Swing Point Strength: bars required on both sides to confirm a pivot.
- Structure Break Sensitivity: percentage buffer applied to the range before calling a breakout.
- Dealing Range display: toggles for visibility, line width/color, label text, and label size.
- Equilibrium display: line style, width, and color controls.
- Trend Signals: enable/disable labels, adjust text size, and pick label colors.
## Notes
- Designed for live structure tracking; the script relies on confirmed pivots and does not peek into future data.
- Built to be chart-agnostic for standard candles; non-standard chart types can distort the measurements.
- Published open-source so traders can review and verify the implementation details.
Indicator

Indicator

Indicator

Indicator
