Concordia Regime Execution [JOAT]Concordia Regime Execution
Introduction
Concordia Regime Execution is an open-source PulseWire strategy that integrates regime detection, trend bias, structure, momentum breadth, pressure confirmation, and ATR-based risk management into one non-repainting execution model. The strategy is built as a realistic framework rather than a curve-fit showcase.
The problem Concordia solves is signal fragmentation. Regime, trend, structure, and momentum are often evaluated separately, which leads to entries taken in the wrong environment. Concordia requires multiple engines to align before a position is opened, then manages risk through predefined stop, target, trailing, and bias-failure exits.
Core Concepts
1. Regime Detection
ADX, choppiness, and compression work together to classify whether the market is suitable for directional participation.
2. Trend Bias Filter
Fast, intermediate, and structural EMAs plus anchored VWAP context define directional bias before any entry can pass.
3. Structure Confirmation
Confirmed bullish or bearish breaks of recent swing structure add structural alignment to the trade decision.
4. Momentum Breadth
A compact ribbon engine classifies whether fast momentum is actually expanding in the same direction as trend and structure.
5. Pressure and Risk Layer
Chart-derived pressure and crowding inputs help confirm continuation and suppress entries during elevated stress.
6. Risk Management
Each trade uses ATR-based initial stop placement, ATR-based profit target, optional trailing activation, and bias-failure closure if internal conditions deteriorate.
Features
Regime gate: Expansion, compression, and transitional filtering
Trend alignment: EMA stack plus anchored VWAP bias logic
Structure filter: Recent swing break confirmation
Momentum breadth: Ribbon spread confirmation instead of a single oscillator line
Pressure confirmation: Chart-derived directional pressure and crowding logic
Risk model: ATR stop, ATR target, trailing trigger, and bias-failure exit
Top-right dashboard: Regime, bias, structure, momentum, pressure, risk, setup scores, active position, and stop/target levels
Confirmed-bar entries: All setup logic is gated on confirmed bars
How to Use This Strategy
Step 1: Start with liquid markets
Concordia is better suited to instruments where anchored VWAP, ATR, and structure transitions behave consistently.
Step 2: Use realistic assumptions
Commission, slippage, and position sizing inputs should match your actual market and trading conditions before evaluating performance.
Step 3: Evaluate regime quality first
The strategy is intentionally selective. If the market is compressing or structurally unstable, fewer trades should occur.
Step 4: Review bias-failure exits
These exits are included to avoid overstaying trades when internal alignment breaks down before the stop or target is reached.
Strategy Limitations
Like any rules-based strategy, it can underperform in abrupt gap conditions or news-driven spikes
ATR-based exits adapt to volatility, but they are not guaranteed to be optimal for every instrument
The strategy is intentionally conservative and may miss some fast reversals
Historical performance does not guarantee future results
Originality Statement
Concordia Regime Execution is original in the way it integrates regime, trend, structure, momentum breadth, pressure confirmation, and ATR-based trade management into a single open-source strategy designed for realistic chart use rather than decorative backtest output.
Disclaimer
This strategy is provided for educational and informational purposes only. It is not financial advice and should not be treated as a recommendation to buy or sell any instrument. Strategy results are based on historical chart data and platform assumptions. Live trading results can differ materially. Always validate settings and use independent risk management.
Strategy

Aegis Arc Framework [JOAT]Aegis Arc Framework
Introduction
Aegis Arc Framework is an open-source anchored-trend overlay built to classify directional pressure through the interaction of three continuously updated reference systems: a confirmed trailing arc, anchored VWAP regime alignment, and ATR-normalized extension pressure. The script is designed to provide structured directional context without relying on repainting shortcuts or visually noisy retail markers.
The main problem Aegis Arc Framework solves is trend persistence versus trend exhaustion. Price can remain above a trailing framework while already becoming stretched relative to value. It can also reclaim value while a trend is still technically intact. Aegis addresses that by combining a ratcheting confirmed trail with session, weekly, and monthly VWAP context so the user can distinguish continuation, weak extension, and blocked transition states.
Core Concepts
1. Anchored VWAP Regime Gate
The indicator maintains manually anchored session, weekly, and monthly VWAP references and checks whether the active trend is aligned with those value anchors. Depending on the selected mode, the gate can require Session, Week, Month, Any, or All alignment before the dashboard and confirmed state fully agree with the direction of the arc.
bool s = bullish ? close >= vwapSession : close <= vwapSession
bool w = bullish ? close >= vwapWeek : close <= vwapWeek
bool m = bullish ? close >= vwapMonth : close <= vwapMonth
2. Ratcheted Arc Trail
The main trail is not a static moving average. It is a ratcheting arc that updates on confirmed bars, accelerates toward the active target band, and decays its internal velocity over time. This makes the line responsive during directional expansions while still preserving a smooth institutional appearance.
3. Extension Pressure
Distance from the active anchored VWAP is normalized by ATR and converted into an acceleration modifier. When price becomes stretched from value, the trail responds more aggressively. This helps expose when a trend is still directional but increasingly extended.
4. Confirmed Flip Logic
A trend flip is only confirmed on closed bars. The trail state does not anticipate future movement or use future references. This keeps the overlay safe for real-time use and consistent with non-repainting publication standards.
5. Forward Flip Levels
Each confirmed directional transition creates a horizontal level that extends forward until invalidated or aged out. These levels act as persistent decision references and help frame whether price is defending or losing prior transition zones.
Features
Anchored value logic: Session, weekly, and monthly VWAP tracking with selectable regime gate modes
ATR-based arc framework: Confirmed-bar ratcheting trail with velocity decay and acceleration logic
Extension awareness: ATR-normalized distance from value used to classify whether the active move is orderly or stretched
Persistent transition levels: Confirmed flip levels extend forward and self-clean when broken or aged out
Institutional visual shell: Trail glow, clean cloud fill, optional candle tint, and compact top-right dashboard
No retail markers: The script avoids arrows and clutter-focused signal decoration
Confirmed-bar logic: Trend transitions and level invalidations are gated by confirmed bars only
Input Parameters
Core Trajectory:
ATR Length
Trail Distance (ATRx)
Base Acceleration
Velocity Decay
Velocity Cap
Minimum Chase / Maximum Chase
Run Window
Minimum Flip Gap
VWAP Regime:
Regime Mode: Session, Week, Month, Any, All
VWAP Speed Boost
Show Selected VWAP
Visual System and Levels:
Bull, bear, and neutral palette controls
Cloud, trail glow, and candle tint toggles
Confirmed flip level styling and retention controls
Dashboard display toggle
How to Use This Indicator
Step 1: Read the active regime
Check whether price is above or below the confirmed trail and whether the dashboard shows value alignment with the selected anchored VWAP mode.
Step 2: Judge extension
Use the extension and acceleration rows in the dashboard to determine whether the move is orderly or increasingly stretched from anchored value.
Step 3: Use flip levels as structure references
When a confirmed transition occurs, the generated forward level becomes a practical decision point for retests, failures, and continuation checks.
Step 4: Combine with execution tools
Aegis is best used as a directional and structural context layer. It can filter other entry models by allowing long setups only when the trail and value regime agree, and short setups only when the opposite condition is present.
Indicator Limitations
Anchored VWAP alignment may temporarily lag during very early reversals, especially when a higher anchor such as the weekly reference is selected
The arc can tighten quickly during extreme volatility because acceleration is intentionally sensitive to extension pressure
Flip levels are contextual structure references, not guaranteed support or resistance
The script classifies directional state and extension; it does not predict future price movement
Originality Statement
Aegis Arc Framework is original in the way it combines a confirmed ratcheting trail, anchored VWAP regime gating, extension-driven acceleration, and managed forward flip levels into one coherent overlay. It is published because the combination is meaningfully different from a standard SuperTrend, a standalone VWAP overlay, or a simple trailing stop line.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice and does not recommend any specific trade or investment. All calculations are derived from historical and real-time chart data and can produce false signals. Trading involves substantial risk. Always use independent judgment and risk management.
Indicator

Velorum Deviation Corridor [JOAT]Velorum Deviation Corridor
Introduction
Velorum Deviation Corridor is an open-source adaptive price envelope designed to measure directional bias, stretch, and compression around a dynamic baseline. The script does not treat all volatility the same. It allows different baseline engines and different width engines, then converts that information into an overlay corridor that can show trend continuation, overextension, and volatility contraction in one place.
The problem this script solves is that static envelopes often fail when market speed changes. A fixed moving average with a fixed-width band may lag badly during acceleration and overreact during compression. Velorum addresses that by pairing adaptive baseline logic with multiple volatility models, then confirming state shifts only after bars close. The result is a directional overlay that can function as a trend frame, pullback map, and stretch monitor.
Core Concepts
1. Adaptive Baseline Selection
The script allows the user to choose among several baseline models: EMA, Hull, Adaptive KAMA, VIDYA, FRAMA, and Gaussian smoothing. This makes the corridor usable across different styles. Faster baselines react more quickly to rotation. More adaptive baselines try to react quickly in clean trends and slow down in noisy environments.
2. Multi-Model Width Estimation
The width engine can use ATR, standard deviation, Parkinson volatility, efficiency range, or a hybrid model. This matters because volatility can be defined in different ways. ATR captures absolute travel, standard deviation captures dispersion, Parkinson emphasizes high-low structure, and the hybrid approach blends multiple aspects into one corridor width.
widthModel = input.string("Hybrid Volatility", "Width Model",
options = )
3. Compression and Expansion Detection
The script tracks corridor width over a rolling lookback and compares it against a compression percentile. When width contracts into the lower part of its recent range, the script identifies a compression state. When width expands with directional slope and position agreement, the script identifies expansion. This helps distinguish quiet consolidation from meaningful travel.
4. Trend State and Stretch Logic
Trend state is determined by baseline slope, price position relative to the corridor, and confirmation bars. The script also measures stretch so users can see whether price is trading inside the value area of the corridor, near the edge, or outside it. That makes it useful for both continuation logic and reversion-aware caution.
5. Transition Ribbon, Reaction Shelves, and Drift Lanes
The overlay uses outer bands, inner bands, corridor fills, glow layers, and a narrow transition ribbon around the baseline. It also projects on-chart structure when important corridor events occur. Confirmed constructive and defensive shifts can create forward shelf boxes. Confirmed excursions outside the corridor can create upper and lower drift lanes. Compression and expansion transitions can also stamp temporary forward boxes directly on the chart, turning the corridor into a working structure map instead of only a band set.
Features
Six baseline models: EMA, Hull, Adaptive KAMA, VIDYA, FRAMA, and Gaussian
Five width engines: ATR, standard deviation, Parkinson, efficiency range, and hybrid volatility
Compression detection: Width percentile model highlights contraction phases
Trend confirmation bars: Direction changes require confirmation before they are treated as valid
Stretch context: Shows whether price is centered, extended, or outside the corridor
Layered overlay: Baseline, glow, inner bands, outer bands, fills, and transition ribbon
Reaction shelves: Confirmed constructive and defensive shifts can project forward box zones on the chart
Drift lanes: Confirmed closes outside the corridor can stamp directional lane boxes
Compression shelf and expansion release: Corridor state transitions can create temporary forward structure boxes
On-chart labels: Shelf, lane, and release labels appear directly on the price chart
Compact dashboard summary: Trend state, regime, stretch, strength, and confirmed shift in a smaller top-right panel
Confirmed-bar alerts: Lift, fade, compression, and expansion events
Input Parameters
Core Engine:
Source
Baseline Model
Baseline Length
Fast and Slow Components for adaptive models
Trend State:
Trend Confirmation Bars
Slope Lookback
Trend Strength Length
Compression Lookback
Compression Percentile
Width Model:
Width Model
Width Length
Width Multiplier
Elasticity Factor
How to Use This Indicator
Step 1: Identify the Baseline Bias
Start with price relative to the baseline and the dashboard's Trend State row. If price is holding above a rising baseline, the corridor is acting as bullish structure. If price is holding below a falling baseline, the corridor is acting as bearish structure.
Step 2: Check Compression Before Breakouts
Compression phases are useful because directional expansions often begin after width contracts. If the chart is tinted for compression and width percentile is low, watch for a confirmed shift rather than treating every small move as a new trend.
Step 3: Use Inner vs Outer Bands Differently
The inner bands are the working area for pullbacks and value. The outer bands represent more extended travel. When price repeatedly walks an outer band, that is continuation behavior. When price snaps outside and immediately loses follow-through, that is often stretch rather than sustainable expansion.
Step 4: Use Reaction Shelves and Drift Lanes as Forward Reference
When a confirmed constructive or defensive shift occurs, Velorum can project a forward shelf box. When price closes beyond the outer corridor, it can print a drift lane. These structures are intended to mark the part of the chart where continuation behavior should stay organized. If price immediately loses those zones, the move is weakening.
Step 5: Treat Confirmed Shift as the State Change
The confirmed shift output is still the important regime event. Intrabar movement can test both sides of the corridor, but the script only promotes a new state after bar confirmation and only stamps new corridor structures after confirmation.
Indicator Limitations
No single baseline model is best for every market; users may need to select a model appropriate for their instrument and timeframe
Compression does not guarantee breakout direction, only reduced width
A fast corridor can overreact in noisy markets while a slow corridor can lag during sharp reversals
Stretch beyond the outer band can persist longer than expected in strong trends
Reaction shelves and drift lanes are contextual structure tools, not guaranteed support or resistance
Originality Statement
Velorum Deviation Corridor is original in the way it separates the baseline problem from the width problem and lets those two adaptive layers interact in one confirmed-state overlay. The script is not simply a renamed moving average envelope. It combines multiple smoothing families, multiple volatility families, width percentile compression logic, stretch-state interpretation, transition-ribbon state framing, and event-driven forward shelf and lane boxes into one cohesive corridor framework.
Disclaimer
This script is provided for educational and informational purposes only. It is not financial advice. Corridor behavior is based on historical price action and can lag, compress, or expand unpredictably during unusual market conditions. Always evaluate signals in context and use appropriate risk controls.
Indicator

Obsidian Divergence Ledger [JOAT]Obsidian Divergence Ledger
Introduction
Obsidian Divergence Ledger is an open-source divergence engine built around confirmed pivot logic and a composite oscillator. It tracks regular and hidden divergence, draws ledger lines between the relevant pivot points, and can optionally project those same relationships onto price. The design is meant to make divergence readable as a structured event instead of a vague visual impression.
The problem this script solves is that many divergence tools are either too loose or too noisy. They often compare incompatible pivots, ignore volatility context, or signal before the pivot is confirmed. Obsidian avoids that by waiting for confirmed pivot structures, enforcing minimum spread requirements, and optionally filtering signals through baseline context and volatility expansion.
Core Concepts
1. Composite Oscillator Construction
The script does not depend on one oscillator only. It blends RSI, CMO, and ROC into one composite measure, then normalizes and smooths it. This helps reduce the chance that one indicator-specific quirk dominates the entire divergence decision.
2. Pivot-Confirmed Divergence Logic
Divergence is only evaluated after `ta.pivothigh()` and `ta.pivotlow()` confirm the turning points. That means the signal appears later than an unconfirmed visual guess, but it also means the structure is stable and suitable for non-repainting use.
pricePivotHigh = ta.pivothigh(high, leftBars, rightBars)
pricePivotLow = ta.pivotlow(low, leftBars, rightBars)
3. Regular and Hidden Divergence
The script distinguishes between reversal-type divergence and continuation-type divergence:
Regular bullish: price makes a lower low while the oscillator makes a higher low
Regular bearish: price makes a higher high while the oscillator makes a lower high
Hidden bullish: price makes a higher low while the oscillator makes a lower low
Hidden bearish: price makes a lower high while the oscillator makes a higher high
4. Ledger Line Visualization and Divergence Zoning
Each confirmed event is recorded visually with lines on the oscillator pane. When enabled, price-side lines are also drawn on the main chart using `force_overlay = true`. Regular divergence and hidden divergence use different color families and line styles so reversal and continuation structures are easy to distinguish. Fresh divergence events can also paint oscillator-side pivot zones and price-side context boxes so the compared structure is visible as an area, not just a single line.
5. Context, Freshness, and Impulse Framing
The script tracks whether a divergence is still fresh, whether it aligns with baseline context, and whether current volatility supports the signal. A central impulse ribbon and intensity band expand and contract with current state strength so the pane itself carries more information even when the dashboard is kept compact.
Features
Composite oscillator: RSI, CMO, and ROC blended into one smoother divergence source
Confirmed pivots only: No divergence state is confirmed before pivot confirmation
Regular and hidden divergence: Reversal and continuation structures handled separately
Optional volatility filter: Can require expansion before accepting signals
Optional baseline filter: Can require directional context relative to a baseline
Oscillator and price ledger lines: Divergence is drawn in both the pane and the price chart when enabled
Oscillator pivot zones: Fresh divergence events can stamp colored zones around the compared oscillator pivots
Price context boxes: The related price swing area can be boxed directly on the chart for faster structural reading
On-chart divergence tags: Compact labels identify regular-vs-hidden bullish and bearish events on the chart itself
Impulse ribbon and intensity band: The pane carries fresh-state emphasis through layered fills, not only through text
Compact dashboard summary: State, freshness, oscillator bias, and context remain available in a smaller top-right panel
Input Parameters
Composite Oscillator:
RSI Length
CMO Length
ROC Length
Normalization Window
Oscillator Smoothing
Divergence Engine:
Pivot Left Bars and Pivot Right Bars
Hidden Divergence toggle
Maximum Ledger Lines
Quality Filters:
Volatility Expansion toggle and length
Baseline Context toggle and baseline length
Minimum Oscillator Pivot Spread
How to Use This Indicator
Step 1: Wait for a Confirmed State
Use the dashboard's State and Freshness rows first. The script is designed to treat confirmed divergence as the event, not the early suspicion of divergence.
Step 2: Separate Reversal From Continuation
Regular divergence is generally more useful when looking for exhaustion. Hidden divergence is generally more useful when looking for pullback continuation. The script keeps those two ideas separate on purpose.
Step 3: Read Context Before Weighting the Signal
A bullish divergence below a weak baseline can still fail. A bearish divergence into expanding volatility can still continue. Use the Context and Volatility rows before deciding how much weight to give the latest signal.
Step 4: Use the Zones, Not Only the Lines
The oscillator pivot zones and price context boxes are there to show the compared structure as an area. This is useful when a divergence is technically valid but forms in a narrow or low-importance pocket. A wider, cleaner zone often carries more practical significance than a tiny local pivot mismatch.
Step 5: Use the Price Overlay Lines as Reference
The overlay lines show the exact price pivots involved in the latest comparison. The companion price labels and boxes make it easier to judge whether the divergence formed in an important location or in minor local noise.
Indicator Limitations
Pivot confirmation creates intentional delay because the script waits for bars on the right side of each pivot
Divergence can persist through multiple additional swings before price meaningfully reverses
A composite oscillator reduces single-indicator bias but cannot eliminate false positives
Hidden divergence is context-dependent and is less useful if the broader trend is weak or unclear
Fresh divergence boxes and labels describe the compared structure, but they do not guarantee that the marked zone will react again
Originality Statement
Obsidian Divergence Ledger is original in the way it structures divergence as a confirmed ledger of relationships rather than a simple shape marker. The script combines a custom composite oscillator, explicit regular-vs-hidden separation, freshness tracking, context filters, synchronized pane-plus-price ledger lines, oscillator pivot zoning, and price-context divergence boxes into one coherent tool.
Disclaimer
This script is provided for educational and informational purposes only. It is not financial advice. Divergence is a contextual condition, not a guarantee of reversal or continuation. False signals can occur frequently, especially in strong trends and low-liquidity markets. Use independent confirmation and risk management.
Indicator

Northsea Auction Map [JOAT]Northsea Auction Map
Introduction
Northsea Auction Map is an open-source auction-style overlay that builds a rolling or session-anchored profile directly on the chart. It estimates where business has been conducted, where value is concentrated, where activity is thin, and how price is positioned relative to that structure.
The problem this script solves is that directional tools alone do not explain where the market is accepting price and where it is rejecting price. Auction context is useful because trend and reversal behavior both depend on where price is trading relative to value. Northsea uses a configurable anchor, builds a profile histogram, derives value area and point of control, approximates delta bias, and summarizes that information in a clean on-chart framework.
Core Concepts
1. Session or Rolling Anchoring
The script can build its auction map from a live session anchor or from a fixed rolling window. That allows it to serve both intraday session analysis and broader window-based contextual analysis. Session anchoring can use exchange-aware timing or an explicit timezone selection so the profile starts from the intended session definition.
2. Profile Row Construction
The chosen anchor range is divided into configurable price rows. Each eligible bar contributes volume into those rows, producing a simplified volume-at-price map. The widest concentration becomes the point of control, while the surrounding rows are expanded outward until the configured percentage of activity defines the value area.
3. Point of Control and Value Area
Northsea calculates:
POC: the highest-activity row
VAH: the upper boundary of the selected value area
VAL: the lower boundary of the selected value area
These levels are drawn forward on the chart so users can quickly see whether price is trading inside accepted value or outside it.
4. Delta Bias and Node Logic
The script derives a directional participation proxy and combines it with profile concentration to estimate whether the current map leans more bid-dominant, offer-dominant, or balanced. It also classifies high-value nodes and low-value nodes using row-level z-score logic so pockets of acceptance and low-participation gaps stand out.
5. Anchored VWAP and Range Context
An anchored VWAP and session range lines are drawn alongside the profile. This gives the user both price-distribution context and mean-location context in the same overlay.
Features
Two anchoring modes: Session Anchor and Rolling Window
Flexible session timezone handling: Supports exchange-aware or explicit timezone session anchoring
Configurable profile density: Adjustable lookback, row count, width, and offset
POC and value area: Automatically derived and extended on the chart
HVN and LVN identification: Highlights acceptance nodes and thin areas
Anchored VWAP: Adds a fair-value style reference line
Session range guides: High, low, and midpoint lines
Delta bias proxy: Adds directional auction context
Dashboard summary: Anchor bars, range, POC/VWAP, value area, delta bias, location, and balance metrics
Input Parameters
Anchoring:
Anchor Mode
Session Window
Session Timezone
Profile Lookback
Profile Rows
Value Area Percentage
Layout:
Right Offset
Profile Width
Session Range toggle
Anchored VWAP toggle
Profile Labels toggle
Node Summary toggle
Node Logic:
High-Value Node Z
Low-Value Node Z
Node Transparency
POC Highlight toggle
Value Area Highlight toggle
How to Use This Indicator
Step 1: Locate Price Relative to Value
If price is trading inside the value area, the market is operating near accepted value. If price is outside value and not returning quickly, the market may be discovering a new area.
Step 2: Compare POC With VWAP
The relationship between POC and anchored VWAP can help show whether the bulk of business and the weighted mean price are clustered together or diverging.
Step 3: Watch HVNs and LVNs
High-value nodes often behave like acceptance shelves. Low-value nodes often behave like traversal zones where price moves more quickly. These are not guaranteed reactions, but they are useful structural references.
Step 4: Use the Delta Bias as Context, Not Certainty
The delta bias proxy helps describe whether the current map is leaning more bid-side or offer-side. It should be read as auction context rather than treated as direct order-book truth.
Indicator Limitations
The script approximates auction structure from bar data and does not reconstruct true exchange-level volume at every traded price
Profile interpretation depends on the selected anchor; different anchors can produce different maps
Thinly traded instruments may generate unstable row distributions
Node thresholds are model-based and may require tuning by instrument
Originality Statement
Northsea Auction Map is original in the way it combines anchored profiling, value-area construction, node classification, delta bias estimation, and anchored VWAP into one restrained overlay. The goal is not to duplicate a platform-native profile panel, but to provide a configurable auction context tool that can travel with the chart and integrate directly with other analytical layers.
Disclaimer
This script is provided for educational and informational purposes only. It is not financial advice. Profile levels and node classifications are derived from historical bar data and model assumptions, so they can differ from full exchange or footprint tools. Use independent judgment and risk management.
Indicator

Crownmark Allocation Engine [JOAT]Crownmark Allocation Engine
Introduction
Crownmark Allocation Engine is an open-source PulseWire strategy that integrates regime classification, adaptive trend corridors, auction-value context, pressure confirmation, divergence suppression, and ATR-based trade management into one non-repainting framework. Its purpose is not to maximize signal count. Its purpose is to require multiple independent layers to agree before risk is deployed.
The problem this strategy solves is overcommitting to one analytical dimension. Trend alone can be late. Pressure alone can be noisy. Divergence alone can fire too early. Auction context alone does not create an entry. Crownmark combines those ideas so that entries occur only when broader regime, local structure, value position, and internal participation are aligned.
Core Concepts
1. Regime Filter First
The strategy begins with a composite regime score built from fast/slow EMA displacement, ADX strength via `ta.dmi()`, efficiency, volatility expansion, and trend slope. If the regime is not sufficiently directional, the strategy does not permit an entry.
2. Adaptive Corridor Pullback Entry
Once regime bias is directional, price must also align with an adaptive KAMA-based corridor. Longs require bullish corridor structure and a pullback that remains constructive relative to the baseline and inner band. Shorts require the mirror condition on the downside.
3. Auction and VWAP Context
Price must be positioned acceptably relative to a rolling value area and rolling VWAP. This is intended to keep entries from triggering in structurally poor locations when the rest of the model is favorable.
4. Pressure Confirmation and Divergence Guard
The strategy uses an effort-versus-result style pressure model to require directional initiative at the moment of entry. It also suppresses entries when recent confirmed divergence argues against the trade direction.
5. Managed Exits
Open positions use ATR-based stop loss and take profit levels, plus a trailing logic anchored to the adaptive baseline. Positions can also be closed by context failure, by opposite signal, or by maximum bar duration in trade.
Features
Composite regime filter: Trend, ADX, volatility, slope, and efficiency must support the direction
Adaptive corridor entries: Uses a KAMA baseline with hybrid ATR/stdev width
Auction location filter: Requires acceptable relation to rolling value area and VWAP
Pressure confirmation: Requires directional effort-versus-result support
Divergence suppression: Recent opposing divergence can block new entries
ATR-based risk management: Stop, target, and trailing logic
Context exits: Positions can flatten when regime or pressure collapses
Dashboard summary: Regime, corridor, auction, pressure, divergence, exposure, and regime score
Default Strategy Properties
Initial Capital: 100000
Order Size: 10% of equity
Pyramiding: 0
Commission: 0.01%
Order Processing: on close
calc_on_every_tick: false
Input Parameters
Regime Engine:
Fast/Slow regime lengths
ADX length
Volatility length
Efficiency length
Bull and bear regime thresholds
Trend Corridor:
Baseline length
KAMA fast and slow parameters
Width length
Width multiplier
Pullback tolerance
Auction Context:
Auction lookback
Value area width
Auction acceptance toggle
VWAP alignment toggle
Risk Management:
ATR length
Stop ATR multiple
Target ATR multiple
Trail ATR multiple
Maximum bars in trade
Flatten on opposite signal toggle
How to Use This Strategy
Step 1: Verify the Market Type
If the regime score is near balance, the strategy is intentionally selective. Crownmark is designed for directional conditions more than rotational ones.
Step 2: Let the Entry Layers Stack
An entry requires regime, corridor, auction, pressure, and divergence conditions to agree. If one layer is missing, the strategy waits.
Step 3: Respect the Exit Logic
The strategy uses both price-based and context-based exits. A position can close because the stop or target was reached, but it can also close because the original trade thesis has weakened.
Step 4: Review Results in Context
Do not evaluate the strategy by win rate alone. Regime selectivity, trade duration, average excursion, commission sensitivity, and the instrument being tested all matter.
Strategy Limitations
This strategy uses bar-close logic and does not replicate intrabar execution behavior
The rolling auction model is a simplified proxy and not a full market profile engine
Divergence suppression can skip trades that later work, by design
Different assets and timeframes may require threshold tuning to remain realistic
Originality Statement
Crownmark Allocation Engine is original in how it combines regime scoring, corridor structure, auction-value location, pressure confirmation, and divergence suppression into one coordinated execution model. The strategy is not a basic trend-following template with cosmetic additions. Each layer has a distinct analytical role, and entries are only allowed when those layers support one another.
Disclaimer
This strategy is provided for educational and informational purposes only. It is not financial advice and does not imply future performance. Backtest results depend heavily on instrument, timeframe, execution assumptions, and historical conditions. Use realistic expectations, confirm settings carefully, and apply sound risk management.
Strategy

Aura Breadth Thrust Oscillator [Pineify]Aura Breadth Thrust Oscillator
Aura Breadth Thrust Oscillator measures market participation by dividing advancing issues by total advancing plus declining issues, then smoothing the ratio with a 10-period EMA. It borrows from Zweig breadth thrust analysis, but its signals are threshold crosses, not the full classic timed thrust rule.
Key Features
Requests NYSE or NASDAQ advance/decline data when available.
Uses a rolling price-action proxy when breadth symbols are unavailable.
Shows a gradient oscillator, zones, markers, alerts, and source table.
How It Works
For NYSE, the script requests NYSE: USI:ADV and NYSE:$DEC. For NASDAQ, it requests NASDAQ: INDEX:ADVQ and NASDAQ:$DECQ. It builds a breadth ratio from 0 to 100, then applies a 10-period EMA.
Advancing issues are compared with total advancing plus declining issues.
The smoothed ratio becomes the Aura Breadth oscillator.
Crosses above 61.5 mark bullish participation. Crosses below 40 mark breadth weakness.
If external breadth is missing, proxy mode counts up candles as advancing and down candles as declining. Proxy readings are useful context, but they are not exchange-wide breadth.
How the Components Work Together
The ratio supplies participation context, the EMA filters noise, and the thresholds define zones. The table matters because external signals describe broad participation, while proxy signals only describe the current chart.
Trading Ideas and Insights
A cross above 61.5 may be useful after a weak range, especially if price is reclaiming structure.
A move below 40 may show selling pressure or exhaustion; waiting for stabilization can reduce whipsaw risk.
If price rises while breadth fails near the midline, participation may be narrowing.
This is a context tool, not a complete system. Breadth can lag during fast reversals, and proxy mode is approximate.
Unique Aspects
External breadth is preferred automatically, with proxy mode used only when feeds are invalid.
The active data source is shown directly in the pane.
How to Use
Choose NYSE or NASDAQ, then check the table's active source.
Watch crosses around 61.5 and 40, using 50 as a midpoint.
Use the built-in alerts for bullish thrust or breadth breakdown crosses.
Customization
Market Data Exchange (default: NYSE) - Selects the breadth universe.
Proxy Lookback Period (default: 20) - Higher values smooth proxy mode.
Bullish Thrust Level (default: 61.5) - Adjusts the bullish threshold.
Oversold Level (default: 40.0) - Adjusts the weakness threshold.
Conclusion
Aura Breadth Thrust Oscillator gives a compact read on participation behind index moves, breakouts, and reversals. Read each signal with the active data source. Indicator

Caldera Relative Pressure [JOAT]Caldera Relative Pressure
Introduction
Caldera Relative Pressure is an open-source effort-versus-result oscillator designed to measure whether price movement is being supported by participation, directional efficiency, and close location within the bar. It is built to distinguish clean directional drive from absorption, exhaustion, and two-way rotation.
The problem this script solves is that raw price movement does not explain whether a move is efficient, forced, rejected, or fading. A wide candle on low participation is not the same as a wide candle with expanding participation and strong close location. Caldera converts candle anatomy, relative volume, range behavior, and baseline context into a structured pressure model that is easier to read in real time.
Core Concepts
1. Effort-Versus-Result Framework
The script blends three weighted components:
Effort: candle body and directional spread relative to true range
Result: directional efficiency relative to ATR
Location: where the bar closes inside its own range, adjusted by wick pressure
Those three parts are multiplied by relative volume so that quiet moves and committed moves do not receive the same score.
2. Directional Drive Detection
Bull and bear drive states require a sufficiently large composite pressure reading, positive spread between the composite and its signal line, and close location agreement. This keeps small or conflicted moves from being treated as decisive tape control.
3. Absorption Detection
Absorption is identified by unusually strong volume combined with limited body progress and asymmetric wick behavior. In practical terms, that means participation increased but result did not expand proportionally. This is often a useful clue that one side is meeting aggressive pressure with passive liquidity.
4. Exhaustion Detection
The script also tracks exhaustion. It compares the current pressure state with recent pressure extremes and short-term momentum fade. A move can still be directionally positive or negative while simultaneously losing efficiency.
5. Multi-Layer Pressure Visualization
The pane includes a histogram, composite line, signal line, drive quality line, balance line, participation band, efficiency band, location band, rotation ribbon, and reference ladders. These are separate on purpose:
The histogram shows raw directional pressure
The composite and signal lines show state and rotation
Drive quality shows how healthy the move is
Participation, efficiency, and location bands show what is contributing to the reading
Features
Composite pressure engine: Candle anatomy, ATR efficiency, location, and relative participation
Bull and bear drive states: Measures directional initiative
Bull and bear absorption states: Flags high-effort / low-result behavior
Bull and bear exhaustion states: Flags fading pressure after prior extremes
Baseline context filter: Can require price to align with a directional baseline
Drive quality and balance lines: Separate force from quality
Participation, efficiency, and location bands: Show what is driving the current reading
Rotation ribbon: Highlights positive and negative carry
Dashboard summary: State, bias, strength, regime, context, participation, quality, balance, rotation, and compression
Input Parameters
Core Engine:
Relative Volume Length
Range Normalization Length
Baseline Context Length
Signal Smoothing
Pressure Model:
Effort Weight
Result Weight
Location Weight
Drive Threshold
Expansion Threshold
State Logic:
Absorption Volume Z
Absorption Range Cap
Exhaustion Lookback
Recent State Window
Baseline Context Filter toggle
How to Use This Indicator
Step 1: Read the State Row
The State row tells you whether the market is currently showing directional drive, absorption, exhaustion, or balance. This is the first layer of interpretation.
Step 2: Compare Pressure With Quality
A strong pressure reading with weak drive quality can be unstable. A smaller pressure reading with improving quality can be more constructive. Use those two together rather than treating histogram height alone as the answer.
Step 3: Inspect Participation, Efficiency, and Location
These bands explain why the model is leaning in one direction. If participation is strong but efficiency is weak, the move may be absorption. If efficiency and location are strong but participation is weak, the move may be less durable.
Step 4: Watch the Rotation Ribbon
Rotation tells you whether pressure is continuing, stabilizing, or turning. This can be useful for early changes in internal character even when the headline state has not fully flipped yet.
Indicator Limitations
Relative volume is broker and instrument dependent, so the same thresholds may not transfer perfectly across markets
Absorption and exhaustion are contextual states, not guaranteed turning points
High-volatility event bars can temporarily distort effort-versus-result relationships
A baseline filter improves context but can delay state recognition during sharp reversals
Originality Statement
Caldera Relative Pressure is original in the way it turns candle anatomy, participation, efficiency, and location into a layered pressure model with separate drive, absorption, and exhaustion states. The script is not a simple volume oscillator or candle-coloring tool. Its design is centered on explaining how price is moving, not only how far it moved.
Disclaimer
This script is provided for educational and informational purposes only. It is not financial advice. Pressure readings are based on historical bar data and can misclassify conditions during abnormal liquidity or fast event-driven moves. Always use independent confirmation and prudent risk management.
Indicator

Asterion Regime Lattice [JOAT]Asterion Regime Lattice
Introduction
Asterion Regime Lattice is an open-source market regime oscillator designed to classify whether conditions are directional, transitional, or balanced by combining multiple independent measurements into one continuous score. Instead of relying on a single trend indicator, it evaluates trend displacement, momentum, volatility behavior, directional movement, efficiency, choppiness, entropy, and higher-timeframe confirmation.
The problem this script solves is regime ambiguity. Many entries fail because traders apply trend logic in rotational conditions or mean-reversion logic in expanding directional phases. Asterion Regime Lattice provides a higher-level state model first, so any downstream tool can be interpreted in the proper context. The pane output uses layered lattice bands, a smoothed score curve, regime shading, and a compact dashboard to make the current state readable at a glance without covering price.
Core Concepts
1. Composite Regime Scoring
The script builds a regime score from several independent components rather than one oscillator. It measures fast/slow trend displacement, momentum direction, volatility expansion, directional movement, efficiency ratio, choppiness, Shannon entropy, fractal dimension, RSI state, and ADX-derived trend strength. Each component is normalized, weighted, and added into a single signed score where positive values indicate bullish expansion and negative values indicate bearish expansion.
2. Higher-Timeframe Confirmation
Two higher timeframes are requested with `request.security()` using `lookahead = barmerge.lookahead_off`. This keeps the script non-repainting while allowing the current timeframe to compare itself against broader directional conditions. The higher-timeframe pack contributes trend bias, momentum bias, volatility bias, directional movement bias, slope, ROC, and ADX strength.
=
request.security(syminfo.tickerid, htfOne, f_htfPack(), lookahead = barmerge.lookahead_off)
3. Structure Quality and Noise Separation
The script uses efficiency, choppiness, entropy, and fractal-dimension style measurements to separate clean directional movement from noisy rotation. That matters because two markets can have similar momentum but very different trade quality. Asterion does not only ask "is price moving?" It also asks whether the move is organized enough to treat as a real regime.
4. Lattice Bands and Regime Zones
The oscillator uses inner and outer bands around the smoothed score curve to display soft and strong regime zones. When the score pushes beyond soft thresholds the state becomes directional. When it pushes through stronger thresholds with quality and higher-timeframe agreement, the state becomes more decisive. This layered presentation makes the transition from balance to expansion visible before and during the full move.
5. Confirmed State Transitions
Alerts and state changes are only confirmed on closed bars. This keeps the script suitable for live use and avoids intrabar state flips being treated as final.
Features
Composite regime score: Blends trend, momentum, volatility, efficiency, entropy, fractal behavior, RSI, and DMI/ADX context
Dual higher-timeframe confirmation: Uses two configurable timeframes with `lookahead_off`
Trend quality layer: Separates clean directional movement from noisy or choppy conditions
Inner and outer lattice bands: Visualize soft and strong directional zones
Pane regime shading: Background tint shifts with the current market state
Optional bar tinting: Can color price bars by current regime while keeping the oscillator in a separate pane
Dashboard summary: Reports regime, quality, HTF alignment, volatility, momentum, efficiency, entropy, and directional state
Confirmed-bar alerts: Bull, bear, soft bull, soft bear, and transition events trigger only after bar confirmation
Input Parameters
Core:
Fast Length and Slow Length: Trend displacement backbone
Momentum Length and Trend Slope Length: Speed and directional persistence measurements
Structure Length, Volume Length, Volatility Length: Core normalization windows
Efficiency Length, Choppiness Length, Entropy Length, Entropy Bins, Fractal Length: Noise and organization diagnostics
RSI Length and ADX Length: Directional strength and internal pressure inputs
Higher-Timeframe Confirmation:
Primary HTF and Secondary HTF
Strong ADX and Weak ADX thresholds
Visuals:
Pane shading toggle
Lattice band toggle
Score curve toggle
Bar tint toggle
Curve smoothing and band multipliers
How to Use This Indicator
Step 1: Read the Regime Row
Start with the Regime row in the dashboard and the position of the score relative to the soft and hard thresholds. This tells you whether the market is directional, balanced, or in transition.
Step 2: Check Quality Before Acting
A high-magnitude regime score with weak quality is less reliable than a slightly smaller score with strong quality. Use the Quality row to decide whether the move is organized enough to trust.
Step 3: Compare With Higher Timeframes
The HTF row helps determine whether the current timeframe is aligned with the broader backdrop or fighting it. Stronger follow-through usually appears when local and higher-timeframe states agree.
Step 4: Use It as a Context Filter
Asterion is best used as a regime filter. Trend systems generally perform better when the oscillator is directional and quality is strong. Mean-reversion logic is generally more appropriate when the score is near balance and noise metrics dominate.
Indicator Limitations
The script is a classifier, not a predictive model. It describes current conditions; it does not forecast future direction
Higher-timeframe confirmation can lag turning points because those bars must close before their state is final
In low-range grinding markets, the oscillator can remain transitional for extended periods
Any weighted composite reflects design choices; different markets may require threshold adjustments
Originality Statement
Asterion Regime Lattice is original in the way it combines directional scoring, higher-timeframe agreement, and multiple noise-quality measurements into one structured regime model. It is not a simple trend oscillator with a new color scheme. The script is built around the idea that regime is a blend of direction, organization, and alignment across timeframes, and its lattice presentation is designed to make those layers visible rather than hiding them behind a single line.
Disclaimer
This script is provided for educational and informational purposes only. It is not financial advice and does not guarantee any outcome. Regime measurements are based on historical price and volume behavior and can produce false or delayed readings, especially during sudden event-driven changes in market conditions. Always use independent judgment and risk management.
Indicator

Adaptive Wave Pressure Index [JOAT]Adaptive Wave Pressure Index
Introduction
Adaptive Wave Pressure Index is a normalized slope oscillator built to measure directional pressure through the relationship between regression slope and volatility. By scaling a manually calculated OLS slope with ATR, the script produces a dimensionless momentum reading that can be compared across instruments and timeframes much more cleanly than raw slope alone.
This indicator is designed for traders who want wave pressure, not just speed. It tracks directional force, smooths that force into fast and slow lines, colors the histogram using structural swing context, and adds divergence detection for potential exhaustion.
Why This Indicator Exists
Volatility-Normalized Momentum: Regression slope is scaled by ATR to improve comparability
Fast / Slow Pressure Read: Reveals acceleration and deceleration of directional force
Structure Overlay: Swing-sequence counts add context to histogram strength
Zone Framework: Overbought and oversold thresholds define pressure extremes
Divergence Layer: Flags when price reaches new extremes without matching pressure
Core Components Explained
1. Manual OLS Slope
rawSlope = f_olsSlope(regLength)
The script calculates slope directly from the last N closes rather than relying on a built-in regression shortcut. This provides more control over normalization and display logic.
2. ATR Normalization
normSlope = rawSlope / ta.atr(atrNormPeriod)
Dividing slope by ATR transforms it into a volatility-aware measure of pressure. A positive slope on a low-volatility asset and a positive slope on a high-volatility asset become more comparable after normalization.
3. Fast / Slow Pressure System
Two EMAs are applied to the normalized slope:
Fast Line: More responsive pressure state
Slow Line: More stable reference
Histogram: Spread between fast and slow, showing acceleration or fade
4. Structural Sequence Layer
The indicator also counts consecutive higher lows and lower highs in price. When structure strongly supports the current pressure direction, histogram colors intensify. This adds a valuable distinction between pressure that is statistically rising and pressure that is also structurally confirmed.
5. Divergence and Zone Logic
The script highlights:
Fast-line crosses of overbought and oversold thresholds
Fast/slow line crosses
Bullish and bearish divergences
Divergence lines are retained with a fixed cap so the pane stays readable over time.
Visual Elements
Histogram: Pressure spread with structural-intensity color logic
Fast Line: Main directional read
Slow Line: Reference pressure line
Zero Fill: Directional bias area fill
OB/OS Background: Soft zone shading for extreme pressure
Markers: Crosses and divergence markers
Dashboard: Raw slope, normalized slope, trend, structure sequence, divergence, and active zone
Input Parameters
Regression Length: Window for OLS slope calculation
ATR Norm Period: Volatility baseline used for normalization
Fast / Slow EMA: Pressure responsiveness controls
OB / OS Levels: Extreme pressure thresholds
Pivot Left / Right: Sensitivity for structural and divergence logic
How to Use This Indicator
Step 1: Read whether fast is above or below slow.
Step 2: Check the histogram to see whether pressure is expanding or contracting.
Step 3: Use the sequence readout to judge whether price structure agrees with the oscillator.
Step 4: Treat divergences as warnings that pressure may be weakening.
Step 5: Use OB/OS events to identify stretched pressure, especially after large runs.
Best Practices
Use on instruments with clean swings and sufficient range
Respect signals more when sequence direction agrees with fast/slow direction
Use divergence with structure, not by itself
Increase regression length for smoother wave pressure
Lower lengths react faster but create more noise
Indicator Limitations
Normalized slope improves comparison but does not eliminate market differences
Pressure can stay elevated in strong trends
Divergences can persist before price turns
Short settings increase false transitions
Structure counts are descriptive, not predictive
Technical Implementation
Built in Pine Script v6 using:
Manual OLS slope computation
ATR normalization
Dual-EMA pressure smoothing
Pivot-based structure counting
Capped divergence-line management
Confirmed-bar signal generation
Originality Statement
This indicator is original in the way it combines normalized regression slope, structural sequence intensity, and divergence management into a single wave-pressure framework. Its purpose is not just to show direction, but to show how forceful and how structurally supported that direction is.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Momentum and divergence tools can fail, especially during volatile transitions. Always use proper risk management and independent confirmation.
-Made with passion by officialjackofalltrades
Indicator

Impulse Regime Engine [JOAT]Impulse Regime Engine
Introduction
Impulse Regime Engine is a hybrid breakout-and-trend indicator designed to detect when participation expands, when that expansion compresses into a tradeable box, and when price finally resolves that box with directional intent. It combines a volume regime engine with an RSI-projected price trend framework, creating a clean overlay built for timing impulsive releases without sacrificing directional context.
This indicator is especially useful for traders who like breakout structures but do not want to trade every range break blindly. The regime box defines the event. The projected trend framework defines the context.
Why This Indicator Exists
Participation Regime Classification: Distinguishes low-quality price movement from meaningful volume expansion
Lifecycle-Based Box Engine: Separates the setup into building, armed, and resolved states
Projected Trend Overlay: Maps RSI into price space for contextual trend direction
Strength-Based Candle Coloring: Visualizes conviction without overloading the chart
Active Risk Map: Adds optional stop and target staging after valid breaks
Core Components Explained
1. Volume Regime Engine
volRatio = shortVolMA / longVolMA
Volume is classified into Low, Normal, High, and Extreme states by comparing short-term participation to a longer-term baseline. Only elevated regimes are allowed to build a valid impulse box.
2. Regime Box Lifecycle
Building: While elevated volume persists, the box expands to contain the active burst
Armed: Once the burst cools, the box freezes and waits for release
Resolved: A confirmed close beyond the boundary triggers the breakout event and resets the cycle
The script now includes a cooldown between resolved boxes so repeated high-volume churn does not keep repainting fresh structures on every minor burst.
3. RSI Projection Framework
projected = priceLow + smoothedRsi * priceRange / 100.0
avgLine = ta.ema(projected, smoothLen)
Instead of reading RSI only as a sub-pane oscillator, the script converts RSI into projected price space. This produces a trend reference line directly on the chart.
4. Dynamic Tolerance Bands
tolerance = avgBody * toleranceMultiplier
marginUp = avgLine + tolerance
marginDn = avgLine - tolerance
Price above the upper band confirms bullish projected trend. Price below the lower band confirms bearish projected trend. This acts like a directional bias filter around the projection basis.
5. Breakout Risk Framework
When price resolves the armed box, the script can draw one stop and three profit levels using either ATR-derived or percentage-derived distance. The lines auto-expire so old trade maps do not crowd the chart.
Visual Elements
Regime Box: Semi-transparent box during build and armed phases
Projection Basis: Gold-accent projected trend line
Tolerance Bands: Bull and bear projection boundaries
Gradient Candles: Optional candle coloring by directional strength
Breakout Markers: Compact IRE triangles on confirmed release
TP/SL Lines: Optional risk staging while the active breakout remains valid
Dashboard: Volume regime, ratio, bias, box state, signal state, RSI, and strength
Input Parameters
Regime Engine:
Short / Long Volume MA
Low / Normal / High thresholds
Max build bars
Max armed bars
New box cooldown bars
Trend Projection:
RSI length and smoothing
Projection range bars
Projection EMA
Tolerance multiplier
Strength lookback
Risk Framework:
ATR period
ATR stop multiplier
TP1 / TP2 / TP3 risk-reward ratios
TP/SL maximum life
How to Use This Indicator
Step 1: Wait for elevated participation to build the impulse box.
Step 2: Let the box transition into the armed state.
Step 3: Read whether projected trend bias agrees with the likely breakout direction.
Step 4: Use confirmed breaks, not intrabar pokes, as the actual event trigger.
Step 5: Manage the trade against the active risk map or your own execution rules.
Best Practices
Use on instruments with reliable participation data
Prefer breakouts aligned with the projected trend state
Treat extreme volume bursts as high-opportunity but also high-volatility events
Use the cooldown to avoid overreacting in noisy compression cycles
Disable extra visuals if you want a cleaner execution chart
Indicator Limitations
Volume regime logic depends on the quality of the feed
Not every armed box will produce a sustained move
Projected RSI trend is a contextual guide, not a guarantee
Breakouts can fail or reverse quickly in low liquidity
Repeated tests of the same area reduce signal quality
Technical Implementation
Built in Pine Script v6 using:
Short-vs-long volume regime classification
Stateful box lifecycle logic
RSI-to-price projection
Body-based tolerance bands
Strength-gradient candle coloring
Optional ATR or percent risk mapping
Confirmed-bar breakout and trend-shift alerts
Originality Statement
This indicator is original in the way it combines regime participation, lifecycle breakout structure, and projected momentum context into one overlay. Its edge is not just detecting expansion, but framing when expansion is worth respecting.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Breakout trading involves risk, including false breaks and fast reversals. Always manage risk carefully and confirm signals with your own process.
-Made with passion by officialjackofalltrades
Indicator

Volatility Compression Oscillator [JOAT]Volatility Compression Oscillator
Introduction
Volatility Compression Oscillator is a two-line momentum oscillator that measures where price is trading inside a dynamic volatility envelope, then tracks the compression and release of that positioning through line crosses, histogram rotation, and divergence. It is designed to show when price is quietly loading pressure, when that pressure starts to expand, and when expansion may be exhausting.
This script is useful for traders who want more than a standard bounded oscillator. It combines normalized price location, dual smoothing, histogram analysis, and divergence into one compact pane.
Why This Indicator Exists
Adaptive Normalization: Measures price against a volatility-sensitive envelope instead of a fixed formula
Two-Speed Momentum Read: Uses fast and slow lines to reveal early shifts in pressure
Compression / Release Logic: The histogram shows whether momentum is accelerating or fading
Exhaustion Markers: Histogram peaks and troughs help spot unstable extensions
Divergence Layer: Tracks when price makes a new swing but oscillator pressure does not confirm
Core Components Explained
1. Dynamic Volatility Envelope
offset = avgRange * scale * (1 + avgBody / avgRange)
The script centers the envelope around the candle midpoint average, then expands it with both average range and average body contribution. This makes the oscillator adaptive to both volatility and candle conviction.
2. Normalized Oscillator Calculation
rawOsc = 100 * (close - lowerBand) / bandWidth - 50
Price is transformed into a centered oscillator that measures whether price is trading in the upper or lower half of the active volatility envelope.
3. Dual-Smoothing Engine
The raw oscillator is processed through fast and slow smoothing chains. Their relationship drives the main trend reading:
Fast above slow = bullish pressure
Fast below slow = bearish pressure
Histogram expanding = pressure increasing
Histogram fading = pressure weakening
4. Signal Layers
The indicator produces several distinct signal families:
MA Cross Signals: Momentum handoff between fast and slow lines
OB/OS Crosses: Stretch events when Line 1 crosses the thresholds
Histogram Peaks / Troughs: Local exhaustion cues
Divergences: Price making a stronger swing while oscillator pressure weakens
5. Chart Cleanliness Controls
Divergence lines are retained with an internal cap so the script does not keep drawing indefinitely. This keeps the pane readable and reduces object-limit risk on long-running charts.
Visual Elements
Histogram Columns: Momentum spread between fast and slow lines
Fast Line: Main directional pressure line
Slow Line: Reference trend line
Zero Fill: Directional fill from Line 1 to the centerline
OB/OS Background: Soft shading in stretch conditions
Signal Markers: Circles, triangles, diamonds, and squares for different event types
Dashboard: Trend, line values, histogram value, regime, and divergence state
Input Parameters
Volatility Window: Lookback for midpoint, body, and range normalization
Band Scale %: Width multiplier for the adaptive envelope
OB / OS Levels: Stretch boundaries for Line 1
Line 1 / Line 2 Smoothing: Controls responsiveness of the dual-line engine
Pivot Length: Sensitivity for divergence and histogram turning points
Histogram Peak Levels: Defines stronger exhaustion zones
How to Use This Indicator
Step 1: Determine whether fast is above or below slow.
Step 2: Watch the histogram for acceleration or decay.
Step 3: Use MA crosses for timing only when they occur in sensible zones.
Step 4: Treat OB/OS signals as context for stretch, not automatic reversal commands.
Step 5: Respect divergences most when they align with histogram exhaustion.
Best Practices
Use higher pivot lengths when markets are noisy
Treat histogram turns near extremes as better-quality warnings
Use line crosses in the direction of the higher-timeframe trend
Avoid overreacting to every divergence in strong trends
Keep marker display on only if you actively trade the signal layer
Indicator Limitations
Oscillators can stay overbought or oversold in strong trends
Divergences are warning signs, not standalone trade systems
Short smoothing lengths will create more noise
Compression readings can fail to expand immediately
Signal quality depends heavily on market structure and instrument behavior
Technical Implementation
Built in Pine Script v6 using:
Adaptive volatility-band normalization
Dual-smoothed oscillator lines
Histogram spread calculation
Pivot-based divergence detection
Object-retention caps for divergence lines
Confirmed-bar signal logic
Originality Statement
This indicator is original in how it frames volatility compression and release through normalized envelope location, dual-line momentum, histogram exhaustion, and divergence management in one pane. Its value comes from synthesis and signal layering rather than from any single oscillator component alone.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Oscillator signals can fail, especially in volatile or trendless conditions. Always use proper risk management and independent judgment.
-Made with passion by officialjackofalltrades
Indicator

Regression Deviation Channel [JOAT]Regression Deviation Channel
Introduction
The Regression Deviation Channel is an institutional-style statistical trend and execution framework built around segmented regression, deviation envelopes, premium/discount zoning, breakout qualification, and risk mapping. Instead of acting like a plain moving-average channel, it models price through a best-fit regression path, measures dispersion with RMSE, then classifies where price is trading inside that structure: discount, equilibrium, or premium.
This version is designed to feel more like a desk-grade directional map than a simple overlay. It combines a frozen regression segment, internal band hierarchy, confidence scoring, Supertrend stack alignment, breakout detection, and ATR-based trade mapping into one visual structure. The goal is not just to show where price is, but whether the current move is balanced, compressed, expanding, or resolving.
Why This Indicator Exists
Most channels are too simple. They show boundaries but do not explain what price is doing inside those boundaries. This indicator was built to solve that by combining:
Segmented Regression: Tracks the current directional price path with a proper best-fit slope
Deviation Architecture: Uses RMSE to define statistically meaningful channel width
Premium / Discount Zoning: Splits the channel into expensive, fair value, and cheap territory
Breakout Qualification: Scores breakout quality using slope, participation, structure, and location
Trend Stack Context: Adds Supertrend alignment to distinguish strong directional pressure from noise
Trade Mapping: Builds clean ATR-based stop and multi-target projections after confirmed breaks
The result is a regression channel that does more than draw lines. It gives context, bias, execution framing, and visual hierarchy.
Core Components Explained
1. Segmented Regression Engine
= f_ols(winLen)
basisVal = intercept + slope * float(barsInSeg - 1)
upperVal = basisVal + rmse * multiplier
lowerVal = basisVal - rmse * multiplier
The core engine uses manual ordinary least squares regression to calculate the channel basis. Once the segment matures, the regression values are frozen and projected forward until price resolves beyond the envelope.
This “freeze and resolve” behavior keeps the channel visually stable instead of constantly shifting every bar.
2. RMSE Deviation Structure
Root mean squared error defines channel width, making the envelope responsive to how tightly price is hugging the trend.
Tight RMSE = cleaner trend structure
Wide RMSE = unstable or volatile structure
Internal bands split the envelope into inner, quarter, and outer zones
These nested bands create a true structure ladder instead of a single upper/lower shell.
3. Premium / Discount Channel Arrays
The channel is separated into three value areas:
Premium: Upper edge territory where price is extended and expensive relative to the current regression path
Equilibrium: The center band around fair value and neutral orderflow balance
Discount: Lower edge territory where price is cheap relative to the active path
This makes the indicator more useful for directional context:
Bull channels pressing premium signal strong continuation pressure
Bear channels pressing discount signal strong downside control
Repeated failure to hold premium/discount can signal exhaustion or rebalancing
4. Breakout Confidence Model
Breakouts are not treated equally. The indicator scores breakout quality using four ingredients:
Participation: Distance from the regression basis normalized by ATR
Slope Force: Strength of the normalized regression slope
Location: Whether price is already pressing the outer structure
Alignment: Whether price direction and Supertrend stack agree with the channel
breakoutConfidence = participation + slopeForce + location + alignment
This helps separate lazy drifts from high-quality channel resolution.
5. Supertrend Ribbon Stack
The Supertrend layer is not there as a generic add-on. It acts as a second-order directional filter.
Bull channel + bull Supertrend = higher-quality directional stack
Bear channel + bear Supertrend = stronger downside stack
When regression and Supertrend disagree, price is more likely in transition
The fill between regression basis and Supertrend visually shows whether pressure is aligned or conflicted.
6. ATR Risk Map
After a confirmed breakout, the indicator projects:
1 ATR-based stop level
3 reward targets using configurable risk-reward multiples
Auto-expiring lines so stale trade maps are removed
This gives the channel direct execution value instead of leaving the user to manually measure every move.
Visual Elements
Metallic Basis Line: Gold-toned centerline for the active regression basis
Outer Deviation Shell: Main channel boundaries with glow
Inner Structure Bands: Internal ladder for pressure staging
Premium / Discount Fills: Separate upper and lower value zones inside the channel
Equilibrium Fill: Neutral fair-value region
Supertrend Ribbon: Context layer showing secondary directional alignment
Iridescent Candles: Candle coloring that intensifies as control and confidence improve
Breakout Markers: Compact signals for confirmed resolves
Readiness Diamonds: Pre-break alignment markers when channel conditions are strong
The visual hierarchy is designed so you can read the channel at a glance without relying on heavy objects or clutter.
Dashboard
The dashboard is intentionally compact and fixed to the right side. It shows only the highest-signal metrics:
Bias
Regime
Flow
Channel Position
Confidence
Compression
Trend Stack
Trade Map
How to Use This Indicator
Step 1: Identify Channel Bias
Check whether the regression slope is bullish or bearish. That defines the primary directional path.
Step 2: Read Value Location
See whether price is trading in premium, equilibrium, or discount. This tells you whether price is extended or balanced inside the channel.
Step 3: Watch Trend Stack Alignment
When Supertrend and regression agree, directional pressure is cleaner. When they disagree, reduce conviction.
Step 4: Monitor Confidence
Use the breakout confidence score to judge whether price is merely drifting or building a meaningful resolution.
Step 5: Trade the Resolve, Not the Noise
Use breakout markers and ATR map levels when price exits the frozen envelope with qualified pressure.
Best Practices
Use higher timeframes for cleaner channel geometry
Treat equilibrium as fair value, not a signal by itself
Bull channels work best when premium holds and pullbacks respect the inner bands
Bear channels work best when discount holds and rallies fail at internal structure
High compression followed by rising confidence often precedes expansion
Use the risk map for framing, not blind automation
Indicator Limitations
Regression is still a model of recent price, not a guarantee of future direction
Sudden event-driven moves can invalidate the frozen segment quickly
Premium and discount are relative to the current channel, not absolute market value
High breakout confidence can still fail in thin or news-driven markets
Short segments increase responsiveness but also increase noise
Technical Implementation
Built in Pine Script v6 using:
Manual OLS regression
RMSE deviation envelopes
Segment freeze-and-resolve logic
Internal quarter and inner bands
Premium/discount channel zoning
Supertrend stack integration
Breakout confidence scoring
ATR-based stop and target map
Compact institutional dashboard
Originality Statement
This indicator is original in how it treats a regression channel as a full market-state framework instead of a static overlay. The value is not just in plotting upper and lower lines, but in combining:
Segment freezing
Internal value zoning
Directional stack confirmation
Breakout qualification
Execution mapping
Each layer contributes different information: regression defines path, RMSE defines structure, premium/discount defines value, Supertrend defines stack, and confidence defines quality.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Regression channels, premium/discount zones, and breakout scores are analytical tools, not guarantees of market outcome. All trading decisions remain the responsibility of the user.
-Made with passion by officialjackofalltrades
Indicator

Structural Sequence Pressure [JOAT]Structural Sequence Pressure
Introduction
Structural Sequence Pressure is a market-structure breakout indicator built around the idea that not all pivot levels carry the same weight. A level formed after one isolated pivot is ordinary. A level formed after repeated higher lows or lower highs represents structural persistence. This script quantifies that persistence, plots the resulting support and resistance levels, and highlights when those levels break.
The indicator is designed for traders who want clean structure without overfitting. It tracks sequence depth, manages active levels, and focuses attention on breaks that matter more because the market spent time constructing them.
Why This Indicator Exists
Sequence-Based Structure: Measures how many pivots formed in the same directional progression
Level Significance Filter: Helps distinguish weak levels from structurally reinforced ones
Live Break Detection: Signals when meaningful support or resistance gives way
Clutter Control: Caps active lines and labels to keep charts readable
Statistical Feedback: Shows the most recent sequence pressure behavior directly in the dashboard
Core Components Explained
1. Confirmed Pivot Detection
pivHigh = ta.pivothigh(high, leftBars, rightBars)
pivLow = ta.pivotlow(low, leftBars, rightBars)
The script only reacts to confirmed pivots. This means levels are built from validated swing points rather than from intrabar noise, which keeps the tool stable and non-repainting after pivot confirmation.
2. Upward and Downward Sequence Counting
When a new pivot low forms higher than the previous pivot low, the upward sequence count increases. When a new pivot high forms lower than the previous pivot high, the downward sequence count increases. If the relationship fails, the sequence resets to one.
Higher lows: Build upward structural pressure
Lower highs: Build downward structural pressure
Longer sequences: Represent stronger structural continuity
3. Active Level Engine
Every confirmed pivot creates a horizontal level that extends right. Support levels come from pivot lows. Resistance levels come from pivot highs. Each level stores:
Its price
Whether it is support or resistance
Its sequence depth
Its creation time
Levels are trimmed by age and capped by quantity so the chart stays clean.
4. Break Logic
brokeSupport = close < supportLevel
brokeResistance = close > resistanceLevel
Only levels with sequence depth greater than or equal to the selected threshold can trigger signals. This creates a cleaner breakout map that emphasizes structurally meaningful failures and expansions.
5. Chart Hygiene Controls
The script stores and prunes pivot labels so they do not accumulate indefinitely. Broken or expired levels are removed from active management, and broken levels can optionally be deleted immediately for a cleaner chart.
Visual Elements
Support Lines: Teal dashed levels extending from higher-low pivots
Resistance Lines: Red dashed levels extending from lower-high pivots
Pivot Labels: Compact U/D sequence tags showing progression depth
Break Markers: Triangles on bullish resistance breaks and bearish support breaks
Dashboard: Up sequence, down sequence, total breaks, last break depths, and active level count
Input Parameters
Pivot Left / Right Bars: Confirmation strength for structural swings
Minimum Sequence: Required sequence depth before a break can trigger
Max Active Levels: Hard cap for line management and chart cleanliness
Max Level Age: Removes stale structure from consideration
Delete Broken Levels: Optional cleanup for a more minimal chart
How to Use This Indicator
Step 1: Identify whether the market is building higher lows or lower highs.
Step 2: Focus on levels with deeper sequence counts.
Step 3: Treat bullish signals as upside breaks of resistance sequences.
Step 4: Treat bearish signals as downside breaks of support sequences.
Step 5: Use the level count and recent break depths to judge whether structure is compressing or resolving.
Best Practices
Use larger pivot settings on volatile instruments to reduce noise
Increase minimum sequence length when markets are choppy
Pair with trend or participation tools to separate continuation from exhaustion
Respect old levels less than fresh ones unless they were built with deep sequence pressure
Use the dashboard to calibrate structure sensitivity instrument by instrument
Indicator Limitations
Pivot-based tools confirm after the fact by design
Sequence strength measures persistence, not certainty
Very low pivot settings can create too many structural levels
Very high pivot settings can delay signals
Breakouts can still fail, especially in range-bound conditions
Technical Implementation
Built in Pine Script v6 using:
Confirmed pivot detection
Directional sequence counting
Array-managed line storage
Label retention caps for chart cleanliness
Age-based level cleanup
Non-repainting break logic on confirmed bars
Originality Statement
This indicator is original in its focus on sequence depth as the source of structural weighting. Many support and resistance tools draw levels; this one grades their importance by the persistence of the swing process that created them, then filters breakout logic through that structural pressure.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Structural breaks can fail, reverse, or whipsaw. Always use independent analysis, stops, and appropriate risk management.
-Made with passion by officialjackofalltrades
Indicator

Volumetric Pressure Gradient [JOAT]Volumetric Pressure Gradient
Introduction
Volumetric Pressure Gradient is an institutional-style volume location oscillator that converts rolling value distribution into a clean 0-100 pressure map. Instead of forcing the trader to interpret raw profile levels in price space only, the indicator rescales the Point of Control, Value Area High, and Value Area Low into the same oscillator space as current price location. This creates a direct view of whether price is trading above value, below value, or rotating through equilibrium.
The result is a cleaner decision tool for traders who want to understand auction positioning without cluttering the chart with a full profile rendering. It is designed to answer a simple but powerful question: where is price trading relative to where volume has actually concentrated?
Why This Indicator Exists
Value Location Context: Shows where price sits inside the recent auction range
POC Relationship: Highlights when price is trading above or below volume-weighted equilibrium
Value Area Awareness: Tracks whether price is stretching outside accepted value or rotating back into it
Momentum Confirmation: Uses consecutive closes relative to the scaled POC for cleaner pressure confirmation
Compact Visualization: Delivers profile intelligence in a sub-pane without overwhelming the chart
Core Components Explained
1. Rolling Volume Distribution
winHigh = ta.highest(high, lookback)
winLow = ta.lowest(low, lookback)
binSize = (winHigh - winLow) / bins
The indicator builds a rolling distribution over the selected lookback window using equal-width price bins. Each candle contributes volume into the bin that contains its midpoint. This keeps the logic fast, stable, and visually clean while still capturing where trade participation has concentrated.
2. Point of Control Calculation
The Point of Control is the bin with the greatest accumulated volume. It represents the most accepted price area inside the current rolling auction. When the oscillator is above the scaled POC, buyers are holding price above accepted value. When below, price is trading at a discount relative to the current volume center of gravity.
3. Value Area Expansion
vaTarget = totalVol * valueAreaPct / 100.0
Starting from the POC, the script expands upward and downward until the cumulative volume reaches the selected value area percentage. This produces a dynamic Value Area High and Value Area Low that respond to where trading activity is actually clustering.
4. Oscillator Normalization
oscillator = ta.ema((close - winLow) / range * 100.0, smoothLen)
Price location is transformed into a 0-100 oscillator so it can be compared directly against the scaled POC and value boundaries. This turns volume profile interpretation into a faster read:
Above POC = premium to value
Below POC = discount to value
Near Value Area High = acceptance near upper auction boundary
Near Value Area Low = acceptance near lower auction boundary
5. Pressure Confirmation Logic
The indicator tracks consecutive bars above or below the scaled POC. This avoids overreacting to one-bar noise and helps confirm whether price is actually sustaining premium or discount pressure.
Visual Elements
Main Oscillator: Color-switching pressure line based on price location relative to POC
POC Line: Gold equilibrium reference showing accepted value
VA High / VA Low: Soft boundary lines for the active value area
Gradient Fill: Bullish above POC, bearish below POC
OB/OS Background: Optional shading when price stretches to extremes
Momentum Markers: Compact confirmation triangles when above/below-POC pressure persists
Dashboard: Live readout of VAH, POC, VAL, width, position, and regime
Input Parameters
Lookback Bars: Window used for the rolling profile and oscillator normalization
Value Area %: Percentage of total volume used to define accepted value
Overbought / Oversold: Stretch thresholds for auction extremes
Momentum Confirm Bars: Required bars above or below POC before confirmation fires
Oscillator EMA: Smoothing applied to the normalized pressure line
How to Use This Indicator
Step 1: Identify whether the oscillator is above or below the POC. This tells you if price is trading at premium or discount relative to recent value.
Step 2: Check whether price is rotating inside value or expanding away from it.
Step 3: Watch for momentum confirmation markers when pressure sustains on one side of the POC.
Step 4: Use overbought and oversold conditions as context, not automatic reversal signals.
Step 5: Combine with structure or trend tools for directional execution.
Best Practices
Use on liquid markets where reported volume is meaningful
Treat the POC as equilibrium, not as guaranteed support or resistance
Combine premium/discount information with higher-timeframe structure
Momentum confirmation works best when the value area is not extremely narrow
Value area width can help identify compression vs expansion conditions
Indicator Limitations
This is a rolling approximation of value, not a full exchange-native volume profile engine
Very small lookbacks can make value levels overly reactive
Overbought and oversold readings can remain extended in strong trends
Value acceptance does not guarantee reversal
Volume quality varies by market and broker feed
Technical Implementation
Built in Pine Script v6 using:
Rolling bin-based volume distribution
POC-first value area expansion
Normalized 0-100 price-location oscillator
EMA smoothing for pressure readability
Consecutive-bar momentum confirmation
Non-repainting confirmed-bar updates
Originality Statement
This indicator is original in how it compresses profile-style value logic into an oscillator workflow. Rather than drawing a traditional profile on the price chart, it translates value, equilibrium, and range position into a compact pressure framework that is easier to combine with momentum and structure analysis.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves risk, including the risk of loss. Volume-based context improves decision quality, but it does not predict future price movement with certainty. Always use proper risk management and independent judgment.
-Made with passion by officialjackofalltrades
Indicator

Hysteresis VWAP Regime Bands [ATC]Hysteresis VWAP Regime Bands is a VWAP-based market context indicator designed to help traders read price location, VWAP extension, and volatility structure more clearly.
This script plots an anchored VWAP with ±1SD and ±2SD bands, then adds two differentiating context layers:
1. A hysteresis-based price-location classifier that helps reduce noisy zone flicker around VWAP band boundaries.
2. A rolling Z-score VWAP bandwidth regime classifier that identifies whether the VWAP envelope is compressed, normal, or expanded compared to recent conditions.
This is not a buy/sell signal generator. It is a structured VWAP context tool intended to help traders understand where price is trading relative to volume-weighted value.
________________________________________
What Makes This Different From Standard VWAP Bands
Most VWAP band indicators simply plot VWAP and deviation bands. This script adds stabilized interpretation logic on top of the bands.
1. Hysteresis-Based Price Zones
Standard band logic can become noisy when price hovers near +1SD, -1SD, +2SD, or -2SD. A simple raw comparison may flip the displayed state back and forth every few bars.
This script uses a configurable Price-Zone Hysteresis Buffer. Price must clear a VWAP band boundary by a defined margin before the zone state updates. This helps create cleaner, more stable zone readings.
2. VWAP Bandwidth Regime Classification
The script also measures the current width of the VWAP envelope and compares it to its own rolling baseline using a Z-score.
This creates three bandwidth regimes:
• Compressed Width — the VWAP envelope is unusually narrow.
• Normal Width — the VWAP envelope is near its recent baseline.
• Expanded Width — the VWAP envelope is unusually wide.
This helps traders distinguish whether the market is operating in a tighter value structure or a wider, more volatile structure.
Together, these two additions turn VWAP bands from simple plotted levels into a more complete VWAP context framework.
________________________________________
Core Components
VWAP Line
The VWAP line is the central volume-weighted value reference for the selected anchor period. It represents the average price weighted by traded volume.
Price above VWAP means price is trading above volume-weighted value.
Price below VWAP means price is trading below volume-weighted value.
A rising VWAP suggests value is moving higher.
A falling VWAP suggests value is moving lower.
VWAP can act as a trend anchor, mean-reversion reference, or decision level depending on the structure of the session.
________________________________________
±1SD Bands
The ±1 standard deviation bands define the inner VWAP value envelope.
Price between +1SD and -1SD is closer to central VWAP value.
Price holding above +1SD shows upper-side acceptance.
Price holding below -1SD shows lower-side acceptance.
These bands are often useful for identifying whether price is still trading near value or
beginning to move directionally away from value.
________________________________________
±2SD Bands
The ±2 standard deviation bands define the outer VWAP envelope.
Price beyond +2SD is in an upper extension area.
Price beyond -2SD is in a lower extension area.
These zones can indicate strong directional movement or stretched price location. They should not be treated as automatic reversal signals. Strong trend sessions can continue to hold near or beyond outer VWAP bands for extended periods.
________________________________________
Price-Location Zones
The script classifies price into five VWAP location zones:
Above +2SD — Upper Extreme
Price is trading beyond the upper outer VWAP band. This is an extended upper location relative to VWAP.
This may represent strong upside momentum, but it can also mean the move is becoming stretched. Traders should avoid assuming that upper extreme automatically means reversal.
________________________________________
Above +1SD — Upper Bias
Price is trading above the inner upper VWAP band but below the outer upper band.
This shows price is accepting above central value. In a strong session, this can support a bullish continuation context.
________________________________________
Mid-Band — Neutral
Price is trading between +1SD and -1SD.
This is the central VWAP value zone. Price is closer to volume-weighted fair value, and directional conviction may be weaker unless there is clear price action confirmation.
________________________________________
Below -1SD — Lower Bias
Price is trading below the inner lower VWAP band but above the outer lower band.
This shows price is accepting below central value. In a weak session, this can support a bearish continuation context.
________________________________________
Below -2SD — Lower Extreme
Price is trading beyond the lower outer VWAP band. This is an extended lower location relative to VWAP.
This may represent strong downside pressure, but it can also mean price is stretched to the downside. It should be interpreted with confirmation.
________________________________________
Bandwidth Regime
The bandwidth regime measures the width between the outer VWAP bands and normalizes it against recent conditions.
The script calculates the current VWAP envelope width as a percentage of VWAP, then compares that value to its own rolling mean and standard deviation.
This creates a normalized bandwidth Z-score.
Compressed Width
The VWAP envelope is unusually narrow compared to recent conditions.
This may suggest a more balanced, contained, or compressed environment. Compression does not predict direction by itself. It simply tells you that the VWAP structure is tighter than normal.
________________________________________
Normal Width
The VWAP envelope is near its recent baseline.
This suggests that current VWAP band width is within a typical range relative to recent conditions.
________________________________________
Expanded Width
The VWAP envelope is unusually wide compared to recent conditions.
This may suggest increased price dispersion, volatility, or stronger directional movement. Expanded width also means risk can be wider, so chasing late moves may become less attractive.
________________________________________
Color and Visual Interpretation
The color system is designed to make the VWAP structure easier to read at a glance. Colors are not standalone trade signals. They are visual context cues.
________________________________________
Cyan / Blue — VWAP and Central Value
The bright cyan VWAP line is the central fair-value reference.
How to interpret it:
• Price above VWAP = trading above volume-weighted value
• Price below VWAP = trading below volume-weighted value
• Rising VWAP = value is moving higher
• Falling VWAP = value is moving lower
The blue/cyan fill between +1SD and -1SD represents the central VWAP value area.
________________________________________
Green / Mint — Upper VWAP Structure
Green or mint colors represent upper VWAP structure.
This includes:
• Upper VWAP bands
• Upper-side price zones
• Upper extension areas
• Bullish or upside location context
How to interpret it:
• Price above +1SD shows upper-side acceptance.
• Price between +1SD and +2SD shows price is elevated above value.
• Price above +2SD shows upper extension.
Green does not automatically mean buy. It means price is trading in the upper VWAP structure.
________________________________________
Pink / Red — Lower VWAP Structure
Pink or red colors represent lower VWAP structure.
This includes:
• Lower VWAP bands
• Lower-side price zones
• Lower extension areas
• Bearish or downside location context
How to interpret it:
• Price below -1SD shows lower-side acceptance.
• Price between -1SD and -2SD shows price is depressed below value.
• Price below -2SD shows lower extension.
Red does not automatically mean short. It means price is trading in the lower VWAP structure.
________________________________________
Blue / Cyan Fill — Neutral Value Zone
The area between +1SD and -1SD is lightly filled with a blue/cyan tint.
How to interpret it:
• Price inside this area is closer to volume-weighted value.
• This zone often reflects more balanced conditions.
• Directional conviction may be weaker unless price breaks and holds outside the inner bands.
• Traders may use this area to identify chop, mean reversion, or developing acceptance near VWAP.
________________________________________
Green Fill — Upper Extension Zone
The area between +1SD and +2SD may be filled with a green tint.
How to interpret it:
• Price holding in this area shows upper-side acceptance.
• During strong sessions, pullbacks toward +1SD can act as continuation areas.
• If price loses +1SD and cannot reclaim it, upper-side acceptance may be weakening.
________________________________________
Red Fill — Lower Extension Zone
The area between -1SD and -2SD may be filled with a red tint.
How to interpret it:
• Price holding in this area shows lower-side acceptance.
• During weak sessions, pullbacks toward -1SD can act as continuation areas.
• If price reclaims -1SD and holds above it, lower-side pressure may be weakening.
________________________________________
Violet / Purple — Compressed Width
Violet or purple represents a compressed VWAP bandwidth regime.
How to interpret it:
• VWAP bands are tighter than normal.
• Price may be in a more balanced or contained structure.
• Volatility is relatively compressed.
• Compression can precede expansion, but it does not predict direction.
Compression means the VWAP envelope is narrow, not necessarily bullish or bearish.
________________________________________
Amber / Orange — Expanded Width
Amber or orange represents an expanded VWAP bandwidth regime.
How to interpret it:
• VWAP bands are wider than normal.
• Price dispersion has increased.
• Volatility or directional movement may be elevated.
• Risk may be wider because price is moving across a larger structure.
• Late entries after a large move may require more caution.
Expansion means the VWAP envelope is wide. It does not automatically mean the move is over.
________________________________________
Background Tints
The script can apply subtle background tints for extreme price zones or bandwidth regimes.
How to interpret them:
• Green tint = upper extreme or strong upper-side context
• Red tint = lower extreme or strong lower-side context
• Violet tint = compressed bandwidth regime
• Amber tint = expanded bandwidth regime
If an extreme price zone and a bandwidth regime occur at the same time, the script prioritizes the more immediate price-location context so the chart remains readable.
________________________________________
HUD Display
The HUD provides a compact summary of the current VWAP structure.
It includes:
• VWAP Regime — current anchor mode and source price
• VWAP — current VWAP value
• +1SD / -1SD — current inner band values
• +2SD / -2SD — current outer band values
• Price Zone — current hysteresis-confirmed VWAP location
• Band Regime — current bandwidth regime and width Z-score
• Use — reminder that this is a context tool and should be confirmed with price action
The two most important HUD fields are Price Zone and Band Regime.
________________________________________
Price Zone
This shows where price is trading relative to the VWAP bands.
Because the zone logic uses hysteresis, it does not flip on every minor touch of a band. Price must move beyond the band boundary by the configured buffer before the state changes.
________________________________________
Band Regime
This shows whether the VWAP envelope is compressed, normal, or expanded compared to recent conditions.
This helps traders understand whether price is moving inside a tight VWAP structure or a wider volatility structure.
________________________________________
Anchor Modes
The script supports three anchor modes.
Session
VWAP resets at the selected regular trading session. This is the default mode and is best suited for intraday trading.
The default session is 0930–1600 New York time.
The session reset logic is designed to work whether extended-hours bars are visible or hidden. This helps keep the session VWAP behavior consistent on regular-hours-only charts.
________________________________________
Week
VWAP resets at the start of a new week.
This can be useful for traders who want broader weekly value context on intraday or lower-timeframe charts.
________________________________________
Month
VWAP resets at the start of a new month.
This can be useful for traders monitoring broader monthly value structure.
________________________________________
Source Price Options
The VWAP source can be configured as:
• hlc3 — average of high, low, and close
• hl2 — average of high and low
• ohlc4 — average of open, high, low, and close
• close — close-only source
For most intraday use, hlc3 is a balanced default.
________________________________________
Alerts
The script includes alert conditions for:
• VWAP Cross
• +1SD Cross
• -1SD Cross
• +2SD Cross
• -2SD Cross
• VWAP Zone Change
• VWAP Bandwidth Regime Change
The zone-change and regime-change alerts are the most specific to this script’s added logic. They are based on stabilized state models rather than raw band touches alone.
________________________________________
How to Use It
Use this indicator as a VWAP context layer, not as a standalone trading system.
A practical workflow:
1. Start with the VWAP line to identify whether price is above or below volume-weighted value.
2. Use the Price Zone to determine whether price is neutral, biased above value, biased below value, or extended.
3. Use the Band Regime to determine whether the VWAP envelope is compressed, normal, or expanded.
4. Use price action, structure, volume, or your own entry model to confirm trades.
________________________________________
Practical Interpretation Examples
Example 1
Price Zone: Above +1SD — Upper Bias
Band Regime: Expanded Width
This means price is trading above the central VWAP value area while the VWAP envelope is wider than normal.
The context is bullish in location, but risk may also be wider because price dispersion has expanded. In this environment, traders may prefer pullback confirmation instead of chasing after a large move.
________________________________________
Example 2
Price Zone: Mid-Band — Neutral
Band Regime: Compressed Width
This means price is near VWAP value and the bands are unusually tight.
This often represents a balanced or compressed environment. Traders may wait for price to break and hold outside the inner VWAP bands before treating the move as directional.
________________________________________
Example 3
Price Zone: Below -2SD — Lower Extreme
Band Regime: Expanded Width
This means price is extended below VWAP while the VWAP envelope is wider than normal.
This may reflect strong downside pressure, but it may also mean short-side chase risk is elevated. Confirmation from price action is important.
________________________________________
Recommended Markets and Timeframes
This indicator is designed for liquid instruments where VWAP is meaningful, including:
• Equity index futures
• Major ETFs
• Liquid large-cap stocks
• Major FX pairs
• Liquid crypto markets
Recommended intraday timeframes:
• 1-minute
• 3-minute
• 5-minute
• 15-minute
Session anchor mode is intended primarily for intraday charts. Weekly and monthly anchors may be useful when viewing broader value structure.
________________________________________
Important Notes
This indicator does not predict future price movement. It does not issue buy or sell signals. It provides a structured view of VWAP location, VWAP extension, and VWAP bandwidth regime so traders can make more informed decisions within their own strategy.
VWAP bands, price-location zones, and bandwidth regimes should be interpreted as context. Always confirm with price action, volume, risk controls, and your own trading plan.
Indicator

Fracture Threshold Strategy [JOAT]Fracture Threshold Strategy
Introduction
Fracture Threshold Strategy (FTS) is an open-source, automated Pine Script v6 trading strategy that combines three independent filters — a seven-condition MasterTrend EMA alignment score, a relative volume regime gate, and a session time restriction — into a single, unified entry system. Entry is triggered by an EMA 4/5 crossover when all three filters are simultaneously satisfied. Stop loss is placed at 1.5× ATR from entry. Take profit is set at a 3:1 reward-to-risk ratio by default. All orders are executed on bar close (process_orders_on_close=false), and signals are gated on barstate.isconfirmed to eliminate intrabar repainting.
FTS is designed to demonstrate how institutional-grade filtering layers can be combined into a programmatic strategy with realistic, auditable results. It is not a black box — every condition is visible in the dashboard and the source code is fully open. The strategy description explains the exact logic, the default backtesting parameters, and the limitations of any backtesting approach.
Core Concepts
1. MasterTrend Seven-EMA Alignment Score
Seven trend conditions are evaluated on each bar. Each satisfied condition contributes one point to a bull or bear score (0–7):
EMA 4 above/below EMA 5 — fast momentum direction
RSI above/below 50 — momentum confirmation
Price above/below EMA 21 — short-term trend
EMA 21 above/below SMA 50 — medium-term structure
SMA 50 above/below EMA 55 — medium-to-intermediate trend
EMA 55 above/below EMA 89 — intermediate trend
Price above/below EMA 750 — long-term macro trend
Entry requires the bull or bear score to equal or exceed the configurable minimum (default: 5 out of 7). This prevents entries during low-conviction, mixed-alignment market conditions.
2. Relative Volume Regime Gate
Volume regime is measured as the ratio of a short-term volume MA to a long-term volume MA, smoothed by an EMA:
float volRatio = ta.ema(volShort / math.max(volLong, 1.0), i_volSmth)
bool volOK = volRatio >= i_volMin
The default minimum ratio is 0.90 — entries are blocked when recent volume is more than 10% below the long-term average. This prevents the strategy from entering trades during dead, low-participation conditions where institutional order flow is absent.
3. Session Filter
Trading is restricted to the London session (08:00–17:00) and New York session (14:00–21:00) in the selected timezone, with both independently toggleable. Entries outside the active sessions are blocked. This keeps the strategy focused on the highest-liquidity periods of the trading day.
4. EMA 4/5 Crossover Entry Trigger
The entry trigger is an EMA 4 crossover above EMA 5 (for longs) or crossunder (for shorts), evaluated on confirmed bar closes. The crossover is a fast momentum signal — it fires at the beginning of a new short-term directional move. Combined with the full filter stack, it identifies the specific bar where momentum begins aligning with the broader structural trend.
5. ATR Stop Loss and 3:1 Take Profit
Stop loss is placed at 1.5× ATR from entry. Take profit is placed at 3× the stop distance (configurable). Both levels are computed at entry and fixed — they do not trail. The strategy uses Pine Script's strategy.exit() function with explicit stop and limit prices for clean, non-discretionary execution.
Default Backtesting Properties
The strategy has been published with the following default Properties settings. These values are used in all performance metrics shown on the chart:
Initial Capital: $10,000 (realistic for an individual trader)
Position Size: 2% of equity per trade (risk-managed sizing)
Commission: 0.05% per side (representative of standard exchange or broker fees)
Slippage: 2 ticks
Pyramiding: 0 (one trade open at a time)
process_orders_on_close: false (orders execute on the next bar open, not at the signal bar close)
Using 2% of equity per trade with a 1.5× ATR stop means the maximum percentage of equity at risk per trade scales with position size dynamically — at a 3:1 RR ratio, three losing trades in a row lose approximately 6% of equity, which is within the PulseWire recommended range. A dataset that generates at least 100 trades is recommended for meaningful statistical evaluation. On lower timeframes (5m, 15m) on major equity indices or forex pairs with London and NY sessions active, the default settings typically produce sufficient trade counts.
Features
Three-Layer Entry Filter: MasterTrend score, volume regime, and session — all three must be satisfied simultaneously
Configurable Minimum Score: Adjustable minimum MasterTrend alignment score threshold (1–7, default: 5)
EMA 4/5 Crossover Trigger: Fast momentum crossover as entry signal within aligned conditions
ATR Stop Loss: Dynamic stop placement based on current ATR — adapts to instrument volatility
Fixed Ratio Take Profit: 3:1 default reward-to-risk — adjustable
Session Restriction: London and New York sessions independently configurable with timezone setting
Volume Regime Gate: Minimum volume ratio filter blocks entries during low-participation conditions
TP/SL Visualization: Active trade TP and SL boxes drawn from entry and extended on each bar — color changes on outcome
Entry Markers: Triangle plotshapes at long and short entry bars for clear chart identification
EMA Reference Plots: EMA 4, EMA 5, EMA 21, and EMA 750 plotted as reference
Non-Repainting: process_orders_on_close=false; all entry conditions gated on barstate.isconfirmed
Dashboard (Top Right): Live MasterTrend state, volume regime, session, current position, net P&L, win rate, profit factor, max drawdown, average win/loss, and RR ratio
Entry Context Labels: Each entry label now shows the MasterTrend score and volume regime tag at the moment of entry in the format "L 6/7 | V:HI" — full entry context visible on the chart without needing to consult the dashboard
Position Candle Tint: Candles colored green while a long position is open, red while a short position is open — provides an immediate visual record of all trade durations across the full chart history
Per-Session Performance Breakdown: London and New York win rates tracked and displayed separately in the dashboard — identifies which session produces the strongest historical edge for the current instrument and timeframe
Expanded Dashboard (15 Rows): Dashboard expanded to 15 rows — now includes a full session performance section with London and NY win rates alongside the existing strategy performance metrics
Input Parameters
MasterTrend EMA Stack:
EMA 4, EMA 5, EMA 21, SMA 50, EMA 55, EMA 89, EMA 750: All periods individually configurable
RSI Length: RSI period for momentum condition (default: 14)
Volume Regime Filter:
Short Vol MA / Long Vol MA: Volume baseline calculation periods (default: 10, 40)
Vol Smooth: EMA smoothing for ratio (default: 3)
Min Vol Ratio: Minimum ratio threshold for entry permission (default: 0.90)
Session Filter:
Timezone: Session evaluation timezone (default: America/New_York)
Session Filter: Master toggle (default: enabled)
Allow London / Allow NY: Independent session toggles (both default: enabled)
Entry Trigger:
EMA4/5 Cross Entry: Use crossover as trigger (default: enabled)
Min MasterTrend Score: Minimum score required for entry (default: 5)
Risk Management:
ATR Length: ATR period (default: 14)
ATR SL Multiplier: Stop distance as ATR multiple (default: 1.5)
Reward:Risk Ratio: TP multiple (default: 3.0)
How to Use This Strategy
Step 1: Verify the Filter Stack is Active
The dashboard shows MasterTrend state, volume regime, and current session at all times. Before a trade can occur, all three must be aligned — a bull score ≥ 5, volume ratio ≥ 0.90, and an active London or NY session window.
Step 2: Observe the EMA 4/5 Crossover
The entry trigger is the EMA 4 crossing EMA 5. With all filters active, the next crossover in the trend direction will generate an entry. The entry is executed at the open of the following bar (process_orders_on_close=false), which is the realistic execution point.
Step 3: Manage the Open Trade
The TP/SL boxes extend from the entry bar and update on each subsequent bar. The strategy's exit function manages the trade automatically — no manual management is required. The dashboard shows the current position state (LONG / SHORT / FLAT) at all times.
Step 4: Evaluate Backtesting Results Critically
Past results do not predict future performance. Before drawing conclusions from any backtest, ensure the trade count is at least 100. A small sample (under 50 trades) produces unreliable win rate and profit factor estimates. Test across multiple instruments and timeframes — a strategy that performs well on one asset in one period may not generalize.
Strategy Limitations
The EMA 750 requires 750 bars of chart history. On timeframes or instruments with limited bar history, the 750-period EMA will be inaccurate for the first 750 bars — backtest results including those bars should be discounted
Backtesting does not account for liquidity, market impact, or partial fills on real orders. The 2-tick slippage setting is an approximation — on illiquid instruments or during news events, actual slippage may be significantly higher
The EMA 4/5 crossover is a fast signal. In choppy, sideways markets where EMAs cross frequently, the strategy may enter multiple trades quickly that all exit at stop loss before the filter stack re-assesses. The session and volume filters reduce but do not eliminate this behavior
A fixed 3:1 RR ratio requires the market to travel 3× the initial risk without reversing. On short timeframes or on instruments with narrow average ranges relative to ATR, achieving the full TP target may be less frequent than on smoother-trending assets
Commissions, taxes, and regulatory fees vary by broker, instrument, and jurisdiction. The 0.05% commission default is a general estimate — actual trading costs should be substituted with broker-specific values before drawing performance conclusions
This strategy is one specific configuration of the underlying filter system. Adjusting the minimum MasterTrend score, volume threshold, session windows, or RR ratio will produce different results. Any configuration change constitutes a separate strategy with its own performance characteristics
Originality Statement
FTS implements a programmatic entry system by combining a seven-condition quantitative trend score, a relative volume regime gate, and a session time restriction into a unified, fully transparent open-source strategy. This is original for the following reasons:
The MasterTrend alignment score functions as a structural quality gate — rather than entering on any EMA crossover, the strategy explicitly requires a minimum number of the seven structural conditions to be simultaneously satisfied, producing a much stricter entry criterion than a standard crossover system
The volume regime gate uses a normalized ratio (not a raw volume level) to block entries during low-participation conditions — making the filter relevant across instruments and timeframes without requiring instrument-specific volume threshold calibration
The combination of structural alignment (EMA stack), activity quality (volume regime), and time context (session filter) as three independent prerequisites creates a compounding selectivity effect — the strategy only enters the specific intersection of all three conditions, which is a smaller, higher-conviction subset than any single filter alone
The live dashboard displaying all filter states, position context, and key performance metrics simultaneously provides full transparency into why any given bar does or does not produce a signal, making the strategy auditable in real time
Disclaimer
This strategy 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. Backtesting results shown are based on historical data and do not guarantee or predict future performance. Past results are not indicative of future results. Commission and slippage values used in backtesting are estimates — actual trading costs will vary. The strategy does not account for all real-world execution factors. Always use proper risk management and consult a qualified financial professional before making trading decisions. The author is not responsible for any trading losses resulting from the use of this strategy.
-Made with passion by jackofalltrades Strategy

Simple Relative Strength
This 'Simple Relative Strength' (SRS) indicator is similar to RSI in that it's a measure of relative strength, except that it's calculated entirely differently.
This means that although it may look similar, it may also look and behave very differently depending on the settings.
It is calculated from a time period, specified by a number of bars, hours or days.
The SRS value is the current price, expressed as a percentage of the price range, from low to high, of the specified time period.
This is my own invention, and not like anything else, that I'm aware of.
I currently use this SRS as one of the indicators, within a more complex live trading strategy for my bots, trading on Bitcoin and Gold.
I did initially try using an RSI or CMF within my strategy, but found this SRS to be more useful instead.
Indicator

Volume Displacement Engine [JOAT]Volume Displacement Engine
Introduction
Volume Displacement Engine (VDE) is an open-source volume regime oscillator that measures the ratio of short-term volume activity to long-term volume baseline, smooths it into a clean oscillator, and classifies current market activity into four distinct regimes: Low, Normal, High, and Extreme. The histogram and background tint update in real time with regime-specific coloring, reference lines mark each threshold boundary, and breakout signals fire when price closes beyond a rolling high or low during elevated volume regimes. A consolidation detection layer identifies consecutive low-volume bars as ranging periods. Trade outcomes from breakout signals are tracked for statistical win rate context, displayed in a structured dashboard.
The core problem VDE solves is the absence of context in standard volume indicators. Raw volume bars communicate size but not relevance — a large bar on a trending instrument in a high-liquidity session is very different from the same bar during off-hours. By expressing volume as a ratio to a rolling baseline and classifying it into regimes, VDE communicates whether current activity is institutionally significant (High or Extreme) or routine (Normal/Low). Price breakouts during High or Extreme volume are fundamentally different propositions than the same price moves on thin volume — VDE makes that distinction explicit and actionable.
Core Concepts
1. Volume Ratio Oscillator
The core calculation divides a short-term volume simple moving average by a long-term volume simple moving average, then applies an EMA smoothing pass to reduce bar-to-bar noise:
float rawRatio = volShort / math.max(volLong, 1.0)
float volRatio = ta.ema(rawRatio, i_smoothLen)
A ratio above 1.0 means recent volume is above the long-term average — activity is elevated. A ratio below 1.0 means recent volume is below the baseline — activity is depressed. The smoothing EMA gives the oscillator a cleaner shape while maintaining responsiveness to regime changes.
2. Four-Tier Regime Classification
Four threshold boundaries define the regime tiers. All thresholds are fully configurable:
Low: Ratio below the low threshold (default: 0.70) — below-average activity, reduced institutional participation
Normal: Ratio between low and normal ceiling (default: 0.70–1.20) — baseline activity
High: Ratio between normal ceiling and high threshold (default: 1.20–1.80) — elevated activity, potential institutional flow
Extreme: Ratio above the high threshold (default: 1.80+) — exceptional volume surge, likely significant price event
3. Breakout Signal Detection
Breakout signals are generated when price closes beyond the rolling highest high or lowest low of the configurable lookback window during a High or Extreme volume regime. This combines price displacement with volume confirmation, filtering out low-conviction breakouts that occur on thin volume:
bool bullBreak = barstate.isconfirmed and close > hh and (isHigh or isExtreme)
bool bearBreak = barstate.isconfirmed and close < ll and (isHigh or isExtreme)
4. Consolidation Detection
When multiple consecutive bars fall below the consolidation volume threshold, VDE identifies the period as a consolidation zone. The minimum bar count ensures short dips below the threshold are not misclassified as ranges. A dotted reference line marks consolidation periods in the oscillator pane, providing context for identifying compression before expansion moves.
5. Gradient Fill and Regime Tint
The oscillator histogram is colored to match the current regime. A fill between the histogram and the 1.0 baseline uses the regime color with transparency, providing a visual area representation of volume expansion or contraction. During High and Extreme regimes, a background tint activates in the oscillator pane to immediately draw attention to elevated activity periods without requiring inspection of the histogram height.
Features
Volume Ratio Oscillator: Short/long MA ratio smoothed by EMA — measures relative volume displacement from baseline
Four-Tier Regime Classification: Low, Normal, High, and Extreme regimes with independent color coding and configurable thresholds
Histogram Coloring: Bar color matches current regime — immediate visual reading of activity level
Regime Background Tint: High and Extreme volume periods highlighted with a pane background color for immediate attention
Threshold Reference Lines: Horizontal dashed lines at each regime boundary and at the 1.0 baseline for quick ratio reading
Gradient Regime Fill: Fill between oscillator and baseline communicates expansion/contraction area visually
Price Breakout Signals: Bull and bear breakout signals fire when price closes beyond rolling extremes during elevated volume regimes only
Consolidation Detection: Consecutive below-threshold volume bars identified as consolidation periods
Breakout Win Rate Tracking: Outcomes from breakout signals tracked against ATR-based TP/SL levels for statistical context
Non-Repainting: All signals gated on barstate.isconfirmed
Dashboard (Top Right): Current regime label, vol ratio value, consolidation status, and win rate breakdown for High and Extreme regime breakouts
Vol Momentum Columns: 3-bar rate-of-change of the vol ratio displayed as green/red column bars in the oscillator pane — shows whether volume activity is accelerating or decelerating relative to 3 bars prior
Rolling 20-Bar Vol Ratio Peak Reference Line: A purple reference line tracks the rolling 20-bar peak vol ratio — provides a visual ceiling for recent activity levels and highlights when the current ratio is approaching or exceeding recent extremes
Vol Ratio Delta in Dashboard: Vol ratio delta shown in real time in the dashboard with a directional arrow (▲/▼) — communicates whether volume pressure is building or fading on the current bar
CONS Label on Consolidation Start: A "CONS" label fires at the bar when a consolidation zone begins — marks the exact start of identified compression periods directly on the oscillator
Breakout Strength Labels: "BRK +X.XX" and "BRK -X.XX" labels appear at each breakout signal showing the vol ratio value at the moment of the break — communicates the institutional conviction level behind each breakout directly on the chart
Input Parameters
Volume Engine:
Short Vol Window: Short-term volume MA period (default: 10)
Long Vol Window: Long-term volume MA period (default: 40)
Ratio Smooth: EMA smoothing length for ratio (default: 3)
Low Vol Threshold: Ratio below which regime is Low (default: 0.70)
Normal Vol Ceiling: Ratio above which regime is High (default: 1.20)
High Vol Threshold: Ratio above which regime is Extreme (default: 1.80)
Consolidation:
Consolidation Window: Lookback window for consolidation range (default: 8)
Consolidation Vol Max: Maximum ratio to qualify as a consolidation bar (default: 0.80)
Min Consolidation Bars: Minimum consecutive qualifying bars to declare consolidation (default: 4)
Breakout Signal:
Breakout Lookback: Rolling high/low lookback window (default: 20)
ATR Length: Period for ATR calculation (default: 14)
ATR SL Multiplier: Stop loss distance (default: 1.5)
Reward:Risk Ratio: TP multiple (default: 3.0)
Show TP/SL Labels: Toggle label display in the oscillator pane (default: enabled)
How to Use This Indicator
Step 1: Read the Regime
Glance at the dashboard regime label and histogram color. A grey histogram (Low) indicates the market is in a quiet, low-participation period — avoid breakout strategies during these windows. A teal histogram (Normal) is baseline. An amber histogram (High) or red (Extreme) signals institutional-grade activity.
Step 2: Identify Consolidation Periods
When the dotted consolidation line is active in the oscillator pane, the market is in a low-volume compression phase. These periods typically precede expansion moves — the direction of the subsequent breakout, confirmed on volume, is a key signal.
Step 3: React to Breakout Signals
Breakout signals (triangles at the top/bottom of the oscillator pane) only fire during High or Extreme regimes. When a bull breakout label appears, price has closed above the rolling high on elevated volume — a confirmed displacement. The ATR TP/SL levels from that bar define the immediate risk/reward.
Step 4: Monitor the Ratio Trend
The oscillator line trending upward while above 1.0 indicates sustained institutional accumulation of activity — these sustained elevated periods often coincide with trending phases. A declining ratio from Extreme back toward Normal often signals activity exhaustion.
Indicator Limitations
Volume data quality varies significantly by instrument and data provider. On synthetic instruments, indices, or assets where volume reflects contract count rather than notional size, the ratio will not accurately represent true monetary volume displacement
TP/SL outcome tracking in the oscillator pane uses price data for TP/SL hit detection but displays in the volume pane — the label positions are approximate visual markers, not precise price levels on the main chart
The consolidation detector uses a fixed volume threshold. In trending markets where baseline volume rises over time, the historical consolidation threshold may not match current market conditions without recalibrating the threshold input
Breakout signals require both a price breakout and an elevated volume regime simultaneously. In markets with persistently high volume baselines (e.g., during major economic event periods), the Extreme threshold may trigger more frequently than on typical days — the thresholds may need upward adjustment on those instruments
The short/long MA window ratio is a relative measure. It compares recent volume to a historical baseline — it does not measure absolute volume in shares, contracts, or dollars
Originality Statement
VDE combines a smoothed relative volume ratio oscillator with a four-tier classification framework, consolidation detection, and volume-gated breakout signals in a unified indicator. This is original for the following reasons:
Expressing volume as a ratio of short-term to long-term moving average — rather than showing raw volume bars — normalizes the oscillator across instruments and timeframes, making the same threshold values meaningful on a liquid equity, a commodity, and a cryptocurrency without manual recalibration
The four-tier classification system with independently configurable thresholds and a gradient color scheme provides a richer regime reading than simple volume-above-average/below-average binary indicators
Volume-gated breakout detection explicitly requires the price breakout and the volume regime elevation to occur simultaneously on the same confirmed bar — preventing breakout signals from firing on thin-volume price moves that carry low institutional conviction
The consolidation detection layer adds a compression-identification capability within the volume pane, providing context for identifying low-activity ranging periods before the volume regime shifts to support a directional move
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. Volume regime classification and breakout signals are statistical constructs — elevated volume at a price breakout does not guarantee continuation in the breakout direction. Win rate statistics are derived from 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
Indicator

Session Range Architecture [JOAT]Session Range Architecture
Introduction
Session Range Architecture (SRA) is an open-source, institutional-grade session killzone engine that captures the opening range of the Tokyo, London, and New York trading sessions as live price-tracking boxes, draws high, low, and mid extension lines that persist after each session closes, and fires rejection signals when price wicks beyond a session extreme and closes back inside. Signals are filtered by an EMA alignment stack (EMA 4, EMA 5, and EMA 750) and confirmed exclusively on closed bars. ATR-based stop loss and take profit boxes visualize each signal's risk/reward from entry. Per-session and aggregate win rate statistics are tracked and displayed in a configurable dashboard.
The core problem SRA solves is the repetitive, daily manual work of marking opening range boxes for each session. ICT methodology identifies the first portion of each killzone as the period during which institutional order flow establishes the session's directional bias — the high and low of that range become the primary intraday reference levels. When price returns to those levels later in the session or in the following session and creates a wick rejection, it signals a potential liquidity grab and reversal opportunity. SRA automates the full process from box construction through signal detection to trade outcome tracking.
Core Concepts
1. Session Opening Range Construction
Each session's opening range is built dynamically during the configurable range window (default: first 15 minutes of each session). The high and low of every bar within that window expand the range in real time. At the end of the window, the range is finalized and stored as a SessionRange user-defined type containing the box, three extension lines (high, low, mid), and the session label:
if inTokyo and not tokBuilding
tokHi := high
tokLo := low
tokOpenBar := bar_index
tokBuilding := true
else if inTokyo and tokBuilding
tokHi := math.max(tokHi, high)
tokLo := math.min(tokLo, low)
2. Extension Lines
When a session's range window closes, three horizontal lines are drawn extending rightward from the range: a dashed line at the session high (buy-side liquidity), a dashed line at the session low (sell-side liquidity), and a dotted line at the session midpoint (50% equilibrium reference). These lines persist on the chart as long-term structural reference levels beyond the session itself.
3. Rejection Signal Detection
A rejection is detected when a bar's wick pierces a session high or low and the close returns inside the range. A minimum wick percentage filter ensures the penetration is meaningful relative to total candle range — trivial pokes are excluded. For a bullish rejection at a session low (price swept below, closed above), the setup is treated as a potential long opportunity. For a bearish rejection at a session high, it is treated as a short opportunity.
4. EMA Alignment Filter
Signals are optionally filtered by a simplified EMA alignment check: bullish signals require EMA 4 above EMA 5 and price above EMA 750; bearish signals require EMA 4 below EMA 5 and price below EMA 750. This ensures rejection signals at session levels are taken in the direction of the prevailing trend structure rather than against it.
5. ATR-Based Trade Visualization and Tracking
On each confirmed signal, ATR-based stop loss and take profit boxes are drawn from the entry close. Outcome is checked on subsequent bars — if price hits the SL or TP, the trade is recorded, counters for the originating session are updated, and the box color changes to reflect the result.
Features
Three Independent Session Ranges: Tokyo, London, and New York opening ranges built automatically each day — individually configurable with independent colors and visibility toggles
Configurable Range Window: Opening range capture window length adjustable from 5 to 60 minutes to match different analysis styles
Extension Lines: Session high, low, and mid extension lines drawn from completed ranges and extended rightward as persistent liquidity reference levels
Rejection Signal Detection: Wick-beyond, close-inside detection at session extremes with minimum wick percentage filter
EMA Alignment Filter: EMA 4/5 cross direction and EMA 750 price side required for signal confirmation — configurable on/off
ATR TP/SL Visualization: Risk and reward boxes from each entry bar — default 1.5× ATR stop, 3:1 reward ratio, fully adjustable
Session Win Rate Tracking: Independent win/loss/total counters for Tokyo, London, and New York sessions
Session History Management: Oldest range boxes automatically trimmed to prevent chart clutter (configurable maximum)
Non-Repainting: All signals gated on barstate.isconfirmed — session ranges never move backward
Timezone Configuration: Session windows evaluated relative to a configurable timezone to handle exchange-specific session times
Dashboard (Top Right): Per-session win/loss/rate table for Tokyo, London, NY, and aggregate total with color-coded performance rows
Session Background Tints: Subtle color fills applied to the chart background during Tokyo, London, and NY range-building windows — visually delineates the opening range capture period for each session in real time
Session Name Labels on Range Boxes: Session name label placed at the midpoint of each finalized range box — immediately identifies which session produced each visible range without requiring manual reference
EMA Alignment State in Dashboard: Current EMA alignment state (BULL ALIGN / BEAR ALIGN / NEUTRAL) displayed in the dashboard — provides a one-glance structural context for the active session
Live ATR Value in Dashboard: Current ATR value shown in the dashboard — communicates the prevailing volatility level used for TP/SL sizing at any given moment
Expanded Dashboard (8 Rows): Dashboard expanded to 8 rows — now includes EMA alignment state and live ATR value alongside the existing per-session win rate breakdown
Input Parameters
Session Settings:
Chart Timezone: Timezone for session window evaluation (default: America/New_York)
Show Tokyo / London / New York Range: Independent visibility toggles per session
Range Window (minutes): Opening range capture duration (default: 15)
EMA Filter:
Fast EMA: Period for fast EMA (default: 4)
Slow EMA: Period for slow EMA (default: 5)
Trend EMA: Period for long-term trend filter EMA (default: 750)
Require EMA Alignment: Toggle filter on/off (default: enabled)
Risk Settings:
ATR Length: ATR period (default: 14)
ATR SL Multiplier: Stop loss ATR distance (default: 1.5)
Reward:Risk Ratio: TP as multiple of SL distance (default: 3.0)
Show TP/SL Boxes: Toggle TP/SL visualization (default: enabled)
Signal Settings:
Require Rejection Wick: Toggle minimum wick filter (default: enabled)
Min Wick % of Range: Minimum wick size relative to candle range (default: 55%)
How to Use This Indicator
Step 1: Identify Session Range Levels
Each session's opening range box shows the high, low, and midpoint established during the opening window. These are the primary liquidity reference levels for that killzone. Extension lines persist after the session box closes, continuing to mark those price levels as the day progresses.
Step 2: Monitor for Rejection Signals
When price wicks beyond a session extreme and closes back inside, a rejection signal is generated. This event represents a liquidity grab — the market took the stops placed beyond the session extreme and reversed. The signal fires at the close of the rejecting bar, confirmed on that candle only.
Step 3: Confirm EMA Alignment
With the EMA filter enabled, only signals aligned with the current EMA 4/5 direction and EMA 750 trend side are triggered. This avoids trading session rejections against the prevailing structural trend.
Step 4: Manage Risk with TP/SL Boxes
The ATR-based TP/SL boxes extend from the entry close and show the exact risk/reward zone for each trade. The stop is placed 1.5× ATR from entry; the target is 3× that distance by default. Both are adjustable.
Step 5: Review Session Performance
The per-session win rate table shows which session ranges have historically produced the best rejection setups on the current instrument and timeframe. Use this to focus attention on the sessions with the strongest empirical edge.
Indicator Limitations
Session detection is based on time windows relative to the selected timezone. Instruments that observe daylight saving time shifts differently from the selected timezone may require manual session string adjustment during DST transitions
The opening range window is fixed in minutes. On timeframes coarser than the window (e.g., a 30-minute chart with a 15-minute range window), the range will capture only one or two bars, which may not accurately represent the opening range
The EMA 750 requires 750 bars of history to produce an accurate value. On instruments with limited history or on very long timeframes, the first 750 bars will show an inaccurate trend filter — use the indicator on instruments and timeframes with sufficient historical data
Session win rate counters are maintained within the current chart load session and reset when the indicator is refreshed. They reflect historical outcomes up to the current chart's loaded data, not a permanent multi-year backtest
Rejection detection uses bar closes. On timeframes with large candles (daily, weekly), a wick rejection at a session range level may span multiple intraday sessions, making the signal less precise for intraday execution
Originality Statement
SRA automates the full three-stage session range workflow — range construction, level monitoring, and rejection detection — within a single indicator, with per-session outcome tracking and EMA trend filtering. This is original for the following reasons:
The dynamic range construction (high/low expanding bar-by-bar during the opening window, then finalizing on window close) replicates the manual process of drawing opening range boxes in real time, including live box expansion during active sessions — behavior not available from static horizontal lines
Extension lines at the session high, low, and midpoint persist beyond the session box as separate structural reference levels, providing a layered view of session-specific liquidity without requiring additional drawings
The rejection detection system operates across all three active session ranges simultaneously in a single scan loop, identifying which specific session range produced the signal and tagging it for session-specific outcome tracking
The EMA alignment stack (fast EMA cross direction + long-term trend EMA) applied as a prerequisite filter to session rejection signals combines institutional level-based methodology with trend confirmation in a single indicator rather than requiring a separate trend indicator
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. Session range levels and rejection signals are historical reference points. Price does not respect these levels in all market conditions, and rejection signals do not guarantee a reversal. Session win rates are derived from 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
Indicator

Segmented Pressure Bands [JOAT]Segmented Pressure Bands
Introduction
Segmented Pressure Bands (SPB) is an open-source, institutional-grade regression channel system that computes a linear best-fit line and deviation bands from scratch using manual Ordinary Least Squares (OLS) mathematics — no built-in regression functions used. The channel operates in distinct segments: it builds over a dynamic lookback window, freezes all parameters at a minimum length threshold, extrapolates forward using the frozen slope and intercept, and resets automatically when price closes beyond the outer deviation band. Gradient linefill layers between the basis and outer bands communicate channel pressure visually. A volume regime tint adjusts visual weight based on relative volume activity, and ATR-based TP/SL visualization is drawn on each breakout reset.
The core problem SPB solves is that standard regression channels repaint continuously as new bars add to the calculation window, making historical channel boundaries unreliable for reference. SPB's freeze-and-extrapolate architecture locks the regression parameters at a fixed point in time, then projects the channel forward. Price that deviates far enough from that projection triggers a segment reset — the channel is redrawn from the breakout point. This creates a clear, non-repainting record of each regression segment and the breakout that ended it.
Core Concepts
1. Manual OLS Linear Regression
The regression is computed using the standard Ordinary Least Squares normal equations applied to the source series over the active lookback window:
float denom = float(length) * sumX2 - sumX * sumX
slope := (float(length) * sumXY - sumX * sumY) / denom
intercept := (sumY - slope * sumX) / float(length)
RMSE (root mean square error) is calculated as the deviation of the source from the fitted line, providing the basis for band width. All accumulator variables (sumX, sumY, sumXY, sumX2) are computed in a per-bar loop, giving full control over the calculation window without relying on built-in functions that may change behavior across versions.
2. Channel Freeze and Extrapolation
When the lookback window reaches the minimum length threshold, the slope, intercept, and RMSE are locked into freeze variables. From that point forward, the x-coordinate passed to the regression formula is the number of bars elapsed since the freeze bar, allowing the channel to project forward without recalculating:
float xCur = -float(bar_index - freezeBar)
basis := frozenIcpt + frozenSlope * xCur
This extrapolation means the bands continue to move with the slope direction, but their relative spacing (the RMSE deviation) remains constant from the freeze point.
3. Segment Reset on Breakout
When a candle closes beyond the outer upper or lower band, the current segment is terminated. The channel redraws from the current bar using the fresh source data from that point forward. Old linefill objects are explicitly deleted before new ones are created to stay within Pine Script's object limits.
4. Gradient Linefills and Volume Regime Tint
N intermediate lines are drawn between the basis and each outer band, filled progressively with increasing transparency from the inner region to the outer edge. This creates a gradient pressure visualization — tighter fills near the basis signal equilibrium, wider fills near the outer band signal stretch. When the volume regime ratio (short-term MA / long-term MA) is elevated above the high threshold, line widths increase and fill opacity deepens to communicate high-activity conditions visually.
Features
Manual OLS Regression: Slope, intercept, and RMSE computed entirely from first principles — no built-in regression functions
Freeze and Extrapolate Architecture: Regression parameters locked at minimum length; channel projected forward along the locked slope
Automatic Segment Reset: Outer band close-beyond triggers segment restart — prior segment preserved as a historical record
RMSE Deviation Bands: Upper and lower bands placed at configurable RMSE multiples from the basis line
Gradient Linefill Layers: N intermediate lines fill the channel space with a visual pressure gradient — configurable step count
Volume Regime Tint: Relative volume ratio (short/long MA) adjusts visual weight — elevated volume deepens channel fills and thickens lines
ATR TP/SL Visualization: On each breakout reset, ATR-based take profit and stop loss boxes drawn from the breakout close
Channel Direction Color: Downward slope (bullish context — price above a declining regression) renders in teal; upward slope (bearish context) renders in rose
Non-Repainting Basis: Freeze architecture ensures historical segment boundaries do not move after they are drawn
Configurable Source: Basis line source is selectable (close, hl2, hlc3, ohlc4, etc.)
Dashboard (Top Right): Current slope, RMSE, volume regime label, band multiplier, and active segment bar count
Near-Band Warning Dots: Subtle circle markers appear on the chart when price is within 12% of either channel edge — early warning that price is approaching a band extreme before a breakout occurs
Distance-to-Nearest-Band in Dashboard: Current distance from price to the nearest band displayed as a percentage of channel width — provides a precise quantitative read of how stretched or compressed the current position is within the segment
Live Regression Slope in Dashboard: Live regression slope value shown in the dashboard — communicates the current directional angle of the frozen channel projection in real time
Breakout Win/Loss Tracking: Outcome of every breakout trade tracked against ATR-based TP/SL levels — total breakout trade count and cumulative win rate displayed in the dashboard
Expanded Dashboard (7 Rows): Dashboard expanded to 7 rows — now includes distance-to-band percentage, live slope, and breakout win rate alongside existing regime and segment data
Input Parameters
Regression Settings:
Source: Price input for regression calculation (default: close)
Lookback Length: Maximum bar window for OLS computation (default: 50)
Min Length to Freeze: Bar count at which slope/intercept are locked (default: 20)
Band Multiplier: RMSE multiple for outer band placement (default: 2.0)
Gradient Settings:
Gradient Steps: Number of intermediate fill lines between basis and outer band (default: 5)
Volume Regime:
Short Vol MA: Short-term volume moving average length (default: 10)
Long Vol MA: Long-term volume moving average length (default: 40)
High Vol Threshold: Vol ratio above which volume tint activates (default: 1.5)
ATR / Risk:
ATR Length: Period for ATR calculation (default: 14)
ATR SL Multiplier: Stop loss distance on breakout (default: 1.5)
Reward:Risk Ratio: Take profit multiple of stop distance (default: 3.0)
How to Use This Indicator
Step 1: Read the Channel Direction
A teal channel indicates a downward-sloping regression — price is above a declining trend line, suggesting bullish pressure within the distribution. A rose channel indicates an upward-sloping regression — price is below a rising channel ceiling, suggesting bearish pressure. The gradient fills communicate how far price has deviated from the basis within that segment.
Step 2: Trade Within the Channel
Price compressing toward the basis from an outer band (thin fill region narrowing) suggests mean reversion is underway. Price expanding toward the outer band (fills widening) suggests momentum continuation. The outer band itself acts as a stretch boundary — closes beyond it trigger a new segment.
Step 3: React to Breakout Resets
When a segment resets, the breakout bar is the reference point for directional bias. The ATR TP/SL boxes visualize the immediate risk/reward from that close. The new channel building from the breakout will establish the next directional context.
Step 4: Monitor Volume Context
Elevated volume regime (shown in dashboard) at a channel boundary gives more conviction to breakout or reversal signals. Low-volume channel touches carry less institutional weight.
Indicator Limitations
The OLS calculation runs a loop over the lookback window on every bar. On very long lookback lengths with high chart data density, this may increase script execution time — keep lookback below 200 for best performance
The freeze architecture means the channel projection can diverge significantly from price if the instrument trends strongly after the freeze point. Segment resets bring the channel back to current price, but wide outer bands may delay that reset on low-volatility instruments
Gradient linefills are subject to Pine Script's 50-linefill object limit. SPB manages this with explicit deletion on each segment reset. If the gradient steps setting is set very high (above 10), this limit may be approached in active markets
ATR TP/SL boxes on breakout are drawn from the breakout close. They do not adjust for gaps, overnight moves, or instrument-specific spread — manual adjustment of the ATR multiplier may be needed for highly volatile instruments
Volume regime calculation uses simple moving averages of volume. On instruments where volume data is synthetic or unavailable, the regime indicator will not reflect true market activity
Originality Statement
SPB implements a regression channel with a freeze-extrapolate-reset lifecycle that produces stable, non-repainting historical segment boundaries. This design is original for the following reasons:
Computing OLS slope, intercept, and RMSE from scratch using raw accumulator mathematics — rather than using ta.linreg() or similar built-ins — gives full control over the calculation window, source, and update behavior, and avoids implicit look-ahead that some built-in functions can introduce
The freeze-and-extrapolate architecture is distinct from standard rolling regression, where every new bar shifts the entire historical channel. Once frozen, SPB's channel parameters are immutable — historical band boundaries drawn in past segments are permanent reference levels
The gradient linefill layer system communicates statistical deviation pressure visually across the full channel width, rather than drawing only a basis and outer band with no information about the space between them
The integration of a volume regime tint directly into the regression channel visualization — adjusting visual weight based on relative volume — provides immediate context for whether current channel position is occurring during active or quiet market conditions
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. Regression channels and statistical deviation bands are mathematical constructs applied to historical data — they do not predict future price behavior. Breakout signals at band extremes do not guarantee continuation in any direction. 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
Indicator

Dominance Sweep Tracker [JOAT]Dominance Sweep Tracker
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:
bool bullDom = close > swingHi and open > swingHi
bool bearDom = close < swingLo and open < swingLo
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
Indicator

Impulse Structure Zones [JOAT]Impulse Structure Zones
Introduction
Impulse Structure Zones (ISZ) is an open-source, institutional-grade zone engine that detects statistically significant price impulses using a Z-Score methodology, identifies the origin candle of each impulse as an order block, and grades each zone using a multi-factor wick rejection scoring system. Bullish and bearish zones are tracked in parallel arrays with full lifecycle management — creation, extension, mitigation detection, and rejection confirmation — all rendered as clean, non-repainting boxes on the chart with a mid-line bisecting each zone.
The core problem ISZ solves is the manual process of locating high-probability order block zones on a chart. Institutional price delivery frequently originates from specific candles where large orders were placed — the last opposing candle before a strong directional move. ISZ automates the detection of those moves, marks the origin candles, and then monitors each zone to fire a graded rejection signal when price returns to test the level. Grades A, B, and C communicate signal quality based on wick dominance, proportional wick depth, volume confirmation, and candle size relative to ATR.
Core Concepts
1. Z-Score Impulse Detection
Price change is measured bar-by-bar as a percentage move and normalized into a Z-Score against a rolling mean and standard deviation window:
float pxChg = (close - close ) / close * 100.0
float zscore = (pxChg - avgChg) / math.max(stdChg, 0.0001)
A bar qualifies as an impulse when the absolute Z-Score exceeds the user-defined threshold (default: 1.5). This isolates moves that are statistically unusual relative to recent activity — the same principle used in quantitative strategies to filter meaningful displacement from noise. All signals are gated on barstate.isconfirmed to prevent repainting.
2. Order Block Identification
When a bullish impulse is confirmed, ISZ scans back through recent bars to locate the last bearish candle (close < open) before the move. That candle's high and low become the order block zone boundaries. For bearish impulses, the last bullish candle is used. This matches the ICT definition of an order block — the final imbalance candle before institutional displacement.
3. Zone Lifecycle Management
Each zone is stored as a user-defined type (UDT) containing the box object, mid-line, price boundaries, birth bar, direction, mitigation flag, and rejection flag. Zones extend rightward on each bar until price closes beyond the zone (mitigation), at which point the box is frozen and marked as mitigated. A maximum zone count is enforced and oldest zones are trimmed to maintain chart performance.
4. A/B/C Rejection Grading
When price returns to test a live zone and a rejection candle forms, ISZ grades the signal quality using four independent scoring factors:
Wick dominance ratio: The rejection wick length divided by candle body size
Proportional wick depth: The wick as a percentage of the total candle range
Volume confirmation: Current bar volume compared to the 20-bar average
Candle size vs ATR: Whether the rejection candle is of meaningful size relative to recent volatility
A total score of 6+ = Grade A, 4-5 = Grade B, below 4 = Grade C. Grade is displayed as a label on the rejection bar.
Features
Z-Score Impulse Engine: Statistically filters price moves against a rolling mean/standard deviation window — configurable length and threshold
Automatic Order Block Detection: Last opposing candle before each confirmed impulse identified and stored as a zone
Bidirectional Zone Tracking: Bullish (demand) and bearish (supply) zones managed in separate arrays with independent colors
A/B/C Rejection Grading: Four-factor scoring system labels each zone test with a quality grade
Zone Mitigation Detection: Zones that are fully closed through are frozen and visually distinguished from active zones
Mid-Line Reference: Each zone box includes a dashed mid-line at the 50% level — institutional equilibrium reference
ATR Proximity Filter: Rejection signals only fire when price is within a configurable ATR multiple of the zone
Volume Confirmation: Optional volume filter requires above-average volume at rejection for grading
Non-Repainting: All signals gated on barstate.isconfirmed — no look-ahead bias
Zone History Limit: Oldest zones automatically removed when the maximum count is reached to maintain performance
Dashboard (Top Right): Active bull/bear zone counts, last signal grade, last impulse Z-Score, and ATR — updated on each bar
Live Z-Score Candle Gradient Coloring: Impulse candles colored teal or rose based on Z-Score strength — immediately identifies statistically significant displacement bars on the chart
ATR Band Plots Around EMA 750: Visual upper and lower extremity zones drawn as ATR-based bands around the 750-period EMA — communicates when price is at macro stretch relative to the long-term anchor
RR Trade Boxes on Rejection Signals: Auto-generated SL/TP boxes on every rejection signal — 1.5× ATR stop loss with 3:1 reward-to-risk ratio, extending forward from the signal bar
Session Win Rate Tracking: Asia, London, and NY win rates tracked independently for rejection trades — outcome recorded against each signal's ATR-based TP/SL levels
Best Session Highlight: Dashboard automatically identifies and highlights the highest win-rate session across all three windows
Expanded Dashboard (9 Rows): Dashboard expanded to 9 rows — now includes live Z-Score reading, total impulse count, and full session win rate breakdown alongside existing zone and signal data
Input Parameters
Z-Score Settings:
Z-Score Length: Rolling window for mean and standard deviation calculation (default: 20)
Z-Score Threshold: Minimum absolute Z-Score required to qualify as an impulse (default: 1.5)
Zone Settings:
Max Active Zones: Maximum number of zones tracked simultaneously per direction (default: 8)
Bull Zone Color / Bear Zone Color: Independent colors per direction
Rejection Settings:
ATR Proximity (multiplier): How close price must be to a zone to trigger rejection check (default: 0.5)
ATR Length: Period for ATR calculation (default: 14)
Require Volume Confirmation: Toggle — above-average volume required for Grade A
How to Use This Indicator
Step 1: Identify Active Zones
Active bullish zones (demand) appear below price in teal. Active bearish zones (supply) appear above price in rose. Mitigated zones are visually dimmed. Focus on zones that have not yet been tested — these are the most relevant levels for future price interaction.
Step 2: Wait for Price to Return to the Zone
ISZ does not generate entry signals on impulse creation. It monitors active zones for return tests. When price pulls back into a zone, watch for the rejection grading label to appear.
Step 3: Grade the Signal
An A-grade rejection at a fresh, unmitigated zone is the highest-quality setup. B-grade is acceptable with additional confluence. C-grade rejections at already-tested zones carry the least weight. Use the grade in combination with your own bias and higher-timeframe analysis.
Step 4: Monitor the Dashboard
The dashboard shows active zone counts, last Z-Score, last grade, and ATR. A high Z-Score at impulse creation indicates an unusually strong move — those zones tend to attract more significant future tests.
Indicator Limitations
Z-Score impulse detection requires sufficient historical bars (at least 2× the Z-Score length) to produce accurate statistics — on very short chart histories the first few zones may form under unstable conditions
Order block detection scans back a fixed number of bars (configurable). In fast-moving markets where multiple candles are the same color, the scan may place the zone further back than an analyst would manually
Rejection grading uses volume data. On instruments with synthetic or unreliable volume (e.g., some CFDs, synthetic indices), the volume scoring component will not reflect true market activity
Zones do not account for gap fills, overnight moves, or after-hours sessions — a zone that appears unmitigated on the chart may have been effectively traded through outside of regular hours depending on the instrument
The A/B/C grading is a quantitative scoring system, not a certainty measure. Grade A signals do not guarantee price continuation in the expected direction
Originality Statement
ISZ combines Z-Score statistical impulse detection with origin-candle order block identification and a multi-factor rejection grading system in a single, self-contained indicator. This combination is original for the following reasons:
The use of a Z-Score normalized against a rolling mean and standard deviation — rather than a fixed pip or percentage threshold — makes impulse detection adaptive to current market volatility. The same threshold parameter behaves consistently across instruments and timeframes without requiring manual recalibration
The A/B/C grading system applies four independent quantitative factors (wick dominance, wick proportion, volume, candle size) simultaneously to classify signal quality at the point of zone interaction — rather than simply marking every return to a zone as equal
Zone lifecycle management (create → extend → mitigate → reject → trim) is handled automatically through UDT arrays with in-place field mutation, eliminating the need for manual zone maintenance or re-drawing
The combination of impulse detection, zone creation, and rejection grading in a single engine — with a unified dashboard — removes the need to layer multiple indicators to accomplish the same workflow
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. Order block zones are historical reference levels and do not guarantee that price will react at those levels. A/B/C grades reflect quantitative scoring and do not predict future price movement. 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
Indicator
