Vesper Candle Index [JOAT]Vesper Candle Index
Introduction
Vesper Candle Index is an open-source candlestick classification engine. Instead of marking every common candle pattern equally, it scores candle patterns using body quality, wick structure, trend location, volatility, and nearby structure context.
The indicator is designed to reduce pattern noise by ranking candle events and displaying only those that meet a configurable quality threshold.
Core Concepts
1. Candle Pattern Library
The script evaluates multiple candlestick states, including engulfing candles, hammers, stars, harami, inside breaks, marubozu, tweezers, rail patterns, and reclaim/reject conditions.
2. Quality Scoring
Each candidate pattern receives a score based on candle body, wick placement, trend context, volatility, and structure alignment.
3. Structure Context
Confirmed pivot levels are used to detect CHoCH-style breaks and candle reactions near recent structure.
4. Trade Projection Labels
When a candle state qualifies, the script can display compact educational entry, stop, TP1, and TP2 information.
5. Dashboard
The dashboard shows the current candle state, quality bucket, trend, structure, and recent signal context.
Features
Ranked candle states: Patterns are scored rather than treated equally
Structure-aware candles: Uses pivots and CHoCH context
Volatility-adjusted logic: ATR helps normalize wick and body requirements
Cooldown control: Reduces repeated pattern labels
Compact dashboard: Summarizes the highest-ranked current candle state
Confirmed patterns: Pattern events use confirmed bars
Input Parameters
Pattern sensitivity controls the quality threshold
Pivot length controls structure confirmation
ATR settings control wick/body normalization
Rail projection settings control optional visual projection length
How to Use This Indicator
Step 1: Focus on high-quality states
Use the quality score to separate strong candle states from weaker pattern appearances.
Step 2: Check structure alignment
Candle events near relevant structure are often more meaningful than isolated patterns.
Step 3: Avoid treating patterns as certainty
Candlestick patterns describe current bar behavior. They do not predict continuation or reversal.
Indicator Limitations
Candle patterns can fail in strong trend or news conditions
Pivot-based structure is delayed by the selected pivot length
The script classifies candles; it does not forecast future direction
Originality Statement
Vesper Candle Index adds scoring, structure context, volatility normalization, cooldown behavior, and a dashboard to candlestick analysis. Its value is in ranking candle quality rather than simply labeling every pattern.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Candlestick patterns can be misleading when used alone.
-Made with passion by jackofalltrades
Indicator

Nocturne Auction Atlas [JOAT]Nocturne Auction Atlas
Introduction
Nocturne Auction Atlas is an open-source auction-mapping indicator that studies session VWAP, developing volume distribution, value areas, imbalance shelves, estimated CVD, divergence, and auction quality. It is designed to show where price is accepting value, rejecting value, or interacting with unfinished auction references.
Core Concepts
1. Session Auction Framework
The script resets during a new session and tracks session high, low, VWAP, and developing volume distribution.
2. Developing Volume Profile
Price is divided into rows. Each row accumulates estimated volume to identify the point of control, value area high, and value area low.
3. Estimated CVD
CVD is estimated from candle body position, close location, and volume. This is not exchange-level bid/ask data, but it provides a consistent pressure proxy.
4. Divergence Detection
Pivot-confirmed price swings are compared against estimated CVD swings to identify bullish or bearish divergence.
5. Imbalance Shelves
Rows with strong buy or sell imbalance are marked as auction shelves. These shelves can help identify areas where pressure was concentrated.
Features
Session VWAP and bands: Tracks intraday auction center and deviations
Developing profile: Builds POC and value area from recent session data
Imbalance shelves: Highlights rows with strong bid or ask imbalance
Estimated CVD: Uses candle-derived volume pressure
Divergence logic: Pivot-confirmed CVD divergence events
Naked POC memory: Tracks unfinished prior auction references
Dashboard: Shows auction state, quality, delta, POC, value area, and shelf state
Input Parameters
Session Bars Used controls how many bars feed the profile
Profile Rows controls profile granularity
Value Area controls the percentage of volume included in value
Quality Gate controls signal sensitivity
Shelf Gate controls imbalance shelf detection
How to Use This Indicator
Step 1: Read auction location
Use VWAP, POC, VAH, and VAL to understand whether price is trading near value or outside value.
Step 2: Watch shelves
Imbalance shelves identify price rows where estimated pressure was concentrated.
Step 3: Interpret divergences carefully
Divergence requires confirmed pivots and is naturally delayed. It is context, not a prediction.
Indicator Limitations
Profile calculations are approximations based on chart bars
CVD is estimated from candles and volume, not true bid/ask transactions
Pivot divergence confirms after pivot bars have passed
High row counts and long sessions can increase script workload
Originality Statement
Nocturne Auction Atlas combines session VWAP, developing profile rows, imbalance shelves, estimated CVD, divergence, and unfinished auction references into one chart framework. The components are designed to explain auction state rather than simply plot volume levels.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Auction references can fail, and volume approximations can differ from real order-flow data.
-Made with passion by jackofalltrades
Indicator

Volatility Regime Classifier [JOAT]Volatility Regime Classifier
Introduction
The Volatility Regime Classifier is an overlay indicator that continuously classifies the current market environment into one of four distinct volatility regimes — TRENDING , RANGING , VOLATILE , or MIXED — and adapts its visual output accordingly. Rather than simply measuring how much volatility is present, this indicator identifies what type of volatility environment is active, a distinction that is directly relevant to strategy selection.
The classification is built on three independent measures — ATR Z-score, ATR percentile, and EMA directional ratio — each capturing a different dimension of market behavior. Their combination produces a regime map that is both statistically grounded and practically actionable.
---
Core Concepts
1. ATR Z-Score — Detecting Statistically Extreme Volatility
The Z-score measures how far the current ATR deviates from its own historical mean, in units of standard deviation:
atrZ = (atr14 - ta.sma(atr14, lookback)) / ta.stdev(atr14, lookback)
A Z-score above the Volatile Z Threshold (default 2.0) means current volatility is more than two standard deviations above the recent average — a statistically uncommon spike. This is the trigger for the VOLATILE regime, indicating conditions where position sizing, stop distances, and strategy assumptions built around normal ranges may no longer apply.
The Z-score is a mean-reverting measure. An extreme reading does not tell you which direction price will move. It tells you the current volatility environment is atypical relative to recent history.
2. ATR Percentile — Identifying Volatility Compression
The percentile ranks current ATR linearly within its own recent range:
atrPercentile = (atr14 - ta.lowest(atr14, lookback)) / (ta.highest(atr14, lookback) - ta.lowest(atr14, lookback)) * 100
A percentile below the Ranging Percentile threshold (default 35%) means ATR is near its lowest levels of the lookback window — a compression signal. This is the trigger for the RANGING regime, which historically precedes expansion but does not predict its direction or timing. It is a descriptor of the current state, not a forecast.
Using percentile rather than a fixed ATR threshold makes the measure adaptive: it adjusts to the instrument's own volatility character and the current lookback window.
3. EMA Directional Ratio — Testing Movement Quality
Directional quality is measured by the separation between a fast and slow EMA, expressed in ATR units:
directional = math.abs(ema_fast - ema_slow) / atr14 > dirStrength
When the EMA separation exceeds the Directional Strength threshold (default 1.5 ATR units), the market is showing sustained, coherent movement in one direction relative to its current volatility level. This is the trigger for the TRENDING regime.
Expressing EMA separation in ATR units normalizes for volatility: a large EMA gap during a high-volatility period may be less directionally significant than the same gap during a low-volatility period.
4. Regime Classification Logic
The three measures are evaluated in priority order:
VOLATILE — if ATR Z-score exceeds the volatile threshold. Extreme volatility takes precedence over all other conditions.
RANGING — else if ATR percentile is below the ranging threshold. Volatility compression is checked next.
TRENDING — else if the EMA directional ratio is satisfied. Directional movement is confirmed if not in a spike or compression.
MIXED — else. The market does not clearly fit any of the above categories: volatility is average, not directional, and not compressed.
Regime transitions are confirmed on barstate.isconfirmed bars only, preventing labels and state changes from appearing on unfinished candles.
5. Adaptive Bands
Each regime applies a different ATR multiplier to a central EMA band:
VOLATILE: multiplier 3.0 — wide bands reflecting extreme range
TRENDING: multiplier 2.0 — moderate bands supporting trend context
MIXED: multiplier 1.5 — standard bands for undifferentiated conditions
RANGING: multiplier 1.0 — tight bands appropriate for compressed, mean-reverting conditions
upper = ema_center + baseMult * atr14
lower = ema_center - baseMult * atr14
The band envelope therefore scales automatically to the current regime, providing contextually appropriate support and resistance structure without manual adjustment.
6. Smooth Color Transitions
Regime colors are smoothed by applying a 10-period EMA to each RGB channel independently. This prevents abrupt color jumps at regime boundaries and provides a visual blending effect as the market transitions between states. The smoothing period is fixed at 10 bars and is not user-configurable, as it is a presentational feature rather than an analytical one.
7. Regime Transition Labels
A label is plotted at each confirmed regime change, marking the bar where the classification shifted. This creates a visual audit trail of regime history on the chart, allowing traders to review how conditions evolved across the session or swing.
8. Information Table
A compact table in the top-right corner displays the current state of all key measurements:
Current regime classification
ATR value (absolute)
ATR Z-score
ATR percentile
EMA trend direction (bullish/bearish based on fast vs slow EMA)
Band width (upper minus lower)
Directional threshold met (yes/no)
Active band multiplier
---
Features
Four-state regime classification: TRENDING, RANGING, VOLATILE, MIXED
ATR Z-score for statistical volatility spike detection
ATR percentile for volatility compression identification
EMA directional ratio normalized to ATR units
Priority-ordered regime logic with clear precedence rules
Adaptive ATR-based bands that scale multiplier per regime
Smooth RGB-channel EMA color blending at regime transitions
Regime transition labels at every confirmed state change
Per-bar color coding reflecting the active regime
Background tint per regime (high transparency, non-intrusive)
Real-time information table with all underlying metrics
---
Input Parameters
ATR Length (default 14): Period for all ATR calculations. Shorter values make the Z-score and percentile more reactive; longer values smooth them out.
Regime Lookback (default 100): The historical window used for Z-score (mean and standard deviation) and percentile (highest/lowest) calculations. Shorter lookbacks make the regime more sensitive to recent conditions; longer lookbacks require more extreme readings to trigger transitions.
Volatile Z Threshold (default 2.0): ATR Z-score level required to trigger the VOLATILE regime. 2.0 corresponds to a two-standard-deviation event relative to the lookback window.
Ranging Percentile (default 35%): ATR percentile below which the RANGING regime is triggered. Lower values require a tighter compression before classifying as ranging.
Directional Strength (default 1.5): EMA separation threshold in ATR units required for the TRENDING regime. Higher values require a stronger, more sustained directional move.
Fast EMA (default 20): Period for the fast EMA used in directional ratio and the band center.
Slow EMA (default 50): Period for the slow EMA used in directional ratio.
Band EMA (default 50): Period for the central EMA from which adaptive bands project. Can be set independently from the directional EMAs.
---
How to Use
Regime-to-strategy mapping: The four regimes map to four broad strategy postures:
TRENDING: Conditions are directional. Trend-following approaches — momentum entries, trailing stops, breakout continuation — have historically performed better in this state.
RANGING: Volatility is compressed. Mean-reversion approaches — fading extremes, range-bound entries — are more aligned with this environment. Be aware that compression often precedes expansion.
VOLATILE: Volatility is statistically extreme. Reduce position size. Wider-than-usual stops are required to avoid being shaken out by noise. Many strategies based on normal ATR assumptions will malfunction in this state.
MIXED: No strong signal. Conditions do not clearly favor trending, ranging, or risk-off postures. Waiting for a clearer regime or reducing exposure are reasonable responses.
Reading the bands: The adaptive bands are not support/resistance in a traditional sense. They represent a contextually appropriate price envelope for the current regime. In ranging conditions, expect price to interact with the tight bands; in volatile conditions, the wider bands reflect the expanded true range.
Using the table: The information table provides the underlying metric values at a glance. If a regime seems unexpected, check the raw Z-score, percentile, and directional values directly — this helps distinguish borderline cases from clear ones.
Transition labels: Regime transition labels mark where conditions shifted on historical bars. Reviewing these labels on historical data can help calibrate whether the default thresholds suit a particular instrument and timeframe.
---
Limitations
All three underlying measures are based on ATR and EMA — both of which are lagging indicators. Regime classification reflects recently confirmed conditions, not instantaneous market state.
The lookback window is critical to the behavior of both the Z-score and percentile. A short lookback makes the indicator reactive but prone to frequent transitions; a long lookback produces more stable regimes but may lag real condition changes.
The four-state classification is a simplification of a continuous, multidimensional market reality. Real market conditions exist on a spectrum; the regime labels are useful approximations, not rigid categories.
On instruments with low liquidity, thin volume, or irregular trading sessions (certain futures contracts, crypto on illiquid exchanges, small-cap equities), ATR behavior may be distorted by gaps or thin-market artifacts, producing unreliable Z-score and percentile readings.
Regime classification performs best when applied within a single session or consistent trading context. Applying it across major session boundaries (e.g., Asia open to New York close on forex) without adjustment may produce spurious transitions driven by liquidity changes rather than structural market behavior.
This indicator does not predict regime changes. It classifies the current regime after it has formed. The RANGING regime, for example, does not predict that expansion will occur — it describes that compression is currently present.
No indicator, including this one, predicts future price direction or magnitude. Regime classification informs which type of strategy is currently better aligned with conditions — it does not guarantee that any strategy will be profitable.
---
Originality Statement
Many volatility indicators answer the question "how volatile is the market?" — ATR, Bollinger Band width, historical volatility, and similar tools all provide variants of this measurement. This indicator answers a different question: "what type of volatility environment is the market currently in?"
The distinction matters because different volatility types require different responses. A spike in volatility during a strong trend calls for different handling than a spike caused by a news event in a ranging market. Compression before a directional breakout is a different environment than compression within an established range. The MIXED regime acknowledges that not all market conditions are clearly classifiable — a honesty that most binary volatility tools omit.
Three independent measures are combined by design, not convenience:
The Z-score is statistical — it grounds the VOLATILE trigger in the instrument's own distributional history rather than an arbitrary fixed threshold.
The percentile is rank-based and linear — it identifies compression relative to the full range of recent ATR values without being sensitive to individual outliers.
The EMA directional ratio tests movement quality in ATR-normalized units — a common EMA crossover system would classify direction identically regardless of whether price is moving coherently or chopping. Normalizing to ATR removes that ambiguity.
The adaptive band multiplier is a direct mechanical expression of the regime classification — not a cosmetic addition. It means the envelope drawn on the chart is always scaled to the current environment, rather than applying a single fixed multiplier that is simultaneously too tight for volatile conditions and too wide for ranging ones.
---
Disclaimer
This indicator is provided for informational and educational purposes only. It does not constitute financial advice, investment advice, or a recommendation to buy or sell any asset. Regime classification describes current market conditions based on historical data — it does not predict future conditions, price direction, or strategy outcomes. All trading involves risk. You are solely responsible for your own trading decisions.
-Made with passion by officialjackofalltrades
Indicator

Structural Deviation Compass [JOAT]Structural Deviation Compass
Introduction
The Structural Deviation Compass is an overlay indicator designed to map where price stands relative to its own statistical history. Rather than drawing fixed-distance envelopes or relying on a single moving average, it constructs a hybrid centerline from two distinct low-lag moving average types, then wraps that centerline in volatility-adaptive bands derived from Z-score normalization. A secondary oscillator layer — applied to RSI — creates a dual-confirmation signal gate that fires only when both price deviation and momentum reach simultaneous extremes. Shadow bands built from the Average True Range provide additional spatial context across three volatility tiers.
The indicator does not predict future price. It identifies statistically unusual deviations from an estimated mean structure and flags conditions where a reversion or continuation setup may be forming, subject to confirmation from the trader's own process.
Core Concepts
The ComboMA Centerline
The foundation of the indicator is a composite moving average called the ComboMA, formed by averaging two lines:
ALMA (Arnaud Legoux Moving Average): Uses a Gaussian-weighted kernel positioned asymmetrically along the lookback window. The offset and sigma parameters control how far toward the recent end the weight mass sits and how tightly it is concentrated. This produces a smooth line that tracks price closely while suppressing noise better than a simple EMA of the same length.
ZLMA (Zero-Lag Moving Average): Constructed by doubling a base EMA and subtracting a second EMA of that EMA — a technique that estimates and removes the inherent lag of an exponential average. The result is then smoothed once more to reduce the noise amplification that zero-lag constructions can introduce.
Averaging the two produces a centerline that carries reduced lag from the ZLMA side while retaining the smooth, noise-filtered character of the ALMA side. Neither line alone fully satisfies both goals; together they produce a more balanced result.
Z-Score Price Bands
Rather than plotting bands at a fixed multiple of a standard deviation (as Bollinger Bands do using a rolling standard deviation of price itself), the SDC first computes the deviation of close from the ComboMA, then Z-score normalizes that deviation series over a separate lookback window. The bands are then placed back on the price chart by multiplying the rolling standard deviation of deviations by the chosen Z-score threshold values.
The practical effect is that the band width reflects how unusual the current deviation is relative to the recent distribution of deviations — not simply how wide price has swung in a raw sense. Two threshold levels are provided, creating an inner and outer band pair on each side of the ComboMA.
RSI Z-Score
RSI is computed in the standard way, then subjected to the same Z-score normalization: the RSI value is compared to its own rolling mean and expressed in standard deviations. This removes the fixed-level bias of RSI (where 30/70 thresholds mean different things in different market regimes) and produces a momentum reading that is self-calibrating to recent RSI behavior.
Dual Z-Score Signal Gate
A long signal requires all of the following simultaneously:
Price Z-score below the negative trigger threshold (price is statistically far below the ComboMA)
RSI Z-score below the negative trigger threshold (momentum is statistically depressed)
RSI EMA below 38 (confirming a bearish momentum context rather than a pullback within strength)
The current bar closed above the prior bar's close (a micro-confirmation that selling pressure may be easing)
The bar is confirmed (signal does not repaint on the forming bar)
Short signals apply the mirror logic. The requirement for extremes in both dimensions simultaneously is intentionally strict — it filters out the many cases where price is extended but momentum is not, or vice versa.
ATR Shadow Bands
Three pairs of shadow bands are drawn around the ComboMA at 1x, 2x, and 3x of a rolling ATR. These are not signal bands — they serve as a spatial reference, helping to contextualize how far price has traveled from the estimated mean in volatility-adjusted terms. A move to the 3x ATR shadow in a low-volatility environment carries different significance than the same move in a high-volatility environment.
RGB Smooth Color Transition
The ComboMA line color transitions smoothly between a bull and bear palette by independently blending the red, green, and blue channels via EMA. Each channel tracks a target value set by the current bull/bear state, and converges toward it gradually. This avoids abrupt color flips and gives a visual sense of momentum continuity.
Gradient Bar Coloring
Individual bars are colored based on where the close sits within the band range relative to the ComboMA. Bars near the upper bands trend toward the bull color; bars near the lower bands trend toward the bear color. Bars near the ComboMA receive a neutral tone. This is a visual aid only and does not constitute a signal.
Information Table
A 9-row table displays the current readings for: market regime, price Z-score, RSI Z-score, RSI EMA, band width, signal strength, active signal, and ComboMA value. This gives a snapshot of the indicator's internal state without requiring the trader to hover over each plotted element.
---
Features
Hybrid ComboMA centerline combining ALMA and ZLMA
Volatility-adaptive Z-score bands at two threshold levels (inner and outer)
RSI Z-score normalization for regime-independent momentum reading
Dual Z-score signal gate requiring simultaneous extremes in price and momentum
Three-layer ATR shadow bands for spatial volatility context
Smooth RGB channel blending on the ComboMA line color
Gradient bar coloring based on position within band range
Real-time information table with 9 indicator state readings
Non-repainting signals (barstate.isconfirmed)
Fully toggleable visual components
---
Input Parameters
MA Length: Base length for the ZLMA and ATR calculations
ALMA Offset: Controls asymmetric weight positioning within the ALMA window (0 = old end, 1 = recent end)
ALMA Sigma: Controls weight concentration; lower values spread the weight, higher values tighten it
Z-Score Lookback: Rolling window for computing the mean and standard deviation of price deviations (default: 50)
Inner Band Threshold: Z-score level for the inner band pair (default: 1.5σ)
Outer Band Threshold: Z-score level for the outer band pair (default: 2.5σ)
RSI Length: Period for RSI calculation (default: 14)
RSI Z-Score Lookback: Rolling window for normalizing RSI
Signal Trigger: Z-score threshold required in both dimensions to generate a signal (default: 1.8σ)
ATR Multipliers: Multipliers for the three shadow band tiers (1x, 2x, 3x)
Visual Toggles: Individual on/off controls for bands, shadows, bar coloring, table, and signals
---
How to Use
Reading the centerline: The ComboMA acts as the estimated mean structure. Price consistently above it with a bull-colored line suggests sustained upward bias; price oscillating around it suggests a ranging environment.
Reading the bands: The inner bands (±1.5σ by default) represent moderately unusual deviations. The outer bands (±2.5σ by default) represent statistically rare deviations. A touch or breach of the outer band does not by itself mean a reversal is due — it means the move is statistically uncommon and warrants attention.
Reading the shadow bands: Use the ATR shadows to understand how far, in volatility-adjusted terms, price has moved from the ComboMA. Price at the 3x shadow while also at the outer Z-score band is a more notable condition than either reading alone.
Acting on signals: The dual Z-score signals flag confluent extremes. They should be used as an alert layer within a broader trading framework — not as standalone entry triggers. Consider the broader trend context, the timeframe, and supporting structure before acting.
Using the table: Monitor the signal strength reading to understand how close the current state is to triggering a signal. This is useful for watching a developing setup in real time.
Timeframe notes: The indicator functions on any timeframe. Higher timeframes produce fewer but more structurally significant signals. Lower timeframes will produce more signals, many of which will be noise. Adjust the Z-score lookback and trigger threshold accordingly.
---
Limitations
This indicator does not predict future price movement. All readings are descriptive of past and current bar data.
The ComboMA, like all moving averages, will lag price during sharp trend changes. The ZLMA component reduces but does not eliminate this lag.
Z-score bands assume that price deviations are approximately normally distributed. In instruments with fat-tailed distributions or during extreme events, the statistical thresholds will underestimate the probability of outlier moves.
Signals are non-repainting on confirmed bars but will update on the forming bar until it closes. Always wait for bar close before acting on a signal.
A signal firing does not mean price will reverse. Trending markets can sustain extreme Z-score readings for extended periods.
The RSI EMA threshold (38 for longs) is a fixed filter that may not suit all instruments or regimes. It should be adjusted or disabled if it is filtering out valid setups in the instrument being traded.
The ATR shadow bands are informational only and carry no predictive weight.
Past signal performance on a given instrument is not indicative of future performance.
---
Originality Statement
The ALMA and ZLMA are established concepts. The ComboMA is not either of them — it is a blended centerline that takes the asymmetric-weight smoothness of ALMA and the lag-reduction property of ZLMA and produces a composite that neither achieves individually. The Z-score normalization of price deviations is a statistical adaptation that makes the bands self-calibrating to the instrument's deviation distribution rather than fixed. Applying the same normalization independently to RSI produces a momentum reading that is self-referential to recent RSI behavior rather than anchored to universal threshold levels. The signal gate that requires simultaneous Z-score extremes in both price deviation and RSI — not one or the other — creates a logical AND condition that is substantially stricter than conventional oscillator crossovers or single-band-touch triggers. The three ATR shadow tiers, smooth RGB color blending, and gradient bar coloring are supporting visual constructs that serve interpretation rather than adding trading logic. The combination of these elements into a single overlay tool — ComboMA centerline, adaptive Z-score bands, normalized momentum gate, ATR spatial context, and state table — represents an original integration not replicated by any standard built-in indicator.
---
Disclaimer
This indicator is provided for educational and informational purposes only. It does not constitute financial advice, investment advice, or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Past performance of any indicator or strategy is not indicative of future results. Always conduct your own research and consult a qualified financial professional before making any trading decisions.
-Made with passion by officialjackofalltrades
Indicator

Fibonacci Volatility Cloud [JOAT]Fibonacci Volatility Cloud
Introduction
The relationship between price, trend, and volatility is the core equation of technical analysis — and most indicators address only one or two of its variables at a time. Moving averages define trend but ignore volatility structure. Bollinger Bands embed volatility but use static multipliers with no harmonic rationale. The Fibonacci Volatility Cloud addresses all three simultaneously: it defines trend direction through a triple-smoothed adaptive basis, measures volatility through a user-selectable ATR or standard deviation engine, and projects dynamic support and resistance zones using Fibonacci ratios (0.618, 1.0, 1.618, and 2.618) as the band multipliers.
The choice of Fibonacci ratios is not cosmetic. These values appear persistently in the mathematical structure of natural systems and have demonstrated consistent relevance as price reaction zones in financial markets across asset classes. By anchoring the band distances to these ratios rather than arbitrary integers, the cloud levels carry harmonic weight. A touch at the 1.618 extension is not the same as a touch at the 1.5 extension — the former sits at a recognized inflection ratio, and the indicator is designed to treat it as such.
Beyond the band framework, the indicator features a direction-conditional cloud: during bull trends, the lower (support) bands are filled; during bear trends, the upper (resistance) bands are filled. This directional fill logic means the shaded area of the chart always represents the most relevant zone given the current structural bias. An additional triple-smoothed signal line provides momentum context, and a seven-row dashboard tracks all key states simultaneously. Entry signals for both breakout and bounce conditions are included, along with configurable take-profit targets mapped to specific Fibonacci levels.
Core Concepts
1. Triple-Smoothed Basis
The foundation of every calculation in this indicator is a triple-layered EMA applied to the HLC3 midpoint. Applying a single EMA to price introduces lag proportional to the period length. Applying a second EMA to the result further smooths transient noise while preserving directional information. The third application produces a basis line that is highly resistant to single-candle spikes and short-duration noise patterns while remaining responsive to genuine trend development.
basis = ta.ema(ta.ema(ta.ema(hlc3, len), len), len)
Because the triple smoothing applies the same period three times, the effective lag is higher than a single EMA of the same length — but this is intentional. The basis is not meant to hug price; it is meant to define the structural center of gravity around which volatility bands expand. Users should select the period (default: 20) based on the timeframe and the degree of noise filtering desired.
2. Volatility Measurement Engine
Volatility in this indicator is not fixed. Users choose between ATR (Average True Range) and Standard Deviation as the volatility measure. ATR captures range-based volatility and responds to gap behavior and intraday extremes, making it better suited for instruments with frequent gaps or aggressive wick behavior. Standard Deviation measures the statistical dispersion of the price source around its mean, which is more appropriate for instruments with smooth, continuous price action.
vol = volType == "ATR" ? ta.atr(volLen) : ta.stdev(hlc3, volLen)
The selected volatility value is then multiplied by each Fibonacci ratio to establish the four band distances. This means the bands breathe dynamically with the market — contracting during low-volatility consolidation and expanding during high-volatility trending phases.
3. Fibonacci Band Construction
The four bands are constructed by adding and subtracting the Fibonacci-weighted volatility from the basis. Each ratio carries a distinct behavioral expectation. The 0.618 band is the nearest zone — frequently tested during shallow pullbacks. The 1.0 band (equal to raw volatility) is a neutral midpoint. The 1.618 band represents the primary extension zone and is most frequently associated with momentum reversals. The 2.618 band represents extreme extension, typically only reached during impulsive, high-velocity moves.
f1 = 0.618
f2 = 1.0
f3 = 1.618
f4 = 2.618
upperFib1 = basis + vol * f1
upperFib2 = basis + vol * f2
upperFib3 = basis + vol * f3
upperFib4 = basis + vol * f4
lowerFib1 = basis - vol * f1
lowerFib2 = basis - vol * f2
lowerFib3 = basis - vol * f3
lowerFib4 = basis - vol * f4
The gradient fill between the 0.618 and 2.618 bands is rendered using color.from_gradient, creating a visual intensity gradient where proximity to the extreme band is immediately apparent.
4. Non-Repainting Trend State Machine
Trend direction is determined from the basis line's own slope — not from any external indicator or price crossover. If the current basis is above the previous bar's basis, the trend state is 1 (up). If below, the state is -1 (down). If equal (rare on continuous data), the state persists from the prior bar. Crucially, the state variable is declared with `var` and updates only when a directional change is confirmed — making it a true state machine with no look-ahead dependency.
var int trend = 0
trend := basis > basis ? 1 : basis < basis ? -1 : trend
This approach prevents the trend direction from changing retroactively on historical bars when future data is loaded, which is the core cause of repainting in many similar indicators.
5. Direction-Conditional Cloud Fill
During a bull trend, the cloud fills the lower Fibonacci bands (below basis), shading the support zone where price is expected to find demand. During a bear trend, the upper bands (above basis) are filled, shading the resistance zone where selling pressure is expected. This conditional rendering ensures that the visually dominant cloud region always represents the high-probability reaction zone given the current bias.
cloudFillLow1 = trend == 1 ? lowerFib1 : na
cloudFillLow4 = trend == 1 ? lowerFib4 : na
cloudFillHigh1 = trend == -1 ? upperFib1 : na
cloudFillHigh4 = trend == -1 ? upperFib4 : na
6. Proximity Bar Coloring and Signal Line
Bar colors are driven by the normalized distance from the basis to the 2.618 band. As price approaches the outer Fibonacci boundary, bar colors become more saturated — providing an immediate visual cue of extension. Near the basis, bars fade toward transparency. The signal line is a triple-smoothed version of the basis itself at a configurable signal period, with a gradient fill rendered between basis and signal using color.from_gradient to encode momentum direction.
normDist = math.abs(close - basis) / (vol * f4)
barAlpha = math.min(math.round(normDist * 65), 65)
sig = ta.ema(ta.ema(basis, sigLen), sigLen)
7. Entry Signals and Take-Profit Modes
Two entry signal types are provided per direction. Breakout entries fire when the basis crosses above (long) or below (short) the prior bar's basis value — a trend initiation signal based on the basis itself turning directional. Bounce entries fire when price wicks below the basis during a bull trend but closes back above it — a mean-reversion entry at the structural center. Take-profit aggressiveness maps to Fibonacci levels: Low targets the 2.618 band (letting winners run far), Medium targets the 1.0 band, and High targets the 0.618 band (quick, conservative profit-taking).
longEntry = ta.crossover(basis, basis )
longBounce = trend == 1 and low < basis and close > basis
shortEntry = ta.crossunder(basis, basis )
shortBounce = trend == -1 and high > basis and close < basis
Features
Triple-Smoothed Basis: Three sequential EMA applications to HLC3 produce a low-noise structural centerline that resists single-candle spikes.
Switchable Volatility: ATR or Standard Deviation mode allows the volatility engine to be matched to the instrument's price behavior characteristics.
Four Fibonacci Bands: Harmonic multipliers (0.618, 1.0, 1.618, 2.618) produce band distances grounded in natural ratio mathematics.
Non-Repainting State Machine: Trend direction stored in a var variable updates only on slope changes, ensuring historical plots never shift retroactively.
Direction-Conditional Cloud: Lower bands filled in bull trend, upper bands filled in bear trend — the relevant zone is always the visible one.
Gradient Fill: color.from_gradient between 0.618 and 2.618 bands provides depth perception of extension without cluttering the chart.
Proximity Bar Coloring: Distance to outer Fibonacci band drives bar color alpha, making extreme extensions visually prominent.
Triple-Smoothed Signal Line: EMA applied twice to the basis at a separate signal period creates a momentum crossover reference.
Four Signal Types: Long entry, long bounce, short entry, short bounce — covering both trend continuation and mean-reversion approaches.
Configurable TP Tiers: Three aggressiveness modes map take-profit targets to specific Fibonacci bands.
Seven-Row Dashboard: Real-time display of trend, basis value, distance from basis, current Fibonacci zone, volatility type, TP mode, and signal status.
Input Parameters
Basis Settings:
Basis Length: Period for the triple EMA smoothing (default: 20)
Volatility Type: ATR or StDev (default: ATR)
Volatility Length: Period for volatility calculation (default: 20)
Signal Settings:
Signal Length: Period for the signal line double-EMA (default: 9)
TP Aggressiveness: Low (2.618 target), Medium (1.0 target), High (0.618 target) (default: Medium)
Display Settings:
Show Cloud Fill: Toggle the directional Fibonacci band fill (default: true)
Show Signal Line: Toggle the triple-smoothed signal line (default: true)
Show Entry Signals: Toggle entry and bounce signal markers (default: true)
Show Bar Colors: Toggle proximity-based bar coloring (default: true)
Show Dashboard: Toggle the seven-row information table (default: true)
How to Use This Indicator
Step 1: Identify Trend State from the Cloud
The first check is always the cloud. When the lower Fibonacci bands are shaded (bull trend), the market is expected to support price from below. When the upper bands are shaded (bear trend), the market is expected to cap price from above. This orientation tells you which type of trade to look for: in bull trend, prioritize longs on basis or lower band touches; in bear trend, prioritize shorts on upper band touches or basis resistance.
Step 2: Enter on Breakout or Bounce
Two entry strategies are available and can be used independently or in combination. Breakout entries (basis crossover/crossunder) are momentum-based — they capture the early stage of a new directional basis move. Bounce entries are mean-reversion based — they exploit temporary dislocations where price dips below basis in a bull trend and recovers. The bounce condition (low below basis, close above basis) ensures the recovery is already occurring at signal time, not merely predicted.
Step 3: Manage Exits with Fibonacci Targets
Once entered, the Fibonacci band levels serve as structured exit targets. In Low aggressiveness mode, the target is the 2.618 band — appropriate for trending markets where the volatility expansion phase is expected to carry price far. In High aggressiveness mode, the 0.618 band is the target — suitable for choppy or ranging conditions where overextension is quickly reversed. The chosen TP level is shown in the dashboard.
Step 4: Monitor Dashboard for Contextual Data
The seven-row dashboard provides quantitative context that is not immediately visible from the chart alone. The "% from basis" row shows how extended price is as a percentage of the basis value. The "Fib Zone" row identifies which band pair price is currently between (e.g., between 1.0 and 1.618). This allows precise assessment of where price sits within the volatility structure without manually measuring band distances.
Indicator Limitations
The triple-smoothed basis introduces significant lag relative to the raw price. On short timeframes or fast-moving instruments, the basis will react to trend changes later than a single EMA of equivalent period. This is by design — users seeking faster response should reduce the basis length, accepting more noise in return.
Fibonacci ratios are not guarantees of price reaction. While these levels carry historical significance, markets do not mechanically respect any fixed level. The bands define zones of elevated probability, not certainties.
ATR volatility mode can be distorted by gap events (overnight gaps, earnings). In instruments prone to large gaps, the ATR will temporarily inflate, expanding all bands significantly for the ATR lookback period.
The trend state machine can remain in a prior trend state for extended periods when the basis is flat. During prolonged sideways markets, the cloud fill will reflect the last directional bias rather than the current neutral condition.
Bounce signals require price to wick below (for longs) or above (for shorts) the basis within a single bar. On higher timeframes where candles cover extended periods, this condition can mask the timing of the actual intrabar touch.
The signal line is derived entirely from the basis and shares the same lag characteristics. It should not be treated as an independent data source.
Originality Statement
The Fibonacci Volatility Cloud is an original integration of techniques that individually exist in various forms but have not been assembled in this specific combination or with these specific design choices.
The triple-smoothed EMA basis (EMA of EMA of EMA of HLC3) is a deliberate architectural choice that differs from standard Bollinger Band centerlines (single SMA), Keltner Channel basis (single EMA), and Donchian midpoints. The three-layer approach creates a distinctly different noise-filtering characteristic.
Using Fibonacci ratios (0.618, 1.0, 1.618, 2.618) as band multipliers rather than standard integer multiples (1, 2, 3) is an original application that connects the volatility channel framework to harmonic ratio analysis.
The direction-conditional cloud fill — where the visible fill switches between support bands and resistance bands based on current trend state — is an original visual design not found in standard volatility channel implementations.
The combination of ATR/StDev switchable volatility, triple-smoothed basis, Fibonacci multipliers, directional cloud, triple-smoothed signal line, proximity bar coloring, and a configurable TP tier system in a single cohesive indicator is not replicated by any publicly available PulseWire indicator.
The bounce signal definition (low penetrates basis, close recovers above basis within same bar, during confirmed bull trend) is a precise, self-confirming condition that reduces false signals without requiring additional confirmation from a second indicator.
Disclaimer
The Fibonacci Volatility Cloud is provided for educational and informational purposes only. It is a technical analysis tool and does not constitute financial advice. No indicator can predict future market behavior with certainty. Past signal performance does not guarantee future results. All trading involves risk of loss. Users are solely responsible for their own trading decisions. Please consider your individual risk tolerance and consult a licensed financial professional before engaging in any trading activity.
-Made with passion by officialjackofalltrades
Indicator

Confluence Matrix [JOAT]Confluence Matrix
Introduction
Every component in a professional trading system should serve a purpose, and ideally, no single component should bear the entire weight of decision-making alone. The best entries occur when multiple independent analytical methods all point in the same direction simultaneously — a confluence event that dramatically raises the probability that the observed setup reflects genuine market structure rather than random noise. The Confluence Matrix is built around this philosophy, integrating six distinct analytical modules into a single, cohesive overlay indicator with a unified seven-point scoring framework that gates every trade entry.
The six integrated modules are: HEMA regime analysis (three-layer Hull-EMA Hybrid with two-bar confirmation), Break of Structure and Change of Character market structure (swing pivot-based BOS and CHoCH detection), a triple-smoothed Fibonacci channel (0.618, 1.618, and 2.618 bands around a triple-EMA basis), an ATR compression detection engine (volatility squeeze state), Z-score cumulative impulse detection (statistically significant momentum streaks), and an OLS linear regression combined with cumulative delta proxy and volume RSI. Each module contributes one integer point to a directional score. Entries require a minimum score threshold — meaning price must be supported by a configurable number of simultaneously aligned modules before a position is opened.
Beyond signal generation, the indicator includes a simulated position tracking system that monitors open virtual positions with defined entry prices, take-profit levels, stop-loss levels, and a trailing stop mechanism. This system does not execute real trades — it visualizes what a rule-based system following the indicator's own signals would have done, providing an educational and contextual layer that helps users understand how the signals sequence in live trading conditions. All trade signals are confirmed-bar only, with no look-ahead repainting. The fifteen-row dashboard, ten alert conditions, and extensive visual customization options make this the most comprehensive single-overlay indicator in the JOAT suite.
Core Concepts
1. HEMA Three-Layer Regime with Two-Bar Confirmation
The HEMA (Hull-EMA Hybrid) forms the structural backbone of the regime assessment. Three independent HEMA instances at periods 20, 50, and 100 represent the fast, mid, and slow trend layers. Full bull regime requires ascending order of all three (fast above mid above slow). Full bear regime requires descending order. The two-bar confirmation state machine requires two consecutive bars of raw alignment before the confirmed regime variable updates — preventing rapid back-and-forth flipping on borderline crossovers.
f_hema(src, len) =>
ta.ema(2 * ta.ema(src, len / 2) - ta.ema(src, len), math.round(math.sqrt(len)))
hema1 = f_hema(close, 20)
hema2 = f_hema(close, 50)
hema3 = f_hema(close, 100)
rawBull = hema1 > hema2 and hema2 > hema3
rawBear = hema1 < hema2 and hema2 < hema3
confBull = rawBull and rawBull
confBear = rawBear and rawBear
The CHoCH (Change of Character) logic builds directly from this: a bullish BOS that occurs while confBear is true represents structural bullish momentum emerging from within a confirmed bear regime — the first evidence of potential regime reversal.
2. BOS and CHoCH with Visual Lines
Break of Structure detection uses ta.pivothigh and ta.pivotlow to track prior swing levels. BOS events draw labeled lines on the chart: teal/red for standard BOS continuation, violet-dashed for CHoCH. All line drawing uses line.new() with fixed coordinates on confirmed bars, and extends the right endpoint to the next BOS event for visual continuity across the chart.
chochUp = bosUp and confBear
chochDn = bosDn and confBull
lineStyle = (chochUp or chochDn) ? line.style_dashed : line.style_solid
lineColor = chochUp ? color.purple : bosUp ? color.teal : chochDn ? color.purple : color.red
3. Triple-Smoothed Fibonacci Channel
The Fibonacci channel applies the same triple-EMA smoothing used in the FVC indicator to produce a noise-resistant basis line, then projects Fibonacci-ratio bands (0.618, 1.618, 2.618) both above and below using ATR or standard deviation as the volatility measure. Within the Confluence Matrix, the channel serves a dual purpose: its own slope defines the "fib trend" score contribution, and its band levels serve as reference zones for proximity analysis.
basis = ta.ema(ta.ema(ta.ema(hlc3, basisLen), basisLen), basisLen)
fibTrend = basis > basis ? 1 : basis < basis ? -1 : 0
The 0.618 and 1.618 inner bands are filled with a gradient between basis and inner band, with the fill opacity tied to the confirmed regime — teal fills in bull regime, red fills in bear regime, gray in neutral.
4. ATR Squeeze Detection
The ATR squeeze module uses the same compression ratio logic as the VSO indicator: comparing a short-term EMA-smoothed ATR against a longer baseline to determine whether volatility is contracting or expanding. When volatility is contracting (squeezing), the squeeze score contribution is zero — the market is not yet expressing directional energy. When volatility is expanding, the module contributes to the appropriate directional score.
atrShort = ta.ema(ta.tr(true), sqzLen)
atrLong = ta.ema(atrShort, sqzLen * 2)
squeezing = atrLong > atrShort
sqzOK = not squeezing
5. Z-Score Cumulative Impulse
The Z-score impulse module tracks separate cumulative bull and bear momentum streaks, normalizes them against rolling sma/stdev, and marks statistically significant events with diamond markers (◆) plotted above and below the price bars. These markers are displayed at confirmed bars only. The Z-score values for both directions are shown in the dashboard and contribute one point each to the long and short scores when their respective thresholds are exceeded.
cumBull := close > close ? nz(cumBull ) + (close - close ) : 0
cumBear := close < close ? nz(cumBear ) + (close - close) : 0
zBull = (cumBull - ta.sma(cumBull, zLen)) / ta.stdev(cumBull, zLen)
zBear = (cumBear - ta.sma(cumBear, zLen)) / ta.stdev(cumBear, zLen)
6. OLS Regression, Delta Proxy, and Volume RSI
The sixth analytical layer combines three sub-components. The OLS linear regression (using the same manual implementation as the ARO indicator) provides the Pearson R correlation quality metric and theta angle, which together determine whether the regression score contributes. The cumulative delta proxy (bar-range-based buying/selling pressure estimate) determines the delta directional score. Volume RSI (RSI applied to volume series) provides the volume quality gate. All three sub-components are evaluated in the context of long or short scoring.
regressionScore = pearsonR > minR and math.abs(theta) > minTheta ? (theta > 0 ? 1 : -1) : 0
deltaScore = deltaPos ? 1 : -1
volumeScore = highVol ? (localBull ? 1 : -1) : 0
7. Seven-Point Confluence Scoring
Each of the six modules contributes one integer point to either the long score or the short score (some modules contribute to both). The seven scoring variables (ls1 through ls7 for long, ss1 through ss7 for short) are summed individually so each module's contribution is transparent and auditable. The minimum score threshold (default: 5 of 7) gates entry conditions.
ls1 = confBull ? 1 : 0 // HEMA regime
ls2 = lastBOSDir == 1 ? 1 : 0 // Last BOS direction
ls3 = fibTrend == 1 ? 1 : 0 // Fibonacci channel trend
ls4 = sqzOK ? 1 : 0 // Squeeze OK (not compressing)
ls5 = regressionScore == 1 ? 1 : 0 // Regression + Pearson
ls6 = deltaPos ? 1 : 0 // Delta proxy bullish
ls7 = highVol and localBull ? 1 : 0 // Volume RSI + local trend
longScore = ls1 + ls2 + ls3 + ls4 + ls5 + ls6 + ls7
8. Simulated Position Tracking with Trailing Stop
The position tracker uses persistent var variables to track open trade state. Entry occurs when a BOS trigger or HEMA crossover fires, the score meets the minimum threshold, the bar is confirmed, and no position is currently open in that direction. Stop-loss is set at ATR below the entry for longs (above for shorts). Take-profit is set at a multiple of ATR from entry. The trailing stop mechanism moves the SL to breakeven once the position has moved one ATR in the favorable direction — locking in capital protection once momentum is confirmed.
var int posDir = 0
var float openTP = na
var float openSL = na
var float entryPx = na
longEntry = (bosUp or hemaXover) and longScore >= minScore and barstate.isconfirmed and posDir <= 0
if longEntry
posDir := 1
entryPx := close
openTP := close + atr14 * tpMult
openSL := close - atr14 * slMult
// Trailing stop to breakeven
if posDir == 1 and high - entryPx > atr14
openSL := math.max(openSL, entryPx)
Exits occur on TP hit, SL hit, or confirmed regime flip opposing the position direction (confBear while long, confBull while short).
9. Proximity-Gradient Bar Coloring
Bar colors are driven by the distance between the current close and the HEMA mid layer (hema2), normalized by the range between the fast and slow HEMA layers. This produces a bar coloring scheme that reflects not just direction but the degree of extension relative to the HEMA structure's own internal spread — a more dynamically calibrated proximity measure than a fixed ATR reference.
hemaRange = math.abs(hema1 - hema3)
hemaDist = hemaRange > 0 ? math.abs(close - hema2) / hemaRange : 0
hemaProxAlpha = math.min(math.round(hemaDist * 60), 75)
Features
Six Integrated Modules: HEMA regime, BOS+CHoCH structure, Fibonacci channel, ATR squeeze, Z-score impulse, and OLS regression+delta+volume all active simultaneously.
Seven-Point Scoring System: Each module contributes one point to a transparent, auditable confluence score with configurable minimum threshold for entry.
Two-Bar HEMA Confirmation: Prevents false regime transitions on single-bar HEMA crossovers.
CHoCH Detection: BOS events opposing the confirmed regime are classified as Change of Character and drawn with violet dashed lines.
Z-Score Diamond Markers: Statistically significant momentum streak markers displayed as ◆ above and below bars on confirmed events.
Triple-Smoothed Fibonacci Channel: 0.618, 1.618, and 2.618 bands with regime-conditional gradient fills.
Simulated Position Tracking: Virtual positions with TP, SL, and trailing stop to breakeven — visualizing the signal system in action.
Proximity-Gradient Bar Coloring: HEMA-internal-range-normalized distance drives bar color alpha for structure-relative visual encoding.
BOS Lines: Teal/red for continuation BOS, violet dashed for CHoCH — drawn at confirmed bars with horizontal extensions.
Fifteen-Row Dashboard: Position direction, regime, last BOS, CHoCH state, fib trend, volatility, Pearson R, theta, bull Z, bear Z, volume RSI, delta proxy, long score, short score, and minimum score threshold.
Ten Alert Conditions: Long entry, short entry, long exit, short exit, CHoCH up, CHoCH down, bull impulse, bear impulse, BOS up, BOS down — all as constant string alerts.
Input Parameters
HEMA Settings:
Fast/Mid/Slow Lengths: HEMA layer periods (defaults: 20, 50, 100)
Structure Settings:
Swing Length: Pivot lookback for BOS/CHoCH detection (default: 10)
Fibonacci Channel Settings:
Basis Length: Triple-EMA period (default: 20)
Volatility Type: ATR or StDev (default: ATR)
Volatility Length: Period for volatility measure (default: 14)
Z-Score Settings:
Z Lookback: Rolling window for normalization (default: 50)
Z Threshold: Sigma level for impulse trigger (default: 2.0)
Regression Settings:
Regression Length: Bar count for OLS calculation (default: 50)
Min Pearson R: Minimum |R| for regression score contribution (default: 0.6)
Min Theta: Minimum angle for regression score contribution (default: 5)
Entry/Exit Settings:
Minimum Score: Points required for entry (default: 5)
TP Multiplier: ATR multiple for take-profit level (default: 2.0)
SL Multiplier: ATR multiple for stop-loss level (default: 1.0)
Display Settings:
Show HEMA Layers: Toggle individual HEMA line visibility (default: true)
Show Trend Cloud: Toggle HEMA gradient fill (default: true)
Show Fibonacci Channel: Toggle Fibonacci band fills (default: true)
Show BOS Lines: Toggle structural break lines (default: true)
Show Z Markers: Toggle diamond impulse markers (default: true)
Show Position Lines: Toggle TP/SL/entry lines (default: true)
Show Bar Colors: Toggle proximity gradient bar coloring (default: true)
Show Dashboard: Toggle the fifteen-row table (default: true)
How to Use This Indicator
Step 1: Read the Score Before Acting on Any Signal
The most important discipline when using the Confluence Matrix is to check the long score or short score before taking any action on a signal. A BOS up event alone carries one point; it does not guarantee a high-probability setup. A BOS up event accompanied by a score of 6 or 7 — meaning five or six other modules are simultaneously aligned — is a materially different situation. Begin each analysis session by reading the dashboard scores and understanding which modules are contributing and which are not.
Step 2: Use the CHoCH for Regime Change Awareness
CHoCH events are the most important structural signals in the indicator. A CHoCH up (bullish BOS during a confirmed bear regime) does not mean immediately go long — it means the structural assumption of the prior bear regime is being challenged. Wait for the regime confirmation to update, watch for the long score to rise as modules align with the new potential bull regime, and then consider entry on the next confirmed BOS in the bull direction backed by a high score. The sequence matters: CHoCH first, then regime confirmation, then high-score entry.
Step 3: Let the Simulated Position Tracker Teach Pattern Recognition
The position tracker lines (entry, TP, SL) on the chart are an educational tool. Over time, reviewing where simulated positions were opened and closed relative to the subsequent price action reveals patterns about which score thresholds, which module combinations, and which entry triggers produce the cleanest outcomes on the specific instrument you are analyzing. Use this visual feedback to calibrate your own minimum score setting and module weighting preferences.
Step 4: Manage Visual Complexity Through Selective Display
Six integrated modules produce a significant amount of simultaneous chart information. New users should start with all display elements enabled to understand the full system, then progressively toggle off elements they are not actively using for a given analysis. The dashboard always reflects the underlying calculations regardless of display settings — so even with Fibonacci fills and BOS lines hidden, the score, regime, and all module states remain visible in the dashboard.
Indicator Limitations
The simulated position tracking system is a visual and educational tool only. It does not place real orders, cannot account for slippage, spread, or commission costs, and its results should never be used as a basis for financial decisions. Simulated performance and real-world trading performance are categorically different.
The seven-module scoring system assigns equal weight to all contributing modules. In practice, some modules (e.g., HEMA regime) may carry more structural significance than others (e.g., volume RSI). The equal-weight assumption is a simplification.
Six integrated modules means six sets of parameters to configure. The default settings are calibrated for daily and 4-hour chart analysis on liquid instruments. Heavy optimization of all parameters to historical data risks overfitting — the resulting configuration may perform well on history but fail on new data.
The OLS regression component requires sufficient bars to produce stable Pearson R and theta values. In the first regression-length bars of any chart session, these values will be based on very short windows and should not be treated as reliable quality filters.
All modules operate on the chart's native timeframe. The indicator does not incorporate multi-timeframe analysis internally — users seeking MTF context should reference the MCG indicator in combination.
Proximity bar coloring uses the HEMA internal range (hema1 minus hema3) as the normalizer. When all three HEMA layers are closely clustered (flat, sideways market), this range approaches zero, which can cause division instability in the proximity calculation. A guard for this case is included but the coloring will be less informative during flat HEMA conditions.
The trailing stop to breakeven mechanism fires when the position has moved one ATR in the favorable direction. In very high-volatility conditions with large ATR values, this may mean the SL does not move to breakeven until the position is significantly extended, reducing capital protection in fast-moving markets.
Originality Statement
The Confluence Matrix is the most comprehensive indicator in the JOAT suite and represents an original architectural achievement in the design of multi-module overlay indicators.
The seven-point confluence scoring system — where six independent analytical modules each contribute a single integer vote, and entry is gated by a minimum aggregate threshold — is an original framework for combining heterogeneous technical signals into a unified, transparent decision criterion.
The combination of HEMA regime, BOS/CHoCH structure, Fibonacci channel, ATR squeeze, Z-score impulse, and OLS regression+delta+volume in a single non-repainting overlay indicator with no external indicator dependencies is an original integration not replicated by any single publicly available PulseWire indicator.
The simulated position tracking system with trailing stop to breakeven — driven entirely by the indicator's own scoring and signal conditions, visualized directly on the chart — is an original self-contained feedback mechanism for understanding the system's real-time behavior.
The CHoCH classification (BOS event opposing the confirmed two-bar regime, not merely the raw regime) adds a confirmation layer to the standard CHoCH definition that reduces false change-of-character signals during borderline regime periods.
The proximity bar coloring normalized by the internal HEMA range (hema1 minus hema3) rather than by a fixed ATR reference creates a structure-relative alpha calculation that adapts to the current degree of HEMA layer separation — a more contextually aware coloring approach than fixed-reference alternatives.
The use of ten constant-string alert conditions (not dynamic or computed strings) ensures full compatibility with PulseWire's alert system, including webhook delivery and multi-condition alert construction.
Disclaimer
The Confluence Matrix is provided for educational and informational purposes only. It is a technical analysis tool and does not constitute financial advice. The simulated position tracking feature is for educational visualization only and does not represent actual trade results. No scoring system or multi-indicator confluence framework can guarantee profitable trading outcomes. All trading involves risk, including the potential loss of principal. Users are solely responsible for their own trading decisions. Please consider your individual risk tolerance and consult a licensed financial professional before engaging in any trading activity.
-Made with passion by officialjackofalltrades
Indicator

Anchored Regression Oracle [JOAT]Anchored Regression Oracle
Introduction
Linear regression is one of the most powerful tools in statistical analysis, yet its application in most trading indicators is limited to a fixed rolling window applied to closing prices — a single-dimensional view of a multi-dimensional problem. The Anchored Regression Oracle extends classical Ordinary Least Squares regression in four distinct ways: it supports both logarithmic and linear price scaling, it offers multiple anchor modes (fixed bar count or calendar-period anchoring), it computes a full set of deviation, Fibonacci, and extreme projection levels above and below the regression line, and it incorporates the Pearson R correlation coefficient and theta angle as real-time quality metrics that control signal eligibility.
The fundamental insight motivating the log/linear duality is that financial prices grow multiplicatively, not additively. A $10 move from $100 is a 10% change; a $10 move from $1000 is a 1% change. Fitting a straight line through raw prices on a linear scale treats these as equivalent. Fitting through log-transformed prices treats them as proportionally equivalent — and for equities, cryptocurrencies, and other compounding instruments, the log-space regression is often the more meaningful representation of trend. The indicator handles both cases transparently, transforming all calculation into log space when selected and back-transforming all output levels to price space for display.
The calendar anchoring system adds a dimension that pure bar-count indicators cannot provide: the ability to reset and recalculate the regression window at the start of each new trading day, week, month, or other period — automatically. This makes the regression channel contextually anchored to the current period's price action rather than an arbitrary historical bar count, without any manual intervention.
Core Concepts
1. Manual OLS Linear Regression
The indicator implements the full Ordinary Least Squares regression formula manually rather than using Pine Script's built-in ta.linreg(). This is a deliberate choice: the manual implementation supports both logarithmic transformation and expanding anchor windows, neither of which the built-in function accommodates. The calculation accumulates bar-level sums across the current window to derive the exact OLS slope and intercept.
slope = (n * sumXY - sumX * sumY) / (n * sumXX - sumX * sumX)
intercept = (sumY - slope * sumX) / n
lrValue = intercept + slope * n
Where n is the current window size, sumXY is the sum of bar-index times price products, sumXX is the sum of squared bar indices, and sumX and sumY are the simple sums of indices and prices respectively. In log mode, all price values entering the sums are first transformed via math.log(), and all output levels are back-transformed via math.exp() before rendering on the chart.
2. Pearson R Correlation Coefficient
After computing slope and intercept, the Pearson R coefficient is derived from the same accumulated sums. R measures the linearity of the relationship between bar index and price — essentially, how well the regression line fits the actual price path. Values near 1.0 or -1.0 indicate strong linear trends where the regression line is a reliable representation. Values near 0 indicate that price is moving chaotically relative to a linear model.
dxt = sumXX - sumX * sumX / n
dyt = sumYY - sumY * sumY / n
pearsonR = (sumXY - sumX * sumY / n) / math.sqrt(dxt * dyt)
The dashboard displays Pearson R with color coding: teal for |R| ≥ 0.8 (strong fit), orange for |R| ≥ 0.5 (moderate fit), red for |R| below 0.5 (weak fit). When the Pearson filter is enabled, only readings with |R| above the user threshold are eligible for signal generation — preventing trades on regression lines that do not actually describe the price behavior.
3. Theta Angle
The slope of the regression line is an abstract mathematical quantity that is not intuitively interpretable. Converting it to a theta angle using the arctangent function produces a human-readable degree value: a steeply rising trend shows a large positive angle, a flat trend shows near-zero degrees, and a declining trend shows a negative angle. The minimum theta filter allows users to exclude signals from very shallow trends — requiring a minimum degree of directional conviction before entries are considered.
theta = math.atan(-slope) * 180 / math.pi
Note that the negative sign before slope accounts for the inversion between mathematical y-axis convention (upward) and screen y-axis convention (downward in most chart implementations), ensuring the displayed angle intuitively matches the visual slope direction on the chart.
4. Window Modes: Rolling vs. Anchored
The "Bar" mode uses a fixed rolling window of N bars — the regression line covers exactly the last N candles regardless of calendar position. All period-based modes ("Minute", "Hour", "Day", "Week", "Month") use an expanding anchor: a bar counter resets to zero each time a new period begins (detected via timeframe.change()), and the regression window expands from that anchor point through the current bar. This means on day anchoring, the regression always describes the current day's price action from the first bar to now — expanding as the day progresses and resetting at the start of each new day.
var int windowBars = 0
periodChanged = timeframe.change(targetTF)
windowBars := periodChanged ? 1 : windowBars + 1
effectiveLen = windowMode == "Bar" ? barLen : windowBars
5. Deviation and Fibonacci Projection Levels
Six lines are drawn on the chart, all updated on barstate.islast to avoid performance overhead. The center line is the regression line itself. The upper and lower deviation lines are offset by user-configurable standard deviation multiples. A Fibonacci level is plotted at 1.618 standard deviations. Historical high and low lines track the maximum deviation point actually reached by price above and below the regression line over the window — providing empirical rather than statistical bounds.
f_lvl(base, std, mult) =>
logMode ? math.exp(math.log(base) + std * mult) : base + std * mult
upperDev = f_lvl(lrValue, stdDev, upperMult)
lowerDev = f_lvl(lrValue, stdDev, lowerMult)
fibLevel = f_lvl(lrValue, stdDev, 1.618)
In log mode, the offset is applied additively in log space (equivalent to multiplicative scaling in price space), ensuring the deviation levels remain proportionally consistent with the log-scale price representation.
6. Five Signal Modes
The signal system offers five distinct behavioral modes. "None" disables signals entirely. "Deviation|Breakout" fires when price crosses above the upper deviation (long) or below the lower deviation (short). "Deviation|MeanReversion" fires when price crosses back inside the deviation bands after an excursion outside. "Extreme|Breakout" uses the historical high and low deviation lines as the reference. "Extreme|MeanReversion" fires when price returns inside the historical extremes. "Theta-Only" generates signals based solely on the theta angle crossing the minimum threshold, regardless of price position relative to deviation levels.
Features
Full Manual OLS Regression: Complete Ordinary Least Squares implementation supporting both log and linear price scaling without any ta.linreg() dependency.
Log/Linear Scale Toggle: Log mode transforms all prices via math.log before regression and back-transforms all output levels, producing proportionally correct channels for compounding instruments.
Multiple Window Modes: Fixed bar count or calendar-anchored expanding windows (Minute, Hour, Day, Week, Month) that reset automatically on period transitions.
Pearson R Coefficient: Real-time correlation quality metric with color-coded dashboard display and optional signal eligibility filter.
Theta Angle: Human-readable trend angle from arctangent of slope with optional minimum threshold signal filter.
Six Regression Lines: Center regression line, upper and lower user-configured deviation bands, 1.618 Fibonacci level, and historical high/low deviation extremes.
Five Signal Modes: Deviation breakout, deviation mean-reversion, extreme breakout, extreme mean-reversion, and theta-only — covering different trading philosophies.
Historical Ghost Plots: Non-repainting semi-transparent historical regression and deviation plots for visual context of prior channel positions.
Efficient Line Updates: All six lines are updated on barstate.islast only, maintaining performance even on long chart histories.
Seven-Row Dashboard: Pearson R (color-coded), theta with sign, direction, signal mode, window type, standard deviation, and window size.
Four Alert Conditions: Long entry, short entry, long exit, short exit — all gated by optional Pearson and theta filters.
Input Parameters
Regression Settings:
Window Mode: Bar, Minute, Hour, Day, Week, or Month (default: Day)
Bar Length: Fixed window size when mode is "Bar" (default: 100)
Target Timeframe: Calendar period string used in timeframe.change() for anchored modes (default: "D")
Log Mode: Enable logarithmic price transformation (default: false)
Deviation Settings:
Upper Deviation Multiplier: Standard deviation multiple for upper channel boundary (default: 2.0)
Lower Deviation Multiplier: Standard deviation multiple for lower channel boundary (default: 2.0)
Show Fibonacci Level: Toggle the 1.618 StdDev Fibonacci projection line (default: true)
Show Historical Extremes: Toggle the historical high/low deviation lines (default: true)
Signal Settings:
Signal Mode: None, Deviation|Breakout, Deviation|MeanReversion, Extreme|Breakout, Extreme|MeanReversion, Theta-Only (default: Deviation|Breakout)
Minimum Theta: Minimum absolute angle in degrees required for signal eligibility (default: 5)
Pearson Filter: Enable Pearson R minimum threshold (default: false)
Min Pearson R: Minimum |R| required when filter is active (default: 0.7)
Display Settings:
Show Historical Plots: Toggle ghost regression and deviation plots (default: true)
Historical Alpha: Transparency level for historical plots (default: 75)
Show Dashboard: Toggle the seven-row information table (default: true)
How to Use This Indicator
Step 1: Select the Appropriate Window Mode
Start by choosing the window mode that matches your analytical context. For intraday trading, Day anchoring is most natural — it resets the regression at the start of each session, showing how the current day's price action trends from the open. For swing trading, Week or Month anchoring provides a broader structural perspective. Bar mode is appropriate when you want consistent lookback regardless of calendar, for example in crypto markets that trade continuously without session boundaries.
Step 2: Evaluate Regression Quality Before Trusting Signals
Check the Pearson R value in the dashboard before interpreting any signal. A strong R (teal, ≥ 0.8) means price has been moving in a well-defined linear trend — the regression line is descriptively accurate and signals from it carry more weight. A weak R (red, < 0.5) means price has been choppy and non-linear; the regression line is fitting noise, and deviation-based signals will be unreliable. If the Pearson filter is enabled, signals will simply not fire when R is below threshold, automating this quality check.
Step 3: Choose a Signal Mode Matching Your Strategy
Breakout modes are suited for momentum strategies — they enter when price is moving away from the regression mean with statistical force. Mean-reversion modes are suited for range-expansion strategies — they enter when price returns inside the channel after an excursion, betting on a return to mean. The Extreme modes use the actual historical high/low deviations rather than the fixed multiplier, making them adaptive to the specific price behavior observed in the current window.
Step 4: Apply Theta and Pearson Filters for Quality Control
Enable the minimum theta filter to avoid trading very shallow trends. A trend angled at 3 degrees has minimal directional conviction — the regression line is nearly horizontal, and any deviation signals from it may be as much noise as signal. Setting a minimum of 10-15 degrees for active entries ensures you are trading genuine directional moves rather than sideways grinding. Combine this with the Pearson filter for the highest-quality signal subset.
Indicator Limitations
Linear regression assumes the relationship between time and price is fundamentally linear during the window. In strongly trending markets this is approximately true; in markets with curves, accelerating trends, or parabolic moves, the linear model will systematically underfit the actual trajectory.
The OLS calculation accumulates sums over the entire window on every bar. On very long bar counts or in expanding anchor modes late in a long session, this can affect script execution time, particularly when combined with other indicators on the same chart.
Calendar anchoring uses timeframe.change() which is resolution-dependent. If the chart timeframe is coarser than the anchor period (e.g., viewing a weekly chart with day anchoring), the anchor period may not transition as expected.
Pearson R measures linear correlation specifically. A price series that follows a consistent curve will produce a lower R than one that follows a straight line, even if the curve describes a very orderly trend. In log mode, this issue is partially mitigated for exponentially trending instruments.
Historical ghost plots are informational only and represent completed regression windows. They do not update after their respective periods close.
In log mode, the volatility measure used for deviation computation is the standard deviation of log-transformed prices, which is equivalent to a percentage standard deviation. For very short windows, this measure can be highly sensitive to individual bar outliers.
Signals on the current (incomplete) bar are not displayed, as all signal conditions require barstate.isconfirmed to prevent look-ahead.
Originality Statement
The Anchored Regression Oracle is a substantially original analytical tool that addresses specific limitations of existing regression-based indicators on PulseWire.
The manual OLS implementation (computing slope, intercept, and Pearson R from accumulated sums without ta.linreg()) enables the log-space calculation that built-in functions do not support — allowing mathematically correct regression channels for compounding assets.
The calendar-anchored expanding window system (using timeframe.change() to reset a bar counter and grow the regression window from a fixed calendar point) is an original approach to making regression contextually meaningful for session-based or period-based analysis.
Computing and displaying the theta angle (arctangent of slope in degrees) as a real-time trend steepness metric, with a configurable minimum threshold that gates signal eligibility, is an original signal quality framework not found in standard regression channel indicators.
The five-mode signal system — providing breakout and mean-reversion variants for both statistical deviation levels and empirical historical extremes, plus a theta-only mode — covers a range of trading philosophies from a single indicator, rather than requiring separate indicators for each approach.
The combination of log/linear duality, calendar anchoring, Pearson quality gating, theta filtering, Fibonacci projection at 1.618 StdDev, and historical ghost plots in a single indicator represents an integration of features not available in any single existing PulseWire regression tool.
Disclaimer
The Anchored Regression Oracle is provided for educational and informational purposes only. It is a technical analysis tool and does not constitute financial advice. Statistical measures such as Pearson R and regression slope describe historical relationships and do not predict future price behavior. All trading involves risk of loss. Users are solely responsible for their own trading decisions. Please consider your individual risk tolerance and consult a licensed financial professional before engaging in any trading activity.
-Made with passion by officialjackofalltrades
Indicator

Structural Momentum Gauge [JOAT]Structural Momentum Gauge
Introduction
Structural Momentum Gauge is an open-source overlay indicator that fuses an adaptive Kalman filter with a Supertrend ratchet trail and a WMA-based volatility envelope to produce three clearly defined regime states: Bull Trend, Bear Trend, and Range-Bound. Rather than relying on a fixed moving average, the Kalman filter continuously self-calibrates its noise estimate each bar, delivering a smoothed price proxy that adapts to changing market conditions without introducing unnecessary lag. The Supertrend ratchet applied directly to the Kalman value — rather than to a raw price midpoint — generates directional bias changes that are markedly more stable than those produced by conventional price-based systems.
The core problem this indicator addresses is that most trend-following tools either repaint (flipping signals on the same bar as price reverses) or commit to a direction far too slowly. The Kalman filter's gain calculation absorbs noise on low-momentum bars while remaining sensitive during genuine impulses. Layering an envelope breach condition on top means both the Kalman direction and price location relative to the volatility band must agree before a trend regime is confirmed — a dual-gate that substantially reduces false readings on choppy, sideways charts.
Core Concepts
1. Adaptive Kalman Filter
The Kalman filter maintains two persistent state variables: the current estimate (k_est) and the error variance (k_err). Each bar the Kalman gain is computed as k_err / (k_err + noise), where noise equals kAlpha * kPeriod. The gain controls how much the estimate shifts toward the current close. After updating the estimate, the error variance is revised: (1 - gain) * k_err + kBeta / kPeriod. This means a large prediction error pushes the variance higher, increasing the gain on the next bar and making the filter more responsive. When price action settles, the gain contracts and the filter smooths out. The result is a price proxy that is neither the fixed-lag of a simple moving average nor the noise sensitivity of a raw close.
2. Supertrend Ratchet on Kalman
ATR-scaled upper and lower bands are applied around the Kalman value rather than the raw hl2. The ratchet rule then applies: the upper band can only move down (or reset when the Kalman value crosses above it), and the lower band can only move up (or reset when the Kalman value crosses below it). Direction flips when the Kalman value closes through the active band. Applying the ratchet to a pre-filtered price removes the micro-fluctuations that cause excessive direction changes when using hl2 directly.
3. WMA Volatility Envelope
A WMA of the high-low range, multiplied by the deviation parameter, defines half the envelope width. The envelope upper and lower levels are placed symmetrically around the Kalman value. An extended outer cloud — 1.35x the inner envelope — is plotted for spatial context. A price close above the upper envelope sets the range state to 1; a close below the lower sets it to -1. Regime confirmation requires both the Kalman Supertrend direction and the envelope range state to agree in sign:
4. Regime Classification
combined = kBias * rState, where kBias is +1 when the Kalman Supertrend is bullish and rState is +1 when close is above the upper envelope. combined == 1 with kBias == 1 is a confirmed bull trend. combined == 1 with kBias == -1 is a confirmed bear trend. All other states are range or opposing. A rolling 50-bar history computes what percentage of recent bars were in a trending state, producing a Trend Strength percentage.
5. K-Velocity
The rate of change of the Kalman value over three bars, normalized by the current ATR, yields a K-Velocity score from 0 to 1. Velocity dots appear on the Kalman line when the score exceeds 0.5, with their transparency inversely proportional to the velocity — faster moves produce more saturated dots. This creates a visual intensity signal on the trail itself, communicating acceleration and deceleration without a separate panel.
Features
Adaptive Kalman Filter: Self-calibrating price proxy with alpha and beta gain controls — responds faster during impulses, smooths more during consolidation
Supertrend Ratchet on Kalman: Direction-persistent trail applied to the Kalman value, eliminating noise-driven flips on raw price crossovers
Outer Envelope Cloud: Wide ATR envelope filled directionally, providing spatial context at a glance
Inner Envelope Fill: Standard WMA envelope bands with conditional fills that activate in range regime
Triple-Layer Kalman Glow: Three stacked plots at widths 9, 5, and 2 with decreasing transparency create a neon glow shadow effect on the Kalman line
Gradient Core Fills: 6-argument fill() between Kalman and candle mid-body, transparent at the Kalman line and saturated at the body — colored by confirmed regime
K-Velocity Dots: Pulsing circles on the trail during high-velocity trend bars, intensity scales with normalized velocity score
Regime Transition Circles: Circle marker fires at every confirmed regime change — immediate visual alert to state transitions
Bull/Bear Trend Start Arrows: Triangle up/down plotshape fires at the exact bar where both Kalman direction and envelope breach first agree
Trend End Marker: X marker fires when the trending regime ends, helping traders tighten stops or close positions
Kalman Flip Labels: K▲ / K▼ labels placed below/above the Supertrend level when the Kalman bias flips direction
Envelope Squeeze Marker: Golden diamond when envelope width drops below 80% of its recent SMA — flags compression before potential breakout
Gradient Bar Coloring: Bars saturate based on distance from Kalman within envelope range, fading to neutral in range-bound conditions
10-Row Dashboard: Regime state, K-Trend direction, Kalman price, upper/lower band levels, trend bar count, T-Strength %, K-Velocity %, volatility state
Input Parameters
Kalman Filter:
Alpha (Smoothing): Controls base noise level — lower values produce a smoother, higher-lag filter (default 0.01)
Beta (Adapt Rate): Controls how quickly error variance recovers after a large miss — higher values make the filter adapt faster (default 0.10)
Period: Normalises the gain magnitude — acts as a scaling factor on both noise and beta (default 77)
Supertrend:
ST Factor: ATR multiplier for the ratchet bands around the Kalman value (default 0.7)
ST ATR Length: ATR lookback for the Supertrend band calculation (default 7)
Volatility Envelope:
Envelope WMA Length: Lookback for the WMA of high-low range (default 200)
Envelope Deviation: Multiplier on the WMA to set envelope half-width (default 1.2)
Visuals:
Toggles for Supertrend line, envelope bands, gradient fills, Kalman glow, envelope cloud, and dashboard
Bull Color (default cyan #22d3ee), Bear Color (default rose #f43f5e), Range Color (default slate #94a3b8)
How to Use This Indicator
Primary Setup — Trend Confirmation Entry:
Wait for a trend start arrow (triangle up or down) to fire. This marks the bar where the Kalman Supertrend direction and the envelope breach state first agree. Enter in the arrow direction. Trail your stop below the Kalman line for longs or above it for shorts. Exit on a Trend End X marker or when the K▲/K▼ flip label fires against your position.
Using K-Velocity for Sizing:
When velocity dots are dense and bright, momentum is expanding — the trending move is accelerating. When dots thin out or disappear, momentum is fading even if the regime has not changed yet. Reduce size on fade or tighten stops before the trend end marker appears.
Squeeze Setup:
When the golden diamond squeeze marker fires, the envelope is compressing. Wait for price to break the envelope band in either direction. If a trend start arrow follows within the next few bars, this is a high-probability breakout entry aligned with both volatility expansion and regime confirmation.
Reading the Dashboard:
T-Strength above 60% indicates a mature, sustained trend. Values below 30% indicate the regime state is new or unstable — the trend is young and position sizing should reflect that uncertainty.
Indicator Limitations
The Kalman filter's gain is bounded by the alpha and beta parameters. Very low alpha values may make the filter too sluggish to capture short, sharp reversal moves before the ratchet trail catches them
The envelope breach condition for regime confirmation means the indicator will not register a trend until price has already moved far enough from the Kalman center to exit the band — entries will not be at the very start of a move
On instruments with consistently narrow true range (low-liquidity futures, off-hours sessions), the WMA envelope may be so tight that price is rarely inside the band, causing permanent range state classification
The Kalman filter uses close-to-close data and has no concept of intrabar price action; on daily charts, a spike high that closes near the open may produce a different Kalman trajectory than on a lower timeframe
Trend Strength is a rolling 50-bar measure. On very fast timeframes, 50 bars may represent only minutes, making the percentage less meaningful as a maturity gauge
Originality Statement
This indicator is original in its application of a Kalman filter as the supertrend base, the dual-gate regime confirmation system, and the K-velocity visual intensity layer. The publication is justified because:
Applying the Supertrend ratchet to a Kalman-filtered price rather than raw hl2 produces direction changes that are measurably more stable — the Kalman pre-filters noise that would otherwise cause excessive band crossings
The dual-gate regime system (Kalman direction AND envelope breach must agree) produces a stricter trending classification than any single-condition approach, reducing false trend readings in sideways conditions
The K-velocity normalization layer embeds a momentum acceleration measure directly into the trail visualization without requiring a separate panel, communicating both direction and rate-of-change simultaneously
The envelope squeeze detection integrated with trend start arrows identifies the specific condition where compressed volatility resolves into a confirmed regime shift — a novel combination for a Kalman-based system
The Trend Strength rolling percentage provides a trend maturity measure that distinguishes freshly flipped regimes from mature, sustained trends, enabling differentiated position sizing without a separate indicator
Disclaimer
This indicator is provided for educational and informational purposes only and does not constitute financial advice or a recommendation to buy or sell any financial instrument. Past performance of any pattern or signal does not guarantee future results. All trading involves substantial risk. Always use proper risk management and conduct your own independent analysis.
— Made with passion by officialjackofalltrades
Indicator

Liquidity Architecture Scanner [JOAT]Liquidity Architecture Scanner
Introduction
Liquidity Architecture Scanner is an open-source overlay indicator that maps equal high and equal low liquidity pools — price levels where two consecutive highs or lows are within an adaptive tolerance of each other — into persistent box-based zones with session-colored borders, RSI-strength opacity, intrazone volume POC lines computed from lower-timeframe data, retest tracking with progressive border brightening, and volume-filtered sweep labels. The system continuously monitors active zones for retests and sweeps, maintains live sweep counts on the dashboard, and applies a gradient barcolor that deepens when price is inside or approaching a zone.
The core problem this indicator addresses is that equal highs and equal lows represent clusters of resting limit orders placed by traders defending the same price twice — the institutional order flow concept of liquidity pools. When price sweeps through these levels, it typically triggers those orders and may reverse sharply. Standard equal-level detection tools use a fixed pip tolerance, which breaks down across instruments and timeframes. The LAS uses an EMA-normalized adaptive tolerance derived from recent bar-to-bar variance, making the detection self-calibrating. Layering a RSI filter ensures the equal high is detected above a bull momentum threshold and the equal low is detected below a bear threshold — filtering out levels formed in the wrong momentum context.
Core Concepts
1. Adaptive Tolerance
The tolerance level that determines whether two consecutive highs (or lows) are "equal" is computed from the EMA of average bar-to-bar absolute variance: barVar = avg(|high - high |, |low - low |), smoothed over the configurable EMA length. This variance-normalized tolerance automatically tightens in low-volatility environments and widens in high-volatility ones, ensuring equal-level detection remains meaningful across instruments, timeframes, and market regimes without manual parameter adjustment.
2. RSI Momentum Filter
An equal high only registers if the RSI is above the bull threshold (default 55) at detection time. An equal low only registers if the RSI is below the bear threshold (default 45). This dual-gate ensures that EQH zones are detected during upside momentum — when resting sell orders above the market are the relevant liquidity pool — and EQL zones are detected during downside momentum. Equal highs formed with a weak RSI below 55 represent a different structural context and are excluded.
3. Lower-Timeframe Volume POC
The indicator requests intrabar close and volume data from a lower timeframe via request.security_lower_tf(). For each zone's price range, the algorithm distributes intrabar volume into bins across the zone's height and identifies the bin with the highest cumulative volume — the Point of Control (POC). A dotted line is drawn at the POC price inside each zone box. This provides a volume-based reference level within the zone: the price at which the most trading activity occurred inside the equal-level band. Traders can use the POC as a more precise entry or target reference than the zone midpoint.
4. Session-Colored Borders and RSI Opacity
Each zone's birth session is stored and used to color its border: London zones receive a blue border (#60a5fa), NY zones a pink border (#f472b6), Asia zones a green border (#34d399), and off-hours zones a lighter gray. The zone fill opacity is derived from the RSI distance from the relevant threshold at the time of detection: the farther RSI is from the threshold, the more opaque the fill, communicating higher-conviction detections with stronger visual presence.
5. Retest Tracking and Sweep Logic
Each bar, the indicator checks whether price has entered a zone it was previously outside of. On first retest entry, the border width and brightness increase. On subsequent retests, the border continues brightening and a "RETEST n" label fires at the zone edge. When price closes fully through a zone — above the top for EQH, below the bottom for EQL — the zone is marked as swept, the sweep counter increments, and optionally a "SWEPT" label appears (subject to a volume filter that requires volume > SMA(20) * 1.3 for label display).
Features
Adaptive EMA-Normalized Tolerance: Equal-level detection threshold adjusts automatically to recent bar-to-bar variance, remaining calibrated across all instruments and timeframes
RSI Momentum Gate: EQH only detected when RSI is above bull threshold; EQL only detected when RSI is below bear threshold — filters out levels formed in wrong momentum context
Lower-TF Volume POC: Intrabar volume profiling using request.security_lower_tf() identifies the highest-volume price bin inside each zone
Box-Based Zone Rendering: Solid box fills with configurable session-colored borders and RSI-strength opacity
Session-Colored Borders: London blue / NY pink / Asia green — session context encoded directly in the zone visual
RSI-Strength Opacity: Fill transparency inversely proportional to RSI distance from threshold — stronger momentum detections are more visually prominent
Zone Midpoint Reference Line: Dotted midpoint line inside each zone for quick visual reference of the level center
Retest Tracking: Progressive border brightening and border width increase with each confirmed retest entry; RETEST n label fires on each new entry
Volume-Filtered Sweep Labels: SWEPT labels appear when price closes through a zone, optionally filtered to only show when volume exceeds 1.3x the SMA(20)
Formation Signals: Small EQH/EQL labels fire at the bar of each confirmed zone detection
Proximity Approach Markers: Diamond markers when price first enters within ATR * proximity buffer of a zone edge
Gradient Bar Coloring: Bars deepen in zone color when inside a zone, lighter when approaching, trend-tinted otherwise
Zone Expiry: Zones older than the configurable max age are automatically removed
10-Row Dashboard: Liquidity trend direction, active EQH/EQL counts, sweep counts per side, in-zone state, session, RSI, adaptive tolerance level
6 Alertconditions: Zone formation, zone entry, and liquidity trend flip alerts for both EQH and EQL
Input Parameters
Equal Levels:
EQ Tolerance Multiplier: Scales the adaptive tolerance — higher values allow wider "equal" windows (default 0.05)
Tolerance EMA Length: Smoothing period for the variance normalization EMA (default 500)
RSI Length: RSI lookback for the momentum filter (default 14)
RSI Bull Threshold: Minimum RSI for EQH detection (default 55)
RSI Bear Threshold: Maximum RSI for EQL detection (default 45)
Zone Max Age (bars): Zones older than this are deleted (default 300)
Proximity Buffer (ATR): Approach detection buffer as ATR multiple (default 0.5)
Volume Profile:
Lower TF (Volume): Intrabar timeframe for volume profiling — must be below the chart timeframe (default 3)
POC Bin Count: Number of price bins in the volume profile (default 7)
Visuals:
Toggles for POC line, zone midline, labels, formation signals, sweep labels, sweep volume filter, and dashboard
EQH Color (default violet #a78bfa), EQL Color (default teal #34d399)
How to Use This Indicator
Primary Setup — Liquidity Sweep Entry:
When price sweeps through a zone and a SWEPT label fires, watch for a reversal candle on a lower timeframe. The sweep has collected the resting orders; the price may reverse sharply. Enter on the first opposing candle after the sweep close with a stop beyond the swept level.
Retest Entry:
When price returns to a zone from the opposite direction after having moved away, watch for the RETEST label. Zones that have survived multiple retests (bright borders, high retest count) with no sweep are demonstrating price respect. Enter at the zone edge on the retest candle, stop beyond the far edge.
POC as Precision Reference:
The POC line marks where the most intrabar volume concentrated inside the zone. If price is approaching from below an EQL zone, the POC is a more precise target than the zone top. If price is inside the zone and stalling at the POC, this may be the key inflection level.
Liquidity Trend:
The dashboard Liq Trend shows BULLISH after an EQH sweep (sell-side liquidity was taken, likely pushing price up) and BEARISH after an EQL sweep (buy-side liquidity taken). Using this as a directional bias filter on lower-timeframe setups adds context from the liquidity architecture.
Indicator Limitations
Equal level detection requires consecutive bars with nearly identical highs or lows. In fast, impulsive markets where equal highs/lows rarely form, zone detection frequency will be low regardless of tolerance setting
Lower-timeframe volume profiling adds security calls per bar. On very high-frequency timeframes or instruments with large lower-TF arrays, this may slow indicator rendering
The RSI filter will prevent zone detection in any momentum condition that does not meet the threshold, which means zones formed during neutral RSI readings (45-55) are not mapped — these may still represent meaningful liquidity
Sweep detection requires a confirmed close through the zone boundary. Intrabar wicks that sweep through a level but close back inside will not register as a sweep, despite triggering orders in live trading
Zone expiry by age removes all zones older than the max age parameter regardless of whether they remain structurally significant — very long-lived confluence levels may be deleted in trend-persistent market conditions
Originality Statement
This indicator is original in its adaptive EMA-normalized tolerance, RSI-gated liquidity detection, lower-timeframe volume POC integration, and progressive retest border feedback system. The publication is justified because:
EMA-normalized adaptive tolerance makes equal-level detection self-calibrating across instruments and timeframes without manual adjustment — a significant improvement over fixed-pip tolerance approaches
RSI-gated zone detection filters equal levels by momentum context, ensuring only liquidity pools formed in the correct directional bias are mapped — a filtering mechanism not present in standard equal-level tools
Lower-timeframe volume POC computation inside each zone adds a volume-based precision reference that identifies the intrazone price with the highest transaction concentration — combining liquidity structure with volume analysis in a single overlay
Progressive border brightening as a retest counter provides an ever-updating interaction history on the zone visual itself, eliminating the need for a separate touch-count display
The sweep counter and liquidity trend directional state provide a market microstructure bias indicator derived purely from liquidity pool dynamics, without using any traditional trend filter
Disclaimer
This indicator is provided for educational and informational purposes only and does not constitute financial advice or a recommendation to buy or sell any financial instrument. Past performance of any pattern or signal does not guarantee future results. All trading involves substantial risk. Always use proper risk management and conduct your own independent analysis.
— Made with passion by officialjackofalltrades
Indicator

Institutional Zone Mapper [JOAT]Institutional Zone Mapper
Introduction
Institutional Zone Mapper is an open-source overlay indicator that detects swing-pivot order blocks — the last impulsive candle preceding a significant price displacement — and renders them as persistent box-based zones with session-color-coded borders, a four-component strength score from 0 to 10, touch-count tracking, and a configurable mitigation lifecycle. The indicator identifies the candle immediately before a confirmed swing pivot, verifies that a meaningful ATR-scaled displacement followed, and places a zone around that candle's midpoint. Zones are born with a strength score derived from displacement magnitude, session context, age, and zone height — allowing traders to instantly distinguish premium, high-conviction zones from weak, low-probability ones.
The core problem this indicator solves is that most order block tools place zones mechanically without quality filtering, flooding the chart with dozens of marginal levels that have little predictive value. The IZM's four-component scoring system ensures only zones with meaningful institutional characteristics survive on the chart. A minimum strength filter removes everything below the user-defined threshold, and the mitigation system automatically removes, stops extending, or fades zones that have been closed through — maintaining a clean, current map of active supply and demand.
Core Concepts
1. Swing Pivot Detection
The indicator uses ta.pivothigh and ta.pivotlow with a configurable swing length. A pivot high confirmed at bar_index means a price high existed swingLen bars ago that was higher than the swingLen bars on either side of it. When a pivot low is confirmed, the indicator looks back through a configurable candle lookback window to find the last bearish close candle before that pivot — this is the bullish order block candidate. The displacement check ensures the move from that candle to the pivot was at least ATR * dispMult, filtering out low-momentum pivots that are unlikely to represent genuine institutional accumulation.
2. Four-Component Strength Scoring
Each zone receives a score between 0 and 10 from four additive components:
Displacement Score (0-3): The ratio of the displacement to ATR is binned — larger moves score higher, capped at 3.0
Session Score (0-2): London and NY session zones score 2.0, Asia zones score 1.0, off-hours score 0.5
Age Score (0-2): Freshly formed zones (under 30 bars) score 2.0; zones over 150 bars old score 0.5
Zone Height Score (0-3): Zones whose ATR-normalized height falls in a sweet spot (0.5 to 2x ATR) score 3.0 — too tight or too wide zones score lower
The minimum strength filter (default 3.0/10) removes zones that fail to meet the threshold, keeping the chart uncluttered.
3. Session Classification and Color-Coded Borders
Each zone's birth session is stored and used to color its border: London zones receive a blue border (#60a5fa), NY zones a pink border (#f472b6), Asia zones a green border (#34d399), and off-hours zones a gray border (#64748b). The session is detected from the candle's timestamp using UTC hours, mapping to standard London (08:00-17:00 UTC), New York (13:00-22:00 UTC), and Asia (00:00-09:00 UTC) windows. This allows traders to immediately gauge which market session was active when institutional activity was registered.
4. Mitigation Lifecycle
When price closes through a zone — below the bottom of a bull OB, or above the top of a bear OB — the zone is considered mitigated. Three mitigation behaviors are available:
Delete: Zone is removed entirely from the chart
Stop Extending: Zone stops extending to the right and fades to near-transparent (zone box is fixed at the current bar)
Keep: Zone remains but fades visually to indicate mitigation
Touch counting is separate from mitigation — each confirmed close inside the zone increments the touch count, and the border progressively darkens with each retest to communicate how many times price has interacted with the level.
5. Proximity Detection
A configurable ATR buffer defines a proximity zone above each bull OB and below each bear OB. When price enters this buffer without yet entering the zone, the dashboard shows "NEAR" and proximity diamonds appear on the chart. This gives an early warning that price is approaching an active level before the actual retest occurs.
IZM showing the proximity diamond markers appearing as price approaches a bull OB from above, the info label updating with live age and touch count, and a faded zone after mitigation with the Stop Extending behavior active
Features
Swing Pivot Order Block Detection: Locates the last impulsive candle before a confirmed swing high or low with ATR-scaled displacement verification
Four-Component Strength Score (0-10): Displacement, session, age, and zone height combine into a single quality score — only zones above the minimum threshold are displayed
Session-Colored Borders: London blue / NY pink / Asia green / Off gray borders identify which session birthed each zone at a glance
Box-Based Zone Rendering: Solid box fills with session-colored borders — substantially more visible than linefill-based zone systems
Touch Count Darkening: Zone border opacity increases with each confirmed retest, visually communicating how frequently price has revisited the level
Three Mitigation Behaviors: Keep, Stop Extending, or Delete — each with optional fade-on-mitigation toggle
Proximity Markers and Dashboard State: Diamond markers and NEAR/ACTIVE dashboard state when price enters or approaches active zones
Info Labels: Dynamic text labels at zone right edge showing type, strength score, session, age in bars, zone height in pips/ticks, and touch count
Position Filter: Optional toggle to show only bull OBs below current price and bear OBs above, removing zones that are contextually irrelevant to the current price location
Max Active OBs: Oldest zones are trimmed when the array exceeds the configured maximum, keeping memory usage bounded
9-Row Dashboard: Active bull/bear OB counts, touch states (ACTIVE / NEAR), current session, ATR, minimum displacement distance, minimum strength threshold
6 Alertconditions: Zone entry, proximity approach, and new zone creation alerts for both bull and bear sides
Input Parameters
Order Block Detection:
Swing Length: Pivot confirmation lookback — higher values detect more significant, less frequent pivots (default 7)
OB Candle Lookback: How many bars back to search for the qualifying order block candle (default 20)
Displacement ATR Mult: Minimum displacement from OB candle to pivot, as a multiple of ATR (default 1.3)
Max Active OBs / Side: Maximum concurrent zones per direction before oldest are trimmed (default 5)
Min Strength Filter: Minimum strength score required to display a zone (default 3.0/10)
Zone Settings:
Zone ATR Width: Half the zone height expressed as ATR multiplier — sets the vertical thickness of zones (default 0.75)
Proximity Buffer (ATR): Distance above/below zone edge that activates the NEAR state (default 0.25)
Position Filter: When enabled, only shows zones on the correct side of current price (default off)
Mitigation:
On Mitigation: Keep / Stop Extending / Delete (default Stop Extending)
Fade On Mitigation: Whether to reduce zone opacity when mitigated (default on)
How to Use This Indicator
Primary Setup — Zone Retest Entry:
Look for price returning to an active zone (box fill area) after displacement away from it. When the dashboard shows ACTIVE and the zone has a high strength score (7+), this represents a high-quality retest opportunity. Enter in the zone's direction with a stop beyond the opposite edge of the box.
Reading the Strength Score:
Zones scoring 7-10 should be treated as premium levels — the displacement was large, the session was active, the zone is fresh, and the height is optimal. Zones scoring 3-5 are marginal. Use the minimum filter to remove low-quality zones entirely if the chart becomes cluttered.
Session Context:
London and NY zones (blue and pink borders) represent the most liquid, highest-participation session activity. An Asia-born zone that has not been retested by London or NY open is lower priority. A NY-born zone returning to price during the following London session is a high-context setup.
Proximity Workflow:
When a proximity diamond appears, price is approaching but has not entered a zone. This is the time to prepare your entry plan — set alerts using the Approaching alerts, watch for confirmation signals on a lower timeframe, and be ready when the NEAR state transitions to ACTIVE.
Indicator Limitations
Order block detection requires a confirmed swing pivot — pivot confirmation in Pine Script v6 is delayed by swingLen bars, meaning zones are created with a bar offset relative to the actual pivot price action
The displacement check uses the current-bar ATR, not the ATR at the time the zone was created — on rapidly expanding volatility environments this can temporarily raise the displacement threshold and filter out recent zones
The four-component scoring system uses static bin boundaries. Markets with unusually large or small ATR ranges may require tuning the displacement multiplier and zone width parameters to produce well-calibrated scores
Touch count increments on any confirmed close inside the zone, including the candle that originally created it. The first touch is therefore always the creation bar itself; meaningful retest context begins at touch count 2+
The mitigation logic detects a close through the zone edge, not an intrabar wick. Strong impulse candles that close back inside the zone will not trigger mitigation despite briefly penetrating the level
Originality Statement
This indicator is original in its four-component strength scoring system, session-colored border architecture, and touch-count border darkening feedback mechanism. The publication is justified because:
The four-component strength score (displacement, session, age, zone height) produces a quantitative quality ranking that is not present in standard order block tools, allowing the user to immediately identify premium versus marginal zones without manual evaluation
Session-colored borders encode institutional session context directly into the zone visual without requiring the user to maintain a separate session indicator, creating a self-contained contextual map
Touch-count border darkening provides a progressive visual feedback loop that communicates zone interaction history — the darker the border, the more times price has revisited the level
The proximity buffer and NEAR/ACTIVE dashboard state create a two-stage alert system that gives traders preparation time before an actual zone retest, reducing late entries
The mitigation lifecycle with fade-on-mitigation is a novel approach to zone management that preserves chart history while clearly delineating which zones remain actionable
Disclaimer
This indicator is provided for educational and informational purposes only and does not constitute financial advice or a recommendation to buy or sell any financial instrument. Past performance of any pattern or signal does not guarantee future results. All trading involves substantial risk. Always use proper risk management and conduct your own independent analysis.
— Made with passion by officialjackofalltrades
Indicator

Adaptive Pressure Trail [JOAT]Adaptive Pressure Trail
Introduction
Adaptive Pressure Trail is an open-source overlay indicator that combines an HMA-based adaptive ratchet trail with a custom volume-weighted Money Flow Index to classify bars into bull pressure, bear pressure, and neutral states. The system uses a three-layer visual architecture — an outer volatility cloud, an inner ratchet band fill, and a core gradient pressure fill between the HMA baseline and candle mid-body — to create a clear, spatially organized picture of momentum and direction on any chart. Volatility squeeze detection identifies compression phases before potential breakouts, and high-confidence signals fire when a squeeze releases simultaneously with pressure alignment.
The core problem this indicator solves is that most trail-based systems are either too reactive (flipping constantly on noise) or too slow (missing meaningful moves). The HMA ratchet addresses this: the upper band only falls and the lower band only rises after a direction flip, preventing whipsaw while remaining responsive when momentum is genuine. Layering a volume-weighted MFI filter on top means a directional trail alone is not sufficient — volume-backed money flow must confirm the move before the indicator reports active pressure.
Core Concepts
1. HMA Adaptive Ratchet Trail
The trail baseline is computed using a Hull Moving Average, which provides low lag while remaining smooth. ATR-scaled upper and lower bands are applied around the HMA. The ratchet rule prevents band noise: the upper band can only move downward (or reset when price closes above it), and the lower band can only move upward (or reset when price closes below it). Direction flips when price closes through the active band. This creates a one-directional drift that is far more stable than a raw crossover trail:
The trail direction variable persists with var and updates each bar. Direction == 1 means the lower band is the active trail (bullish), direction == -1 means the upper band is the active trail (bearish).
2. Custom Volume-Weighted MFI
Rather than using a standard price-only momentum oscillator, the pressure engine uses a custom volume-weighted Money Flow Index. Positive flow is volume multiplied by HLC3 on bars where HLC3 increased; negative flow is volume multiplied by HLC3 on bars where HLC3 decreased. These are summed over the MFI length and converted to a 0-100 scale using the RSI formula. The result is smoothed with an HMA for responsiveness. This produces a momentum measure that is inherently volume-weighted — large-volume moves carry more influence than low-volume drift. The MFI is further smoothed to distinguish sustained pressure from transient spikes.
3. Pressure Regime Classification
Bull pressure is active when the trail direction is bullish AND the smoothed MFI is above the bull threshold. Bear pressure is active when the trail direction is bearish AND MFI is below the bear threshold. Neutral is everything else. This dual-condition structure means you need both directional commitment from the ratchet trail AND volume-backed momentum to enter a pressure state. Either condition alone is insufficient.
A rolling 50-bar history tracks what percentage of recent bars were in an active pressure state, producing a Pressure Strength percentage that indicates whether the current regime has been sustained or is a brief spike.
4. Squeeze Detection
Band width — the distance between the upper and lower ratchet bands — is compared to its own SMA. When band width drops below 72% of its recent average, the market is compressing. A squeeze start fires a golden diamond marker at the trail level. A squeeze release fires a larger circle marker. The high-confidence signal fires when a squeeze release coincides with an active pressure state, identifying the highest-probability setups where compressed volatility breaks out in a confirmed directional context.
5. Three-Layer Visual Architecture
The chart renders three nested visual layers:
Outer Cloud: The ATR envelope (cloudMult * ATR from HMA center) filled with a very transparent directional color — gives spatial context to where price is within the volatility range
Inner Band Fill: The ratchet upper and lower bands filled with medium transparency — shows the active directional channel
Core Pressure Fill: A gradient fill between the HMA baseline and the candle mid-body — transparent at the HMA, saturated at the body, colored by pressure state
The trail line itself uses three stacked plots at widths 10, 5, and 2 to create a neon glow shadow effect. Bar coloring uses color.from_gradient driven by MFI intensity, producing increasingly saturated candles as momentum builds.
Features
HMA Ratchet Trail with Triple-Layer Glow: Direction-persistent adaptive trail rendered as a neon glow (widths 10/5/2) using the bullish lime or bearish fuchsia color
Outer ATR Volatility Cloud: Wide ATR envelope filled directionally, providing spatial context at a glance
Inner Ratchet Band Fill: Gradient-filled active channel between upper and lower ratchet bands
Core Pressure Gradient: Background-to-body gradient between HMA and mid-body, colored by current pressure state
HMA Skeleton Reference: Subtle neutral line showing the raw HMA baseline beneath all fills
Volatility Squeeze Markers: Golden diamonds during compression, circle flash on breakout
High-Confidence Signal: Starred HC LONG / HC SHORT labels when squeeze releases into confirmed pressure alignment — the highest-quality setup the system produces
Volume Impulse Labels: When a strong directional candle exceeds the volume threshold, a label shows the volume ratio (e.g., 2.1x vol) at the bar
MFI Cross Markers: Small triangles on the trail when MFI crosses the 50 level, marking momentum regime shifts
TP Signals: Labeled plotshapes when MFI reaches overbought/oversold extremes in the trail direction
Pressure Strength Percentage: Rolling 50-bar % of time spent in active pressure — distinguishes sustained trends from brief spikes
Gradient Bar Coloring: color.from_gradient driven by MFI intensity — bars saturate as momentum builds and fade as it weakens
11-Row Dashboard: Pressure state, trail direction, MFI reading, pressure score, pressure strength %, volatility state, band width, trend bars, trail price, ATR
Input Parameters
Adaptive Trail:
Trail HMA Length: Period for the HMA baseline (default 21)
Trail ATR Multiplier: Width of inner ratchet bands (default 1.8)
Trail ATR Length: ATR lookback for band calculation (default 14)
Outer Cloud ATR Width: Outer envelope width multiplier (default 3.2)
Squeeze Reference Bars: SMA period for band-width baseline (default 20)
Pressure Filter:
MFI Length: Volume-weighted money flow lookback (default 14)
MFI Smoothing: HMA smoothing on raw MFI (default 7)
MFI Bull/Bear Thresholds: Activation levels for pressure states (default 62/38)
Signals:
TP Overbought/Oversold Levels: MFI levels that trigger TP signals (default 78/22)
Impulse Volume Multiplier: Volume multiple above SMA required for impulse label (default 1.3)
Visuals:
Toggles for entry signals, TP signals, glow, cloud, pressure fill, squeeze markers, and dashboard
Bull Color (default lime #a3e635), Bear Color (default fuchsia #e879f9), Neutral Color (default slate #94a3b8)
How to Use This Indicator
Primary Setup — Trend Following with Pressure Confirmation:
Look for the trail to flip direction (circle marker on trail). Wait for MFI to cross the bull or bear threshold, confirming the pressure state activates. Enter in the trail direction once the pressure fill color saturates. Trail your stop at the active trail line. Exit on a TP signal or when the pressure state deactivates.
High-Confidence Setup:
Wait for squeeze markers (golden diamonds) to appear, indicating compression. When the squeeze releases (larger circle flash) and the pressure state is simultaneously active, the HC LONG or HC SHORT label fires. These are the setups where compressed volatility breaks out with momentum behind it.
Filtering with Pressure Strength:
The dashboard Pressure Strength percentage tells you how sustained the current move has been. Values above 60% indicate a mature trend. Values below 30% indicate the pressure state is new or unstable. Adjust position sizing accordingly.
Reading Impulse Candles:
Volume impulse labels (e.g., "2.1x vol") mark bars where a strong directional move was accompanied by significantly elevated volume. These often mark the start or acceleration of a pressure phase and can serve as reference points for support/resistance.
APT dashboard showing bull pressure active, MFI at 71.2, P-Score 7.1/10, P-Strength at 64%, band width expanding after a squeeze release, and the trail at current price with ATR reference
Indicator Limitations
The ratchet trail requires a confirmed close through the active band to flip direction. On higher-timeframe charts with large candle bodies this can mean the flip is confirmed well after the actual turning point
The volume-weighted MFI requires volume data. On instruments with unreliable volume reporting (some forex pairs, synthetic indices) the pressure filter may be less meaningful than on equities or futures
Squeeze detection uses a 72% band-width threshold. In persistently low-volatility instruments this threshold may trigger too frequently; adjusting the Squeeze Reference Bars parameter can help
High-confidence signals require both a squeeze release and active pressure simultaneously. On trending markets with no compression phase, HC signals will be rare
MFI thresholds at 62/38 are defaults designed for balanced use; highly trending instruments may require raising the bull threshold and lowering the bear threshold to reduce false pressure activations
Originality Statement
This indicator is original in its combination of a ratchet-constrained HMA trail with a custom volume-weighted MFI, the three-layer nested visual system, and the squeeze-breakout confluence signal. While HMA trails and MFI oscillators exist independently, this publication is justified because:
The ratchet logic applied to HMA (rather than ATR midline or EMA) reduces lag while preventing the constant flipping common in standard trail indicators
The custom volume-weighted MFI differs from the standard MFI by using HLC3 as the price component with RSI-formula normalization, producing a smoother measure with better noise rejection
The three-layer nested fill architecture (outer cloud, inner band, core pressure gradient) provides a spatially organized visual system where the distance between layers communicates volatility context
Squeeze detection integrated with pressure confirmation for HC signals is a novel combination that identifies setups at the intersection of volatility compression and momentum alignment
The Pressure Strength rolling percentage provides a trend maturity measure not present in standard trail indicators
Disclaimer
This indicator is provided for educational and informational purposes only and does not constitute financial advice or a recommendation to buy or sell any financial instrument. Past performance of any pattern or signal does not guarantee future results. All trading involves substantial risk. Always use proper risk management and conduct your own independent analysis.
— Made with passion by officialjackofalltrades
Indicator

Killzone Cartograph [JOAT]Killzone Cartograph
Introduction
Killzone Cartograph is an advanced open-source session structure mapper built around ICT (Inner Circle Trader) concepts. It automatically detects and renders the major institutional trading sessions — Asia, London, New York, and London Close — as color-coded boxes on the chart, calculates deviation projections from session ranges, tracks the New York Midnight Open as a key reference level, measures session dominance, detects session overlaps, and provides session bias signals. The indicator transforms raw time-of-day data into a structured visual map of when and where institutional activity concentrates.
The reason this indicator exists is that price does not move randomly throughout the day. Institutional order flow clusters around specific session windows — the "killzones" — where liquidity is deepest and the largest moves originate. Retail traders who ignore session structure often enter during low-liquidity periods (getting chopped) or miss the high-probability windows entirely. Killzone Cartograph makes session structure visible so traders can align their activity with institutional timing.
Core Concepts
1. Session Killzone Detection and Rendering
Each session is defined by a time window and timezone. The indicator detects when the current bar falls within each session and renders a box from the session's high to low, extending as the session progresses:
Asia Session: Typically 2000-0000 NY time. Often establishes the initial range that London and New York will sweep
London Session: Typically 0200-0500 NY time. The first major liquidity injection of the day, frequently setting the daily direction
New York Session: Typically 0700-1000 NY time. The highest-volume window where the London move is either confirmed or reversed
London Close: Typically 1000-1200 NY time. A secondary window where institutional position management creates distinct price patterns
Each session box is rendered with a distinct color from a muted institutional palette — tyrian violet for Asia, cardinal for London, cerulean for New York, and gunmetal for London Close. Box borders use the session color while fills use high transparency to avoid obscuring price action.
2. Deviation Projections
Once a session's range is established, the indicator projects deviation levels above and below the session high and low. These projections use configurable multipliers of the session range to identify where price might reach if it breaks out of the session box. This concept is rooted in the ICT framework where session ranges serve as measuring sticks for subsequent moves:
float sessionRange = sessionHigh - sessionLow
float devUp = sessionHigh + sessionRange * deviationMult
float devDn = sessionLow - sessionRange * deviationMult
Deviation levels are drawn as dashed lines extending from the session box, providing visual targets for breakout moves.
3. New York Midnight Open Reference
The NY Midnight Open (the opening price at 00:00 New York time) is a key ICT reference level. It serves as a daily bias marker — price above the midnight open suggests bullish daily bias, below suggests bearish. The indicator tracks this level and draws it as a horizontal reference line across the chart. Many institutional algorithms reference this level for daily positioning decisions.
4. Session Dominance and Overlap Detection
The indicator tracks which session produces the largest range each day and identifies it as the "dominant" session. It also detects when sessions overlap (London/New York overlap is particularly significant as it produces the highest liquidity of the day). Overlap periods are highlighted because they often generate the most significant price moves.
5. Session Bias Signals
At the close of each session, the indicator evaluates the session's price action to determine bias:
If the session closed in its upper third with expanding range, bullish bias is assigned
If the session closed in its lower third with expanding range, bearish bias is assigned
Otherwise, neutral bias is assigned
These bias arrows appear at session boundaries to provide quick directional context for the next session.
6. Killzone Strength Scoring
Each killzone receives a strength score based on the session's range relative to the daily ATR, volume during the session, and whether the session produced a directional move or just chopped. Higher scores indicate more significant sessions that are more likely to set the tone for subsequent price action.
Features
Session Box Rendering: Automatically drawn boxes for each session with configurable colors, extending as the session progresses and finalizing at session close
Deviation Projection Lines: Dashed lines at configurable multiples of the session range, projecting potential breakout targets
NY Midnight Open Line: Persistent horizontal reference at the 00:00 NY open price, updated daily
Previous Day High/Low Levels: Horizontal lines marking the prior day's extremes as key support/resistance references
Session Overlap Highlighting: Background coloring during session overlap periods (particularly London/NY overlap)
Dominance Coloring: The dominant session's box receives enhanced visual treatment to stand out
Session Bias Arrows: Directional arrows at session boundaries indicating the session's concluded bias
Killzone Strength Score: Numerical score for each session displayed in the dashboard
Session Bar Coloring: Optional bar coloring that tints candles based on which session they belong to
16-Row Dashboard: Displays current session, session high/low/range, deviation levels, midnight open, daily bias, dominant session, overlap status, killzone scores, and previous day levels
Input Parameters
Session Windows:
Asia/London/New York/London Close session times: Configurable time windows in exchange timezone
Timezone: Timezone for session calculations (default: America/New_York)
Deviation:
Deviation Multiplier: Multiple of session range for projection lines (default: 1.0)
Show Deviations: Toggle deviation projection lines
Reference Levels:
Show Midnight Open: Toggle NY Midnight Open reference line
Show Previous Day H/L: Toggle prior day's high and low levels
Visuals:
Toggles for each session's box rendering, bias arrows, bar coloring, overlap background, and dashboard
Individual color inputs for each session
How to Use This Indicator
Step 1: Identify the Active Session
The colored box tells you which session is currently active. Focus your trading during the session windows where you have the most experience and where your strategy performs best.
Step 2: Use Session Ranges as Context
The Asia session range often serves as the "initial balance" for the day. Watch for London to sweep one side of the Asia range (a liquidity grab) before establishing the daily direction. The New York session then either confirms or reverses the London move.
Step 3: Trade Deviation Projections
When price breaks out of a session box, the deviation projection lines provide measured-move targets. These are not guaranteed levels but represent statistically common extension distances based on the session's own range.
Step 4: Reference the Midnight Open
Use the NY Midnight Open as a daily bias filter. If price is above the midnight open, favor long setups. If below, favor short setups. This simple filter aligns your trading with the daily institutional bias.
Step 5: Prioritize Overlap Windows
The London/New York overlap (typically 0700-1000 NY time) produces the highest liquidity and often the day's most significant move. This is the highest-probability window for directional trades.
Close-up of the London/New York overlap period showing session boxes overlapping, deviation projections extending from the London range, and the NY Midnight Open reference line with price reacting to it
Indicator Limitations
Session times are fixed inputs based on typical institutional schedules. During daylight saving time transitions, session windows may need manual adjustment depending on your broker's timezone handling
Session structure analysis is most relevant for forex, futures, and indices that have distinct session-based liquidity patterns. Crypto markets trade 24/7 with less distinct session boundaries
Deviation projections are statistical tendencies, not guaranteed levels. Price may fall short of or exceed projected deviations
The NY Midnight Open is a reference level, not a support/resistance level with inherent strength. Its significance comes from institutional algorithm behavior, which may vary
Session dominance and bias signals are determined after the session closes, making them useful for context but not for real-time entries within that session
On higher timeframes (4H, Daily), individual session boxes may not render meaningfully as multiple sessions fit within a single candle
Originality Statement
This indicator is original in its comprehensive integration of ICT session concepts into a unified mapping system. While session boxes and killzone detection exist in other scripts, this indicator is justified because:
The deviation projection system uses the session's own range as a measuring stick, providing context-specific targets rather than generic ATR-based projections
Killzone strength scoring quantifies session significance using range, volume, and directional metrics — providing an objective measure not available in simple session box indicators
Session overlap detection with visual highlighting identifies the highest-liquidity windows automatically
The integration of NY Midnight Open, previous day levels, session bias, and dominance tracking into a single tool eliminates the need for multiple separate session indicators
Session bias arrows provide actionable directional context at session boundaries based on multi-factor analysis of the concluded session
The muted institutional color palette and clean box rendering avoid the visual clutter common in session-based 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. Session structures, deviation projections, and bias signals are based on historical patterns of institutional activity and do not guarantee future price behavior. Market conditions change, and sessions that historically produced strong moves may not always do so. Always use proper risk management and conduct your own analysis. The author is not responsible for any losses incurred from using this indicator.
-Made with passion by officialjackofalltrades
Indicator

Dissonance Ledger [JOAT]Dissonance Ledger
Introduction
Dissonance Ledger is an advanced open-source divergence intelligence system that simultaneously monitors four independent oscillators — RSI, MACD histogram, Money Flow Index (MFI), and Momentum — for both regular and hidden divergences against price. Rather than relying on a single oscillator (which produces frequent false divergences), this indicator uses a confluence scoring system that requires multiple oscillators to confirm the same divergence before generating a signal. The result is a divergence detection engine with substantially fewer false positives than any single-oscillator approach.
The fundamental problem with traditional divergence trading is reliability. A bearish RSI divergence (price making higher highs while RSI makes lower highs) fails more often than it succeeds when used in isolation. This is because a single oscillator can diverge from price for structural reasons unrelated to an impending reversal. Dissonance Ledger solves this by requiring a minimum number of oscillators (configurable, default 2 out of 4) to independently confirm the same divergence pattern. When RSI, MACD, MFI, and Momentum all agree that momentum is weakening despite price advancing, the probability of a genuine reversal increases substantially.
Core Concepts
1. Multi-Oscillator Divergence Architecture
The indicator calculates four oscillators at global scope to ensure proper history tracking:
RSI (Relative Strength Index): Measures the ratio of average gains to average losses. Divergences in RSI indicate that the magnitude of price moves is changing relative to the trend
MACD Histogram: The difference between the MACD line and its signal line. Divergences in the histogram indicate that the rate of momentum change is shifting
MFI (Money Flow Index): A volume-weighted RSI that incorporates buying and selling pressure. MFI divergences indicate that volume is not confirming the price move
Momentum: Raw rate of change (close minus close N bars ago). Momentum divergences indicate that the absolute speed of price movement is declining
Each oscillator provides a different lens on momentum. RSI measures relative strength, MACD measures momentum acceleration, MFI measures volume-confirmed pressure, and Momentum measures raw speed. When multiple lenses agree, the signal is more reliable.
2. Fractal Pivot Anchoring
Divergences are anchored to fractal pivot points rather than arbitrary lookback windows. The indicator uses `ta.pivothigh()` and `ta.pivotlow()` with configurable left and right bar counts to identify genuine swing highs and lows. Each pivot's price and all four oscillator values are stored in arrays:
if not na(pivHigh)
array.unshift(phPrices, pivHigh)
array.unshift(phBars, bar_index - pivotRight)
array.unshift(phRSI, rsiAtBar)
array.unshift(phMACD, macdAtBar)
// ... MFI, MOM stored similarly
When a new pivot forms, the indicator compares it against the previous pivot. If price made a higher high but one or more oscillators made a lower high, that oscillator registers a bearish divergence vote. The confluence count is the total number of oscillators that agree.
3. Regular vs Hidden Divergences
The indicator detects both types:
Regular Divergence (Reversal): Price makes a higher high / lower low while oscillators make a lower high / higher low. This suggests the current trend is losing momentum and a reversal may follow
Hidden Divergence (Continuation): Price makes a lower high / higher low while oscillators make a higher high / lower low. This suggests the underlying trend remains strong despite a surface-level pullback, and continuation is likely
Regular divergences are drawn with solid lines; hidden divergences use dashed lines in distinct colors (arctic cyan for hidden bull, amber for hidden bear) to differentiate them visually.
4. Divergence Strength Scoring
Each detected divergence receives a strength score (0-100) based on three factors:
Confluence Weight (50%): More oscillators confirming = higher score. 4/4 confluence scores maximum
Price Divergence Magnitude (25%): Larger percentage difference between the two pivot prices = stronger divergence
Oscillator Divergence Magnitude (25%): Larger absolute difference in oscillator readings between pivots = stronger signal
This scoring system helps traders prioritize high-conviction divergences over marginal ones.
5. ATR Target Projections
When a divergence is confirmed, the indicator projects a target level using a configurable ATR multiple from the pivot point. For bullish divergences, the target is projected above the pivot low; for bearish, below the pivot high. These targets provide a measured-move expectation for the potential reversal.
6. Oscillator Aggregate Bias
Beyond divergence detection, the indicator calculates an aggregate bias across all four oscillators. Each oscillator's reading is normalized to a -1 to +1 scale, and the average is smoothed with an EMA. This provides a continuous measure of overall momentum direction and strength, independent of divergence signals.
Features
Confluence-Scored Divergence Labels: Each divergence signal shows its confluence count (e.g., "3/4 REG" for a regular divergence confirmed by 3 of 4 oscillators) and whether it is regular or hidden
Divergence Lines: Solid lines for regular divergences, dashed lines for hidden divergences, connecting the two pivot points that form the divergence pattern
ATR Target Projections: Dashed horizontal lines with price labels showing the projected target for each divergence
Oscillator Momentum Ribbon: An EMA-based ribbon on the price chart that fills bullish or bearish based on the aggregate oscillator bias, providing continuous momentum context
Divergence Decay Tracking: After a divergence signal, a fading background zone tracks the "decay" period — the window during which the divergence is still considered active. The zone fades progressively over the configurable decay duration
Confluence-Weighted Bar Coloring: Candle colors shift on a gradient based on how many oscillators agree on direction. Full agreement produces vivid colors; mixed signals produce muted colors
Divergence History Chain: The dashboard tracks the last three divergence signals in sequence (e.g., "BULL > BEAR > H-BULL"), revealing the pattern of momentum shifts
Pivot Markers: Small circles mark fractal pivots that did not produce divergences, maintaining structural awareness
16-Row Dashboard: Displays all four oscillator values, agreement count, aggregate bias, last bull/bear divergence details, strength scores, hidden divergence tracking, history chain, decay status, and total divergence counts
Input Parameters
Pivot Detection:
Left/Right Bars: Fractal pivot detection sensitivity (default: 5/5)
Lookback Window: Maximum bars between pivots for divergence comparison (default: 60)
Oscillators:
RSI Length (default: 14), MACD Fast/Slow/Signal (default: 12/26/9), MFI Length (default: 14), Momentum Length (default: 14)
Confluence:
Min Confluence: Minimum oscillators required to confirm a divergence (default: 2, range: 1-4)
Target Projection:
ATR Target Multiple: Multiplier for target distance (default: 1.5)
Target ATR Length: ATR period for projection calculation (default: 14)
Visuals:
Toggles for divergence lines, hidden divergences, target projections, oscillator ribbon, bar coloring, signal background, decay zones, and dashboard
Decay Duration: Number of bars the divergence decay zone persists (default: 20)
How to Use This Indicator
Step 1: Set Your Confluence Threshold
Start with the default minimum confluence of 2. If you want fewer but higher-conviction signals, increase to 3 or 4. A 4/4 confluence divergence is rare but highly significant.
Step 2: Watch for Divergence Labels
When a label appears (e.g., "3/4 REG" below a pivot low), it means 3 of 4 oscillators confirmed a regular bullish divergence at that pivot. The higher the confluence, the more attention the signal deserves.
Step 3: Check the Strength Score
In the dashboard, review the divergence strength percentage. Scores above 60 indicate strong divergences with large price and oscillator magnitude differences. Scores below 30 are marginal.
Step 4: Use Target Projections for Planning
The dashed target line shows where a measured-move reversal might reach. Use this for take-profit planning, not as a guaranteed level.
Step 5: Monitor the Decay Zone
The fading background after a divergence signal shows the active window. If price hasn't responded by the time the decay zone expires, the divergence has likely failed.
Step 6: Read the History Chain
A sequence like "BEAR > BEAR > BEAR" in the history chain suggests persistent bearish momentum divergences — the trend may be weakening structurally. Alternating "BULL > BEAR > BULL" suggests choppy, unreliable conditions.
Close-up showing a 4/4 confluence bearish divergence with all four oscillator divergence lines visible, the strength score in the dashboard reading 78%, and the ATR target projection line below
Indicator Limitations
Divergences are identified at fractal pivots, which require right-bar confirmation. This means divergences are detected with a delay equal to the right-bar count (default 5 bars after the actual pivot)
Even with multi-oscillator confluence, divergences can fail. Strong trends can produce multiple consecutive divergences before any reversal occurs — this is known as "divergence stacking" and is a well-known limitation of divergence trading
The four oscillators used (RSI, MACD, MFI, Momentum) are all derived from price and volume. They are not truly independent — they share common inputs and can produce correlated false signals during certain market conditions
MFI requires reliable volume data. On forex pairs or instruments with synthetic/tick volume, MFI-based confluence may be less meaningful
Target projections use ATR as a distance measure, which is backward-looking. In rapidly changing volatility environments, projected targets may overshoot or undershoot
Hidden divergences are continuation signals, not reversal signals. Confusing the two types leads to trading against the trend
Originality Statement
This indicator is original in its multi-oscillator confluence approach to divergence detection. While divergence indicators exist for individual oscillators, this indicator is justified because:
The four-oscillator confluence system (RSI + MACD + MFI + Momentum) provides a reliability filter not available in single-oscillator divergence detectors. Each oscillator measures a different aspect of momentum, and their agreement substantially reduces false positives
The divergence strength scoring system quantifies signal quality using confluence weight, price magnitude, and oscillator magnitude — providing an objective measure for prioritizing signals
Fractal pivot anchoring ensures divergences are measured between genuine swing points rather than arbitrary lookback windows
The divergence decay tracking system provides a visual time-window for signal validity, addressing the common question of "how long is this divergence still relevant?"
The aggregate oscillator bias ribbon provides continuous momentum context independent of divergence signals
The history chain tracking reveals patterns in divergence sequences that can indicate structural trend weakening or choppy 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. Divergences are probabilistic patterns, not certainties — even high-confluence divergences can and do fail. Past divergence patterns do not guarantee future reversals. Target projections are mathematical estimates, not price predictions. Always use proper risk management including stop losses and position sizing. The author is not responsible for any losses incurred from using this indicator.
-Made with passion by officialjackofalltrades
Indicator

Cadence Veil [JOAT]Cadence Veil /b]
Introduction
Cadence Veil is an advanced open-source regime classification indicator that fuses an H-Infinity adaptive filter, R-squared efficiency gating, dual-window chop scoring, and Kaufman adaptive efficiency into a unified five-state regime engine. The indicator classifies every bar into one of five market states — Expansion Bull, Expansion Bear, Compression, Whipsaw, or Dormant — using a hysteresis state machine that prevents rapid flip-flopping between regimes. It then overlays volatility envelope bands, a ZEMA bias ribbon, structural pivot tracking, regime shift boxes, and gradient visualization to create a complete market phase recognition system.
The core problem this indicator solves is regime misidentification. Most traders apply the same strategy regardless of market conditions — trend-following in chop, mean-reversion in trends, or trading during dormant periods when nothing meaningful is happening. Each of these mismatches leads to losses. Cadence Veil explicitly classifies the current regime so traders can select the appropriate strategy for the conditions. A compression regime calls for breakout preparation. An expansion regime calls for trend-following. A whipsaw regime calls for caution or sitting out entirely. A dormant regime means the market lacks the energy for any strategy to work reliably.
Core Concepts
1. H-Infinity Adaptive Filter
The centerline of the indicator uses an H-Infinity filter rather than a conventional moving average. H-Infinity filtering is a control theory technique designed to produce optimal estimates under worst-case noise conditions. Unlike a Kalman filter (which assumes Gaussian noise), the H-Infinity filter makes no assumptions about noise distribution, making it more robust in financial markets where price noise is decidedly non-Gaussian:
for i = 0 to hinfOrder - 1
float s = array.get(hinfState, i)
float e = array.get(hinfError, i) + hinfNoise
float g = e / (e + hinfDist)
array.set(hinfState, i, s + g * (close - s))
array.set(hinfError, i, (1.0 - g) * e)
The filter maintains internal state and error estimates that adapt each bar. The gain parameter (error divided by error plus disturbance) determines how much the filter trusts new data versus its existing estimate. Higher disturbance values make the filter more conservative (smoother); lower values make it more responsive. The filter order parameter controls how many state dimensions are tracked, with higher orders providing more sophisticated noise modeling.
2. R-Squared Efficiency Gate
R-squared measures how well price movement fits a linear regression line. A high R-squared (close to 1.0) means price is moving in a straight, efficient line — a strong trend. A low R-squared (close to 0) means price is moving randomly with no directional efficiency:
float r2Raw = math.pow(ta.correlation(close, bar_index, effLen), 2)
float r2Smooth = ta.sma(r2Raw, effSmooth)
The indicator uses an auto-calibrating threshold: the rolling mean of R-squared plus k standard deviations. This means the threshold adapts to the instrument's typical trending behavior. A hysteresis band prevents the gate from flickering — once open, R-squared must drop further to close the gate than it needed to rise to open it.
3. Dual-Window Chop Scoring
Chop is measured using the efficiency ratio concept: the net price movement divided by the total path length over a window. A perfectly straight move scores 0 (no chop); a move that goes nowhere despite lots of bar-to-bar movement scores 1 (maximum chop). The indicator uses two windows — a fast window (default 14 bars) for recent chop and a slow window (default 50 bars) for structural chop — and blends them:
f_chop(int len) =>
float netMove = math.abs(close - close )
float pathLen = math.sum(math.abs(close - close ), len)
pathLen == 0.0 ? 1.0 : 1.0 - (netMove / pathLen)
float chopBlend = (chopFastVal + chopSlowVal) / 2.0
The dual-window approach catches both short-term whipsaws and longer-term structural chop that a single window might miss.
4. Kaufman Efficiency Ratio
The Kaufman ER provides a third independent measure of trend quality. It compares the absolute net price change over N bars to the sum of all bar-to-bar changes over the same period. Values near 1.0 indicate efficient, directional movement; values near 0 indicate noisy, non-directional movement. This complements R-squared (which measures linearity) and chop score (which measures path efficiency) by measuring absolute directional efficiency.
5. Composite Trend Score and State Machine
The three measures are blended into a single composite trend score:
float trendScore = (kaufER * 0.35) + ((1.0 - chopBlend) * 0.35) + (r2Smooth * 0.30)
This score, combined with the H-Infinity filter slope and volatility ratio, feeds into a five-state machine with persistence requirements. A candidate state must hold for a configurable number of consecutive bars (default 3) before the regime officially transitions. This prevents single-bar noise from triggering false regime changes.
The five states are:
Expansion Bull: R-squared gate open, trend score above threshold, H-Infinity slope positive
Expansion Bear: R-squared gate open, trend score above threshold, H-Infinity slope negative
Compression: High chop score, low volatility ratio — market is coiling
Whipsaw: High volatility but also high chop — dangerous conditions with large moves in both directions
Dormant: None of the above conditions met — market lacks energy or direction
6. Volatility Envelope Bands
Adaptive bands are constructed around the H-Infinity line using ZEMA-smoothed ATR. The bands scale their width based on the current regime: narrower during compression (0.7x), wider during expansion (1.2x), and standard during normal conditions. This regime-adaptive scaling means the bands contract when the market is coiling (tightening the range for breakout detection) and expand when the market is trending (giving the trend room to breathe).
Features
Five-State Regime Classification: Clear categorical identification of the current market phase with color-coded rendering throughout the indicator
H-Infinity Core Line with Glow: The adaptive filter line renders with a gradient glow whose color and intensity reflect the current regime and trend score
Regime Shift Boxes: When the regime changes, a colored box is drawn that expands to encompass the price range of the new regime, providing a visual record of regime transitions
Regime Shift Labels: Labels at regime transitions show the new regime abbreviation and the trend score at the time of transition
ZEMA Bias Ribbon: A filled ribbon between the H-Infinity line and its ZEMA shows directional bias with bull/bear coloring
Structural Pivot Detection: Swing highs and lows are identified and labeled with regime context — pivots formed during expansion regimes are colored differently than those formed during compression
Structure Lines: Dashed horizontal lines at the most recent swing high and low provide support/resistance reference
Envelope Breach Detection: The dashboard reports whether price is inside the bands, above/below the inner band, or above/below the outer band
Composite Signal Strength: A 0-100 score measuring how aligned all subsystems are (R-squared gate, Kaufman ER, chop score, and ZEMA bias)
Regime History Tracking: The dashboard shows the last three regime states in sequence, revealing the pattern of market phase transitions
Gradient Background Zones: Background coloring shifts on a gradient from compression tones to the current regime color based on the trend score
Regime-Aware Bar Coloring: Candle colors reflect the current regime with momentum-based gradient intensity
14-Row Dashboard: Displays regime state, duration, trend score, signal strength, R-squared gate status, chop blend, Kaufman ER, volatility ratio, H-Infinity gain, ZEMA bias, swing levels, envelope position, and regime history
Input Parameters
H-Infinity Filter:
Filter Order: Number of state-space dimensions (default: 3, range: 1-8)
Process Noise: Expected noise level (default: 0.5)
Disturbance: External disruption parameter (default: 1.0)
Efficiency Gate:
R-Squared Length: Correlation calculation period (default: 30)
Smoothing: R-squared smoothing period (default: 10)
Threshold k: Standard deviations above mean for auto-threshold (default: 1.0)
Chop Detector:
Fast Window: Short-term chop measurement (default: 14)
Slow Window: Long-term chop measurement (default: 50)
State Engine:
Entry Persistence: Consecutive bars required for regime transition (default: 3)
Hysteresis Band: Width of the hysteresis zone to prevent flickering (default: 0.15)
Volatility Envelope:
Inner/Outer ATR Multipliers: Band distance from the core line (default: 1.2/2.4)
ATR Length: Period for ATR calculation (default: 14)
Visuals:
Toggles for envelope bands, ZEMA bias ribbon, structural pivots, structure lines, regime shift boxes, regime shift signals, background zones, bar coloring, and dashboard
How to Use This Indicator
Step 1: Identify the Current Regime
The dashboard's regime field and the background coloring immediately tell you the market phase. This is the most important piece of information — it determines which strategy to apply.
Step 2: Match Strategy to Regime
Expansion Bull/Bear: Use trend-following strategies. Enter pullbacks to the H-Infinity line or inner band in the direction of the expansion
Compression: Prepare for a breakout. Tighten stops, reduce position sizes, and watch for the regime to shift to expansion. The ZEMA bias may hint at the breakout direction
Whipsaw: Reduce exposure or sit out. This regime produces large moves in both directions that stop out trend-followers and mean-reversion traders alike
Dormant: No edge exists. Wait for the market to wake up
Step 3: Use Signal Strength for Conviction
The composite signal strength (0-100) tells you how aligned all subsystems are. A 75+ score during an expansion regime is high-conviction. A 25 score during expansion suggests the regime may be weakening.
Step 4: Monitor Regime Transitions
Regime shift boxes and labels mark exactly where transitions occurred. The most profitable trades often come at the transition from compression to expansion — the breakout from a coiled market.
Step 5: Read the Regime History
The history chain (e.g., "COMP > EXP+ > DORM") reveals the market's recent phase pattern. A sequence like "COMP > EXP+ > COMP > EXP+" suggests a market that trends in bursts between consolidation periods.
Cadence Veil showing a regime transition sequence: compression (purple box) resolving into expansion bull (green box), with the H-Infinity line glow intensifying, envelope bands widening, and the trend score rising in the dashboard
Indicator Limitations
The H-Infinity filter, while theoretically robust, has three parameters (order, noise, disturbance) that significantly affect behavior. Optimal settings vary across instruments and timeframes and may require experimentation
The persistence requirement for regime transitions (default 3 bars) creates a delay. Fast regime changes may be identified several bars after they begin. This is a deliberate trade-off for stability
The five-state classification is a simplification of continuous market behavior. Markets can exist in states that don't cleanly fit any category, and the boundaries between states are inherently fuzzy
R-squared, chop score, and Kaufman ER all use lookback windows. They describe what the market has been doing, not what it will do. A regime can change immediately after being classified
The whipsaw state is identified but no strategy is recommended for it because whipsaw conditions are inherently difficult to trade profitably. The indicator's value here is in warning you to reduce exposure
Volatility envelope bands adapt to the regime but still use ATR, which is backward-looking. Sudden volatility shifts (news events, gaps) may not be reflected in the bands for several bars
Originality Statement
This indicator is original in its application of control theory (H-Infinity filtering) to market regime classification and its synthesis of multiple independent efficiency measures into a unified state machine. While regime detection and adaptive filtering are established concepts, this indicator is justified because:
The H-Infinity filter is rarely used in technical analysis. Its worst-case noise optimization makes it theoretically more appropriate for financial markets than the more common Kalman filter, which assumes Gaussian noise
The triple-measure efficiency assessment (R-squared linearity + dual-window chop + Kaufman efficiency) provides more robust regime detection than any single measure. Each captures a different aspect of market behavior
The five-state classification with hysteresis persistence requirements produces stable, actionable regime labels rather than the flickering binary (trending/ranging) classifications common in simpler indicators
Regime-adaptive volatility envelope scaling automatically adjusts band behavior to the detected market phase, providing context-appropriate support/resistance levels
The composite signal strength score synthesizes all subsystems into a single conviction measure
Regime shift boxes provide a visual record of market phase transitions that aids in pattern recognition across longer timeframes
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. Regime classifications are based on historical data analysis and do not predict future market phases. A market classified as "Expansion Bull" can reverse at any time. Compression does not guarantee a subsequent breakout, and the direction of any breakout is not predicted by the compression classification. Always use proper risk management and conduct your own analysis. The author is not responsible for any losses incurred from using this indicator.
-Made with passion by officialjackofalltrades
Indicator

Helion Trend Weave [JOAT]Helion Trend Weave
Introduction
The Helion Trend Weave is an open-source volatility-adaptive multi-MA ribbon overlay that self-adjusts its period lengths based on real-time ATR regime. In high-volatility environments, periods shorten for faster response; in calm markets, they lengthen for noise reduction. The ribbon consists of up to 12 moving average filaments with four-state color logic that provides instant trend phase recognition: dominant rise, fading rise, dominant fall, and fading fall. Beyond simple trend direction, HTW measures ribbon spread as a trend strength gauge, detects compression squeezes, identifies ribbon inversions (twists), and generates six distinct signal types — all with cooldown-based anti-overlap to keep the chart clean.
This indicator addresses a fundamental limitation of static moving average systems: fixed periods that work well in one volatility environment fail in another. A 20-period EMA that provides clean signals in a trending market produces whipsaws in a choppy one. HTW solves this by dynamically morphing all ribbon periods through a volatility ratio, while providing a comprehensive suite of trend diagnostics through its dashboard and signal architecture.
Core Engine: Volatility Morphing
The adaptive period system works by computing a volatility ratio between a fast ATR and a slow ATR:
float volReg = atrL != 0 ? atrS / atrL : 1.0
float adaptMult = adaptive ? math.max(adaptMin, math.min(adaptMax, 1.5 / volReg)) : 1.0
When short-term volatility exceeds long-term volatility (ratio > 1), the multiplier decreases below 1.0, shortening all periods for faster reaction. When volatility contracts (ratio < 1), the multiplier increases above 1.0, lengthening periods for noise filtering. The morph floor and ceiling are configurable to prevent extreme period distortion. Every filament in the ribbon is calculated as:
Period = max(2, round((basePeriod + index * spacing) * adaptMult))
This means the entire ribbon breathes with the market — expanding its lookback during calm periods and contracting it during volatile ones.
Multi-MA Ribbon Architecture
The ribbon supports up to 12 filaments using EMA, SMA, or SMMA calculation types. Each filament is computed with inline EMA/RMA logic at global scope to handle the series-int periods that result from adaptive morphing. The filaments are plotted with progressive transparency — the lead filament is vivid and thick, while trailing filaments fade gradually, creating a visual depth effect.
Four-State Color Logic
Rather than simple bullish/bearish coloring, HTW uses four states based on two conditions — trend direction (lead above/below anchor) and momentum (lead rising/falling):
Dominant Rise: Lead filament above anchor AND rising — strong bullish momentum
Fading Rise: Lead filament above anchor but NOT rising — bullish trend losing steam
Dominant Fall: Lead filament below anchor AND falling — strong bearish momentum
Fading Fall: Lead filament below anchor but NOT falling — bearish trend losing steam
The "fading" states are early warnings that a trend may be approaching exhaustion before an actual crossover occurs.
Trend Diagnostics
Ribbon Spread: The absolute distance between the fastest and slowest filaments, normalized by ATR. This serves as a volatility-adjusted trend strength gauge. The spread is percentile-ranked against its own history and classified as DOMINANT (>70th), DEVELOPING (30-70th), or DORMANT (<30th).
Alignment Score: Measures what percentage of filament segments are in correct sequential order (ascending for bull, descending for bear). LOCKED = 100% alignment, PARTIAL = 50%+, SCATTERED = below 50%. Full alignment is a powerful trend confirmation.
Spread Momentum: Rate of change of the normalized spread — EXPANDING, CONTRACTING, or FLAT. Expanding spread after compression often signals the beginning of a significant move.
Compression Chamber (Squeeze Detection)
The indicator percentile-ranks the raw ribbon spread against a configurable lookback. When the spread falls below the compression percentile threshold (default: 10th percentile), the ribbon is considered "squeezed" — a state that often precedes explosive directional moves. A subtle background aura highlights compression periods.
Signal Architecture
HTW generates six signal types, each with independent cooldown timers and a global anti-overlap system that ensures only one label appears per bar (priority: Cross > Surge > Twist > Fan > Snap > Drift):
IGNITE / QUENCH (Weave Cross): Lead filament crosses above or below the anchor filament — the core directional signal.
SURGE (Momentum Surge): Compression releases into rapid expansion — the ribbon was squeezed and is now expanding with directional conviction. This is a structural breakout signal.
TWIST LOCK: Ribbon inversion confirmed after a configurable number of bars of sustained new alignment. More conservative than a simple crossover.
FAN (Filament Fan): All filaments achieve perfect sequential order — a powerful trend confirmation that indicates full ribbon alignment.
SNAP (Snap Recoil): Price crosses the ribbon midpoint against the current trend direction while the ribbon has meaningful width. This is a mean-reversion signal.
DRIFT (Drift Fade): Trend force decays to dormant level — an exhaustion warning when the spread percentile drops below 15%.
// Global anti-overlap: only one label per bar (priority order)
bool doCross = (bullCross or bearCross) and not barUsed
bool doSurge = (surgeUp or surgeDn) and not barUsed and not doCross
bool doTwist = (twistBullEdge or twistBearEdge) and not barUsed and not doCross and not doSurge
Command Panel (Dashboard)
A 12-row monospace dashboard displays real-time trend intelligence:
PHASE: Current four-state classification (Dominant Rise, Fading Rise, Dominant Fall, Fading Fall)
FORCE: Trend strength classification with percentile (DOMINANT / DEVELOPING / DORMANT)
APERTURE: Normalized ribbon spread with expansion/contraction direction
ALIGNMENT: Filament sequential order score (LOCKED / PARTIAL / SCATTERED)
MORPH: Current adaptive period multiplier (e.g., 0.75x in high vol, 1.8x in low vol)
COMPRESS: Whether the ribbon is currently in a squeeze state
WEAVE: Current MA type and filament count configuration
VOL REG: Raw volatility ratio (fast ATR / slow ATR)
MIDPOINT: Whether price is above or below the ribbon midpoint, with the midpoint price
LEAD PER / ANCHOR PER: Current effective periods after morphing
Input Parameters
Helix Parameters:
Filament Type: EMA, SMA, or SMMA (default EMA)
Origin Period: Fastest MA period (default 5)
Weave Depth: Number of filaments, 3-12 (default 8)
Filament Spacing: Period increment between filaments (default 5)
Volatility Morphing: Enable/disable adaptive periods (default on)
Morphic Tuning:
Impulse ATR / Anchor ATR: Fast and slow ATR periods for volatility ratio
Morph Floor / Ceiling: Minimum and maximum period multiplier bounds
Compression Chamber:
Compression Aura: Toggle squeeze background highlight
Chamber Lookback / Compression Percentile: Squeeze detection parameters
Signal Architecture:
Individual toggles for all six signal types
Twist Confirmation: Bars of sustained inversion required (default 2)
How to Use This Indicator
Watch for SURGE signals after compression periods — these often mark the beginning of significant directional moves.
Use the four-state color system to identify trend exhaustion early. "Fading" states warn that momentum is weakening before a crossover occurs.
FAN signals (full filament alignment) are powerful trend confirmations — they indicate that all timeframe layers of the ribbon agree on direction.
SNAP signals provide counter-trend opportunities when price crosses the ribbon midpoint against a wide ribbon — but use them with caution and additional confirmation.
Monitor the MORPH multiplier in the dashboard — extreme values (very low or very high) indicate unusual volatility conditions.
The ALIGNMENT metric helps distinguish between clean trends (LOCKED) and choppy conditions (SCATTERED).
Limitations
Moving average ribbons are inherently lagging — the adaptive morphing reduces but does not eliminate this lag.
Compression detection identifies potential breakout setups but does not predict breakout direction.
The adaptive period system can produce rapid period changes during volatile transitions, which may cause visual noise in the ribbon.
SNAP (mean reversion) signals are counter-trend and carry higher risk than trend-following signals.
The indicator works best on liquid instruments with consistent price action. Thin markets may produce unreliable morphing behavior.
Signal cooldowns prevent spam but may also suppress valid signals that occur in rapid succession.
Originality Statement
This indicator is original in its integration of volatility-adaptive period morphing with comprehensive ribbon diagnostics. While moving average ribbons are a known concept, HTW is justified because:
The ATR-ratio-based period morphing dynamically adjusts all filament periods simultaneously, creating a ribbon that breathes with market volatility — unlike static ribbon indicators.
Four-state color logic (rising/falling crossed with above/below) provides phase recognition beyond simple bullish/bearish classification.
The alignment scoring system quantifies ribbon sequential order as a percentage, providing a measurable trend quality metric.
Six distinct signal types with priority-based anti-overlap and independent cooldowns create a clean, non-cluttered signal architecture.
Compression detection integrated directly into the ribbon spread provides squeeze identification without requiring a separate indicator.
The comprehensive 12-row dashboard presents trend diagnostics including effective morphed periods, spread momentum, and alignment state.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Moving average systems identify trends after they begin and cannot predict future price direction. Past trend patterns do not guarantee future behavior. Always use proper risk management and conduct your own analysis before making trading decisions. The author is not responsible for any losses incurred from using this tool.
-Made with passion by officialjackofalltrades
Indicator

Bastion Level Sentinel [JOAT]Bastion Level Sentinel
Introduction
The Bastion Level Sentinel is an open-source dynamic support and resistance overlay that derives price levels from EMA rounding, then builds conviction scores through touch-based strength analysis with optional volume confirmation. Rather than drawing static horizontal lines at arbitrary prices, BLS rounds an EMA to a configurable price increment (e.g., 500, 1000) to identify the institutional-grade price rails that the market naturally gravitates toward. Each time price interacts with a rail, the indicator counts and classifies the touch — validated (with above-average volume) or unconfirmed (low volume) — and uses these counts to build a conviction score that drives the visual intensity of the level through color gradients.
Most support/resistance indicators either use fixed pivot points that become stale, or they require manual drawing. BLS automates the process by anchoring levels to a moving EMA foundation, resetting touch counts when levels shift, and providing a complete lifecycle view of each level — from nascent (newly formed) through seasoned to ancient. The conviction engine ensures that levels with more validated touches appear visually stronger, giving traders an immediate sense of which levels carry the most institutional weight.
Core Engine: Level Derivation
The level calculation is straightforward but effective:
float emaVal = ta.ema(close, emaLen)
float topLvl = roundVal * math.ceil(emaVal / roundVal)
float botLvl = roundVal * math.floor(emaVal / roundVal)
The EMA provides a smoothed price anchor. Rounding up to the nearest increment gives the ceiling rail (resistance), and rounding down gives the floor rail (support). The grid increment is fully configurable — use 500 for crypto, 50 for stocks, 10 for forex — allowing the indicator to adapt to any instrument's natural price structure.
A stability check ensures that levels are only considered active when they remain unchanged from the previous bar. This prevents false touch counts during level transitions.
Conviction Engine (Touch-Based Strength Scoring)
The conviction engine is the heart of BLS. Every time price enters a rail's proximity zone (defined by a configurable tolerance fraction of the level gap), a touch is registered. Touches are edge-triggered — only the first bar of each interaction counts, preventing a single extended visit from inflating the score.
When volume confirmation is enabled, touches are classified into two categories:
Validated Touches: Price interacts with the rail while short-term volume exceeds the configurable threshold (default 1.2x average). These carry 70% weight in the conviction score.
Unconfirmed Touches: Price interacts with the rail on below-average volume. These carry 30% weight — they still count, but with reduced conviction.
The conviction score scales from 0% to 100% based on the number of touches relative to the saturation threshold (default 5 touches for 100%). When levels shift (the EMA moves enough to change the rounded level), all touch counts reset to zero, and the lifecycle begins fresh.
Level Lifecycle and Maturity
Each rail tracks its age in bars since the last level shift:
NASCENT: Fewer than 50 bars old — newly formed level, conviction still building
SEASONED: 50-200 bars old — established level with meaningful touch history
ANCIENT: Over 200 bars old — long-standing level that has persisted through extended price action
Ancient levels with high conviction scores represent the strongest support/resistance zones — they have been tested repeatedly over a long period and have held.
Visual Architecture
Primary Rails: Ceiling and floor levels plotted with conviction-driven color gradients. Low conviction = neutral purple, high conviction = vivid red (resistance) or green (support). The color intensity directly communicates level strength.
Proximity Halos: Tolerance zone boundaries around each rail, filled with transparency that scales with conviction. Stronger levels have more visible halos.
Equator Line: The midpoint between ceiling and floor — a natural equilibrium reference.
Tertiary Gridlines: 25% and 75% sub-levels between the rails, providing additional structure within the grid.
Proximity Aura: Subtle background tint when price enters a rail's tolerance zone — immediate visual alert that price is near a significant level.
Grid Tint Candles: Candles colored by their position within the grid — red tones near the ceiling, green tones near the floor, purple at the equator.
Signal Architecture
BLS generates five distinct signal types, all confirmed-bar and edge-triggered:
RAIL LOCK (Validated Touch): Price interacts with a rail on confirmed volume. The label includes the running touch count. These are the highest-confidence interaction signals.
ECHO (Unconfirmed Touch): Price interacts with a rail but volume is below the confirmation threshold. The interaction is noted but flagged as lower confidence.
BREACH: Price closes beyond a rail — a potential breakout (ceiling) or breakdown (floor). These are edge-triggered crossover/crossunder signals.
APPROACH: Price enters a rail's proximity zone for the first time — an early warning that an interaction is imminent.
Conviction Pulse: Periodic labels on the rails (every 20 bars) showing the current conviction percentage, providing at-a-glance strength information without cluttering the chart.
// Edge-triggered touch detection
bool topTouchEdge = topTouch and not topTouch
bool botTouchEdge = botTouch and not botTouch
Command Panel (Dashboard)
An 11-row monospace dashboard displays:
CEILING: Current resistance rail price
C CONV: Ceiling conviction — validated/total touches with percentage (e.g., "3v/4t (85%)")
FLOOR: Current support rail price
F CONV: Floor conviction — validated/total touches with percentage
EQUATOR: Midpoint price between ceiling and floor
NEAREST: Which rail price is closest to, with distance as a percentage
GRID POS: Price position classification (Ceiling Zone, Upper Grid, Equator, Lower Grid, Floor Zone)
MATURITY: Lifecycle stage of each rail (Nascent, Seasoned, Ancient)
LOCKED: Whether each rail is currently stable (unchanged from previous bar)
FLUX: Current volume confirmation ratio — values above the threshold indicate "hot" volume
Input Parameters
Fortress Grid:
Lattice Anchor: EMA period for level derivation (default 21)
Grid Increment: Price rounding value (default 500) — adjust for your instrument
Proximity Radius: Fraction of level gap used as tolerance zone (default 0.15)
Tertiary Gridlines: Toggle 25%/75% sub-levels
Conviction Engine:
Conviction Saturation: Touches needed for 100% conviction (default 5)
Flux Validation: Require above-average volume for validated touches (default on)
Flux Threshold: Volume ratio required for validation (default 1.2x)
Optics Layer:
Individual toggles for: Primary Rails, Proximity Halos, Equator Line, Command Panel, Proximity Aura, Breach Flash, Conviction Pulse, Approach Beacon, Grid Tint Candles
How to Use This Indicator
Adjust the Grid Increment to match your instrument — 500 or 1000 for BTC, 50 or 100 for stocks, 10 or 25 for forex pairs. The goal is to identify the round-number levels that institutional orders cluster around.
Pay attention to conviction scores — rails with 80%+ conviction and SEASONED or ANCIENT maturity are the strongest levels. Expect significant reactions when price approaches them.
RAIL LOCK signals with high touch counts indicate levels that have been tested and held multiple times. These are prime candidates for bounce trades.
BREACH signals mark potential breakouts. A breach of a high-conviction rail is more significant than a breach of a low-conviction one.
Use APPROACH signals as early warnings to prepare for potential level interactions. They give you time to assess the setup before the actual touch occurs.
The Grid Position metric in the dashboard tells you where price sits within the current structure — useful for bias determination and risk assessment.
Limitations
EMA-derived levels are inherently lagging — they reflect where the market has been, not where it is going. Levels shift when the EMA moves enough to change the rounded value.
The rounding approach works best on instruments with natural round-number psychology (crypto, indices, large-cap stocks). It may be less effective on instruments without clear round-number clustering.
Touch counts reset when levels shift, which means conviction history is lost during transitions. This is by design (stale counts on new levels would be misleading) but means newly formed levels always start at zero conviction.
Volume confirmation depends on reliable volume data. Instruments with inconsistent volume reporting may produce unreliable validation classifications.
The indicator identifies levels and measures their strength but does not predict whether price will bounce or break through. That decision requires additional context.
Originality Statement
This indicator is original in its conviction-based level strength scoring approach. While EMA-derived support/resistance and touch counting are known concepts individually, BLS is justified because:
The conviction engine differentiates between volume-validated and unconfirmed touches, weighting them differently to produce a more meaningful strength score than simple touch counting.
Level lifecycle tracking (Nascent/Seasoned/Ancient) provides temporal context that static level indicators lack.
Conviction-driven color gradients using color.from_gradient create an immediate visual hierarchy where stronger levels are visually more prominent.
The proximity halo system with conviction-scaled transparency provides zone-based level visualization rather than single-line levels.
Edge-triggered touch detection with stability checks prevents false counts during level transitions and extended visits.
The comprehensive dashboard presents level prices, conviction breakdowns, maturity, grid position, and volume state simultaneously.
Five distinct signal types (Rail Lock, Echo, Breach, Approach, Conviction Pulse) provide a complete interaction vocabulary for level-based analysis.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Support and resistance levels describe historical price interaction zones but do not guarantee future reactions. Levels can and do break. Always use proper risk management and conduct your own analysis before making trading decisions. The author is not responsible for any losses incurred from using this tool.
-Made with passion by officialjackofalltrades
Indicator

Temporal Flow Analyzer [JOAT]Temporal Flow Analyzer
Introduction
The Temporal Flow Analyzer is an advanced open-source time-based analysis indicator that examines price flow across temporal dimensions, session dynamics, and time-weighted patterns to identify institutional activity timing and flow shifts. This indicator transforms time-based market data into actionable flow intelligence, helping traders identify when price flow is accelerating, decelerating, reversing, or experiencing temporal pressure changes.
Unlike basic trend indicators that ignore time dynamics, this system analyzes flow direction, flow strength, flow acceleration, session-based patterns, temporal pressure, and time zone positioning. The indicator is designed for traders who understand that institutional activity follows temporal patterns and that time-based analysis reveals flow dynamics invisible to price-only indicators.
Why This Indicator Exists
This indicator addresses a fundamental aspect of market analysis often overlooked: the temporal dimension of price flow. Markets don't just move in price - they move through time, and the relationship between price movement and time reveals institutional flow dynamics. The core innovation lies in analyzing multiple temporal dimensions:
Price Flow Analysis: Measures directional flow using dual-EMA comparison with strength and acceleration tracking
Session Analysis: Identifies Asian, London, and NY sessions with session high/low tracking and breakout detection
Temporal Momentum: RSI-based momentum with flow-weighted calculations and divergence detection
Volume Flow: Analyzes volume flow patterns, net pressure, and buying/selling flow dynamics
Time Zone Positioning: Determines if price is in premium, discount, or equilibrium zones within session range
Flow Shift Detection: Identifies when flow direction changes, signaling potential trend reversals
Flow Exhaustion: Detects when flow strength is high but acceleration is low, warning of exhaustion
Temporal Pressure: Combines price flow, volume flow, and flow strength into unified pressure metric
Each component reveals different aspects of temporal flow. Price flow shows direction, session analysis provides timing context, momentum shows strength, volume flow confirms participation, time zones show value, flow shifts warn of reversals, exhaustion signals caution, and temporal pressure quantifies intensity.
Core Components Explained
1. Price Flow Calculation
Price flow measures directional movement using dual exponential moving averages:
Price Flow = EMA(Close, Flow Period) - EMA(Close, Flow Period * 2)
This calculation creates a zero-centered oscillator:
- Positive values indicate bullish flow (faster EMA above slower EMA)
- Negative values indicate bearish flow (faster EMA below slower EMA)
- Magnitude shows flow strength
Flow Direction = Price Flow > 0 ? Bullish : Bearish
Flow Strength = Absolute(Price Flow) / ATR(14)
Flow strength normalization using ATR ensures cross-instrument comparison and removes price-level bias. Values above 1.5 indicate strong flow, 0.8-1.5 moderate flow, below 0.8 weak flow.
Flow Acceleration = Change in Price Flow over 3 bars
Positive acceleration indicates flow is building, negative acceleration indicates flow is fading. This provides early warning of flow changes before they become obvious in the main flow metric.
2. Session Detection and Analysis
The indicator identifies three major trading sessions using UTC hour detection:
Asian Session: Customizable start hour (default 0 UTC) to London start
London Session: Customizable start hour (default 7 UTC) to NY start
NY Session: Customizable start hour (default 12 UTC) to Asian start
Session tracking maintains:
- Session High: Highest price since session start
- Session Low: Lowest price since session start
- Session Start Bar: Bar index when session began
- New Session Flag: Triggers on session transitions
Session boxes are drawn showing the high/low range for each session, providing visual context for session-based support/resistance and breakout analysis.
3. Session Breakout Detection
Session breakouts mark when price exceeds previous session boundaries with conviction:
Session Breakout Up:
- High > Previous Session High
- Volume > Average Volume * 2.0
- Close > Previous Session High (confirms breakout, not just wick)
Session Breakout Down:
- Low < Previous Session Low
- Volume > Average Volume * 2.0
- Close < Previous Session Low
These breakouts often mark the start of significant moves as price breaks out of established ranges with institutional participation (confirmed by volume). The indicator places small labels marking breakout events.
4. Temporal Momentum Analysis
Temporal momentum combines RSI with flow-based weighting:
Momentum = RSI(Close, Momentum Length)
Momentum Flow = EMA(Momentum, 5)
Momentum Divergence = Momentum - Momentum Flow
Momentum Acceleration = Change in Momentum over 3 bars
Momentum classification:
- Overbought: Momentum > 70
- Oversold: Momentum < 30
- Neutral: Momentum between 30 and 70
The indicator tracks momentum divergence to identify when momentum is deviating from its trend, often preceding flow reversals.
5. Volume Flow Dynamics
Volume flow analysis separates buying and selling pressure:
Volume Flow = EMA(Volume, Volume Flow Period)
Volume Flow Delta = Current Volume - Volume Flow
Volume Flow Ratio = Current Volume / Volume Flow
Buying Pressure = Volume when Close > Open
Selling Pressure = Volume when Close < Open
Net Pressure = EMA(Buying Pressure - Selling Pressure, Volume Flow Period)
Net pressure reveals institutional positioning:
- Positive net pressure: Institutions accumulating (buying dominance)
- Negative net pressure: Institutions distributing (selling dominance)
- Magnitude shows intensity of positioning
6. Time Zone Position Analysis
The indicator calculates price position within the session range:
Session Range = Session High - Session Low
Session Mid = (Session High + Session Low) / 2
Premium Zone = Price > Session Mid + Range * 0.25 (upper 25%)
Discount Zone = Price < Session Mid - Range * 0.25 (lower 25%)
Equilibrium = Price between premium and discount zones
Smart money concepts suggest:
- Premium zones: Favorable for selling/distribution
- Discount zones: Favorable for buying/accumulation
- Equilibrium: No clear value edge
The dashboard displays current zone and suggested bias (SELL in premium, BUY in discount, WAIT in equilibrium).
7. Flow Shift Detection System
Flow shifts mark critical transitions in directional flow:
Flow Shift = Flow Direction changes from previous bar's direction
The indicator tracks the last flow direction and compares it to current direction. When they differ, a flow shift is detected. These shifts often mark:
- Trend reversals (shift from strong flow to opposite flow)
- Consolidation starts (shift from strong flow to weak flow)
- Breakout beginnings (shift from weak flow to strong flow)
Flow shift labels are placed at shift points with direction indicators (UP for bullish shift, DN for bearish shift).
8. Accumulation and Distribution Detection
The indicator identifies institutional accumulation/distribution using strict criteria:
Strong Accumulation:
- Close > Open (bullish candle)
- Volume > Average Volume * 2.5 (very high participation)
- Close > EMA(20) (above trend)
- Close > High (breaking above previous high)
- Momentum < 50 (not overbought)
Strong Distribution:
- Close < Open (bearish candle)
- Volume > Average Volume * 2.5
- Close < EMA(20) (below trend)
- Close < Low (breaking below previous low)
- Momentum > 50 (not oversold)
These strict criteria ensure only genuine institutional positioning is flagged, not retail noise. Labels mark accumulation ("A") and distribution ("D") events.
9. Flow Divergence Analysis
Flow divergences identify price-flow asymmetries:
Bullish Flow Divergence:
- Price makes lower low (Price < Price )
- Flow makes higher low (Flow > Flow )
- Momentum < 35 (oversold context)
- Flow Strength > 0.5 (significant flow)
Bearish Flow Divergence:
- Price makes higher high (Price > Price )
- Flow makes lower high (Flow < Flow )
- Momentum > 65 (overbought context)
- Flow Strength > 0.5
Divergences warn that flow is not confirming price extremes, often preceding reversals. The indicator places "DIV" labels at divergence points.
10. Flow Exhaustion Detection
Flow exhaustion occurs when flow strength is high but acceleration is low:
Flow Exhaustion = Flow Strength > 2.0 AND Absolute(Momentum Acceleration) < 0.5
This condition suggests flow has reached extreme levels but is no longer accelerating, often marking climax moves before reversals. Exhaustion labels ("EX") warn traders to prepare for potential flow reversal.
11. Temporal Pressure Calculation
Temporal pressure combines multiple flow dimensions:
Temporal Pressure = (Price Flow / ATR) * (Volume Flow Ratio - 1) * Flow Strength
This calculation creates a comprehensive pressure metric:
- Positive values: Bullish temporal pressure
- Negative values: Bearish temporal pressure
- Magnitude shows pressure intensity
Extreme pressure (absolute value > 2.0) often precedes significant moves or reversals depending on context.
12. Flow Velocity Analysis
Flow velocity measures the rate of price change over time:
Flow Velocity = Change in Close over 5 bars / 5
Flow Velocity EMA = EMA(Flow Velocity, 10)
Velocity Divergence = Flow Velocity - Flow Velocity EMA
Velocity Threshold = ATR * 0.2
Velocity classification:
- Fast: Absolute Velocity > Velocity Threshold
- Slow: Absolute Velocity <= Velocity Threshold
Fast velocity indicates rapid flow, slow velocity indicates gradual flow. Velocity divergence shows when current velocity differs from average velocity.
Visual Elements
Session Boxes: Colored boxes showing Asian (yellow), London (green), and NY (red) session ranges
Flow Shift Labels: Small labels marking flow direction changes (UP/DN)
Accumulation/Distribution Labels: Tiny labels marking institutional positioning (A/D)
Flow Divergence Labels: Labels marking price-flow asymmetries (DIV)
Session Breakout Labels: Labels marking session high/low breakouts (BO/BD)
Flow Exhaustion Labels: Labels warning of flow exhaustion (EX)
Time Zone Backgrounds: Subtle backgrounds showing premium (bearish) and discount (bullish) zones
Flow Direction Background: Very subtle background showing current flow direction
Session Level Lines: Dashed lines showing session high, mid, and low levels
Flow EMA Line: Line showing flow EMA for trend context
Comprehensive Dashboard: 12-row intelligence panel with all temporal flow metrics
The visual system is designed for clarity with minimal clutter - only significant events are marked, and backgrounds are very subtle to avoid distraction.
Input Parameters
Temporal Settings:
Flow Period: Period for flow calculation (10-50, default 20)
Session Length: Bars for session analysis (10-100, default 24)
Momentum Length: Period for momentum (5-30, default 14)
Volume Flow Period: Period for volume flow (5-30, default 10)
Features:
Price Flow Direction: Toggle flow analysis (default enabled)
Session Analysis: Toggle session detection (default enabled)
Temporal Momentum: Toggle momentum tracking (default enabled)
Volume Flow: Toggle volume analysis (default enabled)
Time-Based Zones: Toggle premium/discount zones (default enabled)
Flow Shift Signals: Toggle shift detection (default enabled)
Flow Divergence: Toggle divergence detection (default enabled)
Session Breakouts: Toggle breakout signals (default enabled)
Sessions:
Asian Session Start: Hour in UTC (0-23, default 0)
London Session Start: Hour in UTC (0-23, default 7)
NY Session Start: Hour in UTC (0-23, default 12)
Colors:
All colors are fully customizable including time bull (neon cyan), time bear (neon pink), session active (gold), flow positive (neon green), flow negative (pink), momentum high (purple), accumulation (cyan), and distribution (pink).
How to Use This Indicator
Step 1: Identify Flow Direction
Check dashboard "FLOW" field showing BULLISH or BEARISH. This indicates current directional flow. Note the status (STRONG/MODERATE/WEAK) showing flow strength.
Step 2: Monitor Flow Strength
Review "STRENGTH" metric showing flow intensity. Values above 1.5 indicate strong directional flow suitable for trend-following. Values below 0.8 suggest weak flow where range-bound strategies may work better.
Step 3: Watch Flow Acceleration
Check "ACCELERATION" showing ACCELERATING, DECELERATING, or STABLE. Accelerating flow confirms trend strength. Decelerating flow warns of potential exhaustion even if flow remains positive/negative.
Step 4: Identify Active Session
Review "SESSION" field showing ASIAN, LONDON, or NY. Different sessions have different characteristics - London and NY overlap often shows highest volatility and volume.
Step 5: Assess Volume Flow
Check "VOL FLOW" showing HIGH, NORMAL, or LOW. High volume flow confirms genuine institutional participation. Low volume flow suggests retail-dominated or thin-market conditions.
Step 6: Monitor Net Pressure
Review "PRESSURE" showing BUYING or SELLING with intensity (STRONG/MODERATE/WEAK). This reveals institutional positioning - sustained buying pressure suggests accumulation, sustained selling suggests distribution.
Step 7: Check Time Zone Position
Review "TIME ZONE" showing PREMIUM, DISCOUNT, or EQUILIBRIUM with bias suggestion. Buy in discount zones, sell in premium zones for optimal risk/reward aligned with smart money concepts.
Step 8: Watch for Flow Shifts
Flow shift labels mark critical transitions. These often provide early warning of trend changes before they're obvious in price. Shifts from strong flow to opposite flow are most significant.
Step 9: Use Divergence Warnings
Flow divergence labels warn when flow is not confirming price extremes. These often precede reversals and provide high-probability counter-trend entry opportunities.
Step 10: Monitor Flow State
Check "STATE" field showing current flow condition (EXHAUSTED, SHIFTING, BULL DIV, BEAR DIV, ACCUM, DISTRIB, or FLOWING). This provides immediate context for current flow dynamics.
Best Practices
Flow shifts with strong acceleration often mark the start of new trends
Session breakouts during London/NY overlap offer highest-probability setups
Accumulation in discount zones and distribution in premium zones are most reliable
Flow divergences at extreme momentum levels (>70 or <30) are most significant
Flow exhaustion signals work best when combined with time zone extremes
Strong volume flow confirmation separates genuine moves from false signals
Temporal pressure above 2.0 or below -2.0 often precedes significant moves
Flow velocity acceleration provides early entry timing before flow shift is obvious
Session high/low levels often provide support/resistance for intraday trading
Multiple flow shifts in short period suggest choppy conditions - reduce position size
Flow strength above 2.0 in discount zones offers optimal long entry conditions
Flow deceleration in premium zones warns of potential distribution
Indicator Limitations
Session detection uses UTC hours which may not align perfectly with actual market hours
Flow analysis works best on instruments with consistent intraday patterns
Volume flow requires accurate volume data - some instruments have unreliable volume
Time zone analysis assumes session ranges are meaningful - may not apply to all instruments
Flow shifts can whipsaw during genuinely transitional periods
Accumulation/distribution detection uses strict criteria - may miss some institutional activity
Flow divergences can persist longer than expected before price reverses
Session breakouts can be false - always use stop losses
The indicator shows flow dynamics but cannot predict news events or fundamental catalysts
Temporal pressure can remain extreme during strong trends
Flow exhaustion signals are warnings, not guarantees of reversal
Technical Implementation
Built with Pine Script v6 using:
Dual-EMA flow calculation with ATR-normalized strength measurement
Session detection using hour() function with customizable UTC start times
Session high/low tracking with reset on new session detection
RSI-based momentum with flow-weighted calculations
Volume flow analysis with buying/selling pressure separation
Net pressure calculation using EMA smoothing
Time zone position analysis using session range calculations
Flow shift detection using directional comparison
Strict accumulation/distribution criteria combining volume, price action, and momentum
Flow divergence detection using lookback comparison with strength filtering
Flow exhaustion identification combining strength and acceleration thresholds
Temporal pressure calculation integrating flow, volume, and strength
Flow velocity tracking with EMA smoothing and divergence calculation
Comprehensive dashboard with 12 metrics and color-coded status indicators
Minimal label system preventing chart clutter while maintaining signal visibility
The code is fully open-source with detailed comments explaining temporal flow concepts.
Originality Statement
This indicator is original in its comprehensive temporal flow analysis approach. While individual components (flow, sessions, momentum, volume) are established concepts, this indicator is justified because:
It integrates price flow, session analysis, momentum, and volume flow into a unified temporal framework
The flow shift detection system provides early warning of directional changes
Accumulation/distribution detection uses strict multi-factor criteria ensuring institutional-grade signals
Flow divergence analysis identifies price-flow asymmetries with strength filtering
Flow exhaustion detection combines strength and acceleration for climax move identification
Temporal pressure calculation synthesizes multiple flow dimensions into unified intensity metric
Time zone position analysis provides smart money context for entry timing
Session breakout detection with volume confirmation identifies high-probability setups
The comprehensive dashboard synthesizes 12 distinct metrics into unified temporal intelligence
Flow velocity and acceleration tracking provides early momentum shift detection
Each component reveals different temporal dynamics: flow shows direction, sessions provide timing, momentum shows strength, volume confirms participation, time zones show value, shifts warn of changes, divergences signal reversals, exhaustion marks climaxes, and pressure quantifies intensity. The indicator's value lies in combining these complementary perspectives into a cohesive temporal flow analysis system.
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 and is not suitable for all investors.
Temporal flow analysis is a tool for understanding time-based market dynamics, not a crystal ball for predicting future price movement. Flow shifts do not guarantee trend changes. Session breakouts do not guarantee continuation. Past flow patterns do not guarantee future flow patterns. Market conditions change, and strategies that worked historically may not work in the future.
The metrics displayed are mathematical calculations based on current market data, not predictions of future price movement. Flow shifts, divergences, exhaustion signals, and session breakouts do not guarantee profitable trades. Users must conduct their own analysis and risk assessment before making trading decisions.
Always use proper risk management, including stop losses and position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose. Consider consulting with a qualified financial advisor before making investment decisions.
The author is not responsible for any losses incurred from using this indicator. Users assume full responsibility for all trading decisions made using this tool.
-Made with passion by officialjackofalltrades Indicator

Fractal Velocity Accelerator [JOAT]Fractal Velocity Accelerator
Introduction
The Fractal Velocity Accelerator is an advanced open-source momentum indicator that combines fractal efficiency measurement, adaptive Laguerre filtering, and Gaussian smoothing to create a multi-dimensional momentum oscillator with institutional-grade signal generation. This indicator transforms raw price data into a sophisticated momentum measurement system that reveals not just momentum direction and strength, but also velocity, acceleration, and regime characteristics.
Unlike traditional momentum indicators that simply measure rate of change, this system analyzes the efficiency of price movement through fractal mathematics, applies adaptive lag reduction through Laguerre transforms, and smooths data using 4th-order Gauss filters. The result is a momentum oscillator that responds quickly to genuine momentum shifts while filtering out noise and false signals.
Why This Indicator Exists
This indicator addresses fundamental limitations in traditional momentum analysis by introducing fractal efficiency concepts and adaptive filtering:
4th-Order Gauss Filter: Ultra-smooth OHLC data processing that eliminates noise while preserving genuine price movements
Fractal Efficiency Engine: Logarithmic path efficiency measurement that quantifies how directly price moves from point A to point B
Adaptive Laguerre Transform: Dynamic lag reduction that adjusts based on fractal efficiency, responding faster during efficient moves
Percentile-Based Bands: Self-adjusting overbought/oversold zones that adapt to each instrument's unique momentum characteristics
Velocity and Acceleration Tracking: First and second derivative calculations that identify momentum shifts before they're obvious
Momentum Regime Classification: Seven-level regime system from Extreme Bearish to Extreme Bullish with confidence measurements
Divergence Detection: Fractal-based divergence scanner that identifies price-momentum asymmetries
Each component provides unique intelligence about momentum dynamics. Gauss filtering ensures clean data, fractal efficiency measures directional clarity, Laguerre adaptation reduces lag, percentile bands provide context, velocity/acceleration track changes, regime classification guides strategy, and divergences reveal hidden shifts.
Core Components Explained
1. 4th-Order Gauss Filter System
The indicator applies a sophisticated Gaussian filter to all OHLC data:
w = (2.0 * math.pi / gaussLength)
beta = (1 - math.cos(w)) / (math.pow(1.414, 2.0 / betaDev) - 1)
alpha = (-beta + math.sqrt(beta * beta + 2 * beta))
Gc := math.pow(alpha, 4) * close +
4 * (1.0 - alpha) * nz(Gc ) -
6 * math.pow(1 - alpha, 2) * nz(Gc ) +
4 * math.pow(1 - alpha, 3) * nz(Gc ) -
math.pow(1 - alpha, 4) * nz(Gc )
This 4th-order filter provides exceptional smoothing while maintaining responsiveness. The filter uses four previous values with specific weightings that create a bell curve response, eliminating high-frequency noise while preserving genuine price movements.
The beta deviation parameter (default 2.0) controls filter aggressiveness. Higher values create more smoothing but add lag. Lower values maintain responsiveness but allow more noise. The default balances these tradeoffs optimally for most instruments.
2. Fractal Efficiency Calculation
Fractal efficiency measures how efficiently price moves by comparing net displacement to total path length:
sumRange = math.sum((math.max(Gh, nz(Gc )) - math.min(Gl, nz(Gc ))), fractalLength)
totalRange = ta.highest(Gh, fractalLength) - ta.lowest(Gl, fractalLength)
fractalGamma = if totalRange > 0
math.log(sumRange / totalRange) / math.log(fractalLength)
else
0.0
fractalEfficiency = math.max(0, math.min(1, (fractalGamma + 1) / 2))
The calculation uses logarithmic scaling to measure path complexity. When price moves in a straight line (high efficiency), the ratio approaches 1.0. When price moves erratically (low efficiency), the ratio approaches 0.0.
Fractal efficiency is normalized to 0-1 range where:
- 1.0 = Perfect efficiency (straight line movement)
- 0.7-1.0 = High efficiency (strong trending)
- 0.4-0.7 = Moderate efficiency (developing trend)
- 0.0-0.4 = Low efficiency (choppy/ranging)
This measurement is crucial because it determines how aggressively the Laguerre filter adapts.
3. Adaptive Laguerre Transform
The Laguerre filter applies adaptive lag reduction based on fractal efficiency:
gamma = laguerreGamma * (1 - fractalEfficiency) + 0.1 * fractalEfficiency
L0 := (1 - gamma) * Gc + gamma * nz(L0 )
L1 := -gamma * L0 + nz(L0 ) + gamma * nz(L1 )
L2 := -gamma * L1 + nz(L1 ) + gamma * nz(L2 )
L3 := -gamma * L2 + nz(L2 ) + gamma * nz(L3 )
cu = (L0 > L1 ? L0 - L1 : 0) + (L1 > L2 ? L1 - L2 : 0) + (L2 > L3 ? L2 - L3 : 0)
cd = (L0 < L1 ? L1 - L0 : 0) + (L1 < L2 ? L2 - L1 : 0) + (L2 < L3 ? L3 - L2 : 0)
laguerreRSI = cu + cd != 0 ? 100 * (cu / (cu + cd)) : 50
The Laguerre transform creates four cascading filters (L0-L3) that progressively smooth the data. The gamma parameter controls lag - lower gamma means less lag but more noise, higher gamma means more lag but smoother output.
The adaptive component adjusts gamma based on fractal efficiency:
- High efficiency (trending): Gamma decreases toward 0.1, reducing lag for fast response
- Low efficiency (choppy): Gamma increases toward laguerreGamma setting, adding smoothing to filter noise
The cu (count up) and cd (count down) calculations measure upward vs downward movement across the four Laguerre levels, creating an RSI-like oscillator that's far more responsive than traditional RSI.
4. Fractal Momentum Oscillator
The final momentum value combines Laguerre RSI with fractal efficiency:
rawMomentum = (laguerreRSI - 50) * (1 + fractalEfficiency)
momentumEMA = ta.ema(rawMomentum, 5)
fractalMomentum = math.max(-100, math.min(100, momentumEMA))
This calculation:
1. Centers Laguerre RSI around zero by subtracting 50
2. Amplifies the signal by (1 + fractalEfficiency), giving more weight to efficient moves
3. Smooths with 5-period EMA to reduce jitter
4. Bounds the result to -100 to +100 range
The efficiency amplification is key - during high-efficiency trending moves, momentum readings become more extreme, providing clear signals. During low-efficiency choppy moves, momentum readings stay muted, preventing false signals.
5. Velocity and Acceleration Tracking
The indicator calculates first and second derivatives of momentum:
momentumVelocity = ta.change(fractalMomentum, 1)
momentumAcceleration = ta.change(momentumVelocity, 1)
velocityEMA = ta.ema(momentumVelocity, 3)
Velocity (first derivative) shows the rate of momentum change. Positive velocity means momentum is increasing, negative velocity means momentum is decreasing.
Acceleration (second derivative) shows the rate of velocity change. Positive acceleration means velocity is increasing (momentum gaining speed). Negative acceleration means velocity is decreasing (momentum losing speed).
These metrics provide early warning of momentum shifts:
- Positive momentum + positive velocity + positive acceleration = Strong bullish momentum building
- Positive momentum + positive velocity + negative acceleration = Bullish momentum slowing (potential top)
- Positive momentum + negative velocity = Bullish momentum fading (reversal warning)
6. Momentum Regime Classification
The indicator classifies momentum into seven regimes:
Extreme Bullish: Momentum > threshold (default 60), very strong upward pressure
Strong Bullish: Momentum 40-60, solid upward pressure
Weak Bullish: Momentum 20-40, mild upward pressure
Neutral: Momentum -20 to +20, balanced conditions
Weak Bearish: Momentum -40 to -20, mild downward pressure
Strong Bearish: Momentum -60 to -40, solid downward pressure
Extreme Bearish: Momentum < -threshold, very strong downward pressure
Each regime includes confidence measurement equal to the absolute momentum value. Higher confidence indicates stronger regime conviction.
7. Adaptive Band System
The indicator uses percentile-based bands that adapt to each instrument:
momentumPercentile = ta.percentrank(fractalMomentum, bandLength)
dynamicOB = ta.percentile_linear_interpolation(fractalMomentum, bandLength, obLevel)
dynamicOS = ta.percentile_linear_interpolation(fractalMomentum, bandLength, 100 - obLevel)
These bands automatically adjust to the instrument's typical momentum range. An instrument that frequently reaches ±80 will have wider bands than one that typically stays within ±40. This prevents false overbought/oversold signals on volatile instruments and ensures sensitivity on stable instruments.
8. Fractal Divergence Detection
The indicator detects divergences using fractal pivot analysis:
momentumHigh = ta.pivothigh(fractalMomentum, divLookback, divLookback)
momentumLow = ta.pivotlow(fractalMomentum, divLookback, divLookback)
bullishDiv := lastPrice < prevPrice and lastMomentum > prevMomentum and lastMomentum < 0
bearishDiv := lastPrice > prevPrice and lastMomentum < prevMomentum and lastMomentum > 0
Regular divergences signal potential reversals:
- Bullish: Price makes lower low, momentum makes higher low (selling pressure weakening)
- Bearish: Price makes higher high, momentum makes lower high (buying pressure weakening)
Hidden divergences signal trend continuation:
- Hidden Bullish: Price makes higher low, momentum makes lower low (trend resumption after pullback)
- Hidden Bearish: Price makes lower high, momentum makes higher high (downtrend resumption after bounce)
Visual Elements
Multi-Layer Momentum Line: Three overlaid plots (white underlay, gradient middle, solid core) creating depth and visibility
Velocity Histogram: Histogram showing momentum velocity scaled 10x for visibility
Adaptive Bands: Dynamic overbought/oversold lines that adjust to instrument characteristics
Zone Fills: Gradient fills between bands and zero line showing bullish/bearish zones
Reference Lines: Horizontal lines at extreme (±60), strong (±40), and weak (±20) levels
Regime Background: Subtle background coloring showing current momentum regime
Divergence Labels: Text labels marking regular and hidden divergences
Reversal Signals: Labels marking extreme momentum reversals
Velocity Signals: Small labels marking velocity acceleration/deceleration
Comprehensive Dashboard: 14-row intelligence panel showing momentum value, regime, velocity, acceleration, efficiency, Laguerre RSI, trend strength, consistency, adaptive bands, and divergence status
The dashboard provides complete momentum intelligence with color-coded metrics and status indicators.
Input Parameters
Signal Architecture:
Extreme Momentum Reversals: Toggle high-confidence exhaustion signals (default enabled)
Fractal Divergence Detection: Toggle price-momentum asymmetry detection (default enabled)
Velocity Acceleration Alerts: Toggle momentum acceleration warnings (default enabled)
Extreme Momentum Threshold: Score required for extreme classification (40-90, default 60)
Gauss Filter:
Gauss Filter Length: Smoothing period (5-100, default 20)
Beta Deviation: Filter aggressiveness (0.5-5.0, default 2.0)
Fractal Engine:
Fractal Efficiency Length: Efficiency calculation period (10-200, default 50)
Laguerre Transform:
Laguerre Gamma: Base lag parameter (0.1-0.99, default 0.7)
Adaptive Bands:
Band Percentile Length: Percentile calculation period (20-500, default 100)
Overbought Level: Upper band percentile (50-95, default 75)
Oversold Level: Lower band percentile (5-50, default 25)
Divergence:
Enable Divergence Scanner: Toggle divergence detection (default enabled)
Divergence Lookback: Pivot detection period (3-20, default 5)
Visualization:
Momentum Intelligence Panel: Toggle dashboard (default enabled)
Momentum Regime Zones: Toggle background coloring (default enabled)
Velocity Histogram: Toggle velocity display (default enabled)
Dashboard Scale: Small/Normal/Large sizing (default Normal)
Colors:
All colors fully customizable including bullish momentum (neon cyan), bearish momentum (neon pink), extreme bullish (neon green), extreme bearish (neon red), neutral (gold), and divergence (neon purple).
How to Use This Indicator
Step 1: Assess Momentum Value and Direction
Check dashboard "MOMENTUM" value and direction. Positive values indicate bullish momentum, negative indicate bearish. Values above 60 or below -60 suggest extreme conditions that may precede reversals or strong continuations.
Step 2: Identify Current Regime
Review "REGIME" classification and confidence percentage. Extreme regimes with high confidence (>80%) indicate strong momentum that typically continues. Weak regimes suggest transitional conditions.
Step 3: Monitor Velocity and Acceleration
Check "VELOCITY" and "ACCEL" metrics. Positive velocity with positive acceleration suggests momentum is building. Negative acceleration while momentum is still positive warns of potential momentum exhaustion.
Step 4: Evaluate Fractal Efficiency
Review "EFFICIENCY" percentage. High efficiency (>70%) confirms that momentum is backed by clean, directional price movement. Low efficiency (<40%) suggests choppy conditions where momentum signals may be less reliable.
Step 5: Check Adaptive Bands
Monitor "OB LEVEL" and "OS LEVEL" showing dynamic overbought/oversold thresholds. When momentum exceeds these levels, watch for reversal signals or continuation acceleration.
Step 6: Watch for Divergences
Check "DIVERGENCE" status and look for divergence labels. Regular divergences at extreme momentum levels often precede significant reversals. Hidden divergences in established trends suggest continuation after pullbacks.
Step 7: Identify Extreme Reversals
Watch for "EXTREME REVERSAL" labels when momentum crosses from extreme territory. These high-confidence signals often mark major turning points or trend acceleration phases.
Step 8: Track Velocity Acceleration
Monitor velocity acceleration labels. "VELOCITY ACCEL" signals indicate momentum is gaining speed, often marking optimal entry timing in early trend phases.
Best Practices
Extreme momentum reversals (>60 or <-60) are most reliable when confirmed by velocity deceleration
High fractal efficiency (>70%) validates momentum signals as backed by clean price action
Divergences at extreme momentum levels offer highest-probability reversal setups
Velocity acceleration signals work best in early trend phases, less reliable in mature trends
Adaptive bands automatically adjust to instrument volatility - respect them as dynamic thresholds
Momentum regime transitions provide clear strategy adjustment points
Combine momentum analysis with price action for optimal entry timing
Laguerre RSI above 70 or below 30 confirms extreme momentum readings
Trend strength above 60 indicates strong momentum persistence
Trend consistency above 70 confirms momentum is directionally stable
Hidden divergences in strong trends (momentum >40 or <-40) suggest continuation opportunities
Neutral regime (-20 to +20) suggests range-bound conditions unsuitable for momentum strategies
Indicator Limitations
Momentum indicators are lagging by nature - they confirm trends rather than predict them
Extreme momentum can persist longer than expected during strong trends
Fractal efficiency requires sufficient price history - may be unreliable on newly listed instruments
Gauss filter adds smoothing which inherently introduces some lag
Adaptive bands require adequate history for percentile calculations
Divergences can persist for extended periods before price responds
The indicator works best on liquid instruments with consistent price action
Very low timeframes may produce excessive noise despite filtering
Velocity and acceleration are sensitive to sudden price spikes
Regime classification is probabilistic, not deterministic
The indicator shows momentum dynamics but cannot predict duration
Technical Implementation
Built with Pine Script v6 using:
4th-order Gaussian filter with customizable beta deviation
Logarithmic fractal efficiency calculation using path complexity measurement
Adaptive Laguerre transform with four cascading filter levels
Fractal momentum oscillator combining Laguerre RSI with efficiency amplification
First and second derivative calculations for velocity and acceleration
Seven-level momentum regime classification with confidence measurement
Percentile-based adaptive bands using linear interpolation
Fractal pivot-based divergence detection system
Multi-layer gradient visualization with depth effects
Comprehensive dashboard with 14 metrics and color-coded indicators
Alert system for reversals, divergences, and velocity signals
The code is fully open-source with extensive comments explaining fractal mathematics and adaptive filtering concepts.
Originality Statement
This indicator is original in its integration of fractal efficiency with adaptive momentum measurement. While individual components exist, this indicator is justified because:
It combines 4th-order Gauss filtering with fractal efficiency and Laguerre transforms in a unified system
The adaptive Laguerre gamma adjustment based on fractal efficiency is a novel approach to lag reduction
Fractal momentum amplification using efficiency multiplier creates regime-aware momentum measurement
Velocity and acceleration tracking provides multi-dimensional momentum analysis
Seven-level regime classification with confidence measurement guides strategy selection
Percentile-based adaptive bands automatically adjust to each instrument's characteristics
Fractal pivot-based divergence detection identifies asymmetries with statistical precision
The comprehensive dashboard synthesizes 14 distinct metrics into unified momentum intelligence
Multi-layer visualization with gradient effects provides exceptional clarity
Integration of efficiency, velocity, acceleration, and regime creates layered confirmation
Each component contributes unique intelligence: Gauss filtering ensures clean data, fractal efficiency measures directional quality, Laguerre adaptation reduces lag, momentum oscillator quantifies strength, velocity tracks changes, acceleration identifies inflections, regime classification guides strategy, bands provide context, and divergences reveal hidden shifts. The indicator's value lies in combining these complementary perspectives into a cohesive, adaptive momentum system.
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 and is not suitable for all investors.
Momentum analysis is a tool for understanding price dynamics, not a crystal ball for predicting future movement. Extreme momentum readings do not guarantee reversals. Divergences do not guarantee price response. Past momentum patterns do not guarantee future patterns. Market conditions change, and strategies that worked historically may not work in the future.
The metrics displayed are mathematical calculations based on current market data, not predictions of future price movement. Momentum readings, divergences, and regime classifications do not guarantee profitable trades. Users must conduct their own analysis and risk assessment before making trading decisions.
Always use proper risk management, including stop losses and position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose. Consider consulting with a qualified financial advisor before making investment decisions.
The author is not responsible for any losses incurred from using this indicator. Users assume full responsibility for all trading decisions made using this tool.
-Made with passion by officialjackofalltrades Indicator

Chaos Regime Detection Engine [JOAT]Chaos Regime Detection Engine
Introduction
The Chaos Regime Detection Engine is an advanced open-source market microstructure indicator that classifies market conditions into distinct regimes using multi-dimensional volatility analysis, directional conviction measurement, and institutional flow detection. This indicator transforms raw market data into actionable regime intelligence, helping traders identify when markets are trending, ranging, chaotic, or experiencing volatility shocks.
Unlike single-dimension volatility indicators that only measure price movement magnitude, this engine analyzes market structure through four independent scoring systems that combine into a unified regime classification framework. The indicator is designed for traders who understand that different market regimes require different trading approaches and that regime identification is the foundation of adaptive strategy selection.
Why This Indicator Exists
This indicator addresses a fundamental challenge in trading: markets constantly shift between different behavioral regimes, and strategies that work in one regime often fail in another. The core innovation lies in synthesizing multiple market microstructure measurements into a probabilistic regime classification system:
Directional Flow Regime: Markets exhibiting high price efficiency, low choppiness, and strong ADX conviction - ideal for trend-following strategies
Equilibrium Regime: Markets showing balanced conditions with moderate volatility and weak directional bias - suitable for mean-reversion approaches
Chaotic Turbulence Regime: Markets displaying high choppiness, low efficiency, and conflicting signals - best avoided or traded with tight stops
Volatility Shock Regime: Markets experiencing extreme volatility expansion with high volume - requires defensive positioning or volatility strategies
Each regime classification is derived from normalized scores across multiple dimensions, ensuring that regime identification remains robust across different instruments, timeframes, and market conditions. The system provides not just regime labels but confidence levels and intensity measurements that quantify regime strength.
Core Components Explained
1. ATR and Volatility Percentile Analysis
The indicator calculates Average True Range (ATR) over a customizable period (default 14) and expresses it as a percentage of current price. This normalization allows cross-instrument comparison and removes price-level bias.
ATR percentile ranking over 100 bars provides context for current volatility relative to recent history. High percentile rankings (>70) indicate elevated volatility, while low rankings (<30) suggest compressed volatility. This percentile approach is superior to raw ATR because it adapts to each instrument's unique volatility characteristics.
The volatility percentile feeds into multiple regime scores, particularly the Volatility Shock score, which combines ATR percentile with standard deviation percentile and volume surge detection to identify extreme volatility events.
2. Kaufman Efficiency Ratio
The Efficiency Ratio measures how efficiently price moves from point A to point B by comparing net price change to total path length:
Efficiency = Net Price Change / Sum of Absolute Bar-to-Bar Changes
Values near 1.0 indicate highly efficient, directional movement (trending). Values near 0.0 indicate inefficient, choppy movement (ranging). The indicator uses a customizable lookback period (default 20) to calculate efficiency.
High efficiency feeds into the Directional Flow score, while low efficiency contributes to both Equilibrium and Chaotic Turbulence scores. This dual contribution ensures that the regime classification captures the full spectrum of market behavior.
3. Choppiness Index
The Choppiness Index quantifies market choppiness using logarithmic calculations:
Choppiness = 100 * log10(Sum of ATR / (Highest High - Lowest Low)) / log10(Length)
Values above 61.8 indicate choppy, range-bound markets. Values below 38.2 indicate trending markets. The indicator uses a customizable period (default 14) for this calculation.
The Choppiness Index is inverted when contributing to the Directional Flow score (100 - Choppiness) because low choppiness indicates high directional clarity. High choppiness directly contributes to the Chaotic Turbulence score, identifying markets where price action lacks clear direction.
4. ADX Directional Conviction System
The indicator implements a complete ADX (Average Directional Index) calculation including +DI and -DI components:
+DI measures upward directional movement strength
-DI measures downward directional movement strength
ADX measures the strength of directional movement regardless of direction
ADX values above the trend threshold (default 25) indicate emerging directional conviction. Values above the strong threshold (default 40) indicate dominant directional conviction. The indicator uses customizable lengths for both DI calculation (default 14) and ADX smoothing (default 14).
ADX contributes bonus points to the Directional Flow score when above threshold and to the Equilibrium score when below threshold. The difference between +DI and -DI provides directional bias (long vs short) and conviction strength measurements.
5. Standard Deviation and RVI Analysis
Standard deviation of close prices over 20 bars provides an alternative volatility measurement that captures price dispersion rather than range. The indicator calculates standard deviation as a percentage of price and ranks it using percentile analysis.
The Relative Volatility Index (RVI) applies standard deviation concepts to directional movement:
RVI = 100 * StdDev(Up Moves) / (StdDev(Up Moves) + StdDev(Down Moves))
RVI values above 50 indicate upward volatility dominance, below 50 indicates downward volatility dominance. This provides directional context to volatility measurements that raw standard deviation lacks.
Both metrics contribute to the Volatility Shock score, helping identify when markets are experiencing not just high volatility but directionally biased volatility expansion.
6. Volume Delta Integration
The indicator estimates buying and selling pressure using volume and candle structure:
Buy Volume = Volume when close > open
Sell Volume = Volume when close < open
Volume surge detection compares current volume to 20-period average using a customizable threshold (default 1.5x). Volume surges add bonus points to the Volatility Shock score, confirming that volatility expansion is accompanied by genuine institutional participation rather than thin-market noise.
This volume integration ensures that regime classifications reflect actual market activity rather than just price movement patterns.
7. Regime Scoring and Classification Engine
The indicator calculates four independent regime scores (0-100 scale):
Directional Score = (Efficiency * 100 + (100 - Choppiness) + ADX Bonus) / 2.2
Equilibrium Score = (100 - ATR Percentile + (100 - Efficiency * 100) + ADX Penalty) / 2.2
Turbulence Score = (Choppiness + (100 - Efficiency * 100)) / 2
Shock Score = (ATR Percentile + StdDev Percentile + Volume Surge Bonus) / 2.3
These scores are then normalized to sum to 100%, creating a probability distribution across the four regimes. The dominant regime is determined by the highest normalized score, with confidence level equal to that score's magnitude.
Regime intensity is classified as Nascent (score 35-45), Established (score 45-60), or Dominant (score >60), providing additional context about regime strength and stability.
8. Fractal Divergence Detection
The indicator implements fractal-based divergence detection using a composite volatility index that combines:
30% ATR Percentile
20% Efficiency Ratio
20% Inverted Choppiness
15% StdDev Percentile
15% RVI
This composite index is smoothed with a 5-period EMA and analyzed for fractal tops and bottoms using a 5-bar pattern recognition system. Divergences are detected when price makes new highs/lows but the composite volatility index fails to confirm, suggesting hidden institutional positioning or liquidity asymmetries.
Regular divergences signal potential reversals, while hidden divergences suggest trend continuation after pullbacks. The indicator plots these divergences with color-coded markers and draws connecting lines for visual clarity.
Visual Elements
Composite Volatility Line: Main plot showing the smoothed composite volatility index with dynamic gradient coloring based on regime confidence
Regime Intensity Histogram: Histogram showing regime-specific intensity with transparency based on confidence level
Microstructure Indicators: Subtle circle plots showing ATR percentile, efficiency ratio, and directional clarity for detailed analysis
Conviction Overlay: Stepline plot showing ADX with gradient coloring based on conviction strength
Fractal Divergence Markers: Circle plots at fractal tops/bottoms with color-coded divergence identification
Regime Threshold Lines: Horizontal lines at key regime transition levels (50, 60, 40, 75, 25)
Probability Zone Fill: Subtle background fill showing current regime probability field
Signal Shapes: Triangle shapes on price chart for high-confidence regime transitions and divergences
Comprehensive Dashboard: 12-row intelligence panel showing regime state, certainty, bias, probability scores, conviction, confluence, and all key metrics
The dashboard provides at-a-glance regime assessment with color-coded values, status indicators, and confidence measurements for all regime dimensions simultaneously.
Input Parameters
Signal Architecture:
Regime Shift Signals: Toggle chaos-to-order transition detection (default enabled)
Regime Persistence Signals: Toggle regime stability confirmations (default enabled)
Fractal Divergence Detection: Toggle hidden liquidity flow asymmetries (default enabled)
Minimum Confluence Threshold: Multi-factor validation requirement (1-5, default 3)
Volatility Microstructure:
Volatility Expansion Period: ATR calculation length (5-50, default 14)
Volatility Percentile Window: Percentile ranking lookback (20-500, default 100)
Price Efficiency Horizon: Efficiency ratio calculation period (5-100, default 20)
Chaos Measurement Period: Choppiness index length (5-50, default 14)
Directional Conviction:
Conviction Measurement Length: DI calculation period (5-50, default 14)
Conviction Smoothing Factor: ADX smoothing length (1-50, default 14)
Conviction Emergence Level: ADX trend threshold (15-40, default 25)
Conviction Dominance Level: ADX strong threshold (30-60, default 40)
Institutional Flow:
Enable Flow Asymmetry Detection: Toggle volume delta analysis (default enabled)
Flow Surge Multiplier: Volume threshold for surge detection (1.0-5.0, default 1.5)
Regime Parameters:
Directional Regime Threshold: Score required for directional classification (50-90, default 60)
Chaotic Regime Threshold: Score required for chaos classification (10-50, default 40)
Volatility Shock Threshold: Score required for shock classification (25-50, default 35)
Visualization:
Regime Intelligence Panel: Toggle dashboard display (default enabled)
Microstructure Indicators: Toggle detailed metric plots (default enabled)
Regime Probability Zones: Toggle background probability field (default enabled)
Intelligence Panel Scale: Small/Normal/Large dashboard sizing (default Normal)
Colors:
All colors are fully customizable including directional expansion (neon cyan), volatility shock (neon pink), equilibrium state (gold), and chaotic turbulence (sunset orange).
How to Use This Indicator
Step 1: Identify Current Regime
Check the dashboard "STATE" field to see current regime classification. Note the intensity level (Nascent/Established/Dominant) and certainty percentage. Dominant regimes with high certainty (>80%) are most reliable for strategy selection.
Step 2: Assess Regime Certainty
Monitor the "CERTAINTY" metric. High certainty (>60%) indicates clear regime conditions where strategies aligned with that regime should perform well. Low certainty (<40%) suggests transitional conditions where defensive positioning is appropriate.
Step 3: Check Directional Bias
Review the "BIAS" field showing Long Flow, Short Flow, or Neutral. This indicates whether directional conviction favors long or short positioning within the current regime. The numerical value shows conviction strength.
Step 4: Analyze Regime Probability Scores
Examine the four regime probability scores (Directional, Equilibrium, Turbulence, Shock). These show the relative likelihood of each regime. When one score dominates (>60%), regime classification is clear. When scores are balanced, market is transitional.
Step 5: Monitor Conviction Metrics
Check "CONVICTION" showing ADX value and status (Dominant/Emerging/Absent). Dominant conviction (>40) confirms that directional regimes have strong follow-through potential. Absent conviction (<25) suggests equilibrium or chaotic conditions.
Step 6: Evaluate Confluence Matrix
Review the "CONFLUENCE" score (0-5) showing how many confirmation factors align. Maximum confluence (5/5) indicates all factors agree, providing highest-confidence regime classification. Low confluence (1-2/5) suggests conflicting signals requiring caution.
Step 7: Watch for Regime Transitions
Regime transition signals (triangles on price chart) mark shifts between regimes. These are critical moments for strategy adjustment. Transitions from Chaos to Directional often mark the start of new trends. Transitions to Shock regimes warn of elevated risk.
Step 8: Use Divergence Signals
Fractal divergence markers (labeled "DIV") identify price-volatility asymmetries that often precede regime changes. Bullish divergences in Equilibrium regimes may signal upcoming Directional regimes. Bearish divergences in Directional regimes may warn of regime exhaustion.
Best Practices
Use Directional Flow regimes for trend-following strategies with trailing stops
Use Equilibrium regimes for mean-reversion strategies with defined profit targets
Avoid new positions during Chaotic Turbulence regimes or use very tight stops
Reduce position size or hedge during Volatility Shock regimes
Regime transitions with high confluence (4-5/5) offer highest-probability strategy shift opportunities
Dominant intensity regimes (>60% certainty) are most reliable for strategy execution
Nascent intensity regimes (<45% certainty) require defensive positioning until regime establishes
Monitor conviction metrics - Directional regimes without conviction (ADX <25) often fail
Fractal divergences are most reliable when they occur at regime extremes
Use the probability scores to anticipate regime transitions before they're officially classified
Equilibrium regimes with rising Directional scores suggest impending breakouts
Directional regimes with rising Turbulence scores warn of trend exhaustion
Indicator Limitations
Regime classification is probabilistic, not deterministic - no regime guarantees specific outcomes
The indicator identifies current regime but cannot predict regime duration
Regime transitions can be whipsaw-prone during genuinely transitional market conditions
Volume-based components require accurate volume data - some instruments have unreliable volume
The indicator works best on liquid instruments with consistent trading patterns
Newly listed instruments may lack sufficient history for reliable percentile calculations
Extreme market events (flash crashes, circuit breakers) can temporarily distort regime classification
The indicator shows what regime exists, not why - fundamental catalysts can override regime signals
Confluence scoring requires all factors to be relevant - some factors may be less meaningful on certain instruments
Fractal divergence detection requires clear fractal formation - choppy markets may produce false divergences
Regime intensity classifications are relative to recent history, not absolute across all market conditions
Technical Implementation
Built with Pine Script v6 using:
Complete ADX calculation with +DI/-DI components and customizable smoothing
Kaufman Efficiency Ratio using net change vs path length methodology
Choppiness Index with logarithmic normalization
Multi-component composite volatility index with weighted factor contributions
Percentile ranking calculations for ATR, standard deviation, and composite volatility
Fractal pattern recognition using 5-bar pivot detection
Divergence detection comparing price fractals to volatility fractals
Four-dimensional regime scoring system with normalization to probability distribution
Confluence factor calculation combining conviction, flow, clarity, certainty, and efficiency
Dynamic color gradients based on regime confidence and intensity
Comprehensive dashboard with 12 metrics and color-coded status indicators
Alert system for regime transitions, divergences, and conviction surges
The code is fully open-source with extensive comments explaining each calculation and regime classification logic.
Originality Statement
This indicator is original in its multi-dimensional regime classification approach. While individual components (ATR, Efficiency Ratio, Choppiness, ADX) are established concepts, this indicator is justified because:
It synthesizes four independent regime scoring systems into a unified probabilistic classification framework
The composite volatility index combines five distinct measurements with optimized weighting
Regime intensity classification (Nascent/Established/Dominant) provides confidence context beyond simple regime labels
Confluence scoring validates regime classification through multi-factor confirmation
Fractal divergence detection identifies hidden institutional positioning through volatility-price asymmetries
The normalization of regime scores to probability distribution ensures consistent interpretation across instruments
Integration of volume surge detection confirms that regime classifications reflect genuine market activity
The dashboard synthesizes 12 distinct metrics into a unified regime intelligence panel
Regime transition signals with confluence filtering provide high-confidence strategy adjustment points
The system adapts to each instrument's unique characteristics through percentile-based calculations
Each component contributes unique intelligence: ATR measures volatility magnitude, Efficiency measures directional clarity, Choppiness measures range-bound behavior, ADX measures conviction, volume confirms participation, and divergences reveal hidden positioning. The indicator's value lies in combining these complementary perspectives into a cohesive regime classification system that guides strategy selection.
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 and is not suitable for all investors.
Regime classification is probabilistic analysis that identifies current market conditions but does not predict future regime duration or transitions. Regime signals do not guarantee profitable trades. Past regime patterns do not guarantee future regime patterns. Market conditions change, and strategies that worked in historical regimes may not work in future regimes.
The metrics displayed are mathematical calculations based on current market data, not predictions of future price movement. Regime transitions, divergences, and confluence scores do not guarantee profitable trades. Users must conduct their own analysis and risk assessment before making trading decisions.
Always use proper risk management, including stop losses and position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose. Consider consulting with a qualified financial advisor before making investment decisions.
The author is not responsible for any losses incurred from using this indicator. Users assume full responsibility for all trading decisions made using this tool.
-Made with passion by officialjackofalltrades Indicator

Divergence Constellation [JOAT]Divergence Constellation
Introduction
The Divergence Constellation is an advanced open-source multi-oscillator divergence detection system that combines RSI, MACD, TSI, and Stochastic analysis with sophisticated pivot detection and confluence scoring. This indicator identifies both regular and hidden divergences across multiple oscillators simultaneously, creating a constellation of divergence signals that reveal potential reversals and trend continuations with high probability.
Unlike single-oscillator divergence tools, the Divergence Constellation provides multi-dimensional divergence analysis through composite oscillator calculation, four-oscillator confluence scoring, regular and hidden divergence detection, and chart projection. The indicator is designed for traders who understand that divergences confirmed across multiple oscillators provide significantly higher probability setups than single-oscillator divergences.
Why This Indicator Exists
This indicator addresses the need for systematic multi-oscillator divergence analysis. By combining four distinct oscillators with confluence scoring, it reveals:
Regular Bullish Divergence: Price makes lower low, oscillators make higher low (reversal up signal)
Regular Bearish Divergence: Price makes higher high, oscillators make lower high (reversal down signal)
Hidden Bullish Divergence: Price makes higher low, oscillators make lower low (trend continuation up)
Hidden Bearish Divergence: Price makes lower high, oscillators make higher high (trend continuation down)
Confluence Scoring: Counts how many oscillators confirm the divergence (1-4 score)
Composite Oscillator: Unified oscillator combining all four components
Chart Projection: Divergence lines drawn on both oscillator pane and main chart
Core Components Explained
1. Four-Oscillator System
The indicator calculates four distinct oscillators, each providing unique momentum perspective:
RSI (Relative Strength Index):
Measures momentum by comparing average gains to average losses
Zero-centered (subtracts 50) for composite integration
Sensitive to overbought/oversold conditions
Default period: 14
MACD (Moving Average Convergence Divergence):
Measures relationship between two exponential moving averages
Histogram shows momentum acceleration/deceleration
Responsive to trend changes
Default periods: 12, 26, 9
TSI (True Strength Index):
Double-smoothed momentum indicator
Filters noise while preserving trend direction
Excellent for divergence detection
Default periods: 25, 13
Stochastic:
Compares close to recent high-low range
Zero-centered (subtracts 50) for composite integration
Identifies overbought/oversold extremes
Default periods: 14, 3
2. Composite Oscillator Calculation
All four oscillators are combined into a unified composite:
Composite = (RSI + MACD + TSI + Stochastic) / 4
This composite oscillator provides a balanced view of momentum across all four methodologies. Divergences are detected on the composite, then confirmed by checking individual oscillators.
3. Pivot Detection System
The indicator uses sophisticated pivot detection to identify divergence points:
Pivot Left/Right: Number of bars on each side for pivot confirmation (default: 5)
Price Pivots: Identifies swing highs and lows in price
Oscillator Pivots: Identifies swing highs and lows in each oscillator
Lookback Range: Min (5) to Max (60) bars for comparing pivots
Pivots must be confirmed (bars on both sides) before divergence analysis begins.
4. Regular Divergence Detection
Regular divergences signal potential reversals:
Regular Bullish Divergence:
Price makes lower low (current pivot low < previous pivot low)
Composite oscillator makes higher low (current pivot low > previous pivot low)
Indicates weakening downward momentum - potential reversal up
Best at oversold levels (composite < -20)
Regular Bearish Divergence:
Price makes higher high (current pivot high > previous pivot high)
Composite oscillator makes lower high (current pivot high < previous pivot high)
Indicates weakening upward momentum - potential reversal down
Best at overbought levels (composite > 20)
5. Hidden Divergence Detection
Hidden divergences signal trend continuation:
Hidden Bullish Divergence:
Price makes higher low (current pivot low > previous pivot low)
Composite oscillator makes lower low (current pivot low < previous pivot low)
Indicates strong underlying bullish momentum - trend continuation up
Confirms uptrend strength
Hidden Bearish Divergence:
Price makes lower high (current pivot high < previous pivot high)
Composite oscillator makes higher high (current pivot high > previous pivot high)
Indicates strong underlying bearish momentum - trend continuation down
Confirms downtrend strength
6. Confluence Scoring System
When a divergence is detected on the composite, the indicator checks all four individual oscillators:
Score 1/4: Only one oscillator confirms - weak divergence
Score 2/4: Two oscillators confirm - moderate divergence (minimum for signals)
Score 3/4: Three oscillators confirm - strong divergence
Score 4/4: All four oscillators confirm - extreme divergence (highest probability)
The minimum confluence score (default 2) filters out weak divergences that lack multi-oscillator confirmation.
7. Signal Generation Logic
Signals are generated only at extreme oscillator levels with anti-overlap logic:
Bullish Signals:
Regular bullish divergence detected
Composite oscillator < -20 (oversold)
Confluence score >= minimum (default 2)
At least 20 bars since last bullish signal (anti-overlap)
Bearish Signals:
Regular bearish divergence detected
Composite oscillator > 20 (overbought)
Confluence score >= minimum (default 2)
At least 20 bars since last bearish signal (anti-overlap)
Extreme Signals:
Confluence score = 4/4 (all oscillators confirm)
Composite at extreme levels (< -30 or > 30)
Displayed as diamond shapes for emphasis
8. Visual Divergence Lines
Divergence lines are drawn connecting pivot points:
Regular Divergences: Solid lines (green = bullish, red = bearish)
Hidden Divergences: Dashed lines (cyan = bullish, orange = bearish)
Oscillator Pane: Lines drawn on composite oscillator
Chart Projection: Lines also drawn on main price chart (optional)
Lines provide visual confirmation of the divergence pattern and help identify the exact pivot points involved.
Visual Elements
Four Oscillator Lines: Thick colored lines showing RSI (cyan), MACD (magenta), TSI (yellow), and Stochastic (green)
Composite Line: White line showing unified oscillator
Zero Line: Gray horizontal line at zero
Overbought/Oversold Zones: Shaded areas at +30/-30 levels
Divergence Lines: Solid/dashed lines connecting pivot points
Signal Triangles: Small triangles at signal generation points
Extreme Diamonds: Larger diamonds for 4/4 confluence signals
Information Dashboard: Displays composite position, confluence score, RSI/MACD/TSI/Stochastic status, composite value, divergence types, signal strength, extreme events, and overall verdict
How to Use This Indicator
Step 1: Monitor Composite Position
Check if composite oscillator is at extreme levels (> 30 overbought, < -30 oversold). Divergences at extremes have highest probability.
Step 2: Check Confluence Score
Look for confluence scores of 3/4 or 4/4. Higher scores indicate stronger divergence confirmation across multiple oscillators.
Step 3: Identify Divergence Type
Regular divergences signal reversals, hidden divergences signal trend continuation. Trade accordingly.
Step 4: Wait for Signal Confirmation
Don't trade divergence lines alone. Wait for signal triangles that confirm divergence meets all criteria (extreme level, confluence, anti-overlap).
Step 5: Look for Extreme Events
Diamond shapes indicate 4/4 confluence at extreme levels - highest probability setups.
Step 6: Confirm with Price Action
Use divergence signals as alerts, then confirm with price action, support/resistance, or other indicators before entering.
Step 7: Check Individual Oscillators
Dashboard shows status of each oscillator. All four overbought/oversold provides additional confirmation.
Best Practices
Trade only divergences with confluence score >= 2 (default minimum)
Focus on regular divergences at extreme levels (< -30 or > 30) for reversals
Use hidden divergences to confirm trend continuation, not as standalone entries
Wait for signal triangles - don't front-run divergence lines
4/4 confluence signals (diamonds) offer highest probability setups
Combine with support/resistance levels for additional confirmation
Avoid divergences in middle range (-20 to +20) - wait for extremes
Use higher timeframe divergences for stronger significance
Input Parameters
Pivot Detection:
Pivot Left: Bars to left of pivot (default: 5)
Pivot Right: Bars to right of pivot (default: 5)
Max Lookback: Maximum bars to compare pivots (default: 60)
Min Lookback: Minimum bars to compare pivots (default: 5)
Oscillator Configuration:
RSI Length: Period for RSI (default: 14)
MACD Fast: Fast EMA period (default: 12)
MACD Slow: Slow EMA period (default: 26)
MACD Signal: Signal line period (default: 9)
TSI Long: Long smoothing period (default: 25)
TSI Short: Short smoothing period (default: 13)
Stochastic K: K period (default: 14)
Stochastic D: D smoothing (default: 3)
Divergence Rules:
Show Regular Divergence: Toggle regular divergence detection (default: enabled)
Show Hidden Divergence: Toggle hidden divergence detection (default: enabled)
Min Confluence Score: Minimum oscillators that must confirm (default: 2)
Project on Chart: Draw divergence lines on main chart (default: enabled)
Visual Configuration:
Bullish/Bearish Divergence Colors: Colors for regular divergences
Hidden Bullish/Bearish Colors: Colors for hidden divergences
Originality Statement
This indicator is original in its multi-oscillator confluence approach. While individual oscillators and divergence concepts are established, this indicator is justified because:
It combines four distinct oscillators into a unified composite system
The confluence scoring system measures divergence strength across multiple oscillators
Automatic detection of both regular and hidden divergences with pivot analysis
Signal generation includes extreme level filtering and anti-overlap logic
Chart projection allows divergence visualization on both oscillator and price chart
The comprehensive dashboard presents all oscillator states and divergence metrics simultaneously
Integration of multiple oscillator perspectives creates higher probability divergence signals
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. Divergence analysis does not guarantee profitable trades or reversals. Past divergences do not guarantee future results. Always use proper risk management and never risk more than you can afford to lose.
-Made with passion by officialjackofalltrades Indicator

Nexus Structure Detector [JOAT]Nexus Structure Detector
Introduction
The Nexus Structure Detector is an advanced open-source Smart Money Concepts (SMC) indicator that identifies institutional order flow through Order Blocks, Fair Value Gaps, Liquidity Levels, and Market Structure analysis. This indicator combines multiple SMC methodologies into a unified system that reveals where institutions are positioning their orders and how they manipulate price to fill those orders.
Unlike basic support/resistance indicators, the Nexus Structure Detector provides institutional-grade structure analysis through order block detection, FVG identification, liquidity sweep tracking, and premium/discount zone mapping. The indicator is designed for traders who understand that institutions move markets through systematic order placement and liquidity manipulation.
Why This Indicator Exists
This indicator addresses the need for systematic SMC analysis on PulseWire. By combining order blocks, fair value gaps, liquidity levels, and market structure into one tool, it reveals:
Order Blocks: The last candle before a strong move where institutions placed orders
Fair Value Gaps: Imbalances in price where institutions will likely return to fill orders
Liquidity Levels: Pivot highs/lows where retail stops cluster and institutions hunt liquidity
Market Structure: Break of Structure (BOS) and Change of Character (CHOCH) detection
Premium/Discount Zones: Price positioning relative to range equilibrium
Mitigation Tracking: Monitors when order blocks and FVGs are filled
Core Components Explained
1. Order Block Detection
Order blocks are identified by finding the candle with the most extreme price before a strong directional move. The indicator uses pivot detection to identify swing points, then traces back to find the order block candle:
Bullish Order Block: Forms when price breaks above a pivot low - the candle with the lowest low before the breakout becomes the bullish OB
Bearish Order Block: Forms when price breaks below a pivot high - the candle with the highest high before the breakdown becomes the bearish OB
Order blocks are drawn as boxes extending into the future. When price returns to an order block, institutions are likely to defend that zone. Mitigation occurs when price closes through the order block (wick or close mitigation options available).
2. Fair Value Gap (FVG) Detection
FVGs are three-candle patterns where there's a gap between candle 1's high/low and candle 3's low/high:
Bullish FVG: Current low > high from 2 bars ago (gap up)
Bearish FVG: Current high < low from 2 bars ago (gap down)
FVGs represent imbalances where price moved too quickly, leaving unfilled orders. Institutions often return to these zones to fill orders. The indicator tracks FVG mitigation using touch, wick, close, or average methods.
3. Liquidity Level Tracking
Liquidity levels are identified at pivot highs (Buy Side Liquidity - BSL) and pivot lows (Sell Side Liquidity - SSL). These represent areas where retail traders place stop losses:
Buy Side Liquidity (BSL): Above pivot highs where long stop losses cluster
Sell Side Liquidity (SSL): Below pivot lows where short stop losses cluster
Institutions often push price through these levels to trigger stops and fill their orders. The indicator tracks when liquidity is swept (price moves through the level) and displays swept levels with dotted lines.
4. Market Structure Analysis
The indicator tracks market structure by monitoring higher highs/lows and lower highs/lows:
Bullish Structure: Price making higher highs and higher lows
Bearish Structure: Price making lower highs and lower lows
Break of Structure (BOS): When structure continues in the same direction
Change of Character (CHOCH): When structure shifts direction
Market structure helps identify the current trend and potential reversal points. The indicator combines structure with order blocks and liquidity to identify high-probability setups.
5. Premium/Discount Zones
The indicator calculates the range between the highest high and lowest low over a lookback period (default 50 bars), then divides it into zones:
Premium Zone: Above 50% of the range (75-100%) - ideal for shorts
Equilibrium: At 50% of the range - neutral zone
Discount Zone: Below 50% of the range (0-25%) - ideal for longs
Institutions typically buy in discount zones and sell in premium zones. The indicator displays these zones with dotted lines and tracks current price position.
Visual Elements
Order Block Boxes: Solid boxes showing bullish (green) and bearish (red) order blocks with volume labels
Fair Value Gap Boxes: Dashed boxes showing bullish (cyan) and bearish (orange) FVGs
Liquidity Lines: Horizontal lines at pivot highs (BSL - green) and pivot lows (SSL - red)
Premium/Discount Lines: Dotted lines showing range extremes, 75%, equilibrium, and 25% levels
Mitigation Indicators: Faded boxes and dotted lines show mitigated zones
Information Dashboard: Displays market structure, active OBs/FVGs, liquidity levels, price position, and trading bias
How to Use This Indicator
Step 1: Identify Market Structure
Check the dashboard for current market structure (Bullish/Bearish/Neutral). Trade in the direction of structure for highest probability.
Step 2: Locate Order Blocks
Look for unmitigated order blocks in the direction of structure. Bullish OBs in discount zones and bearish OBs in premium zones offer best setups.
Step 3: Monitor Fair Value Gaps
FVGs often get filled before price continues. Use FVGs as entry zones when they align with order blocks and structure.
Step 4: Watch for Liquidity Sweeps
When price sweeps liquidity (BSL or SSL), it often reverses. Look for liquidity sweeps near order blocks for high-probability reversals.
Step 5: Check Price Position
Use premium/discount zones to determine if price is at an extreme. Buy in discount, sell in premium, avoid equilibrium.
Step 6: Combine Elements for Confluence
Best setups occur when multiple elements align: structure + order block + FVG + liquidity sweep + premium/discount zone.
Best Practices
Trade with market structure, not against it
Wait for price to return to order blocks before entering
Use liquidity sweeps as confirmation, not standalone signals
Combine order blocks with FVGs for highest probability entries
Avoid trading in equilibrium zones - wait for premium or discount
Monitor mitigation - once an OB or FVG is mitigated, it's no longer valid
Use higher timeframe structure to confirm lower timeframe setups
Be patient - wait for all elements to align before entering
Input Parameters
Structure Detection:
Swing Length: Pivot detection period (default: 10)
Max Order Blocks: Maximum OBs to display (default: 3)
Max Fair Value Gaps: Maximum FVGs to display (default: 3)
Max Liquidity Levels: Maximum liquidity lines (default: 3)
Mitigation Rules:
OB Mitigation: Wick or Close (default: Close)
FVG Mitigation: Touch, Wick, Close, or Average (default: Close)
Show Mitigated Zones: Toggle mitigated zone display (default: disabled)
Premium/Discount Zones:
Show PD Zones: Toggle zone display (default: enabled)
Lookback Period: Range calculation period (default: 50)
Visual Configuration:
Bullish/Bearish OB Colors: Customizable order block colors
Bullish/Bearish FVG Colors: Customizable FVG colors
Buy/Sell Liquidity Colors: Customizable liquidity line colors
Show Labels: Toggle zone labels (default: enabled)
Show Volume: Toggle volume display on OBs (default: enabled)
Show Dashboard: Toggle information table (default: enabled)
Originality Statement
This indicator is original in its comprehensive SMC integration. While individual concepts (order blocks, FVGs, liquidity) are established SMC principles, this indicator is justified because:
It combines four distinct SMC methodologies into a unified detection system
The automatic order block detection uses swing analysis to identify the exact candle
FVG tracking with multiple mitigation methods provides flexibility
Liquidity sweep detection with volume confirmation adds institutional context
Premium/discount zone integration provides price positioning context
Market structure tracking with BOS/CHOCH detection guides directional bias
The comprehensive dashboard presents all SMC elements simultaneously
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. Smart Money Concepts are analytical tools, not guarantees of future price movement. Order blocks, FVGs, and liquidity levels do not guarantee profitable trades. Always use proper risk management and never risk more than you can afford to lose.
-Made with passion by officialjackofalltrades Indicator

Sovereign Meridian [JOAT]Sovereign Meridian
Introduction
The Sovereign Meridian is a proprietary, closed-source charting suite designed to give traders a unified view of market structure, regime context, reaction zones, liquidity mapping, order flow dynamics, and institutional signal detection — all within a single overlay indicator. Rather than requiring traders to load multiple separate tools and mentally piece together their outputs, this indicator runs every analytical dimension through a shared engine so that each module informs the others. The result is a cohesive, context-aware charting environment where structure, volume, momentum, and volatility work together to produce a clear, actionable picture of what the market is doing right now and where it is likely to go next.
This indicator is built in Pine Script v6 and is published as invite-only because the proprietary scoring algorithms, signal prioritization logic, and the way each analytical module feeds into the others represent original work that goes significantly beyond standard implementations of these concepts. The source is protected to preserve the integrity of the detection logic and the specific calibration of thresholds, weights, and interaction rules that make this tool unique.
What Makes This Indicator Worth Protecting
The Sovereign Meridian is not simply a collection of standard concepts placed on the same chart. While the individual analytical principles it draws from — swing-based structure, fair value gaps, order blocks, VWAP analysis, volume delta, Wyckoff theory — are well-established in institutional trading education, the value of this indicator lies in how these concepts are unified, scored, and prioritized through a proprietary engine:
Unified Structure Engine: Every module — from regime detection to FVG creation to signal generation — operates through a single shared structure engine. This means that a Break of Structure event does not exist in isolation; it is immediately contextualized by the current regime state, the active reaction zones, the volume delta direction, and the volatility environment. This cross-module awareness produces more meaningful signals than running separate tools independently.
Proprietary Structure Score: A composite scoring algorithm evaluates the current market state across eight weighted dimensions — structural trend direction, swing pattern quality, active imbalance zone count, order block density, volume conviction, moving average alignment, regime classification, and delta flow direction. The specific weights, thresholds, and interaction rules that produce this score are original and calibrated through extensive testing.
Adaptive Sensitivity System: A single sensitivity control adjusts detection thresholds across every module simultaneously, ensuring that the entire indicator tightens or loosens its criteria in a coordinated way. This is not a simple multiplier — the sensitivity adjustment is calibrated differently for each module based on how that module's detection logic responds to threshold changes.
Priority-Based Signal Architecture: The institutional signal system uses a six-tier priority hierarchy with cooldown management to ensure that only the most significant event is displayed at any given time. Higher-priority signals (such as liquidity grabs and Wyckoff events) suppress lower-priority ones (such as delta surges and engulfing patterns) within a configurable cooldown window. The specific priority ordering, cooldown interaction rules, and signal qualification criteria are proprietary.
Multi-Factor Candle Coloring: Candles are colored through a cascading priority system that evaluates displacement status, VWAP band position, and structural trend direction in a specific order. This produces candle colors that immediately communicate the most important context about each bar without requiring the trader to check multiple indicators.
The Regime Engine
At the foundation of the Sovereign Meridian is a regime classification system that determines the current market state. The regime engine evaluates three independent analytical dimensions:
Trend Alignment: The indicator monitors the relationship between short-term, medium-term, and long-term moving averages to determine whether the market is in a directionally aligned state. Full alignment in one direction indicates a strong trending environment. Mixed alignment indicates transitional or range-bound conditions.
Institutional Flow Direction: VWAP (Volume Weighted Average Price) slope analysis measures the direction and intensity of institutional order flow over a lookback period. The slope is normalized to make it comparable across instruments with different price scales and volatility levels. A positive normalized slope indicates net institutional buying pressure; negative indicates selling pressure; flat indicates balanced flow.
Volatility State: Bollinger Band width percentile ranking classifies the current volatility environment. When volatility compresses into the lowest percentile, a Squeeze state is detected — often a precursor to an explosive directional move. When volatility expands into the highest percentile, an Expansion state is detected — indicating that a significant move is already underway.
These three dimensions combine to classify the market into one of five regimes: Trend Up, Trend Down, Range, Squeeze, or Expansion. The regime state directly influences how every other module behaves — from how reaction zones are colored to which signals are generated to how candles are tinted.
The Structure Engine
The structure engine tracks the market's swing-based directional bias using pivot-based swing high and swing low detection. It maintains a history of the last two swings on each side, enabling pattern recognition:
Swing Pattern Recognition: The engine identifies higher highs with higher lows (bullish structure), lower highs with lower lows (bearish structure), and transitional patterns where the swing sequence is mixed.
Break of Structure (BOS): When price closes beyond a previous swing level in the direction of the existing structural trend, a BOS is recorded. This confirms that the current trend is continuing and that the market is making new structural progress.
Change of Character (CHoCH): When price closes beyond a previous swing level against the existing structural trend, a CHoCH is recorded. This is a potential reversal signal — the market's character is shifting from one directional bias to the other. CHoCH events are labeled on the chart with reference lines extending forward from the break level.
Displacement Detection: The engine identifies displacement candles — bars with exceptionally large bodies relative to their range and to the recent average body size. These candles indicate aggressive institutional order flow and often coincide with the creation of new reaction zones. The sensitivity control adjusts the detection thresholds for displacement candles in coordination with all other modules.
Reaction Zones: Fair Value Gaps and Order Blocks
The Sovereign Meridian identifies and tracks two types of institutional reaction zones:
Fair Value Gaps (FVG) are three-candle price imbalances where the market moved so aggressively that a gap was left in the price ladder. These gaps represent areas where one side of the market was overwhelmed, and price often returns to fill them. The indicator:
Detects bullish and bearish FVGs using the classic three-candle pattern
Filters out insignificant micro-gaps using an ATR-based minimum size threshold (adjusted by the sensitivity control)
Draws each FVG as a dotted-border box with directional coloring — teal for bullish, coral for bearish
Tracks fill status in real-time: when price returns to close the gap, the box fades to grey, indicating the imbalance has been resolved
Automatically manages zone count, removing the oldest zones when the configurable maximum is exceeded
Order Blocks (OB) are the last opposing candle before a strong directional move, confirmed by above-average volume. They represent price levels where institutional orders were placed and where resting orders may still exist. The indicator:
Detects bullish and bearish OBs using engulfing-style pattern recognition with a configurable strength multiplier
Requires volume confirmation — the signal candle must have volume exceeding the 20-bar average
Draws each OB as a solid-border box with directional coloring — azure/cobalt for bullish, coral/rose for bearish
Tracks mitigation: when price returns to the OB zone after sufficient bars have passed, the box fades and its border becomes dashed, indicating the zone has been tested
Manages zone count with automatic cleanup of the oldest zones
Liquidity Mapping
The indicator maps key liquidity features that institutional traders use to plan entries, exits, and targets:
Equal Highs (EQH) and Equal Lows (EQL): When two consecutive swing highs or swing lows form at nearly the same price level (within an ATR-based tolerance), the indicator identifies them as Equal Highs or Equal Lows. These levels are significant because they represent areas where stop orders tend to cluster — above equal highs (buy stops) and below equal lows (sell stops). Institutional traders often engineer price moves toward these levels to fill large orders. EQH/EQL levels are drawn as dashed lines that extend forward and are automatically removed when price sweeps through them.
Premium and Discount Zones: The range between the last swing high and swing low is divided at the equilibrium (50%) level. The upper half is labeled Premium — where sellers have a statistical edge. The lower half is labeled Discount — where buyers have a statistical edge. A dotted equilibrium line marks the midpoint. These zones help traders understand whether they are buying at a discount or selling at a premium relative to the current structural range.
Key Institutional Levels: Prior Day High, Prior Day Low, Prior Week High, and Prior Week Low are drawn as dashed reference lines with labels. These levels are fetched using anti-repaint methodology (no future data references) and represent the most-watched institutional reference points on any chart.
VWAP Deviation Bands
The indicator plots VWAP with two standard deviation bands above and below, creating a statistical framework for price position:
Inner Band (+/- 1 standard deviation): Price within this band is in the "normal" range relative to the volume-weighted average. This is the fair value zone where most trading activity occurs.
Outer Band (+/- 2 standard deviations): Price beyond the inner band but within the outer band is in an extended state. Price beyond the outer band is at a statistical extreme — more than two standard deviations from the volume-weighted mean.
Regime-Adaptive Coloring: The VWAP bands change color based on the current regime state. In a bullish regime, the bands are azure. In a bearish regime, they are coral. In neutral conditions, they are silver. This provides immediate visual context about the directional environment without requiring the trader to check the HUD.
Band Fills: The area between the inner bands is filled with a subtle tint, and the area between the inner and outer bands receives a lighter fill. This creates a visual "channel" that makes it easy to see where price sits relative to the institutional benchmark.
Institutional Signal Detection
The Sovereign Meridian detects six types of institutional events, organized in a strict priority hierarchy to prevent visual clutter:
Liquidity Grab (highest priority): Price sweeps beyond a swing level and closes back inside, with a wick significantly larger than the body. This is a classic stop-hunt pattern where institutional traders push price into a liquidity pool to fill orders, then reverse. These events are marked with gold labels and include a reference line and highlight box at the grab level.
Wyckoff Spring / Upthrust: Price sweeps below a swing low (Spring) or above a swing high (Upthrust) and closes back inside, confirmed by above-average volume. These are accumulation and distribution signals from Wyckoff methodology — among the most reliable reversal patterns in institutional trading.
Absorption: High volume with small price range — the Wyckoff "Effort vs Result" concept. When large volume produces minimal price movement, it indicates that institutional orders are being absorbed without moving the market. This often precedes a directional breakout as the absorption phase completes.
Volume-Confirmed Engulfing: Classic engulfing candle patterns where the current bar's body fully engulfs the prior bar's body, confirmed by volume exceeding the 20-bar average. These patterns indicate a shift in short-term control from buyers to sellers or vice versa.
Delta Surge: When the buy/sell volume ratio becomes heavily skewed in one direction, indicating strong one-sided institutional flow. This confirms directional conviction in the current move.
Change of Character (lowest priority): CHoCH events from the structure engine are also displayed as signals with reference lines, providing structural context alongside the order flow signals above.
Each signal type has its own color and label style for instant recognition. The cooldown system ensures a minimum number of bars between signals on the same side (bull/bear), and higher-priority signals reset the cooldown for lower-priority ones. This means you will never see a cluttered chart with overlapping labels — only the most significant event at any given moment is displayed.
The Structure Score
The proprietary Structure Score (0-100) synthesizes information from every module into a single number that represents the overall conviction level of the current market state. The score evaluates:
Whether a directional structural trend is established
Whether the swing pattern supports the trend (higher highs/higher lows or lower highs/lower lows)
How many active, unfilled Fair Value Gaps exist (more active FVGs = more institutional imbalance)
How many unmitigated Order Blocks exist (more active OBs = more institutional interest)
Whether current volume is above average (confirming participation)
Whether moving averages are aligned in a trending configuration
Whether the regime engine confirms a trending state
Whether the volume delta supports the directional bias
Each component contributes a weighted amount to the total score, capped at 100. The specific weights and caps for each component are proprietary. Scores above 70 indicate strong directional conviction with multiple confirming factors. Scores between 40-70 indicate moderate conditions. Below 40 indicates weak or conflicting signals.
The Institutional Bias
The HUD displays a weighted institutional bias reading (BULL / BEAR / LEAN BULL / LEAN BEAR / NEUTRAL) computed from the weighted sum of all currently active signals and conditions. Each signal type carries a different weight based on its historical reliability — liquidity grabs and Wyckoff events carry the highest weight, while delta surges carry the lowest. The regime state and moving average alignment provide baseline directional context. This gives traders an at-a-glance summary of which side has the institutional edge right now.
HUD Dashboard
The real-time HUD displays 16 metrics in a compact, color-coded table:
Regime state (Trend Up / Trend Down / Range / Squeeze / Expansion) with regime-specific color
Structure direction (Bullish / Bearish / Neutral)
SMA alignment state (Bull Aligned / Bear Aligned / Mixed)
RSI value with directional color coding
Structure Score (0-100) with green/gold/coral color coding
Volume ratio (current vs 20-bar average) with classification (Surge / High / Normal / Low)
Delta value with directional sign and color
Imbalance classification (BUY PRESSURE / SELL PRESSURE / Buyers / Sellers / Balanced)
Effort/Result ratio with Wyckoff absorption detection (ABSORB / High / Elevated / Normal)
VWAP band position (Above +2s / Above +1s / Upper Band / Lower Band / Below -1s / Below -2s)
Volatility state with Bollinger percentile (Squeeze / Expansion / Normal)
Active FVG and OB zone counts
Current Swing High and Swing Low price levels
Weighted Institutional Bias (BULL / BEAR / LEAN BULL / LEAN BEAR / NEUTRAL)
Visual Design — The Sovereign Theme
The indicator uses a custom "Sovereign" color palette — a desaturated, professional aesthetic built around muted blues, orchids, teals, corals, and golds on a dark graphite background. Every color choice carries meaning:
Azure / Cobalt: Bullish structure, VWAP in bullish regime, SMA 20
Coral / Rose: Bearish structure, bearish regime, bearish signals
Teal / Mint: Bullish reaction zones (FVG), EQL levels, discount zone
Gold / Amber: Liquidity grabs, squeeze state, equilibrium, warnings
Orchid / Violet: Absorption events, SMA 50, CHoCH signals
Sage / Emerald: Strong bullish signals, springs, high scores
Silver / Iron: Neutral states, mitigated zones, mixed conditions
Ice / Lavender: Key levels (PDH, PWH), reference information
The palette is intentionally desaturated compared to typical trading indicators. This reduces eye strain during extended chart sessions and ensures that when a bright signal does appear (gold liquidity grab, emerald spring), it immediately draws attention because it contrasts with the subdued baseline.
Anti-Repaint Design
The Sovereign Meridian is designed to produce signals that do not repaint:
All signal generation is gated behind confirmed bar close logic — signals only appear after the bar has closed, never during an open bar
Prior day and prior week levels are fetched with anti-repaint methodology (no future data references, no lookahead)
Pivot-based swing detection has an inherent offset equal to the lookback period, which is accounted for in the structure engine
The confirmed-bars-only toggle allows traders to verify the anti-repaint behavior by comparing real-time signals with historical ones
Configurable Inputs
The indicator provides organized input groups for customization:
Core System: Sensitivity control (1-3) that adjusts all detection thresholds simultaneously, and confirmed-bars-only toggle
Structure Engine: Swing lookback period, FVG visibility and maximum count, FVG minimum size filter, OB visibility and maximum count, OB strength multiplier
Reaction Zones: EQH/EQL visibility and tolerance, Premium/Discount zone visibility, swing level line visibility
Volatility Engine: Bollinger Band length and multiplier for squeeze/expansion detection
Visuals: VWAP bands, SMA ribbon, key levels, candle coloring, signal display with cooldown, HUD panel, displacement markers, regime background tint — all individually toggleable
How to Use the Sovereign Meridian
Step 1: Read the Regime
Check the HUD for the current regime state and the background tint. Trending regimes (azure or coral tint) favor directional trades. Squeeze (gold tint) means wait for a breakout. Range (no tint) favors mean-reversion approaches.
Step 2: Identify the Structure
Look at the structural trend direction in the HUD and the swing pattern on the chart. Are you seeing higher highs and higher lows, or lower highs and lower lows? BOS labels confirm trend continuation. CHoCH labels warn of potential reversals.
Step 3: Find Reaction Zones
Identify unfilled FVGs and unmitigated OBs in the direction of the structural trend. These are areas where price is likely to react. A bullish FVG in a bullish structure within a Trend Up regime is a high-probability long zone.
Step 4: Check the Score and Bias
A Structure Score above 70 with a BULL or BEAR institutional bias means multiple factors are aligned. This is when the highest-conviction trades occur. Scores below 40 or a NEUTRAL bias suggest waiting for clearer conditions.
Step 5: Use Signals for Timing
Liquidity grabs and Wyckoff springs/upthrusts at reaction zones provide entry timing. Absorption events warn that a move is being loaded. Delta surges confirm directional conviction.
Step 6: Manage with VWAP Bands
Use the VWAP deviation bands for position management. Price at +2 standard deviations in a long trade may be a good area to take partial profits. Price returning to the inner band after an extended move may be a re-entry opportunity.
Who This Indicator Is For
Traders who study institutional price action concepts (market structure, order flow, Wyckoff theory) and want a unified tool that connects these concepts
Traders who are tired of loading 4-5 separate indicators and mentally correlating their outputs
Traders who want a quantified Structure Score and institutional bias reading rather than subjective chart interpretation
Traders who value clean, professional visuals that reduce eye strain and highlight only the most significant events
Traders on any liquid instrument (forex majors, large-cap equities, crypto majors, futures) on timeframes of 5 minutes and above
Limitations and Honest Assessment
Swing detection has an inherent delay equal to the lookback period. Pivots are confirmed only after the right-side bars have formed. This means structure signals appear with a slight lag.
Volume-based features (OB confirmation, delta analysis, absorption detection) require reliable volume data. Instruments with poor volume reporting will produce less reliable signals.
FVG and OB zones are probabilistic reaction areas, not guaranteed reversal points. Price can and does move through zones without reacting.
The buy/sell volume split is estimated from candle structure, which is an approximation of true order flow. True tick-level delta requires exchange data not available in Pine Script.
The Structure Score is a heuristic composite, not a statistical model. It provides a useful summary but should not be the sole basis for trading decisions.
During low-liquidity periods (overnight sessions, holidays), all signals may be less reliable.
This indicator provides context and identifies high-probability zones and events. It does not predict the future and should be used as part of a broader trading plan with proper risk management.
Alert Conditions
The indicator includes 14 configurable alert conditions:
BOS Long / BOS Short — structural break of structure in either direction
CHoCH Long / CHoCH Short — change of character (potential reversal)
Bull / Bear Liquidity Grab — stop-hunt reversal events
Wyckoff Spring / Upthrust — accumulation and distribution signals
Absorption — institutional order absorption detected
Buy / Sell Delta Surge — strong one-sided volume flow
Bull / Bear Displacement — aggressive institutional candles
Regime Change — market regime transition
Why Closed Source
The Sovereign Meridian is published as invite-only with protected source because the proprietary value lies not in the individual concepts it employs — which are well-documented in institutional trading education — but in the specific way these concepts are unified, weighted, scored, and prioritized through a shared engine. The Structure Score algorithm, the signal priority hierarchy with its cooldown interaction rules, the adaptive sensitivity system, the multi-factor candle coloring cascade, and the weighted institutional bias calculation represent original engineering work that goes beyond standard implementations. Protecting the source preserves the integrity of these systems while the description above provides full transparency about the underlying principles, what the indicator does, and how traders can use it.
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. Market structure analysis, regime detection, and institutional signal identification are frameworks for understanding price behavior — they are not prediction systems. Signals do not guarantee future price movement. Past patterns do not guarantee they will repeat. Always use proper risk management and never risk more than you can afford to lose. The author makes no claims about guaranteed profitability and is not responsible for any losses incurred from using this indicator.
-Made by officialjackofalltrades
Indicator

Adaptive Volatility Matrix [JOAT]Adaptive Volatility Matrix
Introduction
The Adaptive Volatility Matrix (AVM) is an advanced open-source volatility regime classification indicator that combines Bollinger Band Width Percentile (BBWP), ATR percentile analysis, regime transition prediction, volatility clustering detection, and historical regime statistics to classify market conditions into distinct volatility regimes. This indicator helps traders adapt their strategies to current market conditions by systematically identifying when volatility is expanding, contracting, or transitioning between regimes.
Unlike basic volatility indicators that simply plot ATR or Bollinger Bands, AVM employs a sophisticated dual-metric system that combines BBWP (measuring price range compression/expansion) with ATR percentile (measuring absolute volatility) to create a combined volatility score (0-100%). The indicator then classifies this score into five distinct regimes and predicts regime transitions through momentum analysis.
Why This Indicator Exists
This indicator addresses the challenge of adapting trading strategies to volatility conditions. Different market regimes require different approaches - mean reversion works in low volatility, breakout strategies work in expansion, and risk management becomes critical in extreme volatility. AVM systematically reveals:
BBWP Analysis: Measures Bollinger Band width percentile to identify compression/expansion cycles
ATR Percentile: Tracks normalized ATR percentile to measure absolute volatility levels
Combined Volatility Score: Weighted average (60% BBWP, 40% ATR) for robust regime classification
Regime Classification: Five distinct regimes (Extreme Expansion, Expansion, Normal, Contraction, Extreme Contraction)
Transition Prediction: Momentum-based forecasting of next regime with probability
Volatility Clustering: Detects sustained high/low volatility periods
Historical Statistics: Tracks regime duration and frequency for context
Each component provides unique intelligence. BBWP shows compression cycles, ATR shows absolute volatility, combined score provides robust classification, regime system categorizes conditions, transition prediction anticipates changes, clustering detects persistence, and statistics provide historical context.
Core Components Explained
1. BBWP (Bollinger Band Width Percentile) Calculation
BBWP measures where current Bollinger Band width ranks relative to historical width:
f_calculate_bbwp(int length, int lookback) =>
float basis = ta.sma(close, length)
float dev = ta.stdev(close, length)
float bb_width = (dev * 2) / basis * 100
// Calculate percentile rank
int count = 0
for i = 1 to lookback
if bb_width > nz(bb_width )
count += 1
float bbwp = (count / lookback) * 100
BBWP ranges from 0-100%:
- 0-20%: Extreme compression (volatility squeeze)
- 20-40%: Contraction (below average volatility)
- 40-60%: Normal (average volatility)
- 60-80%: Expansion (above average volatility)
- 80-100%: Extreme expansion (volatility breakout)
2. ATR Percentile Analysis
ATR percentile measures where current normalized ATR ranks historically:
f_atr_percentile(int period, int lookback) =>
float atr_val = ta.atr(period)
float natr = close > 0 ? (atr_val / close) * 100 : 0.0
float percentile = ta.percentrank(natr, lookback)
Normalized ATR (NATR) accounts for price level differences, making volatility comparable across different price ranges. Percentile ranking shows where current volatility sits in historical distribution.
3. Combined Volatility Score & Regime Classification
The combined score weights BBWP more heavily than ATR percentile:
float combined_score = (bbwp_value * 0.6) + (atr_percentile * 0.4)
f_classify_regime(float bbwp_val, float atr_perc, float exp_th, float con_th, float ext_th) =>
string regime = "Normal"
int regime_code = 0
if bbwp_val >= ext_th or atr_perc >= ext_th
regime := "Extreme Expansion"
regime_code := 4
else if bbwp_val >= exp_th or atr_perc >= exp_th
regime := "Expansion"
regime_code := 3
// Additional classifications...
Five regime classifications:
1. Extreme Contraction (code 1): Both metrics <30%, volatility squeeze
2. Contraction (code 2): One metric <40%, below average volatility
3. Normal (code 0): Both metrics 40-60%, average conditions
4. Expansion (code 3): One metric >70%, above average volatility
5. Extreme Expansion (code 4): Both metrics >85%, volatility breakout
4. Regime Transition Prediction
AVM predicts next regime through momentum analysis:
float regime_momentum = combined_score - combined_score
string momentum_direction = regime_momentum > 2 ? "Accelerating" :
regime_momentum < -2 ? "Decelerating" : "Stable"
string predicted_regime = regime_code == 4 and regime_momentum < -5 ? "→ Expansion" :
regime_code == 3 and regime_momentum < -3 ? "→ Normal" :
// Additional predictions...
"Stable"
float transition_prob = math.min(math.abs(regime_momentum) * 10, 100)
Transition probability (0-100%) based on momentum magnitude. >50% probability triggers warning.
5. Volatility Clustering Detection
Clustering identifies sustained high/low volatility periods:
int cluster_lookback = 20
float cluster_threshold = 70.0
int high_vol_count = 0
for i = 0 to cluster_lookback - 1
if combined_score >= cluster_threshold
high_vol_count += 1
float cluster_ratio = high_vol_count / cluster_lookback * 100
bool in_vol_cluster = cluster_ratio >= 60 // 60% of bars are high vol
string cluster_strength = cluster_ratio >= 80 ? "Strong" :
cluster_ratio >= 60 ? "Moderate" :
cluster_ratio >= 40 ? "Weak" : "None"
Clusters indicate persistent volatility conditions that tend to continue.
6. Historical Regime Statistics
AVM tracks regime history for context:
var array regime_history = array.new_int(0)
var array regime_durations = array.new_int(0)
if regime_changed
array.push(regime_history, regime_code)
array.push(regime_durations, bars_in_regime)
// Calculate statistics
float avg_expansion_duration = exp_sum / exp_cnt
float avg_contraction_duration = con_sum / con_cnt
float duration_ratio = bars_in_regime / avg_expansion_duration
bool regime_extended = duration_ratio > 1.5
Statistics show if current regime is extended (>1.5x average duration), suggesting potential transition.
Visual Elements
Combined Score Line: Main plot (0-100%) with regime-based coloring
ATR Percentile Overlay: Circles showing ATR percentile for comparison
Histogram: Gradient-colored bars showing volatility score with regime colors
Reference Lines: 70% (expansion), 50% (neutral), 30% (contraction), 85% (extreme)
Background Zones: Regime-colored backgrounds (purple for expansion, yellow for contraction)
Transition Warnings: ⚠ symbols when transition probability >50%
BBWP Percentile Bands: 20th, 50th, 80th percentile circles for context
Dashboard: Real-time metrics including regime, score, BBWP, ATR%, trend, duration, momentum, transition prediction, cluster status, duration ratio, historical stats
Input Parameters
BBWP Parameters:
BBWP Length: Bollinger Band period (default: 13)
BBWP Lookback: Historical comparison period (default: 252)
ATR Analysis:
ATR Period: ATR calculation period (default: 14)
ATR Percentile Lookback: Historical ranking period (default: 100)
Regime Classification:
Expansion Threshold: Score for expansion regime (default: 70%)
Contraction Threshold: Score for contraction regime (default: 30%)
Extreme Threshold: Score for extreme regimes (default: 85%)
Visualization:
Show Regime Zones: Toggle background coloring
Show Histogram: Toggle volatility histogram
Show ATR Overlay: Toggle ATR percentile circles
How to Use This Indicator
Step 1: Identify Current Regime
Check dashboard "Regime" row. Adjust strategy based on classification.
Step 2: Monitor Combined Score
Score >70% = expansion (use breakout strategies)
Score <30% = contraction (use mean reversion)
Score 40-60% = normal (use balanced approach)
Step 3: Check Momentum Direction
"Accelerating" = volatility increasing
"Decelerating" = volatility decreasing
"Stable" = no significant change
Step 4: Watch for Transition Warnings
⚠ symbols indicate >50% probability of regime change. Prepare to adjust strategy.
Step 5: Assess Cluster Status
"Strong" or "Moderate" cluster = persistent conditions likely to continue
Step 6: Consider Duration Ratio
Ratio >1.5x = extended regime, higher probability of mean reversion
Best Practices
Use regime classification to select appropriate trading strategies
Extreme contraction often precedes volatility breakouts - prepare for expansion
Extreme expansion often mean-reverts - reduce position sizes
Transition warnings provide early signal to adjust risk management
Volatility clusters suggest persistence - don't fight the regime
Extended regimes (>1.5x average) have higher reversal probability
BBWP and ATR percentile divergence suggests regime uncertainty
Historical statistics provide context for current regime duration
Combine with directional indicators - AVM shows conditions, not direction
Indicator Limitations
Regime classification is backward-looking - transitions lag actual changes
BBWP calculation is computationally intensive on large lookback periods
Transition predictions are probabilistic, not deterministic
Extreme regimes can persist longer than expected during major events
Historical statistics require sufficient data (50+ regime changes)
Clustering detection has fixed lookback - may miss longer-term patterns
Combined score weighting (60/40) may not be optimal for all instruments
Regime thresholds may need adjustment for different markets
Technical Implementation
Built with Pine Script v6 using:
Custom BBWP calculation with percentile ranking
ATR percentile analysis with normalized ATR
Weighted combined score (60% BBWP, 40% ATR)
Five-tier regime classification system
Momentum-based transition prediction with probability
Volatility clustering detection (20-bar lookback)
Historical regime tracking with arrays (last 50 regimes)
Duration ratio calculation vs historical averages
BBWP percentile bands (20th, 50th, 80th)
Adaptive background coloring based on regime and duration
Comprehensive dashboard with 12 metrics
The code is fully open-source and can be modified to suit individual trading styles.
Originality Statement
This indicator is original in its comprehensive volatility regime classification approach. While BBWP and ATR are established concepts, this indicator is justified because:
It combines BBWP and ATR percentile into weighted combined score for robust classification
The five-tier regime system provides granular volatility categorization
Momentum-based transition prediction with probability quantification is unique
Volatility clustering detection identifies persistent regime conditions
Historical regime statistics provide context for current regime duration
Duration ratio calculation identifies extended regimes with mean reversion potential
BBWP percentile bands add additional context layers
Adaptive background intensity based on regime stability
Each component contributes unique information: BBWP shows compression cycles, ATR shows absolute volatility, combined score provides robust classification, regime system categorizes conditions, transition prediction anticipates changes, clustering detects persistence, statistics provide context, and duration ratio identifies extremes. The indicator's value lies in presenting these complementary perspectives simultaneously with unified regime framework.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Regime classifications do not guarantee future volatility behavior. Trading involves substantial risk of loss. Past performance does not guarantee future results. Always use proper risk management and never risk more than you can afford to lose.
-Made with passion by officialjackofalltrades Indicator
