OPEN-SOURCE SCRIPT
Dominance Sweep Tracker [JOAT]

Dominance Sweep Tracker [JOAT]
Introduction
Dominance Sweep Tracker (DST) is an open-source, institutional-grade order flow engine that combines three detection layers — market structure dominance, liquidity sweep identification, and order block entry confirmation — into a single, unified trading framework. It tracks confirmed swing pivots, identifies when body-close breaks through those levels signal a structural shift in market dominance, detects liquidity sweeps where wicks pierce prior pivots and price closes back inside, and marks the last opposing candle before each sweep as the entry order block. ATR-based trade visualizations with risk/reward boxes and per-session win rate tracking complete the system.
The core problem DST solves is the fragmentation of ICT order flow analysis across multiple manual steps. Traders watching for structural dominance shifts, hunting sweeps of prior swing liquidity, and locating order block entries typically need to perform those three steps separately, often missing the interaction between them. DST connects all three into a single detection pipeline that fires on confirmed bars, identifies the relevant entry zone automatically, and tracks the resulting trade outcome against configurable TP and SL levels across four distinct trading sessions.

Core Concepts
1. Swing Pivot Detection
DST uses Pine Script's built-in ta.pivothigh() and ta.pivotlow() functions to identify confirmed swing highs and lows. These are inherently non-repainting — a pivot is only confirmed after the required number of bars on both sides have formed. The most recent confirmed swing high and low are stored as the active liquidity levels.
2. Market Dominance Detection
A dominance shift occurs when a bar's body — not its wick — closes beyond a confirmed swing level. Bullish dominance is confirmed when the close exceeds the most recent swing high. Bearish dominance is confirmed when the close falls below the most recent swing low. This body-close requirement eliminates wick-based false breaks and isolates genuine structural displacement:
Pine Script®
3. Liquidity Sweep Detection
A sweep occurs when a bar's wick pierces a prior swing level and the close returns back inside. DST applies a minimum wick depth filter (default: 0.2 ATR) to avoid noise from trivial touches. A bullish sweep fires when the low exceeds the swing low but the close is above it. A bearish sweep fires when the high exceeds the swing high but the close is below it. Both are gated on barstate.isconfirmed.
4. Order Block from Last Opposing Candle
When a sweep is confirmed, DST scans back through recent bars to identify the last candle that moved in the opposite direction of the sweep. For a bullish sweep setup (price swept below a low and recovered), the last bearish candle before the sweep is marked as the entry order block. This zone represents the origin of the move that created the liquidity pool — the level where institutional positioning likely occurred.
5. Session-Aware Trade Tracking
Each detected signal is tagged with the trading session active at that bar (Asia, London, NY, or Off-Session). ATR-based stop loss and take profit levels are calculated at signal time and visualized as color-coded boxes. Outcome is tracked against those levels, and win/loss counters are maintained per session for statistical context.
Features
Input Parameters
Pivot Settings:
Sweep Settings:
Order Block:
Filter Settings:
Risk Management:
Session Settings:
How to Use This Indicator
Step 1: Identify the Current Structural Context
Swing highs and lows on the chart represent the live liquidity pools. Price above the most recent swing high in an uptrend signals buy-side liquidity accumulation. Price below swing lows signals sell-side liquidity. The dominance signal (filled triangle) fires when price body-closes through a swing, marking a genuine structural shift.
Step 2: Monitor for Sweep Signals
When a sweep label appears, price has taken liquidity from a swing level and rejected back inside. This is the setup precondition — the liquidity event has occurred. The order block zone identified at that bar is the entry reference level.
Step 3: Enter at the Order Block
The last opposing candle before the sweep is rendered as a box. Price returning to that zone represents a potential re-entry into the displacement move. Combine with EMA 750 trend direction for higher-probability setups.
Step 4: Manage the Trade with TP/SL Boxes
ATR-based SL and TP boxes extend from the entry bar. Stop loss is set 1.5× ATR below (long) or above (short) entry. Take profit is at 3:1 reward by default. Both are fully configurable.
Step 5: Review Session Performance
The per-session win rate table highlights which killzones have historically produced the best outcomes on your instrument and timeframe. Use this to weight your activity toward higher-performing sessions.
Indicator Limitations
Originality Statement
DST integrates three distinct ICT order flow concepts — structural dominance, liquidity sweeps, and order block entry — into a unified detection and tracking pipeline. This combination is original for the following reasons:
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. Trading involves substantial risk of loss. Liquidity sweeps and order block zones are historical reference levels. The appearance of a sweep signal does not guarantee price continuation in any direction. Session win rates are based on historical bar data and do not predict future performance. Always apply proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Introduction
Dominance Sweep Tracker (DST) is an open-source, institutional-grade order flow engine that combines three detection layers — market structure dominance, liquidity sweep identification, and order block entry confirmation — into a single, unified trading framework. It tracks confirmed swing pivots, identifies when body-close breaks through those levels signal a structural shift in market dominance, detects liquidity sweeps where wicks pierce prior pivots and price closes back inside, and marks the last opposing candle before each sweep as the entry order block. ATR-based trade visualizations with risk/reward boxes and per-session win rate tracking complete the system.
The core problem DST solves is the fragmentation of ICT order flow analysis across multiple manual steps. Traders watching for structural dominance shifts, hunting sweeps of prior swing liquidity, and locating order block entries typically need to perform those three steps separately, often missing the interaction between them. DST connects all three into a single detection pipeline that fires on confirmed bars, identifies the relevant entry zone automatically, and tracks the resulting trade outcome against configurable TP and SL levels across four distinct trading sessions.
Core Concepts
1. Swing Pivot Detection
DST uses Pine Script's built-in ta.pivothigh() and ta.pivotlow() functions to identify confirmed swing highs and lows. These are inherently non-repainting — a pivot is only confirmed after the required number of bars on both sides have formed. The most recent confirmed swing high and low are stored as the active liquidity levels.
2. Market Dominance Detection
A dominance shift occurs when a bar's body — not its wick — closes beyond a confirmed swing level. Bullish dominance is confirmed when the close exceeds the most recent swing high. Bearish dominance is confirmed when the close falls below the most recent swing low. This body-close requirement eliminates wick-based false breaks and isolates genuine structural displacement:
3. Liquidity Sweep Detection
A sweep occurs when a bar's wick pierces a prior swing level and the close returns back inside. DST applies a minimum wick depth filter (default: 0.2 ATR) to avoid noise from trivial touches. A bullish sweep fires when the low exceeds the swing low but the close is above it. A bearish sweep fires when the high exceeds the swing high but the close is below it. Both are gated on barstate.isconfirmed.
4. Order Block from Last Opposing Candle
When a sweep is confirmed, DST scans back through recent bars to identify the last candle that moved in the opposite direction of the sweep. For a bullish sweep setup (price swept below a low and recovered), the last bearish candle before the sweep is marked as the entry order block. This zone represents the origin of the move that created the liquidity pool — the level where institutional positioning likely occurred.
5. Session-Aware Trade Tracking
Each detected signal is tagged with the trading session active at that bar (Asia, London, NY, or Off-Session). ATR-based stop loss and take profit levels are calculated at signal time and visualized as color-coded boxes. Outcome is tracked against those levels, and win/loss counters are maintained per session for statistical context.
Features
- Swing Pivot Tracking: Confirmed swing highs and lows rendered as horizontal reference lines — the primary liquidity pool levels
- Body-Close Dominance Detection: Structural breaks confirmed only on candle body close beyond swing level, eliminating wick-false-break noise
- Liquidity Sweep Detection: Wick-beyond, close-inside detection across all recent pivots with configurable ATR depth filter
- ATR Wick Filter: Minimum wick penetration depth prevents noise from triggering sweep signals on trivial pokes
- Order Block Identification: Automatic scan of last opposing candle before each sweep — rendered as a colored zone box
- OB Touch Signal: Secondary signal fires when price returns to touch an active order block zone
- EMA 750 Trend Filter: Optional filter that requires price to be on the correct side of the EMA 750 for long and short signals
- ATR-Based TP/SL Boxes: Risk (SL) and reward (TP) areas visualized as colored boxes from entry — default 1.5× ATR stop, 3:1 reward
- Session Detection: Asia, London, NY, and Off-Session windows (configurable) tag each signal for session-specific tracking
- Per-Session Win Rate: Independent win/loss/total counters for all four sessions displayed in the dashboard
- Non-Repainting: All signals gated on barstate.isconfirmed; ta.pivothigh/ta.pivotlow inherently confirmed
- Dashboard (Top Right): Session win rates for Asia, London, NY, and Off-Session with color-coded performance indicators
- BOS Dominance Labels: "BOS ▲" and "BOS ▼" dominance labels replace simple B/S markers — clearly communicates the direction of each confirmed structural break on the chart
- Order Block Dominance Labels: "BULL DOM" and "BEAR DOM" labels placed inside order block boxes at creation — identifies the structural context in which each OB was formed
- Dominance Candle Tint: Candles colored teal when dominant bull conditions are active, rose when dominant bear — encodes structural dominance state directly into price bar color
- Upgraded TP/SL Pip Labels: SL and TP labels now include session name and RR ratio in the format "142p TP 3.0R | London" — full trade context visible directly on the chart
- Sweep and Dominance Shift Counters: Sweep counter and dominance shift counter displayed in the dashboard — cumulative structural activity metrics updated on each confirmed event
- Expanded Dashboard (8 Rows): Dashboard expanded to 8 rows — now includes sweep count and dominance shift count alongside existing session win rate data
Input Parameters
Pivot Settings:
- Swing Lookback: Number of bars on each side required to confirm a pivot (default: 5)
Sweep Settings:
- Min Sweep Wick (ATR×): Minimum wick depth relative to ATR (default: 0.2)
- Sweep Lookback Bars: How many recent bars to scan for swing levels to test against (default: 50)
Order Block:
- OB Scan Back: How far back to search for the last opposing candle (default: 10)
- OB Max Active: Maximum number of live order blocks displayed simultaneously (default: 5)
Filter Settings:
- EMA Trend Filter: Require price on correct side of EMA 750 for signal confirmation (default: enabled)
- EMA Length: Period for the trend EMA (default: 750)
Risk Management:
- ATR Length: Period for ATR calculation (default: 14)
- ATR SL Multiplier: Stop loss distance as ATR multiple (default: 1.5)
- Reward:Risk Ratio: Take profit as multiple of stop distance (default: 3.0)
Session Settings:
- Timezone, Asia/London/NY window hours — fully configurable per session
How to Use This Indicator
Step 1: Identify the Current Structural Context
Swing highs and lows on the chart represent the live liquidity pools. Price above the most recent swing high in an uptrend signals buy-side liquidity accumulation. Price below swing lows signals sell-side liquidity. The dominance signal (filled triangle) fires when price body-closes through a swing, marking a genuine structural shift.
Step 2: Monitor for Sweep Signals
When a sweep label appears, price has taken liquidity from a swing level and rejected back inside. This is the setup precondition — the liquidity event has occurred. The order block zone identified at that bar is the entry reference level.
Step 3: Enter at the Order Block
The last opposing candle before the sweep is rendered as a box. Price returning to that zone represents a potential re-entry into the displacement move. Combine with EMA 750 trend direction for higher-probability setups.
Step 4: Manage the Trade with TP/SL Boxes
ATR-based SL and TP boxes extend from the entry bar. Stop loss is set 1.5× ATR below (long) or above (short) entry. Take profit is at 3:1 reward by default. Both are fully configurable.
Step 5: Review Session Performance
The per-session win rate table highlights which killzones have historically produced the best outcomes on your instrument and timeframe. Use this to weight your activity toward higher-performing sessions.
Indicator Limitations
- Swing pivot detection requires a minimum number of confirmed bars on both sides of the pivot. On very fast timeframes (sub-1 minute), pivot lookback may be impractically long relative to the session window
- The order block scan selects the last opposing candle within a fixed lookback window. In trending conditions with extended single-direction candle runs, no opposing candle may be found within the scan range
- Session win rate counters reset when the indicator is removed and re-added, or when the chart is refreshed with no history. They are valid only within the current chart session
- The EMA 750 filter is based on a 750-period EMA. On shorter timeframes, 750 bars may not be available on instruments with limited history, causing the EMA to be inaccurate until sufficient data loads
- ATR-based TP and SL levels are static from entry — they do not trail or adjust. Volatile markets may require manual adjustment of the ATR multiplier for realistic risk sizing
Originality Statement
DST integrates three distinct ICT order flow concepts — structural dominance, liquidity sweeps, and order block entry — into a unified detection and tracking pipeline. This combination is original for the following reasons:
- The three-layer detection pipeline (dominance → sweep → order block) processes each concept in sequence, where a sweep only becomes significant in the context of the structural level it targets, and the order block is identified relative to that sweep specifically — not as an independent scan
- The body-close dominance confirmation (requiring the entire body, not just the wick, to close beyond the swing level) is a stricter filter than standard breakout detection, reducing false structural break signals in choppy conditions
- Per-session win rate tracking, maintained independently for four distinct trading windows within a single indicator, provides empirical context for which market periods generate the most consistent outcomes on a given instrument
- The order block touch signal — a secondary detection layer that fires when price returns to interact with a previously identified OB zone — closes the loop between zone creation and zone interaction without requiring separate indicators
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. Trading involves substantial risk of loss. Liquidity sweeps and order block zones are historical reference levels. The appearance of a sweep signal does not guarantee price continuation in any direction. Session win rates are based on historical bar data and do not predict future performance. Always apply proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Open-source Skript
Ganz im Sinne von TradingView hat dieser Autor sein/ihr Script als Open-Source veröffentlicht. Auf diese Weise können nun auch andere Trader das Script rezensieren und die Funktionalität überprüfen. Vielen Dank an den Autor! Sie können das Script kostenlos verwenden, aber eine Wiederveröffentlichung des Codes unterliegt unseren Hausregeln.
The Institutional Grade Trading Ecosystem, Built to win trades 📈
Get Access 👇
jackofalltrades.vip 🌐
t.me/jackofalltradesvip 🃏
Get Access 👇
jackofalltrades.vip 🌐
t.me/jackofalltradesvip 🃏
Haftungsausschluss
Die Informationen und Veröffentlichungen sind nicht als Finanz-, Anlage-, Handels- oder andere Arten von Ratschlägen oder Empfehlungen gedacht, die von TradingView bereitgestellt oder gebilligt werden, und stellen diese nicht dar. Lesen Sie mehr in den Nutzungsbedingungen.
Open-source Skript
Ganz im Sinne von TradingView hat dieser Autor sein/ihr Script als Open-Source veröffentlicht. Auf diese Weise können nun auch andere Trader das Script rezensieren und die Funktionalität überprüfen. Vielen Dank an den Autor! Sie können das Script kostenlos verwenden, aber eine Wiederveröffentlichung des Codes unterliegt unseren Hausregeln.
The Institutional Grade Trading Ecosystem, Built to win trades 📈
Get Access 👇
jackofalltrades.vip 🌐
t.me/jackofalltradesvip 🃏
Get Access 👇
jackofalltrades.vip 🌐
t.me/jackofalltradesvip 🃏
Haftungsausschluss
Die Informationen und Veröffentlichungen sind nicht als Finanz-, Anlage-, Handels- oder andere Arten von Ratschlägen oder Empfehlungen gedacht, die von TradingView bereitgestellt oder gebilligt werden, und stellen diese nicht dar. Lesen Sie mehr in den Nutzungsbedingungen.