AG Pro ATR Envelope Breakout Quality [AGPro Series]AG Pro ATR Envelope Breakout Quality
Overview / What it does
AG Pro ATR Envelope Breakout Quality is a volatility-aware breakout framework built around a dynamic ATR envelope rather than a static horizontal level, fixed box, or session-defined range. The script tracks when price closes outside an ATR-based outer band, then evaluates whether that move shows enough quality to be treated as a meaningful breakout instead of a weak expansion, short-lived overshoot, or low-conviction push.
The core logic is centered on three linked questions. First, did price achieve a valid close outside the active envelope? Second, was that move supported by enough momentum and relative participation to deserve attention? Third, what happened when price came back toward the broken area? This progression allows the script to move beyond a simple breakout marker and present a more structured breakout-quality workflow.
Because the reference structure is dynamic, the script adapts to changing market conditions instead of forcing all setups into a fixed box logic. In periods of contraction, the envelope tightens and makes outside acceptance more meaningful. In periods of expansion, the envelope widens and helps separate true continuation pressure from ordinary volatility noise. This makes the tool especially useful for traders who want to judge whether an expansion is merely visible or genuinely tradable.
The visual design is intentionally clean and overlay-first. The envelope defines the active volatility shell, breakout markers show where price escapes that shell, the throwback zone highlights the key acceptance pocket after the move, and the optional target line provides a simple expansion objective. A compact panel then summarizes the current state without taking over the chart. The result is a script that aims to look premium while still keeping the main story readable in a publish screenshot.
Unique Edge
The main distinction of this script is that it does not evaluate breakout quality from a static support/resistance line, a consolidation rectangle, a Donchian extreme, or an opening range boundary. It evaluates breakout quality from a moving ATR envelope. That difference is not cosmetic. It changes the entire logic of what counts as a breakout, how follow-through is judged, and how retests are interpreted.
In several classic breakout tools, the market is asked to escape a fixed historical structure. Here, the market is asked to achieve acceptance outside a live volatility shell. This creates a different analytical lens. A move that looks impressive relative to a flat level may not be meaningful relative to a volatility-adjusted envelope. On the other hand, a clean close outside an adaptive outer band can reveal expansion quality that a simple line break would miss.
This also separates the script from our other AG Pro tools. It is not a consolidation breakout evaluator, because its reference structure is not a box. It is not a Donchian breakout tool, because it is not based on period highs and lows. It is not an opening-range breakout model, because it is not session-box dependent. It is not a standard break-retest script, because the retest here happens around a dynamic envelope acceptance area rather than around a static horizontal level.
That distinction matters both analytically and visually. Analytically, the script focuses on volatility-adjusted breakout acceptance. Visually, it produces a different type of chart story: an active envelope, a breakout event, a throwback pocket, and a projected path. This gives the script its own place inside the AG Pro catalog rather than making it feel like a variation of an existing breakout family member.
Methodology
The script begins with an ATR-based envelope built around a moving basis. This creates an adaptive upper and lower band that expand or contract with market volatility. A bullish breakout candidate appears when price closes outside the upper band. A bearish breakout candidate appears when price closes outside the lower band. Wick-only excursions are not enough. The script is designed to care about acceptance, not mere contact.
Once an outside close is detected, the script evaluates breakout quality through a compact scoring framework. Momentum contribution helps measure whether the breakout candle shows real displacement or just a hesitant push. Volume contribution helps detect whether the breakout is supported by stronger-than-usual participation or whether it lacks confirmation. The combined result becomes the displayed breakout-quality score.
After the initial breakout, the script monitors the first return toward the broken band area. This is where the throwback logic becomes important. Instead of treating every pullback the same way, the script classifies what happens around the envelope area and updates the state accordingly. A successful hold suggests that the market accepted the breakout. A failure suggests that the move lost structural quality after the initial expansion.
An optional target line can be used to project a simple post-breakout objective. This is not presented as a promise of outcome. It is a visual planning reference intended to show a possible expansion path if the breakout continues to behave constructively. Together, the envelope, the breakout signal, the throwback state, and the target framework create a full breakout-quality sequence rather than a single event label.
Signals & Alerts
The script is designed to organize the breakout workflow into visible states rather than flooding the chart with constant commentary. The main states include bullish breakout, bearish breakout, throwback monitoring, throwback hold, breakout failure, and target hit. This makes the chart easier to read and helps the user understand where the setup currently stands.
Bullish and bearish breakout markers appear when price achieves a confirmed outside close beyond the relevant envelope band. These are the initial expansion events. They are then followed by a monitoring phase in which the script watches how price behaves around the broken band area. If the return is constructive, the script can label that behavior as a successful hold. If the move loses quality and breaks down, the script can classify it as a failure.
The target marker is optional and functions as a planning aid, not as a certainty engine. It simply shows that the projected expansion objective has been reached based on the chosen configuration. In practical use, this can help traders separate the breakout event itself from the later progression of the move.
The alert set is intended to remain deterministic and chart-state aware. It focuses on confirmed breakout events, throwback behavior, breakout failure, and target completion. This keeps the script aligned with workflow clarity instead of turning it into a noisy alert generator.
Key Inputs
The envelope settings control the moving basis, ATR length, and multiplier that define the adaptive breakout shell. These settings determine how sensitive the script is to changing volatility and how demanding the outside-close condition becomes.
The breakout filter settings allow the user to regulate confirmation quality. Depending on the selected configuration, the script can require stronger momentum, clearer outside distance, and optional volume confirmation. This helps users decide whether they want a more selective or more responsive model.
The throwback analysis settings define how the script interprets the first return toward the broken envelope area. These settings influence how deeply price can revisit the area before the move is treated as weak, failed, or still acceptable.
The target settings control whether the projected objective is shown and how far it is placed from the breakout area. The visual settings then manage panel visibility, panel placement, font sizing, historical object behavior, and label density so the script can remain clean in live use and in publish screenshots.
Limitations & Transparency
This script is a breakout-quality framework, not a prediction engine. It does not know in advance whether a breakout will continue. It evaluates the quality of a breakout after a valid outside-close event occurs and then tracks how price behaves afterward. That distinction is important.
The ATR envelope is an adaptive reference, which means the same market move may be classified differently under different volatility regimes. That is intentional. The script is designed to respond to changing market structure, but any adaptive model will also reflect the sensitivity of its settings. Users should therefore expect the behavior of the tool to vary across symbols, timeframes, and volatility environments.
Volume inputs may also behave differently across markets and data feeds. On some instruments, volume can add useful confirmation. On others, it may be less informative. For that reason, volume should be treated as a supporting factor rather than as an absolute truth layer.
The target projection is a chart-planning feature, not a guaranteed outcome. Likewise, a breakout failure label does not mean the market cannot later recover, and a target hit does not mean the move was universally optimal. The script is meant to help structure chart reading, not replace trade management, context analysis, or personal decision-making.
How this script differs from our other AG Pro tools
Within the AG Pro lineup, this script is intentionally positioned as a volatility-envelope breakout tool. It does not compete with our box-based breakout logic, our period-high/low breakout logic, or our static break-retest logic. Its role is to answer a different question: did price achieve meaningful acceptance outside an adaptive ATR shell, and did that acceptance survive the first return test?
That makes it especially useful when traders want a volatility-adjusted view of expansion quality. In markets where static levels are repeatedly pierced, an adaptive envelope framework can provide a cleaner read on whether the move is truly escaping current volatility conditions or simply stretching within ordinary noise.
In that sense, the script is not a replacement for our other breakout-oriented tools. It is a separate layer with a different reference model, different retest logic, and a different chart story. That separation is deliberate and is one of the reasons the script belongs in its own category inside the broader AG Pro collection.
Risk Disclosure
This script is an analytical chart tool designed to visualize volatility-adjusted breakout conditions, breakout quality, and post-breakout behavior. It is not financial advice, not a signal service, and not a guarantee of future price direction.
All breakout conditions can fail. Momentum can fade, volume can be inconsistent, and throwback behavior can change quickly. Markets remain uncertain, and no indicator can eliminate risk. Users should always apply their own market judgment, risk controls, and execution rules.
Use the script as a structured decision-support layer, not as a stand-alone trading instruction. Confirmation from broader context, trend conditions, liquidity structure, and personal risk management remains essential.
Indicator

Meridian Scaffold [JOAT]Meridian Scaffold
Introduction
Meridian Scaffold is an advanced open-source volatility band structure that builds adaptive price envelopes around a Jurik Moving Average (JMA) baseline with integrated range-lock dampening. Unlike standard Bollinger Bands or Keltner Channels that use fixed statistical measures, this indicator constructs its bands using ATR-Fibonacci expansion levels with auto-calibrating width, overlays a ZEMA trend bias system, and includes a full volatility regime classification engine with hysteresis state transitions. The result is a band structure that adapts its behavior to the current market phase — compressing tightly during consolidation, expanding proportionally during trends, and providing clearly defined reaction levels at Fibonacci-derived distances from the adaptive baseline.
This indicator addresses a core problem with conventional band indicators: they treat all market conditions the same. A Bollinger Band expands and contracts based on standard deviation alone, with no awareness of whether the market is trending, compressing, or in a whipsaw phase. Meridian Scaffold solves this by fusing a volatility regime classifier (compression, normal, expansion) with adaptive band construction, so the bands behave differently depending on the detected market phase. During compression, the baseline locks to a simple average to prevent false signals. During expansion, the bands widen using Fibonacci ratios to project realistic target levels.
Core Concepts
1. JMA Adaptive Baseline with Range-Lock Dampening
The centerline of the band structure is a Jurik Moving Average — an adaptive filter that tracks price closely during fast moves and smooths aggressively during noise. The JMA implementation includes a full volatility tracking system that measures the relative volatility of the input signal:
// Relative volatility determines JMA responsiveness
float rv = math.min(math.max(avgVolty > 0 ? volty / avgVolty : 1.0, 1.0), maxPow)
float adaptiveAlpha = math.pow(beta, math.pow(rv, pow1))
When relative volatility drops below a configurable threshold (the "range lock" condition), the indicator switches from the JMA to a simple moving average. This prevents the baseline from oscillating during low-volatility chop, producing a flat, stable reference line that clearly communicates "no trend present." When volatility returns, the JMA resumes tracking.
2. ATR-Fibonacci Expansion Levels
Rather than using standard deviation (which assumes normal distribution) or fixed ATR multiples, the bands are constructed at Fibonacci-derived distances from the baseline. The ATR is first smoothed using a ZEMA technique (double-EMA extrapolation) to remove noise from the volatility measure itself:
float atrZ1 = ta.ema(atrRaw, 21)
float atrZ2 = ta.ema(atrZ1, 21)
float atrSmooth = atrZ1 + (atrZ1 - atrZ2)
This ZEMA-smoothed ATR is then multiplied by configurable inner and outer factors to create the band levels. The default inner band at 1.5x ATR captures normal price oscillation; the outer band at 2.8x ATR marks extended moves. Additional Fibonacci extension levels at 1.618x and 2.618x ATR provide projection targets for breakout moves.
3. Volatility Regime Classification
The indicator classifies the current volatility environment into three states using a hysteresis state machine:
Compression: ATR is significantly below its long-term average (ratio < 0.6). Bands contract, baseline locks. This phase often precedes breakouts
Normal: ATR is near its average. Standard band behavior applies
Expansion: ATR is significantly above its long-term average (ratio > 1.5). Bands widen, momentum signals are prioritized
The hysteresis mechanism prevents rapid switching between states. Entry into expansion requires a ratio above 1.5, but exit only occurs when the ratio drops below 1.2. This creates stable regime classifications that don't flicker on every bar.
4. ZEMA Trend Bias
A Zero-Lag EMA calculated on the baseline provides directional bias. When the baseline is above its ZEMA, the bias is bullish; below, bearish. The spread between the baseline and ZEMA quantifies the strength of the directional conviction. This bias colors the baseline and bands to provide immediate visual feedback on trend direction.
5. Band Squeeze Detection
The indicator monitors bandwidth (the percentage distance between outer bands relative to the baseline) against its own rolling average and standard deviation. When bandwidth drops below the average minus half a standard deviation, a squeeze condition is flagged. Squeezes represent compressed volatility that statistically tends to resolve with an expansion move.
Features
Slope-Aware Baseline Glow: The baseline renders with a multi-layer glow effect whose intensity scales with the normalized slope. Steeper trends produce more vivid glow; flat periods produce subtle, muted rendering
Regime-Adaptive Band Coloring: Band colors shift automatically based on the volatility regime — compression phases use iris/purple tones, expansion phases use ember/warm tones, and normal phases use neutral slate
Kaufman Efficiency Scoring: The Kaufman Efficiency Ratio (net price movement divided by total path length) is calculated and displayed, providing a 0-1 measure of how efficiently price is moving. Values above 0.4 indicate strong directional movement; below 0.2 indicates chop
Mean Reversion Signals: When price touches or exceeds the outer band and then re-enters the inner band, the indicator generates a mean-reversion signal. These are most reliable during normal and compression regimes
Breakout Signals: When price closes beyond the outer band during an expansion regime with volume confirmation, a breakout signal is generated. These indicate potential trend continuation
Trend Strength Composite: A composite score combining slope strength, Kaufman efficiency, R-squared linearity, and regime alignment provides a single 0-100 measure of overall trend quality
16-Row Dashboard: Displays baseline value, regime state, trend bias, bandwidth, squeeze status, Kaufman ER, slope strength, R-squared, trend composite score, band levels, regime duration, and position relative to bands
Input Parameters
Baseline:
JMA Period: Adaptive baseline smoothing length (default: 21)
JMA Phase: Lead/lag adjustment (default: 0)
JMA Power: Responsiveness curve (default: 0.45)
Range Lock Threshold: Relative volatility below which the baseline locks flat (default: 0.55)
Bands:
ATR Length: Period for ATR calculation (default: 14)
Inner Band Multiplier: ATR multiple for inner band (default: 1.5)
Outer Band Multiplier: ATR multiple for outer band (default: 2.8)
Regime:
Regime Lookback: Period for volatility regime classification (default: 50)
Visuals:
Toggles for bands, Fibonacci extensions, glow effects, squeeze markers, regime background, bar coloring, and dashboard
Zone opacity control for band fill transparency
How to Use This Indicator
Step 1: Identify the Volatility Regime
Check the dashboard or observe the band coloring. Compression (purple/iris bands) means prepare for a breakout — avoid trend-following entries. Expansion (warm/ember bands) means trend-following setups are favored. Normal (slate bands) means standard analysis applies.
Step 2: Read the Baseline Bias
The baseline color and ZEMA relationship tell you the directional bias. Only look for long setups when the baseline is above ZEMA (bullish bias) and short setups when below (bearish bias).
Step 3: Use Bands as Context Levels
The inner band defines the normal oscillation range. Price consistently above the inner upper band indicates strong bullish momentum. The outer band marks extended territory where mean-reversion risk increases. Fibonacci extensions at 1.618x and 2.618x provide projection targets for breakout moves.
Step 4: Trade Squeezes
When a squeeze is detected (gold dots on the baseline), wait for the squeeze to release. The direction of the first strong move out of the squeeze often sets the trend for the next phase. Combine with the ZEMA bias for directional confirmation.
Step 5: Monitor Trend Quality
The trend strength composite score tells you how clean the current trend is. Scores above 60 indicate high-quality trends worth riding. Scores below 30 suggest choppy conditions where band-based mean-reversion strategies may work better.
Indicator Limitations
The JMA baseline, while adaptive, still lags price during sharp reversals. The range-lock feature helps during consolidation but cannot eliminate lag during genuine trend changes
ATR-based bands assume volatility is relatively stable over the measurement period. During news events or gap openings, the bands may not accurately reflect the new volatility environment for several bars
The volatility regime classifier uses hysteresis which creates stability but also delays regime transitions. A compression-to-expansion shift may be identified several bars after the breakout begins
Fibonacci extension levels are mathematical projections, not guaranteed targets. Price may reverse before reaching them or blow through them entirely
Squeeze detection identifies compressed volatility but does not predict the direction of the subsequent expansion. Additional directional analysis is required
The indicator works best on liquid instruments with consistent volatility patterns. Thinly traded instruments may produce unreliable regime classifications
Originality Statement
This indicator is original in its integration of adaptive baseline technology with regime-aware band construction. While ATR bands and JMA are established concepts, this indicator is justified because:
The JMA range-lock mechanism that switches to SMA during low-volatility periods is a novel approach to preventing false baseline oscillations in chop — standard JMA implementations do not include this feature
ZEMA-smoothed ATR for band construction removes noise from the volatility measure itself, producing cleaner band edges than raw ATR
The three-state volatility regime classifier with hysteresis transitions provides context-aware band behavior not available in standard Bollinger or Keltner implementations
Fibonacci-derived expansion levels integrate harmonic ratio theory with volatility measurement, providing mathematically grounded projection targets
The trend strength composite score synthesizes multiple independent quality measures (slope, efficiency, linearity, regime) into a single actionable metric
Slope-aware glow rendering and regime-adaptive coloring provide instant visual feedback on market conditions without requiring dashboard reading
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. Band levels, regime classifications, and signals are mathematical calculations based on historical data and do not predict future price movement. Squeeze conditions do not guarantee subsequent breakouts, and breakout signals do not guarantee trend continuation. 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

Verdance Regime Cipher [JOAT]Verdance Regime Cipher
Introduction
The Verdance Regime Cipher is an open-source market regime classification overlay that identifies and tracks four distinct market states in real-time: Bullish Trend, Bearish Trend, Volatile Disruption, and Equilibrium Range. Rather than relying on a single indicator to determine market conditions, VRC fuses ATR percentile ranking, custom directional movement scoring, volume regime analysis, EMA trend alignment, and optional Chaikin volatility blending into a unified regime detection engine. A two-bar confirmation filter prevents single-bar flicker, and an optional higher-timeframe alignment check adds macro confluence before confirming any regime.
This indicator exists because most traders use trend indicators that only answer "up or down" — they fail to distinguish between a strong directional move, a choppy range, and a volatile transition that could trap both sides. VRC answers a more nuanced question: what type of market environment are we in right now, how fresh is it, and does the macro timeframe agree?
Core Engine: How Regime Classification Works
The regime engine combines four independent measurements into a single classification:
Dispersion Gauge (ATR Percentile): The indicator computes ATR over a configurable period, then ranks it against its own history using percentile ranking. This tells you whether current volatility is high, low, or average relative to recent behavior — not just the raw ATR value.
Polarity Scanner (Directional Movement): A custom directional movement score is calculated by comparing smoothed positive and negative directional movement. The result is normalized to a -1 to +1 range, where positive values indicate bullish directional pressure and negative values indicate bearish pressure.
Flux Ratio (Volume Regime): Short-term volume (3-bar SMA) is divided by longer-term volume (configurable period SMA), then percentile-ranked. This identifies whether volume is elevated relative to its own history, which helps distinguish genuine trending moves from low-conviction drifts.
Prism Alignment (EMA Spread): The spread between a fast and slow EMA is normalized by ATR. This provides a volatility-adjusted measure of trend strength — a large spread in a low-volatility environment means something different than the same spread during high volatility.
These four measurements feed into the classification logic:
bool isVolatile = atrPct > volGate and volPct > 60 and thermalHot
bool isTrending = atrPct > trendGate and not isVolatile
bool isBullDir = dirScore > 0.1 and emaDelta > 0.5
bool isBearDir = dirScore < -0.1 and emaDelta < -0.5
Volatile Disruption requires both high ATR percentile AND elevated volume percentile — this prevents misclassifying a quiet drift as volatile just because ATR is slightly elevated. Trending states require the ATR percentile to exceed the drift threshold while NOT being volatile, combined with directional confirmation from both the polarity scanner and prism alignment.
Two-Bar Confirmation and Regime Stability
Raw regime changes are not applied immediately. A pending regime must persist for two consecutive bars before it becomes the confirmed regime. This eliminates the single-bar flicker that plagues most regime indicators, where the classification bounces back and forth on noisy bars.
Thermal Pressure (Chaikin Volatility Blend)
When enabled, the indicator blends Chaikin volatility — which measures the rate of change of the high-low range — into the volatile regime detection. This adds a "thermal" dimension: the market must show not just high ATR, but accelerating range expansion, before being classified as volatile. The Chaikin volatility is percentile-ranked against its own history, and only when it exceeds the 65th percentile does it confirm the volatile state.
Horizon Lock (Higher-Timeframe Confluence)
The Horizon Lock feature fetches EMA bias from a configurable higher timeframe (default: 60-minute) and checks whether the macro trend direction agrees with the local regime. When the local regime says "bullish" but the higher timeframe EMAs are bearish, the Horizon Lock reports "DIVERGENT" — a warning that the local trend may lack macro support. This uses non-repainting security calls with lookahead disabled.
Momentum Decay Index
Every regime ages. VRC tracks how many bars the current regime has persisted and computes an exponential decay score from 100% (just started) toward 0%. Regimes are classified as FRESH (above 70%), MATURE (35-70%), or STALE (below 35%). Stale regimes have elevated reversal probability. The decay rate is calibrated so that regimes naturally transition through these phases over time, giving traders a sense of how "tired" the current move is.
Signal Architecture
VRC generates five distinct signal types, all edge-triggered and confirmed-bar only:
Regime Shift Signals: Labels appear when the confirmed regime transitions — ASCENT LOCK, DESCENT LOCK, ERUPTION, or EQUILIBRIUM — each with a tooltip showing polarity score and decay percentage.
Thermal Spike Markers: Fire when Chaikin volatility surges above the 85th percentile, marking bars of extreme range expansion.
Polarity Fracture: Detects divergence between price action and directional momentum — price making new highs while the polarity score is declining, or vice versa. This is an early warning of trend exhaustion.
Decay Warnings: Alert when the regime freshness drops below 20%, signaling that the current regime is aging and reversal probability is elevated.
Horizon Lock/Break Signals: Mark the moment when higher-timeframe alignment is gained or lost.
Visual Elements
Regime Aura: Subtle background tint reflecting the current regime state (green for bullish, red for bearish, orange for volatile, purple for range). A secondary wash appears when the Horizon Lock is divergent.
Prism Lines: Fast and slow EMAs plotted with opacity driven by regime decay — fresher regimes produce more vivid lines, stale regimes fade them.
Regime Pulse Band: An ATR-based envelope around the fast EMA whose width scales with regime intensity. Wider bands during volatile regimes, tighter during ranges.
Regime Candle Tinting: Candles colored by current regime state for instant visual recognition.
Command Panel: An 11-row monospace dashboard displaying: regime substate, polarity score, dispersion rank, flux ratio, prism bias, kinetic phase, flux percentile, thermal pressure, horizon lock status, decay index, and regime age.
Dashboard Metrics Explained
The Command Panel provides real-time regime intelligence:
POLARITY: Directional movement score (-1 to +1). Positive = bullish pressure, negative = bearish pressure.
DISP %R: ATR percentile rank. Above the eruption threshold = volatile, above drift threshold = trending, below = ranging.
FLUX: Volume ratio (short/long SMA). Values above 1.2 indicate elevated volume activity.
PRISM: ATR-normalized EMA spread. Positive = fast EMA above slow, negative = below.
PHASE: Combined kinetic classification — KINETIC (strong directional move), INERTIAL (moderate), or DORMANT (weak).
THERMAL: Chaikin volatility percentile. Above 75% = extreme range expansion.
HORIZON: LOCKED (macro aligned), DIVERGENT (macro conflicting), or OFF (disabled).
DECAY: Regime freshness — FRESH, MATURE, or STALE with percentage.
Input Parameters
Regime Nucleus:
Dispersion Gauge: ATR lookback (default 14)
Polarity Scanner: Directional movement window (default 20)
Flux Depth: Volume analysis period (default 14)
Epoch Window: Percentile ranking lookback (default 50)
Drift Threshold: ATR percentile for trending classification (default 55)
Eruption Threshold: ATR percentile for volatile classification (default 70)
Chaikin Volatility Blend:
Enable Thermal Pressure: Toggle Chaikin blend (default on)
Thermal Period / Rate: Chaikin EMA and ROC parameters
Macro Confluence:
Enable Horizon Lock: Toggle HTF alignment check (default on)
Horizon Timeframe: Selectable from 30m to Weekly
How to Use This Indicator
Use the regime classification to filter your existing strategy — only take trend-following setups during ASCENT or DESCENT regimes, and avoid them during EQUILIBRIUM or ERUPTION.
Watch the Decay Index — when a regime becomes STALE, be cautious about entering new positions in that direction.
Pay attention to Polarity Fracture signals — they often precede regime transitions by several bars.
Use Horizon Lock to confirm that your local timeframe trend has macro support. DIVERGENT status is a warning flag.
Thermal Spike markers highlight bars of extreme range expansion — these often mark the beginning or climax of volatile moves.
Limitations
Regime classification is inherently lagging — the two-bar confirmation filter adds stability but delays transitions.
The indicator classifies the current environment but does not predict the next one. A FRESH bullish regime can still reverse.
Higher-timeframe alignment depends on the selected timeframe — different HTF choices may produce different Horizon Lock readings.
Volume-based measurements (Flux Ratio) are less reliable on instruments with inconsistent volume data.
The Decay Index is a heuristic, not a statistical probability — it provides intuition about regime age, not a precise reversal forecast.
This indicator does not generate buy/sell signals — it provides context for your own decision-making.
Originality Statement
This indicator is original in its multi-dimensional regime classification approach. While ATR, directional movement, and volume analysis are established concepts individually, VRC is justified because:
It fuses four independent measurements (ATR percentile, directional movement, volume regime, EMA spread) into a unified four-state classification that goes beyond simple "trending vs ranging."
The two-bar confirmation filter with exponential decay tracking provides regime lifecycle awareness not found in standard regime indicators.
Chaikin volatility blending adds a thermal dimension that distinguishes genuine volatile disruptions from merely elevated ATR.
The Horizon Lock feature integrates macro-timeframe confluence directly into the regime engine rather than requiring a separate indicator.
Polarity Fracture detection identifies directional divergence as an early warning system for regime transitions.
The comprehensive dashboard presents regime intelligence across 11 metrics simultaneously.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Regime classification helps contextualize market conditions but does not predict future price movement. Past regime 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

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

VolEdge: VRP GaugeVOLEDGE: VRP GAUGE — Is option premium rich or thin right now?
Before you sell a single option, you should know the answer to one question: are options overpriced relative to what the market is actually doing?
The Variance Risk Premium answers this. It is the single most important macro-level number for anyone who sells options for income.
Also note that reversal from rich to kind of poorer premiums tends to show market reversals.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT IT DOES
Displays the Variance Risk Premium: the spread between implied volatility (VIX) and realized volatility (30-day historical vol on the S&P 500).
VRP = VIX minus HV30
When VRP is large and positive, options are expensive relative to actual market movement. Premium sellers have a statistical edge — they are being paid more than the risk they are taking on.
When VRP is near zero or negative, options are fairly priced or cheap. Selling offers little edge or no edge at all. Buying vol may be the better play.
The indicator shows the VRP value, its percentile rank over the last 90 days (configurable), a visual gauge, the underlying components (VIX and HV30), the 5-day trend, and a plain-language strategy interpretation.
It also plots a color-coded VRP histogram in its own chart pane so you can see how premium richness has evolved over time.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHY VRP MATTERS
Most retail options traders check IV Rank on individual stocks — "is AAPL's IV high relative to its own history?" That is a useful question, but it misses the bigger picture.
VRP answers the macro question: "Is it a good day to sell options at all?"
When VIX is 20 and SPX has been realizing 20% annualized vol, there is no premium to harvest. VRP is near zero. You are selling options at fair value and taking on risk for no statistical edge.
When VIX is 20 and SPX has been realizing 12% annualized vol, VRP is +8. Options are significantly overpriced. Every strangle, iron condor, and short put you sell has a built-in statistical edge because the market is pricing in more movement than is actually occurring.
This is the fundamental asymmetry that drives institutional premium selling. Implied volatility exceeds realized volatility roughly 85% of the time — that is the variance risk premium. But the size of that premium varies enormously. Selling when VRP is rich compounds returns. Selling when VRP is thin or negative erodes them.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VRP CLASSIFICATION — FIVE LEVELS
RICH (VRP above 5, percentile above 75th):
Premium is meaningfully overpriced relative to realized vol. This is the sweet spot for premium sellers. Options are expensive, and the market is not moving as much as options pricing implies. Strangles, iron condors, short puts, and credit spreads all have favorable expected value. This is when you can be most aggressive with premium selling — within your normal risk management rules.
ABOVE AVERAGE (VRP above 5, percentile 50th–75th):
Premium is above its recent average but not at extremes. Selling conditions are favorable. Standard position sizing applies. You have an edge, but it is not as large as during RICH periods.
FAIR (VRP between 0 and 5, percentile 25th–75th):
Premium is roughly in line with realized vol. There is a small edge to selling, but it is modest. Be selective — only sell on stocks with individually elevated IV rank. Avoid aggressive sizing. This is the "be patient" zone.
THIN (VRP between 0 and 5, percentile below 25th):
Premium is below its recent average. The edge from selling is minimal. This is a good time to reduce premium selling activity, tighten existing positions, or wait for better conditions. If you do sell, stick to the highest-conviction setups only.
NEGATIVE (VRP below 0):
Options are cheap relative to realized vol. The market is moving more than options pricing implies. This is rare and typically occurs during fast-moving selloffs where realized vol spikes faster than VIX. Selling premium here is unfavorable — you are being paid less than the risk. Consider buying vol instead: long straddles, debit spreads, or VIX calls.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW TO USE IT — PRACTICAL WORKFLOW
Daily pre-market check:
Before entering any premium selling trade, glance at the VRP Gauge. If it reads RICH or ABOVE AVG, you have a green light to sell premium at normal or slightly increased size. If it reads FAIR, be selective. If it reads THIN or NEGATIVE, reduce activity or pivot to directional or long-vol strategies.
Combining with individual stock IV Rank:
The VRP Gauge tells you about the macro premium environment. Individual stock IV rank tells you about that specific stock. The best setup is: VRP RICH (macro edge) plus stock IV rank above 50th percentile (stock-level edge). Selling premium when both macro and stock-level conditions are favorable stacks the odds meaningfully in your favor.
Combining with the Vol Weather Report:
VRP RICH during a Normal or Low vol regime is the highest-confidence premium selling environment. VRP RICH during an Elevated or Crisis regime means premiums are rich but so is risk — size down accordingly.
Using the percentile reading:
The raw VRP number is useful, but the percentile tells you context. A VRP of +6 might be average in one market environment and exceptional in another. The percentile rank over the last 90 days (configurable) tells you whether today's VRP is historically rich or normal for recent conditions.
Using the 5-day trend:
VRP rising means the edge for sellers is improving — implied vol is expanding faster than realized vol, or realized vol is declining while VIX holds steady. VRP falling means the edge is shrinking. A falling VRP during a low-vol regime is a caution signal: realized vol may be catching up to implied vol, often before a volatility expansion.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT IS ON THE DASHBOARD
Row 1 — VRP classification badge: RICH / ABOVE AVG / FAIR / THIN / NEGATIVE with color-coded background
Row 2 — VRP value: the headline number (e.g. +7.24) in large text
Row 3 — Visual gauge bar: fills from left to right as VRP increases, colored by classification
Row 4 — Percentile rank: where today's VRP sits relative to the last 90 days (configurable)
Row 5 — Implied vol: current VIX level
Row 6 — Realized vol: HV30 (or configurable lookback) calculated on SPX
Row 7 — 5-day trend: Rising / Stable / Falling, with the value from 5 days ago
Row 8 — Strategy context: plain-language interpretation of current VRP conditions
Chart pane: VRP histogram showing the daily VRP value over time. Green bars = rich, yellow = fair, red = negative. Reference lines at 0 (breakeven), +5 (rich threshold), and -2 (deeply negative).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
THE CALCULATION
Realized volatility (HV30):
Standard deviation of daily log returns on the S&P 500 over the last 30 trading days, annualized by multiplying by the square root of 252.
HV = stdev(ln(close / close_previous), 30) * sqrt(252) * 100
Variance Risk Premium:
VRP = VIX - HV30
Percentile rank:
Counts what percentage of VRP values over the lookback period (default 90 days) were lower than today's reading. A reading of 82 means today's VRP is higher than 82% of the last 90 days.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SETTINGS
Realized Vol Lookback: number of days for HV calculation (default 30, range 10–60)
VRP Percentile Lookback: number of days for percentile ranking (default 90, range 30–252)
Show VRP Histogram: toggle the chart-pane histogram on or off
Show Visual Gauge Bar: toggle the gauge bar in the table on or off
Table position: choose where the panel appears
Text size: Small / Normal / Large
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ALERTS
VRP Rich — fires when VRP crosses above 5 and is in the top quartile. Premium selling conditions are strong.
VRP Thin — fires when VRP drops below 2. Selling edge is diminishing.
VRP Negative — fires when VRP crosses below zero. Options are cheap vs realized vol.
VRP 90th+ Percentile — fires when VRP is in the top 10% of its recent range. Exceptionally rich premium.
VRP Bottom 10th Percentile — fires when VRP is in the bottom 10% of its recent range. Exceptionally thin premium.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT MAKES THIS DIFFERENT
Several PulseWire scripts calculate historical volatility. A few compare VIX to HV. None of them:
— Present VRP with a percentile rank for historical context
— Classify VRP into actionable categories (Rich / Fair / Thin / Negative)
— Show the 5-day trend in the premium environment
— Provide a strategy context sentence for each classification
— Include a visual gauge and color-coded histogram for quick pattern recognition
The Variance Risk Premium is an institutional-grade signal used by professional options market makers and vol funds as a core input to their selling decisions. This indicator makes it accessible to any options trader with a PulseWire account.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ACADEMIC BACKGROUND
The variance risk premium — the tendency of implied volatility to exceed realized volatility — is one of the most documented phenomena in options markets. Key findings:
Implied vol exceeds realized vol approximately 85% of the time across major equity indices. The average VRP on the S&P 500 has been roughly 3–5 percentage points over multi-decade samples, but varies widely from negative to 15+ during stress periods.
The VRP is compensation for bearing volatility risk. When markets are calm, investors overpay for downside protection (puts), which inflates VIX relative to what actually happens. Premium sellers harvest this overpayment.
However, the VRP inverts during fast crashes when realized vol spikes above implied vol. This is exactly when premium sellers take their largest losses. Monitoring VRP in real time — not just knowing it exists on average — is critical for avoiding the trap of selling into a thin or negative VRP environment.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT THIS INDICATOR IS NOT
It is not a timing signal for individual trades. VRP tells you the macro premium environment, not which stock to sell or when to enter.
It is not a guarantee of profitability. VRP being RICH means the odds favor sellers on average, but individual trades can still lose. Risk management still applies.
It uses VIX as the implied vol proxy and HV30 on SPX as the realized vol proxy. These are standard institutional measures, but they are not perfect representations of the vol surface for every product or expiration. For individual stock premium selling, combine this macro VRP reading with the stock's own IV rank.
It is not financial advice. It is an analytical tool for your own decision-making.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DISCLAIMER
This indicator is for educational and informational purposes only. It is not financial advice and should not be used as the sole basis for any trading decision. The variance risk premium is a well-documented statistical phenomenon, but past patterns do not guarantee future results. Options trading involves substantial risk of loss. Always do your own research and consider consulting a licensed financial advisor. Indicator

Adaptive Volatility Bands [AVB]Adaptive Volatility Bands (AVB) is a volatility-aware trend-following overlay indicator built on the Kaufman Adaptive Moving Average (KAMA) and dynamically adjusted Bollinger-style bands.
**Mathematical Foundation:**
The core of AVB is the Kaufman Efficiency Ratio (ER), which measures the ratio of directional price movement to total price movement over a lookback period. An ER near 1.0 indicates a strong trend with minimal noise; an ER near 0.0 indicates choppy, range-bound conditions. The KAMA uses this ratio to automatically adjust its smoothing constant — responding quickly during trends and slowly during consolidation.
The bands around the KAMA are not static standard deviations. Instead, they use an adaptive standard deviation that widens when the Efficiency Ratio is low (noisy markets) and tightens when ER is high (trending markets). This creates bands that contract during consolidation (squeeze) and expand during breakouts.
**Signal Logic:**
Buy signals are generated when price touches the lower band with RSI in oversold territory during an uptrend, or when a squeeze releases with price above the KAMA. Sell signals fire at the upper band with RSI overbought during a downtrend, or at squeeze release below KAMA. Volume confirmation is applied to filter low-conviction signals.
**Features:**
- Kaufman Adaptive Moving Average with adjustable fast/slow smoothing periods
- Adaptive volatility bands that respond to market efficiency
- Volatility squeeze detection with bar coloring
- RSI and volume filters for signal confirmation
- ATR-based stop-loss and take-profit levels
- Real-time dashboard showing efficiency ratio, RSI, volatility regime, and trend direction
- Fully customizable colors and parameters
**Use Cases:**
Suitable for forex, crypto, commodities, and equities across all timeframes. Works well on 15-minute to daily charts.
Indicator

QuantFlow: Precision Fibonacci VWAPQuantFlow: Precision Fibonacci VWAP is a professional-grade institutional trading suite designed for traders who demand quantitative precision. By merging MIDAS (Multidaily Institutional Digital Analysis Support) volume-weighting with Gaussian statistical probability and Fibonacci expansion theory, this indicator provides a comprehensive map of market structure, volatility, and high-probability reversal zones.
█ The Quantitative Core
At the heart of QuantFlow Precison is a sophisticated calculation engine that goes beyond standard moving averages.
MIDAS Engine: Instead of a simple VWAP, QuantFlow Precision utilizes the MIDAS approach, calculating cumulative volume-weighted price from a specific "Anchor Point." This reveals the true average price where institutional orders are concentrated.
Adaptive Anchoring: The "Auto" mode intelligently detects your chart's timeframe to provide the most relevant anchor:
Scalping (1m–15m): Resets Daily to capture intraday liquidity flows.
Intraday (15m–1h): Resets Weekly to identify the current week's "Fair Value."
Swing (Daily+): Resets Monthly or Yearly for long-term trend benchmarks.
█ Strategic Volatility Bands
QuantFlow Precision generates 6 levels of Fibonacci-weighted bands based on volume-weighted standard deviation. These bands act as dynamic support and resistance that expand and contract with market volatility.
Inner Bands (Levels 1-2): Define the "Equilibrium Zone." Price remaining here indicates a ranging market or consolidation.
Expansion Bands (Levels 3-4): Represent confirmed trend momentum.
Extreme Bands (Levels 5-6): These are the 1.0 and 1.618 Fibonacci extensions. When price reaches these levels, it is entering a "statistical extreme," often preceding a sharp mean-reversion.
█ Gaussian Probability Dashboard
The real-time information table provides a professional "heads-up display" (HUD) of current market statistics:
Z-Score Analysis: Measures how many standard deviations the price has moved away from the mean. A Z-Score > 2.0 indicates a move that occurs less than 5% of the time, signaling a potential reversal.
Reversion Probability: Uses the 68-95-99.7 rule to estimate the statistical likelihood of price returning to the VWAP. When the probability hits 99%, the market is at a historical breaking point.
Distance %: Displays the exact percentage gap between current price and "Fair Value."
█ Visual Intelligence System
QuantFlow Precision is designed for high-speed decision-making with a high-contrast UI:
Fluor Green Candles: Confirmed bullish momentum (Price > Upper Fib 1).
Fluor Red Candles: Confirmed bearish momentum (Price < Lower Fib 1).
Grey Candles: Market is in "No-Man's Land" (Ranging within Fib 1/2).
Crossover Stars (★): Tiny star markers appear the moment price reclaims or loses the VWAP line, signaling an immediate shift in institutional control.
Extreme Sparkle Markers (✦): These high-contrast markers trigger when the price pierces the Level 6 (1.618) Fibonacci band. They represent statistical "exhaustion" points where the market has moved into the most extreme 1% of volatility, signaling a high-probability reversal zone.
Target Labels: Every Fibonacci level is labeled on the right side of the chart with its specific level and current price.
█ Trading Applications
The Scalper: Uses the Daily Auto Anchor to trade mean-reversions at the Level 6 sparkle (✦) markers during high-volatility sessions.
The Trend Trader: Enters on a Fluor Green/Red candle change and uses the MIDAS VWAP as a dynamic trailing stop.
The Swing Trader: Sets a Manual Anchor Date on a major news event (e.g., FOMC or Earnings) to track the long-term institutional volume profile.
This indicator is intended for educational and informational purposes only and should not be considered financial advice. Trading involves significant risk, and you should consult with a financial advisor before making any trading decisions. The performance of this indicator is not guaranteed, and past results do not predict future performance. Use at your own risk. Indicator

INVERSE PRESSURE ENGINE | AnonycryptousInverse Pressure Engine by Anonycryptous
Technical Overview
The Inverse Pressure Engine is a high-speed intraday execution and correlation engine. While it is configured by default for Nasdaq (NQ) and the VIX, its modular design allows it to be used for any asset pair that exhibits an inverse correlation.
NOTE: The colors in the ribbon are negatively correlated! A red ribbon means that the correlated asset (e.g., VIX) is dumping. This implies that the asset you are trading (e.g., NQ) should normally rise!
Core Components & Logic
1. The 15-Line "Breathing" Ribbon
This visual system uses 15 smoothed lines (SMA 20 to SMA 48) anchored below the price action.
Expansion (Fanning Out): Indicates accelerating momentum in the secondary asset (e.g., VIX). Contraction (Tightening): Indicates the secondary asset's momentum is stalling, often preceding a trend reversal in the primary asset (e.g., NQ).
Dynamic ATR Offset: The ribbon maintains a consistent visual distance from your candles across all timeframes (1m, 5m, 15m), ensuring it never blocks your price action.
2. Fast Momentum & Correlation Engine
Momentum: Calculates the Linear Regression Slope to provide a "speedometer" of volatility shifts. It reacts significantly faster than standard moving average crosses.
Inverse Correlation: Continuously monitors the logarithmic returns between the two assets. A healthy inverse relationship typically shows a correlation between -0.70 and -1.0.
3. Divergence Detection
The indicator identifies when the two assets are moving in the same direction (e.g., NQ rises while VIX also rises). This is marked as a Divergence State (Orange), which issues a warning that the current trend may lack institutional support or become saturated.
Market States & Color Coding (Default Logic)
Secondary Asset Rising (Green): High pressure. For NQ/VIX, this is Bearish Pressure.
Secondary Asset Dumping (Red): High pressure. For NQ/VIX, this is Bullish Pressure.
Neutral (Gray): Momentum is flat; the market is likely in a range.
Divergence (Orange): The warning status. The two assets are moving together, indicating a potential bull/bear trap.
Core Calculation Settings:
Fully Adjustable Parameters
Secondary Ticker: Change the default "CBOE:VIX" to another asset (e.g., "DXY!" for Dollar or "MGC1! for gold").
Fast/Slow Lookbacks: Adjust the sensitivity of the momentum detection. Correlation Length: Adjust the window used to measure the strength of the relationship.
Sensitivity & Thresholds:
Momentum Sensitivity (%): The threshold for a movement to be considered "Rising" or "Dumping".
Divergence Threshold: Set how strict the correlation must be before an alert is triggered.
Visualization Settings:
Show Ribbon: Toggle the 15-line ribbon on/off.
Ribbon Offset (ATR Mult): Adjust how far below the candles the ribbon is positioned (Default: 6.0).
Full Color Control: Change the colors individually for all four market statuses.
Dashboard Settings:
Show/Hide Dashboard: Toggle the real-time data table on/off.
Dashboard Size: Choose between Tiny, Small, and Normal.
Dashboard Position: Move the table to one of the 4 corners or the bottom center. Versatility: Beyond NQ/VIX
Although optimized for NQ/VIX by default, you can adjust this tool for other markets:
Examples:
Gold Traders: Set the ticker to DXY to monitor the pressure of the US dollar on gold.
Crypto Traders: Set the ticker to DXY or USDT.D to monitor the pressure on Bitcoin.
Equity Traders: Set the ticker to VVIX for a "Volatility of Volatility" lead indicator.
Disclaimer & Risk Warning
This indicator is intended solely for educational and informational purposes. It does not provide financial advice, trading signals, or any guarantee of profit.
Trading in the Nasdaq 100 (NQ), VIX, and related financial instruments carries significant risks of loss and is not suitable for every investor. This tool is a decision-making aid, not an automated trading system. Performance can vary significantly by asset and timeframe. Always use good risk management, such as stop-loss orders, and never trade with capital that you cannot afford to lose. Indicator

[ A L P H A X ] Bollinger/Keltner Volatility Pressure SystemAlphaX Volatility Pressure System — Bollinger/Keltner Squeeze Detection, Linear Regression Forecast, Multi-Confluence Band Touch Signals, Volatility Regime Classification & Institutional Dashboard
AlphaX Volatility Pressure System (VPS) is a professional-grade volatility analysis and signal system built on the interaction between Bollinger Bands and Keltner Channels — the foundation of squeeze-based trading. It combines a proprietary multi-layer squeeze engine, linear regression band forecasting, a six-factor confluence scoring system, and a comprehensive real-time dashboard into a single cohesive overlay. Designed and default-tuned for XAUUSD (Gold) on the 1-minute timeframe, fully adaptable to any instrument or timeframe.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📸 Visual Overview
The indicator displays Bollinger Bands as a gradient cloud, Keltner Channel boundaries as dotted lines, squeeze status dots on the basis line, a projected forecast envelope extending into the future, confidence-scored entry signals at band touches, mean reversion exit markers, and a full diagnostic dashboard — all in a clean, non-cluttered layout with a consistent yellow-green / red / gray color theme.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔬 The Volatility Pressure Architecture — How It Works
At the core of AlphaX VPS is the principle that volatility is cyclical — periods of compression (low volatility) are followed by periods of expansion (high volatility), and vice versa. The system detects exactly where you are in this cycle and provides actionable intelligence at every stage.
The system operates through seven integrated layers:
Layer 1 — Bollinger Bands (Volatility Envelope)
A Simple Moving Average (SMA) basis line with standard deviation bands above and below
Default: 30-period SMA with 2.2x multiplier — tuned for gold's micro-noise on 1-minute charts
The bands expand during volatile moves and contract during consolidation
Price touching or piercing the outer bands represents statistical extremes — potential reversal zones
The space between upper and lower bands is rendered as a gradient cloud that shifts color based on price position relative to the basis — yellow-green when price is above basis (bullish pressure), red when below (bearish pressure)
Layer 2 — Keltner Channels (ATR Volatility Wrapper)
An Exponential Moving Average (EMA) center line with Average True Range (ATR) bands
Default: 30-period EMA with 1.8x ATR multiplier using 20-period ATR — calibrated for gold
Keltner Channels represent the "normal" volatility range based on true range, while Bollinger Bands represent statistical deviation — the relationship between them reveals compression and expansion states
Plotted as subtle dotted lines at the channel boundaries for clean visual reference without chart clutter
Layer 3 — Squeeze Engine
Squeeze ON — detected when Bollinger Bands contract inside the Keltner Channel (BB upper < KC upper AND BB lower > KC lower). This means volatility has compressed below normal levels — a spring is being loaded
Squeeze Release — the first bar where BB breaks back outside KC after a squeeze period. This is the explosive moment where the compressed energy releases into a directional move
Squeeze status is displayed as colored dots on the BB basis line: red dots during active squeeze, yellow-green dots on squeeze release, gray dots during normal conditions
Squeeze Momentum — a John Carter-style linear regression calculation determines the direction of the squeeze release: bullish momentum (price likely to break upward) or bearish momentum (price likely to break downward)
Squeeze release events generate flash markers on the chart: "⚡ SQ↑" for bullish releases, "⚡ SQ↓" for bearish releases
The dashboard tracks how many of the last 20 bars were in squeeze state — prolonged squeezes (12+ bars) tend to produce the most explosive releases
Layer 4 — Linear Regression Forecast
A forward-looking projection of the Bollinger Band envelope using linear regression slopes
The system calculates the current slope of both the BB basis and the BB deviation, then projects them forward by the configured number of bars (default: 20 bars = 20 minutes on 1-minute chart)
The projection is smoothed using a weighted blend from current values to forecasted values, preventing jarring visual jumps
Displayed as a projected envelope with upper, basis, and lower forecast lines, plus a filled forecast cloud
Forecast color reflects projected direction: yellow-green if the basis is projected to rise, red if projected to fall
Price labels at the forecast endpoints show the projected upper and lower band values — giving you concrete target levels
A minimum bandwidth floor prevents the forecast from collapsing to zero during extreme compression
Layer 5 — Trend EMA
A 100-period Exponential Moving Average provides macro trend context
Color-coded: yellow-green when price is above (bullish structure), red when below (bearish structure)
The EMA slope direction (rising vs. falling over 3 bars) is factored into the confluence scoring system
Acts as a structural filter — signals aligned with the EMA trend receive bonus confidence, signals against it receive penalties
Layer 6 — RSI Filter
A 14-period Relative Strength Index provides momentum confirmation
Oversold threshold at 30, overbought at 70 — stricter than typical settings to filter gold noise
RSI must be in a supportive zone for signals to fire: below 45 for bullish signals, above 55 for bearish signals
Deeply oversold or overbought RSI readings contribute up to 15 points to the confluence score
Layer 7 — Volatility Regime Classification
The system continuously classifies the current market state into one of five regimes:
SQUEEZE 🔴 — BB inside KC, volatility compressed, spring loading
RELEASE ⚡ — first bar after squeeze ends, explosive move initiating
EXPANSION 📈 — bandwidth increasing and price trending directionally
COMPRESSION — bandwidth decreasing, volatility contracting
RANGING — no clear volatility trend, sideways movement
The current regime is displayed prominently in the dashboard and influences signal generation — signals during active squeeze are blocked entirely
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Signal System — Band Touch Signals
AlphaX VPS generates two types of chart signals: Entry Signals at band extremes and Exit Markers at mean reversion.
Entry Signals ( ⬆ / ⬇ )
Entry signals appear when price touches or pierces a Bollinger Band while multiple confluence factors align to confirm a high-probability reversal setup.
Bullish Entry (⬆) — a yellow-green label below the bar indicating a potential long opportunity:
Price touches or pierces the lower Bollinger Band
Confluence score meets the minimum confidence threshold (default: 60%)
RSI is below 45 (supportive of oversold bounce)
Volume is above average (institutional participation confirmed)
A swing low structure is present near the band (not just a random wick)
Candle shows bullish rejection — either a bullish close or a long lower wick (>50% of candle range)
Market is NOT in active squeeze (signals blocked during compression)
Cooldown period has elapsed since last bullish signal (default: 15 bars)
Bearish Entry (⬇) — a red label above the bar indicating a potential short opportunity:
Price touches or pierces the upper Bollinger Band
Confluence score meets the minimum confidence threshold
RSI is above 55 (supportive of overbought reversal)
Volume is above average
A swing high structure is present near the band
Candle shows bearish rejection — either a bearish close or a long upper wick
Market is NOT in active squeeze
Cooldown period has elapsed since last bearish signal
Each signal label displays the tier rating and confidence percentage :
S-Tier (80%+) — exceptional setup, maximum confluence — highest probability
A-Tier (70–79%) — strong setup, most factors aligned
B-Tier (60–69%) — decent setup, adequate confluence for a trade with proper risk management
Signals below B-Tier are automatically filtered out and never displayed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Exit Markers ( ✕ )
After an entry signal fires, the system tracks position direction and monitors for mean reversion to the BB basis line :
Long Exit ✕ — appears when price crosses back above the BB basis after a bullish entry, indicating the mean reversion target has been reached
Short Exit ✕ — appears when price crosses back below the BB basis after a bearish entry, indicating the mean reversion target has been reached
Exit markers serve as profit-taking signals — the statistical edge of a band touch trade is the reversion to the mean (basis line). Once price reaches the basis:
Take partial or full profit
Tighten stop loss to breakeven
Wait for the next band touch signal before re-entering
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧠 Multi-Confluence Confidence Scoring System
Every entry signal is evaluated by a real-time scoring engine that produces a confidence percentage from 0% to 100%. This is not a simple threshold check — it is a weighted multi-factor assessment that rewards alignment and penalizes contradiction.
Scoring Factors — Bullish Signals:
Band Touch Quality (up to 20 points)
How deeply price pierced the lower Bollinger Band
Pierce depth >5% of band width = 20 points (strong penetration)
Any pierce = 15 points
Near-touch (within 0.1%) = 10 points
%B Position (up to 10 points)
Bollinger %B measures where price sits within the band range (0 = lower band, 1 = upper band)
%B below 0 (outside lower band) = 10 points
%B below 0.05 = 8 points
%B below 0.15 = 5 points
RSI Depth (up to 15 points)
RSI below 20 = 15 points (deeply oversold)
RSI below 25 = 12 points
RSI below 30 = 10 points
RSI below 40 = 3 points
EMA Trend Alignment (up to 10 points)
Price above 100 EMA AND EMA slope rising = 10 points (full alignment)
Price above 100 EMA only = 5 points
Squeeze Release Confluence (up to 10 points)
Squeeze just released with bullish momentum = 10 points (explosive setup)
Bullish squeeze momentum without active squeeze = 5 points
Candle Rejection Pattern (up to 10 points)
Long lower wick (>50% of range) + bullish close = 10 points (textbook rejection)
Long lower wick only = 7 points
Bullish close only = 3 points
Volume Confirmation (up to 10 points)
Above-average volume + bullish close = 10 points (institutional buying)
Above-average volume only = 5 points
MACD Momentum (up to 8 points)
MACD line above signal line OR histogram rising for 2+ bars = 8 points
200 SMA Structure (up to 7 points)
Price above 200 SMA = 7 points (macro trend support)
Penalty Deductions:
Price BELOW EMA trend = -15 points (counter-trend signal)
RSI above 55 = -12 points (momentum doesn't support reversal)
Active squeeze = -8 points (wait for release)
Expanding but directionless = -5 points
No volume spike when volume filter enabled = -5 points
Bearish candle rejection present = -10 points (wrong candle structure)
The same structure applies to bearish signals with inverted logic — upper band touch, overbought RSI, price below EMA, bearish rejection candles, etc.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛡 Signal Quality Gates — Why This Indicator Produces Clean Signals
Beyond the confidence score, every signal must pass through six independent quality gates before it can appear on the chart. If any single gate fails, the signal is blocked entirely — regardless of the confidence score:
Gate 1 — Band Touch Gate
Price must actually reach or pierce the Bollinger Band (within 0.1%)
Signals near the middle of the bands are impossible — only statistical extremes qualify
Gate 2 — RSI Zone Gate
Bullish signals require RSI below 45
Bearish signals require RSI above 55
This prevents signals when momentum is neutral or contradictory
Gate 3 — Volume Gate
Volume must exceed the 20-period volume moving average multiplied by 1.2x
Low-volume band touches are often noise — this gate requires institutional participation
Can be toggled off for instruments with unreliable volume data
Gate 4 — Swing Structure Gate
A swing low must be present within the last 3 bars for bullish signals (price formed a local bottom)
A swing high must be present within the last 3 bars for bearish signals (price formed a local top)
This prevents signals on through-band breakdowns where price is accelerating through the band, not bouncing off it
Can be toggled off for faster signal generation
Gate 5 — Candle Confirmation Gate
Bullish signals require either a bullish candle close (close > open) or a bullish rejection wick (lower wick > 50% of total range)
Bearish signals require either a bearish candle close or a bearish rejection wick
This confirms that price is actually rejecting the band level, not just touching it on the way through
Gate 6 — Squeeze Block Gate
No signals fire during active squeeze (BB inside KC)
During squeeze, volatility is compressed and band touches are unreliable — the bands themselves are artificially narrow
Signals resume after squeeze releases
Gate 7 — Cooldown Gate
A minimum of 15 bars (15 minutes on 1-minute chart) must elapse between signals of the same direction
Prevents signal spam during choppy band-walking conditions
This seven-gate architecture is why AlphaX VPS produces significantly fewer but higher-quality signals compared to basic Bollinger Band indicators.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Identifying Choppy / Ranging Markets — When NOT to Trade
Knowing when to stay out is just as important as knowing when to enter. AlphaX VPS provides multiple visual cues for choppy, range-bound conditions:
How to identify choppy conditions:
BB Cloud is extremely narrow — when the Bollinger Bands contract tightly, the cloud between upper and lower bands becomes paper-thin. Narrow bands = low volatility = no clean directional moves.
Squeeze dots are RED for extended periods — prolonged red dots on the basis line mean BB is trapped inside KC. While this predicts an eventual explosive move, trading during the squeeze is a losing strategy. Wait for the yellow-green release dot.
Forecast cloud is flat and narrow — if the projected envelope shows no significant expansion or directional slope, the system expects continued compression. No expansion forecast = no trade.
Regime dashboard shows "COMPRESSION" or "RANGING" — the volatility regime classifier explicitly tells you the current state. These regimes have the lowest signal quality.
No signals appearing despite price touching bands — this means the quality gates are doing their job. If you see band touches but no labels, the confluence score is too low or a gate is blocking. Trust the filter.
EMA (100) is flat and price is oscillating around it — no trend, no edge.
Basis distance in dashboard shows very small percentage — price is hugging the basis line, meaning there is no stretched rubber band to snap back. Mean reversion trades need extension first.
What to do during choppy markets:
Do not force trades — wait for squeeze release (yellow-green dot + ⚡ marker)
Watch for the forecast cloud to start expanding and tilting directionally
Monitor the regime dashboard — wait for "RELEASE ⚡" or "EXPANSION 📈" to appear
Consider moving to a higher timeframe where structure may be clearer
Use the squeeze bar counter in the dashboard — once squeeze bars reach 12+/20, the release is likely imminent
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 How to Trade with AlphaX VPS — Step by Step
Step 1 — Assess Market Regime
Check the dashboard REGIME field: Is it EXPANSION, COMPRESSION, SQUEEZE, or RANGING?
Check the Bollinger Band cloud width: Is it expanded or collapsed?
Check squeeze dots: Red = stay out. Gray = normal. Yellow-green = just released.
If the regime is SQUEEZE or COMPRESSION → do not trade. Wait for RELEASE or EXPANSION.
Step 2 — Monitor the Forecast
Look at the projected envelope ahead of current price
Is the forecast expanding or narrowing? What direction is the basis slope?
A widening forecast with a clear directional slope tells you where the bands are heading
The forecast upper and lower price labels give you concrete projected targets
Step 3 — Wait for a Band Touch Signal
Do not chase price in the middle of the bands — wait for price to reach an extreme
A ⬆ or ⬇ label will appear only when all seven quality gates pass and the confidence score meets your threshold
The label shows the tier (S/A/B) and exact confidence percentage — use this to size your position (higher confidence = larger size)
Step 4 — Enter the Trade
Enter on the signal bar's close (signals are confirmed on bar close, non-repainting)
Place your stop loss beyond the Bollinger Band that was touched (for bullish: below the lower band, for bearish: above the upper band)
Your profit target is the BB basis line (mean reversion target) — the system will mark this with a ✕ when reached
Step 5 — Manage and Exit
Watch for the ✕ exit marker — this appears when price crosses back to the BB basis
Take partial or full profit at the basis line
If price continues past the basis toward the opposite band, you can trail your stop using the basis line as your new stop level
If a new signal appears in the same direction before the exit triggers, it can be used to add to the position
Step 6 — Squeeze Release Trades (Advanced)
When you see the "⚡ SQ↑" or "⚡ SQ↓" release marker, this is a momentum breakout setup
The squeeze release direction (bull/bear) is determined by the squeeze momentum calculation
Enter in the direction of the release
These moves tend to be explosive — use wider stops and larger targets than mean reversion trades
The forecast projection will often show an expanding envelope in the direction of the release — use the forecast band endpoints as extended targets
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 Real-Time Dashboard — Complete Market Intelligence
The dashboard provides a comprehensive snapshot of every metric the system monitors, organized into five sections:
─── VOLATILITY ───
REGIME — Current volatility state (Squeeze / Release / Expansion / Compression / Ranging) with color-coded background
BANDWIDTH — Current BB width as percentage of basis, colored relative to its 50-period average (narrow = green/opportunity, wide = red/extended)
BB %B — Where price sits within the bands (0% = lower band, 100% = upper band). Extreme readings are color-highlighted
SQUEEZE BARS — How many of the last 20 bars were in squeeze (higher = more compressed = bigger expected release)
KC RELATION — Whether BB is inside KC (squeeze), above KC (expansion), or near KC (transition)
─── MOMENTUM ───
RSI — Current RSI value with zone label (OB/OS/HIGH/LOW/MID) and appropriate coloring
EMA — Trend direction based on price vs. 100 EMA and EMA slope (▲ BULL / ▲ RISING / ▼ BEAR / ▼ FALLING)
SQ MOMENTUM — Squeeze momentum direction and strength (▲▲ STRONG UP / ▲ RISING / ▼▼ STRONG DOWN / ▼ FALLING / — FLAT)
MACD — MACD momentum status (▲ BULLISH / ▼ BEARISH / — NEUTRAL)
VOLUME — Whether current volume exceeds the moving average threshold (▲ ABOVE AVG / — NORMAL)
─── CONFIDENCE ───
BULL CONF — Current bullish confluence score with tier rating (S-TIER / A-TIER / B-TIER / C-TIER / LOW)
BEAR CONF — Current bearish confluence score with tier rating
These update in real-time so you can see confluence building before a signal fires
─── FORECAST ───
BASIS SLOPE — Direction the BB basis is heading (▲ RISING / ▼ FALLING / — FLAT)
BAND FORECAST — Whether bands are projected to widen (▲ WIDENING) or narrow (▼ NARROWING) or remain stable
─── STRUCTURE ───
SMA 200 — Price position relative to 200 SMA (▲ ABOVE / ▼ BELOW) — macro trend context
─── TRADE STATE ───
POSITION — Current tracked position direction (▲ LONG / ▼ SHORT / — FLAT) with color-coded background
BASIS DISTANCE — How far price is from the BB basis as a percentage — measures extension and mean reversion potential
Dashboard position (Top Left / Top Right / Bottom Left / Bottom Right) and text size (Tiny / Small / Normal) are configurable.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚡ Key Features
📊 Bollinger Bands with gradient trend cloud — instant visual of price position within the volatility envelope
🔷 Keltner Channels with ATR-based boundaries — the volatility reference for squeeze detection
🔴 BB/KC Squeeze Engine — detects compression, tracks squeeze duration, classifies release direction
⚡ Squeeze Release Flash Markers — "⚡ SQ↑" and "⚡ SQ↓" labels mark the explosive moment
🔭 Linear Regression Forecast — projects the band envelope forward with directional slope and price targets
🎯 Multi-confluence band touch signals — six-factor scoring with seven independent quality gates
📐 Volume filter — requires above-average volume for signal confirmation (toggleable)
🏗 Swing structure filter — requires local swing formation near bands (toggleable)
🕯 Candle rejection analysis — wick ratio and close direction confirmation
📈 MACD momentum integration — histogram trend confirmation within the scoring system
📏 200 SMA macro structure — long-term trend context for scoring
📐 100 EMA trend filter — intermediate trend direction and slope analysis
✕ Mean reversion exit markers — automatic profit target detection at the BB basis
🏷 Tiered signal labels — S / A / B tier with confidence percentage for position sizing decisions
📋 22-row real-time dashboard — complete market intelligence across volatility, momentum, confidence, forecast, structure, and trade state
🎨 Cohesive dual-tone color theme — yellow-green for bullish, red for bearish, orange for neutral, gray for inactive
🔔 11 alert conditions — S-Tier, A-Tier, and any-tier for both bull and bear, plus squeeze releases and exits
⚙ Fully configurable — all periods, multipliers, thresholds, colors, gates, and dashboard settings adjustable from the settings panel
🚫 No candle coloring — clean chart by default, your candles remain untouched
📏 Non-repainting — all signals confirmed on bar close
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙ Settings Reference
📊 Bollinger Bands
BB Length — SMA period for the basis line (default: 30)
BB Multiplier — standard deviation multiplier for band width (default: 2.2)
Source — price source for calculations (default: close)
Show BB Cloud — toggle the gradient band fill
🔷 Keltner Channel
KC Length — EMA period for the center line (default: 30)
KC ATR Multiplier — ATR multiplier for channel width (default: 1.8)
KC ATR Length — ATR calculation period (default: 20)
Show KC Lines — toggle Keltner boundary display
⚡ Squeeze
Show Squeeze Dots — toggle colored dots on the basis line
Alert on Squeeze Release — enable squeeze release alerts
🔭 Forecast
Show Regression Forecast — toggle the projected envelope
Forecast Bars — how many bars forward to project (default: 20)
🎯 Signals
Show Band Touch Signals — master toggle for entry labels
Min Confidence % — minimum confluence score required (default: 60%)
Signal Cooldown — minimum bars between same-direction signals (default: 15)
Show Mean Reversion Exits — toggle ✕ exit markers
📈 RSI Filter
RSI Length — calculation period (default: 14)
RSI Oversold — threshold for oversold scoring bonus (default: 30)
RSI Overbought — threshold for overbought scoring bonus (default: 70)
📐 EMA Trend Filter
Show Trend EMA — toggle the 100 EMA display
EMA Length — EMA period (default: 100)
📊 Volume Filter
Use Volume Confirmation — enable/disable volume gate (default: ON)
Volume Threshold Multiplier — how far above average volume must be (default: 1.2x)
Volume MA Length — period for volume moving average (default: 20)
🏗 Structure Filter
Use Swing Structure Filter — enable/disable swing gate (default: ON)
Swing Lookback — bars to check for swing formation (default: 3)
🎨 Colors
Bull Primary — yellow-green family for all bullish elements
Bear Primary — red family for all bearish elements
Basis / Neutral — orange for basis and neutral elements
Squeeze ON / OFF / Neutral — dot colors for squeeze states
Forecast Bull / Bear — projection envelope colors
Dashboard BG / Text / Neutral — dashboard styling
📋 Dashboard
Show Dashboard — master toggle
Position — corner placement (default: Top Right)
Text Size — Tiny / Small / Normal (default: Small)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 Alert Conditions
S-Tier Bull Band Touch — fires when a bullish signal with 80%+ confidence appears
A-Tier Bull Band Touch — fires when a bullish signal with 70–79% confidence appears
Any Bull Band Touch — fires on any bullish signal meeting minimum threshold
S-Tier Bear Band Touch — fires when a bearish signal with 80%+ confidence appears
A-Tier Bear Band Touch — fires when a bearish signal with 70–79% confidence appears
Any Bear Band Touch — fires on any bearish signal meeting minimum threshold
Any Band Touch Signal — fires on any entry signal regardless of direction
Squeeze Release — Bullish — fires on bullish squeeze release
Squeeze Release — Bearish — fires on bearish squeeze release
Any Squeeze Release — fires on any squeeze release
Long Exit — Mean Reversion — fires when a long position reaches the BB basis
Short Exit — Mean Reversion — fires when a short position reaches the BB basis
All alert messages include {{ticker}}, {{interval}}, and {{close}} placeholders for webhook integration.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 Default Settings — Optimized For
The default configuration is specifically tuned for XAUUSD (Gold) on the 1-minute timeframe :
BB Length 30 and Multiplier 2.2 — smooths gold's micro-noise and widens bands to reduce false touches
KC Length 30 and ATR Multiplier 1.8 — matched to BB for proper squeeze detection on gold
Confidence threshold at 30% — aggressively filters low-quality signals while keeping genuine setups
Cooldown at 4 bars (4 minutes) — prevents signal spam during volatile gold transitions
Volume filter enabled with 1.2x threshold — confirms institutional participation
Swing structure filter enabled — requires actual price structure, not random wicks
100 EMA provides ~1.5 hours of trend context on 1-minute
20-bar forecast projects 20 minutes ahead — practical for scalping decisions
For other instruments or timeframes, adjust:
Higher timeframes (5m, 15m, 1H) — reduce BB Length to 20–25, reduce confidence to 45–55%, increase forecast bars to 30–50
Forex majors (EURUSD, GBPUSD) — reduce BB Multiplier to 2.0, reduce KC ATR Multiplier to 1.5, keep confidence at 50–60%
Indices (NAS100, US30, SPX500) — use defaults or increase BB Length to 35–40 for broader structure
Crypto (BTCUSD, ETHUSD) — increase BB Multiplier to 2.5, increase cooldown to 20–25 bars due to higher volatility
Less noise / fewer signals — increase Min Confidence to 70%+, increase Cooldown, enable all gates
More signals / aggressive scalping — decrease Min Confidence to 40–50%, reduce Cooldown to 8–10, disable Swing Structure gate
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
👥 Who This Is For
🥇 Gold (XAUUSD) scalpers and intraday traders — built and default-tuned specifically for gold's volatility, noise profile, and session structure
📊 Bollinger Band traders — if you trade band touches and mean reversion, this system adds institutional-grade filtering to your existing strategy
⚡ Squeeze traders — the BB/KC squeeze engine with momentum direction and release markers provides a complete squeeze trading system
📉 Forex and index traders — applicable to all major instruments with minor setting adjustments
🧠 Systematic traders — the confidence scoring system provides a quantitative framework for position sizing and trade selection
📈 Traders who value clean charts — no indicator clutter, no candle painting, no overlapping signals. One cohesive system with consistent color coding
⚠ Traders who struggle with overtrading — the seven quality gates physically prevent low-quality signals from appearing. You cannot overtrade what you cannot see
🔭 Forward-looking traders — the regression forecast gives you a projected roadmap that most indicators do not provide
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Notes
All calculations are non-repainting — signals are confirmed on bar close only
The linear regression forecast updates on each new bar — the projection is a mathematical estimate, not a guarantee of future price action
Volume filter uses the volume data provided by your broker/data feed — for instruments or exchanges with unreliable volume, consider disabling the volume gate
The 200 SMA used in scoring requires 200 bars of history to calculate — on very short chart histories, this factor may not contribute to early signals
Maximum 500 labels per chart are supported by PulseWire — on very low timeframes with extended history, oldest labels may be automatically removed
The forecast polyline uses PulseWire's polyline drawing objects — a maximum of 100 polylines are allocated
Dashboard uses a table object that updates on the last bar — it reflects real-time values on live charts
Squeeze momentum calculation uses the John Carter method — linear regression of the midline-basis deviation over the BB length
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Disclaimer
This indicator is a technical analysis and visualization tool intended for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any financial instrument. All signals are generated from historical and real-time price data using mathematical calculations — their accuracy or profitability is not guaranteed. Past performance of any signal type does not guarantee future results. Always conduct your own analysis, use proper risk management, and consult a licensed financial advisor before making any trading decisions. The author accepts no responsibility for any losses incurred from the use of this indicator.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Built for traders who demand clarity, precision, and institutional-grade filtering from their volatility analysis. Indicator

VolProfex Volatility Time Window AnalyzerVolProfex Volatility Time Window Analyzer (VPX VTWA) analyzes intraday volatility across user-defined time windows within a trading session. It displays a table ranking windows by average and median move size (price % or ATR multiples), using historical data over a lookback period, with optional trend quality filtering out choppy periods using Directional Efficiency Ratio (Kaufman ER).
Session
Session (HHMM-HHMM): Defines trading session in exchange local time (e.g., 0930-1600 for NYSE/NASDAQ).
Session Timezone: Selects timezone handling DST automatically (e.g., America/New_York).
Calculation
Analysis Window (min): Time slot size for table display (options: 5,10,15,30,60,120,240).
Intrabar Resolution (min): Lower TF for accurate intrabar data (options: 1,2,3,5,10,15,30); smaller = better precision, longer load.
Lookback Days: Recent days analyzed (1-5000, default 1000).
Move Method: High-Low Range (absolute) or Open-to-Close (directional).
ATR Normalisation: ON shows moves as ATR multiples for regime-independent comparison.
ATR Period: ATR lookback (1-200, default 14).
Trend Quality Filter
Enable Trend Quality Filter: Excludes choppy windows based on efficiency ratio.
Min Trend Quality (%): Threshold (0-100, default 30); higher = stricter directional moves.
Consolidation
Enable Consolidation: Shows top N individually, groups rest.
Show Top N Individually: Highest-vol windows at full detail (1-100, default 10).
Group Remaining Into (min): Block size for lower-vol averages (options: 5,10,15,30,60,120).
Display
Highlight Top N Rows: Green highlight count (1-10, default 3).
Table Position: Corner placement.
Text Size: Table font (Tiny,Small,Normal,Large).
Indicator

Adaptive Ichimoku Nexus [WillyAlgoTrader]☁️ Adaptive Ichimoku Nexus — a modern approach to the legendary all-time indicator Ichimoku Kinko Hyo. This overlay indicator replaces the fixed periods of the classic Ichimoku system with a volatility-adaptive engine that dynamically scales Tenkan-Sen, Kijun-Sen, and Senkou Span B lookback periods based on current market conditions. Every TK cross signal is scored by an 8-factor confluence engine (0–100) that combines all five Ichimoku dimensions with volume, momentum pulse, and momentum acceleration. The indicator also includes a dedicated Kumo breakout engine with retest detection, three Ichimoku-anchored SL modes with R:R-based TP levels, and a multi-timeframe Ichimoku alignment panel — creating a complete trading system built entirely on Ichimoku principles enhanced with adaptive intelligence.
Ichimoku Kinko Hyo was designed in the 1930s with fixed periods (9/26/52) calibrated for the Japanese trading week. These periods remain the default worldwide, but modern markets are faster, more volatile, and trade 24/7. A fixed 26-period Kijun-Sen responds identically whether the market is in a tight range or a momentum breakout — producing late signals in trends and whipsaws in consolidation.
This indicator preserves the complete Ichimoku structure — all five lines, the cloud, and the displacement — while making the periods responsive to current volatility. In high-volatility environments, all three Donchian-based periods shorten → the Tenkan reacts faster, the Kijun adapts sooner, the cloud thins and pivots quicker. In low-volatility consolidation, the periods lengthen → noise is filtered, fewer false TK crosses, thicker cloud provides stronger S/R. The entire Ichimoku system breathes with the market.
🧩 WHY THESE COMPONENTS WORK TOGETHER
Classic Ichimoku already integrates five components into one system: Tenkan-Sen (momentum), Kijun-Sen (trend), Senkou Span A/B (future S/R), and Chikou Span (lagging confirmation). The genius of Ichimoku is that these five dimensions are designed to confirm each other — a "5/5 alignment" is one of the strongest signals in technical analysis.
This indicator enhances the system at three levels:
Level 1 — Adaptive periods: The volatility engine scales all three Donchian-based components (Tenkan, Kijun, Span B) proportionally, preserving the Ichimoku ratios while adapting the speed. This means the relationship between Tenkan and Kijun (the core signal mechanism) stays consistent — they just both become faster or slower together.
Level 2 — Confluence scoring: Instead of manually checking "Is Tenkan above Kijun? Is price above cloud? Is Chikou confirming?" — the 8-factor engine quantifies every Ichimoku dimension plus volume and momentum into a single 0–100 score. A score of 85 means virtually every Ichimoku component plus momentum and volume agrees. A score of 35 means the signal is conflicted — skip it.
Level 3 — Structural TP/SL: The Kumo edge and Kijun-Sen are natural Ichimoku support/resistance levels. Using them as stop-loss anchors (instead of arbitrary ATR multiples) produces structurally meaningful stops that respect the same framework generating the signals.
Level 4 — Momentum Pulse: Classic Ichimoku has no built-in momentum acceleration measure. The Momentum Pulse engine quantifies how fast the TK spread is changing and which direction the future cloud is rotating — capturing the urgency behind each signal.
Without adaptive periods, the system is rigid. Without scoring, you must manually assess 5+ factors. Without structural SL, your risk management ignores Ichimoku's own S/R levels. Without the Momentum Pulse, you can't distinguish between a strong and a fading TK cross. Each layer adds a dimension that classic Ichimoku lacks.
🔍 WHAT MAKES IT ORIGINAL
1️⃣ Volatility-adaptive Ichimoku periods.
When Adaptive mode is on, each Donchian midline (Tenkan, Kijun, Span B) uses a volatility-scaled period:
adaptedPeriod = basePeriod × (1 + strength × (1 − 2 × volRatio))
Where volRatio = (currentATR − lowestATR) / (highestATR − lowestATR) over the volatility lookback (default 50 bars), normalized to 0–1.
When volRatio → 1 (high volatility): adaptedPeriod = basePeriod × (1 − strength) — periods shorten
When volRatio → 0 (low volatility): adaptedPeriod = basePeriod × (1 + strength) — periods lengthen
The Adapt Strength parameter (default 0.4 = ±40%) controls the range of scaling. With basePeriod=26 and strength=0.4: periods range from 16 (high vol) to 36 (low vol). Each adapted period is clamped to a valid range and fed into the standard Donchian midline formula: (highest(high, period) + lowest(low, period)) / 2.
This means all five Ichimoku lines (Tenkan, Kijun, Senkou A, Senkou B, Chikou) adapt proportionally — the system remains internally consistent. In Classic mode, the standard fixed periods are used unchanged.
2️⃣ 8-factor confluence scoring engine (0–100).
Every bar computes both a bullish and bearish score from 8 factors:
— 📐 Price vs Cloud (20 pts) : above cloud = 20, inside = 8, below = 0 (bull). Symmetric for bear. The cloud is the strongest S/R in Ichimoku.
— ⚡ TK alignment (15 pts) : Tenkan > Kijun = 15 (bull). The core Ichimoku momentum signal.
— 👁️ Chikou confirmation (15 pts) : Chikou Span above price at displaced position = 15 (bull). The lagging confirmation.
— ☁️ Cloud direction (10 pts) : Span A slope > Span B slope = 10 (bull). Future cloud turning bullish indicates trend momentum.
— 📏 Kumo thickness (8 pts) : thick cloud = 8, thin cloud = 2. Thick cloud provides stronger S/R backing.
— 📈 Volume (10 pts) : volume > SMA(20) × 1.2 = 10. Confirms institutional participation.
— 💪 Momentum alignment (12 pts) : Momentum Pulse > 20 = 12, > 0 = 6. Strong momentum behind the signal.
— 🚀 Momentum acceleration (10 pts) : Momentum Pulse rising = 10. Trend is accelerating, not fading.
Max score = 100. Signals require score ≥ Min Confluence Score (default 50). Grades: Strong (≥ 80), Standard (≥ 50), Weak (< 50).
3️⃣ Momentum Pulse engine (−100 to +100).
A composite momentum measure built from three Ichimoku-derived components:
— TK spread normalized by ATR (weight 40): tkSpreadNorm = (Tenkan − Kijun) / ATR. Measures how far apart the momentum and trend lines are relative to volatility.
— TK spread acceleration (weight 100): tkSpreadNorm − tkSpreadNorm . Measures how fast the spread is changing — captures momentum buildup.
— Cloud slope differential (weight 30): (ΔSpanA − ΔSpanB) / ATR over 5 bars. Measures whether the future cloud is rotating bullish or bearish.
Combined: momentumPulse = tkSpread×40 + tkAcceleration×100 + cloudSlope×30, clamped to , smoothed with EMA(5). States: Accelerating (rising + positive), Bull Fading (falling + positive), Bear Accelerating (falling + negative), Bear Fading (rising + negative).
4️⃣ Three Ichimoku-anchored SL modes.
Stop-loss placement uses Ichimoku structure:
— Kumo Edge (default): SL at the nearest cloud boundary (kumoBot for longs, kumoTop for shorts) + ATR buffer. The cloud is Ichimoku's primary S/R — placing the stop here means your stop is at the strongest structural level in the framework.
— Kijun : SL at the Kijun-Sen ± ATR buffer. The Kijun is Ichimoku's equilibrium line — price tends to return to it.
— ATR : SL at entry ± 2× ATR. Pure volatility-based fallback.
TP1/TP2/TP3 are R:R multiples of the risk distance (default 1.5/2.5/4.0). A minimum risk distance of 0.5× ATR is enforced.
5️⃣ Kumo breakout engine with retest detection.
Detects when price closes above the cloud (was below or inside on the previous bar) with volume confirmation:
— kumoBreakUp: close > kumoTop AND previous close ≤ kumoTop AND volume > SMA(20) × breakoutMultiplier
— kumoBreakDown: close < kumoBot AND previous close ≥ kumoBot AND same volume condition
After a breakout, a retest signal fires if within 10 bars, price touches the cloud edge and closes back on the breakout side — confirming the cloud has flipped from resistance to support (or vice versa). Retest signals appear as small circles distinct from the larger diamond breakout markers.
6️⃣ Kijun-Sen S/R zone detection.
When the Kijun-Sen has been flat for 4+ consecutive bars and then starts moving, the flat level is marked as a support/resistance zone (shaded box ± 0.15× ATR). Flat Kijun is a well-known Ichimoku S/R concept — price tends to be attracted to flat Kijun levels. The indicator automates this detection and visualization.
7️⃣ Multi-timeframe Ichimoku alignment panel.
Three configurable timeframes (default 15M/1H/4H) each compute a full Ichimoku state using the classic periods:
— Bull ● : close > cloud AND Tenkan > Kijun
— Bear ● : close < cloud AND Tenkan < Kijun
— Neutral ○ : anything else
The panel shows per-TF alignment plus a summary: ALL BULL ✓ (all 3 TFs bullish), ALL BEAR ✓ (all 3 bearish), or Mixed. All MTF data uses + lookahead_on for non-repainting.
⚙️ HOW IT WORKS — CALCULATION FLOW
Step 1 — Volatility measurement: ATR(14) is normalized to 0–1 by its position within the recent high-low range over the volatility lookback.
Step 2 — Period adaptation: Each base period (9/26/52) is scaled by the adapt strength and vol ratio. High vol → shorter periods, low vol → longer. Classic mode bypasses this.
Step 3 — Ichimoku calculation: Tenkan = Donchian midline (adapted period). Kijun = Donchian midline (adapted period). Senkou A = avg(Tenkan, Kijun). Senkou B = Donchian midline (adapted period). Chikou = source price. Cloud displaced forward by displacement bars.
Step 4 — Kumo at current bar: Span A and Span B are read at displacement offset to get the current cloud boundaries. Thickness, price position (above/below/inside), and thin-cloud status are computed.
Step 5 — Momentum Pulse: TK spread, spread acceleration (vs 3 bars ago), and cloud slope differential — combined and EMA-smoothed.
Step 6 — Confluence scoring: 8 factors evaluated. Bull and bear scores computed independently.
Step 7 — Signals: TK cross + score threshold + enabled filters (Kumo thickness, volume, Chikou) → confirmed buy/sell. Kumo breakout: cloud boundary cross + volume surge → breakout signal. Retest: cloud edge touch within 10 bars of breakout.
Step 8 — TP/SL: SL from Kumo edge / Kijun / ATR mode. TPs as R:R multiples. TP/SL hits tracked per trade.
📖 HOW TO USE
🎯 Quick start:
1. Add the indicator — the Ichimoku cloud and lines appear (adaptive by default)
2. "Long 78%" / "Short 65%" labels = TK cross signals with confluence score
3. ☁▲ / ☁▼ diamonds = Kumo breakout signals
4. Entry, SL, TP1–TP3 lines appear on each signal
5. Check the MTF panel for multi-timeframe alignment
👁️ Reading the chart:
— 🔵 Blue line = Tenkan-Sen (conversion, fast)
— 🔴 Pink line = Kijun-Sen (base, slow)
— 🟠 Orange line (displaced back) = Chikou Span
— 🟩🟥 Cloud fill = Kumo (green bullish, red bearish)
— 🟢 "Long XX%" label = confirmed bullish TK cross with score
— 🔴 "Short XX%" label = confirmed bearish TK cross with score
— 💎 Cyan diamond = Kumo breakout (☁▲ up / ☁▼ down)
— ⚫ Small circle = Kumo edge retest
— 🟪 Shaded zone = flat Kijun S/R area
— 🔵 Blue line = entry, 🔴 red = SL, 🟢 green = TP1/TP2/TP3
📊 Dashboard fields:
— Mode: Adaptive / Classic
— Trend: Bullish / Bearish / Neutral (price vs cloud + TK alignment)
— Signal: last signal with bars elapsed
— Score: confluence percentage with color grade
— Momentum: Pulse state + value (Accelerating / Bull Fading / Bear Accel / etc.)
— Cloud: price position (Above / Below / Inside / Thin)
— Trade: TP/SL progress (→ TP1, TP1 ✓ → TP2, TP3 ✓ Closed, SL ✗ Closed)
— MTF: 3-timeframe Ichimoku alignment + summary (ALL BULL / ALL BEAR / Mixed)
— Version
🔧 Tuning guide:
— Too many weak signals: increase Min Score (60–80), enable all filters
— Missing signals: decrease Min Score (30–40), disable Chikou filter
— Adaptive too aggressive: decrease Adapt Strength (0.2–0.3) or increase Volatility Lookback (100+)
— Want classic Ichimoku: switch to Classic mode — pure 9/26/52 with scoring and TP/SL
— Stops too tight: increase SL ATR Buffer (0.7–1.0) or switch to ATR SL mode
— Scalping: Conversion 5, Base 13, Span B 26, Displacement 13, Min Score 40
— Swing: Conversion 12, Base 34, Span B 68, Displacement 34, Min Score 65
⚙️ KEY SETTINGS REFERENCE
⚙️ Main:
— Calculation Mode (default Adaptive): Adaptive / Classic
— Conversion/Base/Span B/Displacement (default 9/26/52/26)
🔄 Adaptive Engine:
— Volatility Lookback (default 50): ATR normalization window
— Adapt Strength (default 0.4): period scaling range (±40%)
🔍 Filters:
— Min Confluence Score (default 50): 0–100 threshold
— Kumo Thickness Filter (default On): suppress in thin cloud
— Volume Filter (default On): auto-disabled on forex
— Chikou Confirmation (default On): require lagging span alignment
🎯 Smart TP/SL:
— SL Mode (default Kumo Edge): Kumo Edge / Kijun / ATR
— SL ATR Buffer (default 0.5): padding beyond SL level
— TP1/TP2/TP3 R:R (default 1.5/2.5/4.0)
💥 Kumo Breakout:
— Breakout Vol Mult (default 1.3): volume surge requirement
— Show Retest Signals (default On): cloud edge retest detection
🔄 Multi-Timeframe:
— TF 1/2/3 (default 15/60/240): configurable timeframes
🔔 Alerts
— 🟢 BUY / 🔴 SELL — TK cross with score, SL, TP1–TP3
— ☁️▲ KUMO BREAK UP / ☁️▼ KUMO BREAK DOWN
— 🎯 TP1 HIT / 🛑 SL HIT
All support plain text and JSON webhook format. Bar-close confirmed.
⚠️ IMPORTANT NOTES
— 🚫 No repainting. All TK cross signals and Kumo breakouts require barstate.isconfirmed. MTF data uses + lookahead_on. A warmup period (Span B + displacement, minimum 80 bars) prevents signals during insufficient data.
— ☁️ This preserves the complete Ichimoku structure. All five lines, the cloud, displacement, and Chikou are computed exactly as Ichimoku specifies — the only change is that in Adaptive mode, the three Donchian periods scale with volatility. Switching to Classic mode produces a standard Ichimoku with no modifications.
— 📐 The adaptive engine scales all three periods proportionally using the same vol ratio and strength. The relationship between Tenkan (fast) and Kijun (slow) is preserved — they don't drift independently.
— ⚖️ The confluence score is Ichimoku-native . Six of eight factors (price vs cloud, TK alignment, Chikou, cloud direction, Kumo thickness, momentum) are derived directly from Ichimoku components. Only volume and momentum acceleration are external additions.
— 📊 The Momentum Pulse is not a standalone oscillator — it's derived from TK spread dynamics and cloud rotation, both Ichimoku-native measurements. It quantifies what experienced Ichimoku traders assess visually: "Is this TK cross strong and accelerating, or weak and fading?"
— 🔄 Kumo breakout retest detection uses a 10-bar window after the initial breakout. Retests beyond 10 bars are not tracked.
— 🛠️ This is a signal and analysis tool , not an automated trading bot. It enhances Ichimoku with adaptive periods, scoring, and risk management — trade decisions remain yours.
— 🌐 Works on all markets and timeframes. Volume filter auto-disables on instruments without volume data. Indicator

Gravity Reactor [by Oberlunar]Gravity Reactor is a structural trading engine built around one central idea: price does not move only in trend or only in reversion, but continuously oscillates around a dynamic gravity center. This center is computed from the fast/mid/slow moving-average stack, and the script measures the gravity gap as the ATR-normalized distance between price and that centroid. From there, the model evaluates whether the market is in compression, directed expansion, or overstretched displacement.
The rationale is to distinguish between two very different situations that are often confused by conventional indicators. A move away from gravity can be the start of a real expansion, or it can be an exhaustion event ready to mean-revert. For that reason, Gravity Reactor does not rely on simple MA crosses or isolated momentum spikes. It combines gravity distance, stack alignment, distance velocity, volume pressure, and multi-timeframe agreement into a single structural score. This score is then interpreted through two operative regimes: Thrust, when compression releases into a confirmed directional move, and Snapback, when price reaches an extreme displacement and shows signs of absorption or rebalancing.
Visually, the script puts gravity in the foreground through lane heatmaps that display local gravity and higher-timeframe gravity states side by side, so the trader can immediately see whether the chart is aligned, fragmented, or overstretched across scales. The goal is to detect where the price stands relative to its internal market geometry and whether that displacement is being reinforced or rejected.
Oberlunar ◉✦ Indicator

Indicator

Institutional Decision Engine [JOAT]Institutional Decision Engine
Introduction
The Institutional Decision Engine is a comprehensive, unified trading system that integrates six distinct analytical engines into a cohesive decision-making framework. This is not just another indicator - it's a complete trading intelligence system designed to replicate the analytical approach of institutional trading desks. By combining market regime classification, structural analysis, momentum pressure, volatility intelligence, directional bias, and signal qualification into one unified system, this engine provides the holistic market analysis that professional traders rely on for consistent success.
This tool is built for serious traders who understand that successful trading requires multiple layers of analysis and confirmation. Whether you're a systematic trader needing a complete decision framework, a discretionary trader seeking comprehensive market intelligence, or an algorithm developer requiring robust signal generation, this engine provides the institutional-grade analysis needed to trade with the confidence and precision of professional market participants.
Why This Engine Exists
Most traders use fragmented indicators that provide conflicting signals, leading to confusion and poor decisions. This engine solves that fundamental problem by:
Unified Framework: Six engines working together as one cohesive system
Regime-Adaptive Logic: Automatically adjusts analysis based on market conditions
Multi-Layer Confirmation: Requires confluence across multiple analytical dimensions
Signal Qualification: Objectively scores and grades every potential signal
Risk Intelligence: Dynamic risk management based on market volatility and structure
Visual Clarity: Comprehensive visualization of all analytical components
The engine transforms the chaotic world of multiple indicators into a single, unified source of market truth that provides clear, actionable trading intelligence.
Core Components Explained
Engine 1: Market Regime Classification
The first engine identifies the current market environment:
// Regime Classification: 0=Neutral, 1=Trending, 2=Ranging, 3=Volatile
int market_regime = 0
if volatility_state == 1 and adx_value < i_trend_threshold
market_regime := 3 // Volatile Expansion
else if adx_value >= i_trend_threshold
market_regime := 1 // Trending
else if volatility_state == -1
market_regime := 2 // Ranging/Consolidation
// Regime Strength (0-100)
float regime_strength = 0.0
if market_regime == 1
regime_strength := math.min(adx_value / 50.0 * 100, 100)
else if market_regime == 2
regime_strength := math.min((1 - volatility_ratio) / (1 - i_contraction_mult) * 100, 100)
Regime types:
Trending: Strong directional markets with ADX > 25
Ranging: Low volatility consolidation phases
Volatile: High volatility, chaotic conditions
Neutral: Transition periods between defined states
Regime Strength: How strongly the market exhibits regime characteristics
Regime classification determines which strategies are appropriate and how risk should be managed.
Engine 2: Structural Behavior Analysis
The second engine maps market structure and key levels:
// Structure Analysis
bool higher_high = not na(last_swing_high) and not na(prev_swing_high) and last_swing_high > prev_swing_high
bool lower_low = not na(last_swing_low) and not na(prev_swing_low) and last_swing_low < prev_swing_low
bool higher_low = not na(last_swing_low) and not na(prev_swing_low) and last_swing_low > prev_swing_low
bool lower_high = not na(last_swing_high) and not na(prev_swing_high) and last_swing_high < prev_swing_high
// Structure Score (0-100)
float structure_score = 0.0
structure_score += structure_bias == 1 ? 30 : structure_bias == -1 ? 0 : 15
structure_score += higher_high ? 20 : lower_low ? 0 : 10
structure_score += bos_bullish ? 30 : bos_bearish ? 0 : 15
Structure components:
Swing Points: Key highs and lows defining market structure
Market Structure: Higher highs/higher lows (bullish) or lower highs/lower lows (bearish)
Break of Structure: Confirmation of trend changes
Liquidity Zones: Equal highs/lows where orders cluster
Structure Score: Quantifies structural quality (0-100)
Structural analysis identifies the levels where professional traders place orders.
Engine 3: Momentum Pressure Analysis
The third engine measures buying and selling pressure:
// Composite Momentum Score
float momentum_bull_score = 0.0
momentum_bull_score += wt_bullish ? 25 : 0
momentum_bull_score += rsi_bullish ? 25 : 0
momentum_bull_score += weighted_pressure > 0.1 ? 25 : weighted_pressure > 0 ? 12.5 : 0
momentum_bull_score += macd_bullish ? 25 : 0
// Net Momentum State
float net_momentum = momentum_bull_score - momentum_bear_score
int momentum_state = net_momentum > 25 ? 1 : net_momentum < -25 ? -1 : 0
Momentum components:
WaveTrend: Trend-following momentum oscillator
RSI: Relative strength with momentum filter
Pressure Analysis: Volume-weighted buying/selling pressure
MACD: Trend acceleration and deceleration
Momentum State: Bullish, bearish, or neutral momentum
Momentum analysis confirms the strength and timing of potential moves.
Engine 4: Volatility Intelligence Layer
The fourth engine analyzes volatility cycles and squeezes:
// Squeeze Detection
bool squeeze_on = bb_lower > kc_lower and bb_upper < kc_upper
bool squeeze_off = bb_lower < kc_lower or bb_upper > kc_upper
// Volatility Cycle Phase
int vol_cycle_phase = 0
if squeeze_on and squeeze_duration > 5
vol_cycle_phase := 1 // Compression
else if squeeze_off and squeeze_duration > 0
vol_cycle_phase := 2 // Expansion Trigger
else if volatility_ratio > 1.2
vol_cycle_phase := 3 // Active Expansion
// Adaptive Multipliers
float stop_multiplier = vol_cycle_phase == 3 ? 1.5 : vol_cycle_phase == 1 ? 0.8 : 1.0
float target_multiplier = vol_cycle_phase == 3 ? 1.3 : vol_cycle_phase == 1 ? 1.5 : 1.0
Volatility components:
Bollinger Bands: Standard deviation-based volatility
Keltner Channels: ATR-based volatility
Squeeze Detection: Volatility compression patterns
Cycle Phases: Compression, trigger, expansion, normal
Adaptive Multipliers: Dynamic risk adjustments
Volatility intelligence ensures risk management adapts to market conditions.
Engine 5: Directional Bias Model
The fifth engine establishes directional conviction:
// Bias Computation
float bullish_bias = 0.0
bullish_bias += ma_bullish_stack ? 30 : 0
bullish_bias += price_above_structure ? 20 : 0
bullish_bias += close > ma_anchor ? 15 : 0
bullish_bias += pos_di > neg_di ? 20 : 0
bullish_bias += slopes_aligned_bull ? 15 : 0
// Net Bias
float net_bias = bullish_bias - bearish_bias
int bias_direction = net_bias > i_bias_threshold / 2 ? 1 : net_bias < -i_bias_threshold / 2 ? -1 : 0
Bias components:
MA Stack: Fast/slow/anchor moving average relationships
Price Position: Where price sits relative to MAs
ADX Direction: +DI vs -DI for trend confirmation
MA Slopes: Directional momentum of moving averages
Bias Strength: 0-100 indicating directional conviction
Directional bias provides the primary directional framework for trading decisions.
Engine 6: Signal Qualification System
The sixth engine evaluates and qualifies all signals:
// Confluence Scoring
int bull_confluence = 0
bull_confluence += market_regime == 1 and trend_direction == 1 ? 2 : 0
bull_confluence += structure_bias == 1 ? 1 : 0
bull_confluence += bos_bullish ? 1 : 0
bull_confluence += momentum_state == 1 ? 2 : 0
bull_confluence += bias_direction == 1 ? 2 : 0
bull_confluence += squeeze_off and net_momentum > 0 ? 1 : 0
// Qualification Check
bool bull_qualified = bull_confluence >= i_min_confluence
bool bear_qualified = bear_confluence >= i_min_confluence
// Final Signal Generation
bool long_signal = bull_qualified and bull_trigger and bars_since_bull > i_signal_cooldown and
bar_confirmed and market_regime != 3
Qualification components:
Confluence Score: Points from each engine (max 10)
Minimum Threshold: Required confluence for signals (default: 5)
Signal Triggers: Entry conditions (crossovers, breakouts, etc.)
Cooldown Management: Prevents overtrading
Quality Grades: A-D grades based on confluence score
Signal qualification ensures only high-probability setups are traded.
Visual Elements
Directional Cloud: Dynamic cloud showing trend and conviction
Signal Markers: Clear entry signals with quality grades
Risk Levels: Visual stop loss and target levels
Structure Points: Marked swing highs and lows
Squeeze Background: Volatility compression indication
Signal Background: Signal strength background shading
Moving Averages: Color-coded MA system
Dashboard: Comprehensive intelligence panel
The dashboard displays:
1. Current market regime and strength
2. Trend direction and bias scores
3. Momentum state and pressure readings
4. Volatility cycle and squeeze status
5. Structure analysis and bias
6. Signal qualification and grade
7. Risk metrics and multipliers
8. Active position information
Input Parameters
Regime Engine:
ADX Period: Trend strength calculation (default: 14)
Trend Threshold: Minimum ADX for trend (default: 25)
Volatility Multipliers: Expansion/contraction thresholds
Structure Engine:
Swing Sensitivity: Pivot detection sensitivity (default: 10)
Structure Confirmation: Bars for confirmation (default: 3)
Show Liquidity: Display liquidity zones
Momentum Engine:
Pressure Period: Pressure calculation (default: 14)
WaveTrend Settings: Channel and average periods
RSI Period: Momentum oscillator (default: 14)
Volatility Layer:
Bollinger Settings: Period and deviation
Keltner Settings: Period and multiplier
Adaptive Stops: Enable dynamic stops
Signal Qualification:
Minimum Confluence: Required score (default: 5)
Signal Cooldown: Bars between signals (default: 5)
Minimum R:R: Risk/reward requirement (default: 1.5)
How to Use This Engine
Step 1: Understand Market Regime
Check the dashboard for current regime. Avoid trading in volatile regimes (red), focus on trending regimes (green), and adapt strategy for ranging regimes (purple).
Step 2: Assess Directional Bias
Look for strong bias scores (>60) with MA stack confirmation. The bias should be clear across multiple components before considering entries.
Step 3: Confirm Momentum
Ensure momentum supports the directional bias. Look for pressure in the direction of trade and momentum acceleration.
Step 4: Verify Structure
Entries near structural levels have higher probability. Look for BOS confirmation and avoid trading against established structure.
Step 5: Check Volatility
Be aware of volatility cycles. Squeeze releases offer high-probability breakout opportunities. Adjust stops based on volatility multipliers.
Step 6: Qualify Signals
Only take signals with 5+ confluence points. A-grade signals (8+ points) offer the highest probability and deserve larger position sizing.
Best Practices
Always trade in the direction of the dominant bias
Higher confluence scores mean higher probability setups
Respect regime changes - they signal strategy adjustments
Use the directional cloud as primary trend guidance
Place stops using the volatility-adjusted levels
Scale out at multiple targets as provided
Avoid trading during volatile regimes unless experienced
Wait for A-grade setups rather than forcing mediocre trades
Keep a trade journal tracking regime/bias combinations
Never override the system's risk management without strong reason
Strategy Integration
This engine is a complete trading system:
Use signal qualification as primary entry filter
Apply regime-based position sizing
Import bias scores for trend confirmation
Use structure levels for stop placement
Integrate volatility multipliers for risk management
Export all engine outputs for custom strategies
Technical Implementation
Built with Pine Script v6 featuring:
Six-engine architecture with unified signal processing
Advanced regime detection with ADX/ATR analysis
Comprehensive structure analysis with swing detection
Multi-factor momentum scoring system
Volatility cycle analysis with squeeze detection
Directional bias calculation with multiple confirmations
Signal qualification with confluence scoring
Dynamic risk management with adaptive multipliers
Comprehensive visualization with directional cloud
Real-time dashboard with 12 key metrics
Export functions for complete system integration
The code uses confirmed bars throughout to prevent repainting and ensure reliable signals.
Originality Statement
This engine is original in its comprehensive integration of six distinct analytical systems into a unified decision framework. While individual components (ADX, moving averages, RSI, etc.) are established tools, this engine is justified because:
It synthesizes six independent analytical engines into one cohesive system
The regime-adaptive logic automatically adjusts behavior based on market conditions
Signal qualification provides objective, numerical evaluation of trade quality
The directional cloud visualization offers intuitive trend analysis
Dynamic risk management adapts to volatility and structure
Comprehensive dashboard presents all critical metrics in one view
Each engine contributes unique insights: regime shows when to trade, structure shows where, momentum shows timing, volatility shows how much, bias shows direction, and qualification shows quality
The engine solves the real problem of indicator overload and conflicting signals
Export functions enable complete system integration and customization
This is institutional-grade analysis typically available only to professional traders
The engine's value lies in providing a complete, unified trading intelligence system that eliminates analysis paralysis and provides clear, actionable signals based on comprehensive market analysis.
Disclaimer
This engine is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. This is a comprehensive analysis tool, not a guaranteed profit system.
Even with comprehensive analysis, markets can behave unpredictably due to news events, economic data, or changes in market structure. Past performance of the system does not guarantee future results. The engine's signals are mathematical calculations based on historical patterns and should be used with proper risk management.
Always use stop losses and position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose on any single trade, regardless of signal quality or confluence score.
The author is not responsible for any losses incurred from using this engine. Users assume full responsibility for all trading decisions made using this system.
-Made with passion by officialjackofalltrades
Indicator

Indicator

Indicator

[ A L P H A X ] Market Pulse - Real-Time Confluence EngineAlphaX Market Pulse — 5-Timeframe MTF Alignment Dashboard, Weighted Bias Scoring, Market Structure Detection & Real-Time Confluence Engine
AlphaX Market Pulse is a professional-grade multi-timeframe analysis cockpit that reads trend, momentum, volatility, and volume across five independent timeframes simultaneously and synthesizes everything into a single weighted Pulse Score and clear trade Verdict. Designed for traders who want to know — before placing a single trade — whether the market is genuinely aligned or simply creating the illusion of a move. Built for XAUUSD, indices, and forex majors on any intraday timeframe.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📸 Visual Overview
Full dashboard view showing 5-timeframe alignment, Pulse Score, Verdict, and real-time confluence data on XAUUSD
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔬 The Core Problem This Solves
Every experienced trader knows that the single biggest edge in intraday trading is multi-timeframe alignment. When the 1-minute, 5-minute, 15-minute, 1-hour, and 4-hour charts all point in the same direction, trades have dramatically higher follow-through. When they conflict, even technically perfect setups fail.
The problem is that manually checking five timeframes before every trade is slow, inconsistent, and easy to bias. AlphaX Market Pulse does it for you — automatically, on every bar, with a weighted scoring engine that gives higher timeframes more influence over the final verdict.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙ The Four-Engine Analysis System
Every timeframe is independently analyzed by four engines running simultaneously:
Trend Engine
Four factors assessed per timeframe:
EMA Ribbon alignment (Fast / Medium / Slow) — is the ribbon stacked bullishly or bearishly?
Price position relative to the 200 EMA Anchor — is the market above or below the macro baseline?
EMA slope direction — are the moving averages rising or falling?
Price position relative to the Fast EMA — is price leading or lagging the momentum line?
Each factor contributes to a per-timeframe Trend Score. A score of +4 means all four factors are bullish. A score of -4 means all four are bearish. This granularity is what separates a "technically bullish" market from a genuinely strong one.
Momentum Engine
Four independent momentum reads per timeframe:
RSI position relative to configurable bull and bear thresholds
Stochastic K position (above or below midpoint)
Stochastic K/D crossover direction
MACD line vs signal line relationship
Volatility Engine
Bollinger Band width measured against its own 20-bar average. When the band is expanding relative to its baseline, the market is entering a higher-conviction phase. When it is compressed below average, the market is coiling — potential breakout pending, but no edge yet.
Volume Engine
Current bar volume measured against a configurable SMA. Classified into four states — DRY, NORMAL, HIGH, and SPIKE — and used to weight the final bias score upward when institutional participation is evident.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 The Weighted Pulse Score
Once all five timeframes are analyzed, AlphaX Market Pulse calculates a single Pulse Score from 0 to 100 using a weighted average that gives higher timeframes more influence:
4H (TF5) — 30% weight
1H (TF4) — 25% weight
15M (TF3) — 20% weight
5M (TF2) — 15% weight
1M (TF1) — 10% weight
This weighting reflects a core trading principle: the higher the timeframe, the more reliable the signal. A bullish 4H with a bearish 1M is still a bullish market. The Pulse Score reflects that reality rather than treating all timeframes equally.
The score is displayed as ▲ BULL 78 / 100 or ▼ BEAR 65 / 100 — directional and quantified at a glance.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 The Verdict — One Line That Answers Everything
Below the Pulse Score sits the most important row in the dashboard: the VERDICT . This single line synthesizes alignment count, score strength, and confluence quality into a direct trading instruction:
✓ HIGH CONFIDENCE LONG — all or nearly all timeframes bullish with strong score. This is the setup to trade.
✓ HIGH CONFIDENCE SHORT — all or nearly all timeframes bearish with strong score.
△ LEAN LONG — CAUTION — majority bullish but not full confirmation. Reduce size or wait.
▽ LEAN SHORT — CAUTION — majority bearish but incomplete alignment.
✕ MIXED — STAND ASIDE — timeframes are conflicting. This is the most important message the dashboard can give you. No trade.
✕ NO CLEAR EDGE — insufficient directional conviction. Wait for clarity.
The Verdict alone can prevent the most common and costly trading mistake: entering when the market has no clear direction.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 The Dashboard — Complete Reference
The dashboard is organized into three sections:
Section 1 — Multi-Timeframe Grid
Five rows, one per timeframe. Each row shows:
Timeframe label — the period being analyzed (fully configurable)
Trend • Momentum — combined directional arrows for both engines. ▲▲ means strongly bullish, △ means mildly bullish, — means flat
Bias score — the directional bias value for that timeframe with a ▲ or ▼ prefix
At a glance you can see exactly which timeframes agree, which are lagging, and which are conflicting.
Section 2 — Synthesis Layer
ALIGNMENT — the alignment state across all five timeframes with a count (e.g. 4▲ 1▼ 0—)
PULSE SCORE — the weighted composite score with direction
VERDICT — the single-line trade instruction
Section 3 — Current Timeframe Detail
RSI — value with state label (OVERSOLD / DEPRESSED / NEUTRAL / ELEVATED / OVERBOUGHT)
STOCH K — value with zone label (OS ZONE / MID RANGE / OB ZONE)
MACD — directional state with momentum confirmation and histogram value
STRUCTURE — real-time price structure detection (HIGHER H/L, LOWER H/L, HIGHER HIGH, LOWER LOW, RANGING)
VOLATILITY — BB width state (COMPRESSED / NORMAL / ELEVATED / EXPANDING) with percentage value
BB WIDTH — expanding or contracting relative to baseline
VOLUME — DRY / NORMAL / HIGH / SPIKE with current ratio vs SMA
ATR — current ATR value and percentage of price — essential for position sizing
EMA STACK — full structural EMA alignment check (FULL BULL STACK / BULL STACK / BEAR STACK / FULL BEAR STACK / MIXED)
BULL SCORE — raw weighted bullish score out of 100
BEAR SCORE — raw weighted bearish score out of 100
VS EMA 200 — price distance from the 200 EMA anchor as a percentage — identifies extended and exhausted moves before they reverse
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☁ Bias Cloud & EMA System
Four EMAs are plotted directly on the chart as structural context:
Fast EMA (8) — the immediate momentum reference, colored bullish or bearish based on ribbon state
Medium EMA (21) — the intermediate trend filter
Slow EMA (55) — the trend backbone
Anchor EMA (200) — the macro structural divider used in confidence scoring
The Bias Cloud fills the space between the Fast and Slow EMAs with a subtle color — yellow-green when the ribbon is bullish, red when bearish — giving instant visual trend context without cluttering the chart. Both the cloud and the EMAs can be toggled independently.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Identifying When NOT to Trade
AlphaX Market Pulse is as valuable for telling you to stay out as it is for confirming entries. Watch for these no-trade conditions:
VERDICT shows MIXED or NO CLEAR EDGE — the market has no directional consensus. Any trade here is a coin flip.
Alignment count is split (e.g. 2▲ 2▼ 1—) — timeframes are fighting each other.
PULSE SCORE is below 40 — insufficient conviction in either direction.
VOLATILITY shows COMPRESSED — the market is coiling. No trend energy present.
VS EMA 200 shows extreme extension (±3% or more) — the move may already be exhausted. Late entries here carry high reversal risk.
EMA STACK shows MIXED — the moving averages are tangled, a reliable sign of a choppy ranging market.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 How to Use AlphaX Market Pulse — Step by Step
Step 1 — Check the Verdict first
If it says MIXED or NO CLEAR EDGE — close the dashboard and do not trade. Wait for alignment.
If it says HIGH CONFIDENCE — proceed to Step 2.
Step 2 — Read the Alignment row
How many timeframes agree? 5▲ 0▼ is the strongest possible setup.
Which timeframes are dissenting? A dissenting TF1 (1-minute) is less significant than a dissenting TF5 (4-hour).
Step 3 — Check the Pulse Score
Above 70 — strong conviction, full size appropriate
55–70 — moderate conviction, consider reduced size
Below 55 — marginal, wait for a higher score bar
Step 4 — Validate with Section 3
Is RSI in a supportive zone for the direction?
Is MACD confirming with momentum?
Is STRUCTURE showing the right price behavior (Higher H/L for longs, Lower H/L for shorts)?
Is VOLUME at least NORMAL? A signal into DRY volume has poor follow-through probability.
Is VOLATILITY NORMAL or EXPANDING? COMPRESSED volatility means no energy behind the move.
Step 5 — Use VS EMA 200 as a risk check
If price is already 2–3% extended from the 200 EMA in your direction, the risk/reward is poor. Wait for a pullback.
If price is near or just crossing the 200 EMA, the setup has maximum structural support.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚡ Key Features
📊 5-timeframe simultaneous analysis — fully configurable timeframes, all running independently
⚖ Weighted Pulse Score — higher timeframes carry more weight, reflecting real trading hierarchy
🎯 Single-line Verdict — HIGH CONFIDENCE / LEAN / MIXED / NO EDGE — one answer, no ambiguity
🔬 Four-engine analysis — Trend, Momentum, Volatility, and Volume assessed per timeframe
📋 14-row live dashboard — MTF grid, synthesis layer, and current TF detail in one panel
📐 EMA Stack check — full structural alignment across Fast / Medium / Slow / Anchor EMAs
📉 Market Structure detection — real-time Higher H/L, Lower H/L, swing identification
📏 VS EMA 200 distance — percentage deviation from the macro anchor for exhaustion detection
☁ Bias Cloud — subtle EMA ribbon fill showing trend direction directly on the price chart
🎨 Cohesive dual-tone color theme — yellow-green for bullish, red for bearish, gray for neutral
⚙ Fully configurable — all timeframes, EMA periods, RSI/Stoch thresholds, BB and ATR settings adjustable
🔕 No repainting — all calculations confirmed on bar close
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙ Settings Reference
Timeframes
Timeframe 1–5 — set any five timeframes to analyze. Defaults: 1 / 5 / 15 / 60 / 240
Trend Engine
Fast EMA — default 8
Medium EMA — default 21
Slow EMA — default 55
Anchor EMA — default 200
Momentum Engine
RSI Period — default 14
RSI Bull Threshold — default 60 (RSI above this = bullish momentum)
RSI Bear Threshold — default 40 (RSI below this = bearish momentum)
Stoch Period — default 14
Stoch Smooth — default 3
Volatility
ATR Period — default 14
BB Period — default 20
BB StdDev — default 2.0
Volume
Volume SMA Period — default 20
Chart Overlay
Show Bias Cloud — toggle the EMA ribbon fill
Show EMAs — toggle all four EMA lines
Dashboard
Show Dashboard — toggle the entire panel
Position — Top Left / Top Right / Bottom Left / Bottom Right
Text Size — Tiny / Small / Normal
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 Default Settings — Optimized For
The default configuration is tuned for XAUUSD (Gold) on the 1-minute timeframe with a 5-timeframe stack of 1M / 5M / 15M / 1H / 4H:
EMA periods (8 / 21 / 55 / 200) calibrated for gold's intraday volatility structure
RSI thresholds at 40/60 rather than 30/70 — captures momentum earlier in the move
BB period 20 with 2.0 StdDev — standard institutional volatility reference
Volume SMA 20 — smoothed enough to filter single-bar spikes while still responsive
For other instruments or timeframes, adjust:
Swing traders (4H / Daily) — set TF stack to 15 / 60 / 240 / D / W, increase EMA periods to 13 / 34 / 89 / 200
Forex majors — defaults work well; lower RSI thresholds to 35/65 for more conservative momentum detection
Indices (NAS100, US30) — increase Anchor EMA to 200, use TF stack 5 / 15 / 60 / 240 / D
More sensitive — lower RSI thresholds to 35/65, reduce EMA periods
Less noise — raise RSI thresholds to 45/55, increase EMA periods
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
👥 Who This Is For
🥇 Gold (XAUUSD) intraday traders — built and tuned specifically for gold's fast-moving multi-session structure
📉 Forex scalpers and day traders — works on all major and minor pairs with minor setting adjustments
📊 Index traders — applicable to US30, NAS100, SPX500, DAX, and others
🧠 Traders who over-trade — the MIXED verdict physically stops you from entering in unfavorable conditions
📈 Traders who manually check multiple timeframes — this replaces that entire workflow with a single dashboard
⚙ Systematic and rule-based traders — the quantified Pulse Score provides an objective entry threshold rather than a subjective feeling
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Notes
All calculations are non-repainting — values confirmed on bar close
The VS EMA 200 row uses the current timeframe's 200 EMA, not a higher timeframe value
Market Structure detection (Higher H/L, Lower H/L) uses the last three bars — designed for fast intraday reads, not swing structure mapping
The Bias Cloud and EMA lines can be hidden independently if you prefer a clean price chart with dashboard only
All five timeframes are analyzed using the same four-engine framework — no timeframe receives a different logic set
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Disclaimer
This indicator is a technical analysis and visualization tool intended for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any financial instrument. All values are generated from historical and real-time price data using mathematical calculations — their accuracy or profitability is not guaranteed. Past performance of any signal or score does not guarantee future results. Always conduct your own analysis, use proper risk management, and consult a licensed financial advisor before making any trading decisions. The author accepts no responsibility for any losses incurred from the use of this indicator.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Built for traders who want one answer before every trade — not five charts to check. Indicator

Velocity Acceleration Momentum [VAM]Velocity Acceleration Momentum
Overview
VAM is a multi-layered momentum indicator that measures how fast price is moving (Velocity), whether that speed is increasing or decreasing (Acceleration), and how strong the underlying trend is (ADX). Rather than just telling you the direction of price, VAM tells you the quality and phase of the move you're in.
How It's Calculated
Velocity measures the percentage rate of change of price over a lookback period (default: 14 bars), then smooths it with a 3-period EMA. It answers: "How fast is price moving relative to where it was?"
Acceleration is the change in Velocity over a secondary smoothing window (default: 5 bars), also EMA-smoothed. It answers: "Is momentum speeding up or slowing down?"
Signal Line is an EMA of Velocity (default: 9 bars) — similar in concept to the MACD signal line. When Velocity crosses above/below the Signal Line, it can indicate momentum shifts.
ADX Histogram uses Pine's built-in DMI/ADX calculation. When DI+ > DI−, bars plot positively (green); when DI− > DI+, bars plot negatively (red). The color opacity is gradient-mapped to ADX strength — vivid bars mean a strong trend, faded bars mean a weak/ranging market.
Reading the Velocity Line Colors (Regime Detection)
The Velocity line changes color based on the combination of Velocity and Acceleration:
ColorConditionMeaning🟢 LimeVelocity > 0, Acceleration > 0Rocket — momentum is up and accelerating🟡 YellowVelocity > 0, Acceleration < 0Topping — still positive but losing steam🔴 RedVelocity < 0, Acceleration < 0Freefall — momentum is down and worsening🟠 OrangeVelocity < 0, Acceleration > 0Bottoming — still negative but recovering
How to Trade With It
High level Buy when Velocity Line Green 🟢sell when Velocity drops hard and is Red 🔴
+
ADX BARS TELL YOU THE TREND AND THE TREND STRENTH (COMBINE THIS AND THE VELOCITY LINE)
+
ACCELERATION PUROPLE AND YELLOW WAVE TELLS YOU SHARP DROPS OR ADVANCES IN ACCELERATION
Trend Entries: Look for the Velocity line turning Lime (🟢) with the ADX histogram printing vivid green bars above the +25 line. This is the highest-confidence long setup — price is accelerating upward with confirmed trend strength.
Caution / Exit Signals: When Velocity turns Yellow (🟡) and sharply drops, momentum is fading even if price is still rising. Consider tightening stops or taking partial profits.
Short / Bearish Bias🔴 : Red Velocity + vivid red ADX bars below −25 signal a strong downtrend in Freefall. Avoid longs; look for short setups.
Potential Reversals: Orange Velocity (Bottoming) combined with ADX bars beginning to fade and shift green can be an early signal that a bottom is forming — useful for scaling into longs cautiously.
Signal Line Crosses: When the Velocity line crosses above the white Signal Line, momentum is picking up. Crosses below suggest weakening. Best used as a confirmation filter, not a standalone trigger.
The ±25 Reference Lines mark the ADX threshold commonly used to separate trending (above) from ranging (below) markets. ADX histogram bars inside the ±25 zone suggest low trend conviction — reduce position sizing or wait for confirmation.
Inputs
Source — Price input (default: Close)
Velocity Length — Lookback period for rate-of-change calculation (default: 14)
Acceleration Smooth — Smoothing window for acceleration (default: 5)
Signal Line Length — EMA period for the signal line (default: 9)
ADX Length — Period for DMI/ADX calculation (default: 14)
Show Signal Line — Toggle the white signal line on/off
Show Zone Backgrounds — Toggle ADX-strength background shading
Show ADX Histogram — Toggle the ADX directional histogram Indicator

Indicator

Indicator

Regime Classification System [JOAT]Regime Classification System
Introduction
The Regime Classification System is an advanced open-source market regime detection indicator that combines smooth range filtering, multi-timeframe trend analysis (10 timeframes), impulse detection, Chandelier Exit integration, and regime strength scoring into a comprehensive market state classification system. This indicator helps traders identify whether the market is trending, ranging, volatile, or transitioning between states, enabling them to adapt their trading strategies to current market conditions.
Unlike basic trend indicators that simply show up or down, this system classifies markets into distinct regimes (Trend Bull, Trend Bear, Volatile Bull, Volatile Bear, High Vol Range, Low Vol Range, Flat) and provides confidence metrics, regime strength scores, multi-timeframe alignment analysis, and transition warnings. The indicator is designed for traders who understand that different market conditions require different trading approaches and that regime identification is critical for consistent profitability.
Why This Indicator Exists
This indicator addresses a fundamental challenge in trading: adapting strategy to market conditions. A trend-following strategy that works in trending markets fails in ranging markets. A mean-reversion strategy that works in ranging markets fails in trending markets. By systematically classifying market regimes, this indicator enables traders to:
Identify Current Regime: Classify market as trending, ranging, volatile, or flat with quantitative metrics
Measure Regime Strength: Score regime quality (0-100%) based on trend clarity, volatility consistency, impulse confirmation, and duration
Detect Regime Transitions: Warn when market is likely changing character before it becomes obvious
Analyze Multi-Timeframe Alignment: Confirm regime across 10 timeframes (1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, Daily, Weekly)
Calculate Regime Confidence: Provide confidence score combining regime strength, MTF alignment, and transition probability
Integrate Dynamic Stops: Use Chandelier Exit for adaptive stop-loss placement based on volatility
Each component provides different regime intelligence. Range filtering shows directional movement, trend strength shows conviction, volatility ratio shows market character, impulse detection shows momentum, MTF alignment shows multi-timeframe conviction, and Chandelier Exit provides dynamic risk management. Together, they create a comprehensive regime classification system.
Core Components Explained
1. Smooth Range Filter (from RealGains Algorithm)
The range filter uses a sophisticated smoothing algorithm to identify directional movement:
// Smooth range calculation
smoothrng(x, t, m) =>
wper = t * 2 - 1
avrng = ta.ema(math.abs(x - x ), t)
smoothrng = ta.ema(avrng, wper) * m
// Range filter
rngfilt(x, r) =>
rngfilt = x
rngfilt := x > nz(rngfilt ) ? x - r < nz(rngfilt ) ? nz(rngfilt ) : x - r :
x + r > nz(rngfilt ) ? nz(rngfilt ) : x + r
The filter creates upper and lower bands based on smoothed range. When price breaks above the filter, it signals upward movement. When price breaks below, it signals downward movement. The filter adapts to volatility, widening in volatile conditions and tightening in calm conditions.
Filter direction is tracked using consecutive bar counts:
upward = filt > filt ? nz(upward ) + 1 : 0
downward = filt < filt ? nz(downward ) + 1 : 0
Longer consecutive counts indicate stronger directional conviction.
2. Impulse Detection (SMMA and ZLEMA)
The indicator uses Smoothed Moving Average (SMMA) and Zero-Lag EMA (ZLEMA) to detect impulse moves:
// SMMA calculation
calc_smma(src, len) =>
var float smma = na
smma := na(smma) ? ta.sma(src, len) : (smma * (len - 1) + src) / len
// ZLEMA calculation
calc_zlema(src, len) =>
ema1 = ta.ema(src, len)
ema2 = ta.ema(ema1, len)
d = ema1 - ema2
ema1 + d
// Impulse detection
hi = calc_smma(high, 34)
lo = calc_smma(low, 34)
mi = calc_zlema(hlc3, 34)
md = mi > hi ? mi - hi : mi < lo ? mi - lo : 0
is_impulse = md != 0
When impulse is detected, the market has momentum. When impulse is absent (flat), the market lacks directional conviction. This helps filter out choppy, directionless periods.
3. Trend Strength Calculation (ADX-based)
The indicator calculates trend strength using Directional Movement Index (DMI) and Average Directional Index (ADX):
calcTrendStrength(int length) =>
float plusDM = high - high > low - low ? math.max(high - high , 0) : 0
float minusDM = low - low > high - high ? math.max(low - low, 0) : 0
float plusDI = atr > 0 ? ta.sma(plusDM, length) / atr * 100 : 0
float minusDI = atr > 0 ? ta.sma(minusDM, length) / atr * 100 : 0
float dx = math.abs(plusDI - minusDI) / (plusDI + minusDI) * 100
float adx = ta.sma(dx, length)
float trendStrength = adx / 100
bool bullish = plusDI > minusDI
Trend strength ranges from 0 (no trend) to 1 (strong trend). The threshold (default: 0.6) determines when a market is classified as trending vs ranging.
4. Volatility Regime Classification
Volatility regime is determined by comparing current ATR to average ATR:
calcVolatilityRegime(int length) =>
float atr = ta.atr(length)
float atrMA = ta.sma(atr, length)
float volRatio = atrMA > 0 ? atr / atrMA : 1.0
Volatility ratio interpretation:
volRatio > 1.5: High volatility (default threshold)
volRatio 0.67-1.5: Normal volatility
volRatio < 0.67: Low volatility
High volatility regimes require wider stops and larger profit targets. Low volatility regimes allow tighter stops and smaller targets.
5. Regime Classification Logic
The indicator combines trend strength, volatility ratio, and impulse detection to classify regimes:
classifyRegime(float trendStr, bool isBullish, float volRatio, float threshold, float volThresh, bool impulse) =>
if not impulse and catchFlat
regime := "Flat"
else if trendStr >= threshold
if volRatio > volThresh
regime := isBullish ? "Volatile Bull" : "Volatile Bear"
else
regime := isBullish ? "Trend Bull" : "Trend Bear"
else
if volRatio > volThresh
regime := "High Vol Range"
else
regime := "Low Vol Range"
Regime classifications:
Trend Bull: Strong uptrend with normal volatility - trend-following strategies
Trend Bear: Strong downtrend with normal volatility - trend-following strategies
Volatile Bull: Uptrend with high volatility - wider stops, larger targets
Volatile Bear: Downtrend with high volatility - wider stops, larger targets
High Vol Range: No clear trend with high volatility - avoid or use wide ranges
Low Vol Range: No clear trend with low volatility - mean-reversion strategies
Flat: No impulse detected - avoid trading
6. Regime Strength Scoring (0-100%)
Regime strength is calculated using four components:
calcRegimeStrength(float trendStr, float volRatio, bool impulse, int barsInRegime) =>
// Component 1: Trend clarity (40 points)
float trendScore = trendStr * 40
// Component 2: Volatility consistency (20 points)
float volScore = volRatio < volThreshold ? 20 : math.max(0, 20 - (volRatio - volThreshold) * 10)
// Component 3: Impulse confirmation (20 points)
float impulseScore = impulse ? 20 : 0
// Component 4: Regime duration (20 points)
float durationScore = math.min(barsInRegime / 50.0, 1.0) * 20
float totalScore = trendScore + volScore + impulseScore + durationScore
Regime strength interpretation:
> 70%: Excellent regime - high confidence trades
40-70%: Good regime - moderate confidence trades
< 40%: Weak regime - low confidence or avoid
7. Regime Transition Detection
The indicator warns when regime is likely changing:
detectRegimeTransition(float trendStr, float volRatio, bool impulse) =>
bool weakTrend = trendStr < trendThreshold * 0.8
bool volSpike = volRatio > volThreshold * 1.5
bool lostImpulse = not impulse and catchFlat
float transitionProb = 0.0
if weakTrend
transitionProb += 40
if volSpike
transitionProb += 30
if lostImpulse
transitionProb += 30
bool inTransition = transitionProb >= 50
Transition warnings help traders exit positions before regime changes become obvious in price.
8. Multi-Timeframe Alignment (10 Timeframes)
The indicator analyzes regime across 10 timeframes:
= request.security(syminfo.tickerid, '1', get_trend_status())
= request.security(syminfo.tickerid, '3', get_trend_status())
= request.security(syminfo.tickerid, '5', get_trend_status())
= request.security(syminfo.tickerid, '15', get_trend_status())
= request.security(syminfo.tickerid, '30', get_trend_status())
= request.security(syminfo.tickerid, '60', get_trend_status())
= request.security(syminfo.tickerid, '120', get_trend_status())
= request.security(syminfo.tickerid, '240', get_trend_status())
= request.security(syminfo.tickerid, 'D', get_trend_status())
= request.security(syminfo.tickerid, 'W', get_trend_status())
MTF alignment score is calculated with weighted timeframes (higher timeframes have more weight):
calcMTFAlignment(string t1m, string t5m, string t15m, string t1h, string t4h, string tD) =>
int bullCount = 0
int bearCount = 0
// Count each timeframe with weights
// 1m, 5m, 15m: weight 1
// 1h: weight 2
// 4h: weight 3
// Daily: weight 4
float alignmentScore = (bullCount - bearCount) / totalCount * 100
Alignment interpretation:
> 60: Strong Bull alignment
30-60: Moderate Bull alignment
-30 to 30: Mixed alignment
-60 to -30: Moderate Bear alignment
< -60: Strong Bear alignment
9. Regime Confidence Calculation
Overall confidence combines regime strength, MTF alignment, and transition status:
calcRegimeConfidence(float regimeStrength, float alignmentScore, bool inTransition) =>
float confidence = regimeStrength
// Adjust for alignment
float alignmentBonus = math.abs(alignmentScore) / 100 * 20
confidence += alignmentBonus
// Penalize if in transition
if inTransition
confidence *= 0.5
confidence := math.min(confidence, 100)
Confidence > 70% indicates high-quality regime suitable for aggressive trading. Confidence < 40% suggests caution or avoiding trades.
10. Chandelier Exit Integration
The indicator includes Chandelier Exit for dynamic stop-loss placement:
atrCE = ceMult * ta.atr(ceLength)
longStop = (ceUseClose ? ta.highest(close, ceLength) : ta.highest(ceLength)) - atrCE
shortStop = (ceUseClose ? ta.lowest(close, ceLength) : ta.lowest(ceLength)) + atrCE
Chandelier Exit adapts to volatility, providing wider stops in volatile regimes and tighter stops in calm regimes. The stops trail price, locking in profits as trends develop.
Visual Elements
Range Filter Line: Main line showing directional filter with color-coded regime (green = bull, red = bear, cyan = neutral)
Target Bands: Upper and lower bands showing filter range with gradient fills
Regime Strength Zones: Gradient fills showing regime strength intensity
Volatility Expansion Zones: Circles marking high volatility periods
Chandelier Exit Lines: Dynamic stop-loss lines (green for long stops, red for short stops)
Regime Value Histogram: Histogram showing regime direction and strength (-3 to +3)
Regime Background: Subtle background coloring based on current regime
Regime Change Markers: Circles marking regime transitions
Transition Warnings: X-crosses marking potential regime changes
Regime Signals: Triangle markers for strong bull/bear regime confirmations
MTF Table: Comprehensive table showing all 10 timeframes with trend status
Statistics Panel: Additional metrics including regime strength, duration, alignment, confidence, and transition status
Input Parameters
Range Filter Settings:
Sampling Period: Period for range calculation (default: 100, range: 1+)
Range Multiplier: Multiplier for range width (default: 3.0, range: 0.1+)
Regime Detection:
Trend Threshold: Minimum trend strength for trending classification (default: 0.6, range: 0.3-0.9)
Volatility Threshold: Multiplier for high volatility classification (default: 1.5, range: 1.0-3.0)
Regime Strength Period: Period for strength calculations (default: 20, range: 5-100)
Show Regime Signals: Toggle regime confirmation markers (default: enabled)
Chandelier Exit:
Chandelier ATR Period: Period for ATR calculation (default: 22, range: 1+)
Chandelier ATR Multiplier: Multiplier for stop distance (default: 3.0, range: 0.1+)
Use Close for Extremums: Use close vs high/low for calculations (default: enabled)
Impulse Detection:
Try to Catch Flat: Enable flat regime detection (default: enabled)
Multi-Timeframe Table:
Show MTF Table: Toggle timeframe table (default: enabled)
Table Position: Dashboard location (Top Right/Top Left/Bottom Right/Bottom Left/Middle Right)
Show Regime Statistics: Toggle additional statistics panel (default: enabled)
Colors:
All colors are fully customizable including trend bull/bear, mid trend, range, high volatility, text, transition, and excellent regime colors.
How to Use This Indicator
Step 1: Identify Current Regime
Check the regime classification (Trend Bull, Trend Bear, Volatile Bull, Volatile Bear, High Vol Range, Low Vol Range, Flat). This determines your trading approach.
Step 2: Check Regime Strength
Look at regime strength percentage. > 70% indicates high-quality regime suitable for aggressive trading. < 40% suggests caution.
Step 3: Verify MTF Alignment
Check the MTF table. Strong alignment (> 60) across multiple timeframes confirms regime conviction. Mixed alignment suggests caution.
Step 4: Monitor Regime Confidence
Overall confidence score combines strength, alignment, and transition status. > 70% confidence indicates high-quality trading conditions.
Step 5: Watch for Transition Warnings
X-cross markers warn of potential regime changes. Consider tightening stops or exiting positions when transition probability is high.
Step 6: Use Chandelier Exit for Stops
The Chandelier Exit lines provide dynamic stop-loss levels that adapt to volatility. Trail stops as trends develop.
Step 7: Adapt Strategy to Regime
Trend Bull/Bear: Use trend-following strategies, ride trends, trail stops
Volatile Bull/Bear: Use wider stops, larger targets, reduce position size
High Vol Range: Avoid or use very wide ranges
Low Vol Range: Use mean-reversion strategies, fade extremes
Flat: Avoid trading, wait for impulse to return
Best Practices
Use on 15-minute to 4-hour timeframes for optimal regime clarity
Trade with the regime, not against it - trend-following in trending regimes, mean-reversion in ranging regimes
Higher regime strength = higher confidence = larger position sizes
MTF alignment is critical - don't trade against higher timeframe regimes
Transition warnings are early signals - tighten stops or exit before regime change becomes obvious
Chandelier Exit provides objective stop-loss levels - use them
Regime duration matters - longer regimes are more reliable
Confidence > 70% = aggressive trading, confidence < 40% = defensive or avoid
Flat regimes lack directional conviction - patience is key
Volatile regimes require wider stops and larger targets - adjust risk accordingly
Indicator Limitations
Regime classification is based on recent data - sudden news events can invalidate regimes instantly
Transition warnings are probabilistic, not guaranteed - regimes can persist longer than expected
MTF alignment requires sufficient data on all timeframes - may not work on newly listed instruments
Range filter is adaptive but can lag during rapid regime changes
Impulse detection can produce false flat signals during consolidation within trends
Regime strength scoring is relative to recent history - not absolute
Chandelier Exit can be stopped out during volatile whipsaws
The indicator identifies regimes but doesn't predict when they will end
Works best on liquid instruments with clear trending and ranging periods
Regime confidence is a guide, not a guarantee - high confidence regimes can still fail
Technical Implementation
Built with Pine Script v6 using:
Smooth range filter with adaptive volatility adjustment
SMMA and ZLEMA calculations for impulse detection
ADX-based trend strength calculations
ATR-based volatility regime classification
Multi-component regime strength scoring
Transition probability calculations
Multi-timeframe security requests (10 timeframes)
Weighted MTF alignment scoring
Regime confidence calculations
Chandelier Exit with trailing stops
Dynamic table with 17 rows showing all timeframes and statistics
Gradient fills and color-coded visualizations
The code is fully open-source and can be modified to suit individual trading styles and preferences.
Originality Statement
This indicator is original in its comprehensive regime classification approach. While individual components (range filter, ADX, Chandelier Exit) are established concepts, this indicator is justified because:
It synthesizes six distinct regime analysis methodologies into a unified classification system
Regime strength scoring combines trend clarity, volatility consistency, impulse confirmation, and duration
Transition detection provides early warnings before regime changes become obvious
MTF alignment analysis across 10 timeframes with weighted scoring
Regime confidence calculation integrates strength, alignment, and transition probability
Integration of Chandelier Exit provides regime-adaptive risk management
Comprehensive statistics panel shows regime quality metrics in real-time
Visual regime signals help traders identify high-quality trading conditions
Each component contributes unique regime intelligence: range filter shows direction, trend strength shows conviction, volatility ratio shows character, impulse shows momentum, MTF alignment shows multi-timeframe conviction, transition detection shows regime changes, and Chandelier Exit provides adaptive stops. The indicator's value lies in presenting these complementary perspectives simultaneously with quantitative regime classification and confidence scoring.
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 a tool for understanding market conditions, not a crystal ball for predicting future price movement. High regime strength, strong MTF alignment, and high confidence scores do not guarantee profitable trades. Past regime patterns do not guarantee future regime 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. Transition warnings are probabilistic, not guaranteed. Chandelier Exit stops can be hit during volatile whipsaws. 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

Indicator

Adaptive Squeeze Momentum Pro [WillyAlgoTrader]Adaptive Squeeze Momentum Pro is a non-overlay oscillator that combines volatility compression detection (squeeze) with an ATR-normalized momentum histogram and built-in divergence scanning — providing three layers of analysis in a single pane: when the market is coiling (squeeze), which direction the energy is building (momentum), and when momentum is diverging from price (divergence warnings).
The classic squeeze momentum concept — Bollinger Bands contracting inside Keltner Channels — has been available on PulseWire for years. What this indicator adds is an entirely different momentum calculation that is ATR-normalized (making it comparable across instruments and timeframes), a 4-state color-coded histogram that distinguishes between momentum acceleration and deceleration in both directions, automated divergence detection with optional HTF trend filtering, and a preset system tuned for different trading styles. The result is a modernized squeeze oscillator designed for practical trading rather than textbook demonstration.
🔍 WHAT MAKES IT ORIGINAL
1. ATR-normalized momentum oscillator. Most squeeze indicators use a raw linear regression value or simple price-minus-midline for their histogram. This makes the oscillator's scale dependent on the instrument's price level — a reading of 5.0 on BTCUSD means something completely different than 5.0 on EURUSD. This indicator solves that by dividing the raw momentum by the current ATR value, producing a dimensionless oscillator that typically ranges between −3 and +3 regardless of instrument or timeframe. The raw momentum itself is calculated as the distance between price and the average of the highest-high/lowest-low midpoint and an EMA — capturing both range-based and trend-based positioning. An optional EMA smoothing layer (configurable, default 3) reduces noise without excessive lag.
2. EMA-based volatility bands instead of standard Bollinger Bands. The squeeze detection uses an EMA (not SMA) as its basis, paired with standard deviation for the band width. EMA reacts faster to recent price changes than SMA, making the squeeze detection more responsive to volatility shifts — particularly useful on crypto and volatile instruments where compression phases can be short-lived. The ATR channel (replacing the traditional Keltner Channel) uses the same EMA basis. The squeeze fires when the volatility band width is less than the ATR channel width (ratio < 1.0).
3. Tiered squeeze intensity. Instead of a binary on/off squeeze state, the indicator classifies the compression into four tiers based on the ratio between the volatility band width and the ATR channel width:
— EXTREME (ratio < 0.5): very tight compression, highest energy buildup
— HIGH (ratio < 0.7): significant compression
— MID (ratio < 0.9): moderate compression
— LOW (ratio < 1.0): mild compression
— NONE (ratio ≥ 1.0): no squeeze
This lets you distinguish between a mild contraction (which may resolve quietly) and an extreme compression (which is more likely to produce a strong directional move).
4. 4-state histogram coloring. The momentum histogram uses four distinct colors to convey both direction and acceleration:
— Bull Strong (bright green): momentum above zero AND rising — bulls are accelerating
— Bull Weak (teal): momentum above zero BUT falling — bulls are decelerating, potential topping
— Bear Strong (bright red): momentum below zero AND falling — bears are accelerating
— Bear Weak (dark red): momentum below zero BUT rising — bears are decelerating, potential bottoming
The transition from Strong to Weak (or vice versa) often precedes a zero-line cross, giving an early visual warning of momentum shifts.
5. Automated divergence detection with two modes. The indicator scans for classic divergences between price pivots and momentum pivots:
— Bullish divergence : price makes a lower low while momentum makes a higher low
— Bearish divergence : price makes a higher high while momentum makes a lower high
Two detection modes are available:
— Early mode (default): divergence is labeled on bar close at the pivot with zero right-side confirmation bars — fastest detection, may occasionally produce false signals
— Confirmed mode : requires N confirmation bars on the right side of the pivot (same as the lookback length) — more reliable, but delayed
Divergence lines are drawn on the oscillator connecting the two momentum pivots, and optional overlay labels are placed directly on the price chart (using force_overlay) so you can spot divergences without switching panes.
6. HTF trend filter for divergences. An optional higher-timeframe filter compares a 21-period EMA to a 50-period EMA on the selected HTF (default 60min). When enabled, bullish divergences are only shown when the HTF trend is bullish (fast EMA > slow EMA), and bearish divergences only when HTF is bearish. The HTF data uses the standard non-repainting pattern ( + lookahead_on). This filter reduces counter-trend signals that divergences often produce.
⚙️ HOW IT WORKS
Squeeze detection:
On each bar, the script calculates two band widths:
— Volatility band width = StdDev(source, length) × multiplier × 2, centered on an EMA
— ATR channel width = ATR(length) × multiplier × 2
The squeeze ratio = volatility width / ATR width. When this ratio falls below 1.0, volatility bands are inside the ATR channel — the market is in a squeeze. The tier is determined by how far below 1.0 the ratio is.
Momentum calculation:
— Midpoint 1: (highest high over N bars + lowest low over N bars) / 2
— Midpoint 2: EMA(source, N)
— Combined midpoint: average of Midpoint 1 and Midpoint 2
— Raw momentum: source − combined midpoint
— Normalized momentum: raw momentum / ATR(N)
— Final momentum: EMA(normalized momentum, smoothing) if smoothing > 1, else raw normalized
This approach blends range-based positioning (where is price within the recent range) with trend-based positioning (where is price relative to the EMA), then normalizes by ATR so the oscillator is instrument-agnostic.
Divergence detection:
The script uses ta.pivotlow() and ta.pivothigh() on both the momentum oscillator and price (low/high). For each new momentum pivot, it compares against the previous stored pivot. A bullish divergence is detected when the current price pivot low is lower than the previous one, but the current momentum pivot low is higher. Bearish divergence is the mirror. In Early mode (rightBars = 0), the pivot is identified at bar close without waiting for right-side confirmation. In Confirmed mode (rightBars = lookback), pivots are only confirmed after N bars pass.
HTF filter:
HTF EMAs are fetched with request.security() using the + lookahead_on non-repainting pattern. When the 21 EMA is above the 50 EMA on the higher timeframe, the HTF trend is bullish; below = bearish.
Squeeze release alert:
The "squeeze fired" alert triggers on the first confirmed bar after the squeeze condition ends (sqzOn transitions from true to false). The alert message includes the momentum direction at release (bullish if momentum > 0, bearish if ≤ 0).
📖 HOW TO USE
Reading the histogram:
— Bright green bars (Bull Strong) = momentum above zero and accelerating — strongest bullish phase
— Teal bars (Bull Weak) = momentum above zero but decelerating — bulls losing steam
— Bright red bars (Bear Strong) = momentum below zero and accelerating — strongest bearish phase
— Dark red bars (Bear Weak) = momentum below zero but decelerating — bears losing steam
— Transition from Strong → Weak = early warning of momentum exhaustion
— Zero-line cross after Weak phase = momentum direction change
Reading the squeeze:
— Orange-tinted background = active squeeze (volatility compression)
— The longer and tighter the squeeze, the more energy is stored
— Watch for the first bar after the background clears (squeeze release) — the momentum direction at that moment often indicates the breakout direction
Reading divergences:
— Green "Div" label below the oscillator / below price = bullish divergence (potential bottom)
— Red "Div" label above the oscillator / above price = bearish divergence (potential top)
— Lines on the oscillator connect the two pivots that form the divergence
— Divergences inside a squeeze are particularly powerful — they suggest the breakout direction before the squeeze releases
Suggested workflow:
— Wait for a squeeze to form (background tint appears)
— Watch for divergences during the squeeze — they hint at breakout direction
— On squeeze release, check momentum direction and histogram color
— Bright green at release = bullish breakout bias; bright red = bearish
— If HTF filter is enabled, only take signals aligned with the higher-timeframe trend
Presets:
— Conservative : length ≥ 25, BB mult ≥ 2.2, ATR mult ≤ 1.2, smoothing ≥ 7 — fewer signals, smoother histogram, suited for 4H–Daily
— Default : uses your manual settings — balanced for 15min crypto
— Aggressive : length ≤ 14, BB mult ≤ 1.6, ATR mult ≥ 1.6, smoothing ≤ 2 — more signals, faster reaction
— Scalping : length ≤ 10, BB mult ≤ 1.4, ATR mult ≥ 1.8, no smoothing — optimized for 1–5min
⚙️ KEY SETTINGS REFERENCE
— Squeeze Length (default 21): shared lookback for EMA, StdDev, and ATR — higher = slower squeeze detection, longer compression phases
— Volatility Band Mult (default 1.8): multiplier for the EMA ± StdDev bands — higher = wider bands, squeeze triggers more easily
— ATR Channel Mult (default 1.6): multiplier for the ATR channel — lower = narrower channel, squeeze triggers less
— Momentum Length (default 20): lookback for highest-high, lowest-low, and momentum EMA
— Momentum Smoothing (default 3): EMA smoothing on the normalized momentum — 1 = raw, higher = smoother
— Divergence Lookback (default 3): pivot detection lookback for divergence scanning
— Early Divergence (default On): label on bar close with no right-side confirmation — faster but less filtered
— Use HTF Trend Filter (default Off): filter divergences by higher-timeframe EMA trend
— Higher Timeframe (default 60): HTF for trend filter — should be 3–5× chart timeframe
🔔 Alerts
Three alert conditions (all bar-close confirmed):
— Squeeze Fire : squeeze releases — includes momentum direction (bullish/bearish)
— Bullish Divergence : price lower low + momentum higher low — includes HTF trend status
— Bearish Divergence : price higher high + momentum lower high — includes HTF trend status
All support standard text and JSON webhook format.
⚠️ IMPORTANT NOTES
— This indicator is a non-overlay oscillator — it appears in a separate pane below the chart. Optional divergence labels can be mirrored on the price chart via the "Show Divergences on Chart" toggle.
— All signals require bar-close confirmation . The HTF filter uses the standard non-repainting security call pattern ( + lookahead_on).
— Early divergence mode (default) labels divergences without waiting for right-side pivot confirmation — this provides faster signals but may occasionally flag a divergence that is later invalidated. Switch to Confirmed mode for higher reliability at the cost of delay.
— A squeeze release indicates that volatility is expanding — it does not guarantee a directional move. False breakouts can and do occur, especially on lower timeframes.
— Divergences signal momentum weakening, not guaranteed reversals. They are most effective as confluence with other analysis, not as standalone signals.
— The ATR normalization makes the oscillator scale-independent, but the absolute readings (e.g. +2.0 vs +1.5) should be compared within the same instrument/timeframe context, not across different ones.
— Works across all asset classes. Volume is not used in any calculation. Indicator
