True Strength Index Ribbon
True Strength Index Ribbon: A new way to visualize momentum
Most TSI indicators answer a simple question:
"Is momentum bullish or bearish?"
The True Strength Index Gradient Ribbon was designed to answer a much more useful question:
"How committed is momentum to that direction?"
Instead of displaying two ordinary oscillator lines that constantly cross and overlap, this indicator transforms the relationship between the TSI and its signal line into a continuously expanding and contracting gradient ribbon.
The result is an oscillator that allows traders to recognize momentum shifts almost instantly while dramatically reducing the visual clutter common to traditional TSI implementations.
Why a ribbon?
Momentum isn't simply bullish or bearish.
It has strength.
It has conviction.
It accelerates.
It weakens.
It compresses before expanding again.
The width of the ribbon naturally visualizes the distance between the TSI and its signal line.
A widening ribbon suggests increasing directional commitment.
A narrowing ribbon often indicates weakening momentum or an approaching transition.
Instead of mentally measuring the distance between two moving lines, your eyes recognize it immediately.
Designed for mean reversion and trend trading
While the indicator performs well as a traditional trend-following oscillator, it was specifically developed with mean reversion trading in mind.
Markets spend surprisingly little time at statistically stretched levels.
By combining directional momentum with configurable extension zones, traders can quickly identify when momentum is beginning to reverse after reaching unusually extended conditions.
The indicator intentionally avoids telling traders what to buy or sell.
Instead, it provides objective information that can be combined with price action, structure, moving averages, VWAP, volume, or any existing trading methodology.
Key Features
• Innovative gradient ribbon visualization
• Multiple signal moving average options:
EMA
SMA
WMA
RMA
HMA
VWMA
ALMA
• Higher-timeframe smoothing without changing your chart timeframe
• Four display modes:
Ribbon Only
Signal Line Only
Solid Signal Line Only
Ribbon + Signal Line
• Customizable bullish, bearish, neutral, and extreme colors
• Configurable extension levels for progressively stretched market conditions
• Optional extension-zone shading
• Live Extension Grade panel showing:
Direction
Degree of extension
Current TSI value
• Bullish and bearish crossover alerts
• Extension alerts for every major threshold
Timeframe smoothing
One of the more unique capabilities of this indicator is timeframe-based smoothing.
Instead of requiring traders to constantly switch chart timeframes, the script can internally scale its smoothing calculations to approximate the behavior of a higher timeframe while remaining on the current chart.
This produces cleaner momentum structure while preserving the convenience of lower-timeframe execution.
Extension Grades
Rather than treating all overbought and oversold conditions equally, this indicator classifies momentum into progressively stronger extension levels.
Examples include:
• Moderately Extended
• Extended
• Very Extended
• Extremely Extended
The goal isn't to predict reversals simply because a market reaches an extreme.
Instead, these classifications provide context so traders can better judge when momentum has become unusually stretched.
Built for customization
Every trader sees momentum differently.
Nearly every visual element can be customized, including:
Colors
Signal moving average
Signal smoothing
Ribbon visibility
Timeframe smoothing
Extension thresholds
Zone shading
Signal line appearance
This allows the indicator to adapt to different markets, different trading styles, and different visual preferences.
Design Philosophy
The best indicators don't make trading decisions.
They improve the trader's ability to understand market behavior.
The True Strength Index Ribbon was built around one simple objective:
Transform momentum from something you calculate...
into something you can immediately see.
If this script helps your trading, consider leaving a Like and sharing your feedback. Suggestions for future improvements are always welcome.
Disclaimer
This indicator is provided for educational and informational purposes only. It is designed to assist with market analysis and should not be considered financial or investment advice. No indicator can predict future market movements or guarantee profitable trades. Always conduct your own research, use appropriate risk management, and consider multiple factors before making any trading decisions. Indicator

Futures Volume + Delta - CFD ChartsA volume pane for CFD and cash-index charts that shows the REAL traded volume
of the matching futures contract — plus an estimated buy/sell delta and
absorption flags for effort-without-result bars.
What makes it original: CFD "volume" is broker tick count, not market
participation. This pane never uses it — every column is the exchange volume
of the auto-detected futures contract. The delta column is built from the
futures contract's own lower-timeframe candles (up-candle volume counts as
buying, down-candle volume as selling): the volume is real, only the side
attribution is an estimate, and it is labeled as such. Absorption flags then
combine both axes — volume percentile high while the price range percentile is
low — the candle-data footprint that hidden passive interest (iceberg-style
execution) leaves behind. Pine has no order book, so this is explicitly a
footprint proxy, not order-book detection.
How it works:
- The futures contract is auto-detected from the chart symbol (DAX/GER40 ->
FDAX, NAS100 -> NQ, US30 -> YM, UK100 -> Z, US500 -> ES), or set manually.
- Histogram = futures volume per chart bar; columns tint with bar direction,
a configurable MA marks the average.
- Delta = buy-minus-sell futures volume from 1/5/15-minute intrabars
(auto-selected by chart timeframe, manual override). Lower-timeframe
history is limited, so the delta reaches less far back than the histogram.
- Absorption flag (orange diamond + alert): volume percentile >= X and range
percentile <= Y over a rolling lookback — both thresholds adjustable.
- A status label confirms the active source and the delta resolution.
How to use it: read it like a footprint-lite. Rising price on rising futures
volume = participation confirms the move. An absorption diamond after an
extended run — heavy contracts traded, no price progress — marks where passive
interest is absorbing the aggression; combined with a one-sided delta it is a
common exhaustion/iceberg footprint. Delayed futures feeds confirm bars a few
minutes late; the historical picture is complete.
*This script is part of a consistent set of open-source session, range and
volume tools — the companions are on my profile.*
Indicator

Precision Price Gamma [PGamma]Here's the full updated description with all the fixes — car analogy corrected, image captions added, ready to copy:
Precision Price Gamma (PGamma) is a second-derivative momentum indicator that measures the acceleration of momentum, not momentum itself.
━━━━━━━━━━━━━━━━━━━━━━━━━━
WHY PGAMMA IS DIFFERENT
━━━━━━━━━━━━━━━━━━━━━━━━━━
Most momentum indicators tell you how strong a move is. PGamma tells you whether that strength is increasing or fading — going one step further by measuring whether momentum is strengthening or weakening. This allows PGamma to identify changes in market pressure before many trend-following indicators respond.
━━━━━━━━━━━━━━━━━━━━━━━━━━
THE FOUR STATES
━━━━━━━━━━━━━━━━━━━━━━━━━━
Γ↑ Accelerating — Bullish momentum is positive and still strengthening.
Γ⌃ Bull Weakening — Bullish momentum remains positive, but buying pressure is beginning to fade.
Γ↓ Bear Pressure — Bearish momentum is dominant and selling pressure continues to strengthen.
Γ⌄ Bear Exhaustion — Bearish momentum remains negative, but selling pressure is beginning to weaken.
━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW IT WORKS
━━━━━━━━━━━━━━━━━━━━━━━━━━
PGamma smooths the source series, then computes the slope of that smoothed series — the first derivative, or Momentum. It then smooths Momentum and computes its slope — the second derivative, or Price Gamma. The four states are determined by the sign of both values simultaneously.
Momentum determines the current direction of market pressure. Gamma determines whether that pressure is strengthening or weakening. They often disagree near turning points — and those disagreements are often the most informative signals PGamma produces.
Think of it like driving a car. Momentum is your speed. Gamma is whether you are pressing the gas or the brake. You can be moving backward while pressing the brake — still moving backward, but slowing. That is negative momentum with positive gamma. In market terms, price may still be making lower lows, but each push down is losing force. That often precedes consolidation, a bounce, or a reversal.
Two examples of this disagreement are illustrated in the first two snapshots — a red candle during a green Gamma Timeline, and a green candle during an amber Gamma Timeline. The third snapshot illustrates when Momentum and Gamma align, showing a green candle with a green Gamma Timeline during Accelerating state.
━━━━━━━━━━━━━━━━━━━━━━━━━━
THE STATE MATRIX
━━━━━━━━━━━━━━━━━━━━━━━━━━
Momentum | Gamma | State
+ | + | Accelerating
+ | - | Bull Weakening
- | - | Bear Pressure
- | + | Bear Exhaustion
Momentum and Gamma often disagree near turning points. A positive Gamma reading while Momentum remains negative does not mean the market is bullish — it means bearish momentum is losing acceleration. Those disagreements are where PGamma is most useful.
━━━━━━━━━━━━━━━━━━━━━━━━━━
UNDERSTANDING THE DASHBOARD
━━━━━━━━━━━━━━━━━━━━━━━━━━
State — Combines Momentum and Price Gamma into one of the four market conditions above. Read the State row first.
Momentum — The first derivative of price. Positive = bullish momentum dominates. Negative = bearish momentum dominates.
Gamma — The second derivative of momentum. Above Zero = momentum is accelerating. Below Zero = momentum is decelerating. Gamma often changes direction before Momentum, making it useful for identifying transitions in market pressure.
Bias — A simplified interpretation combining Momentum and Gamma into a single directional context label.
━━━━━━━━━━━━━━━━━━━━━━━━━━
GAMMA TIMELINE
━━━━━━━━━━━━━━━━━━━━━━━━━━
The Gamma Timeline displays the historical sequence of Price Gamma states as a continuous color band along the bottom of the chart. Each colored segment represents one bar, allowing traders to quickly identify transitions between acceleration, weakening, pressure, and exhaustion without obscuring price action. Green for Accelerating, amber for Bull Weakening, red for Bear Pressure, sky blue for Bear Exhaustion. Toggle on or off in Display settings.
━━━━━━━━━━━━━━━━━━━━━━━━━━
GETTING STARTED
━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Add PGamma to any chart. It works on all instruments and timeframes.
2. In Settings → Display, choose your panel position and size.
3. In Settings → Calculation, adjust Momentum Smoothing, Momentum Length, and Gamma Length to suit your timeframe. Default values are calibrated for intraday 1m–60m charts.
4. Read the State row first. Then use Momentum and Gamma to understand why the state is what it is.
5. Use Bias as a quick at-a-glance directional context.
6. Use the Gamma Timeline to read state history across the session at a glance.
━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW TO USE IT
━━━━━━━━━━━━━━━━━━━━━━━━━━
PGamma is not a buy or sell signal. Think of PGamma as a market condition indicator rather than a trade signal. Use it as a confirmation layer alongside your existing methodology. Typical applications:
• Confirming trend continuation when State shows Accelerating.
• Identifying weakening rallies before reversals when State shows Bull Weakening.
• Recognizing building pressure before visible breakdowns when State shows Bear Pressure.
• Spotting exhaustion during extended trends when State shows Bear Exhaustion.
When used alongside a GEX level tool, price approaching a Call Wall with Γ⌃ Bull Weakening is a different setup than price approaching the same level with Γ↑ Accelerating. PGamma makes that distinction visible.
Because PGamma analyzes smoothed momentum rather than candle color, bullish candles can appear during Bear Pressure and bearish candles can appear during Bull Weakening. This reflects underlying momentum conditions rather than individual price bars — and is often an early warning of what is developing beneath the surface.
━━━━━━━━━━━━━━━━━━━━━━━━━━
WORKS WELL ALONGSIDE
━━━━━━━━━━━━━━━━━━━━━━━━━━
PGamma complements indicators that identify where important price levels exist.
• Trend indicators
• Moving averages
• Volume Profile
• VWAP
• Options Gamma Exposure (GEX)
• Support and Resistance
• Market Structure
These tools identify where price may react. PGamma helps evaluate how price is behaving as it approaches those levels.
━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT THIS TOOL IS NOT
━━━━━━━━━━━━━━━━━━━━━━━━━━
PGamma measures changes in momentum. It does not predict future prices or guarantee reversals. Use it as analytical context alongside your existing trading methodology.
━━━━━━━━━━━━━━━━━━━━━━━━━━
SETTINGS OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━━━━━
Calculation: Source, Momentum Smoothing, Momentum Length, Gamma Length
Display: Show Dashboard, Panel Position (6 locations), Panel Size (Small / Normal / Large), Show Gamma Timeline Indicator

Motion Reversal System [BullByte]Motion Reversal System (MRS) - Trend-Failure Bar Detector with Adaptive Pressure Meter, Multi-Mode Signal Engine, and Complete Trade-Level Framework
---
Why This Indicator Exists
Most reversal indicators fall into one of two failure modes. Either they fire constantly in ranging markets because they have no directional filter, or they only confirm reversals long after price has already turned because they rely on lagging momentum oscillators. Motion Reversal System (MRS) was built to solve both problems in a single coherent engine.
MRS is one engine with one purpose: identify the precise bar at which a confirmed trend structurally fails - the moment commitment fades, the bar itself rejects further advance, and the move's energy reverses. From that bar, MRS automatically frames the trade with entry, two targets, and a stop loss, then manages the full trade lifecycle to closure.
---
What Makes This Not a Mashup
A mashup combines independent indicators that each output their own signal, then layers them visually. MRS is the opposite. Every component of MRS feeds into a single decision: "Is the current bar a trend-failure bar?" Remove any one component and the engine stops working correctly.
- The Directional Gate decides IF a trend is present (no trend = no exhaustion to detect)
- The Four Failure Conditions decide IF the current bar is structurally failing that trend
- The Signal Mode decides HOW STRICT the failure must be
- The Pressure Meter provides a live visual reading of building reversal pressure
- The Trade Level Engine decides WHERE to enter, stop, and target
- The HTF Filter decides WHETHER higher-timeframe context confirms the call
These are not independent indicators. They are stages of one detection pipeline. Each stage exists because the next stage cannot function without it.
---
The Engine - How It Actually Works
Stage 1 - Directional Gate (Kaufman Efficiency Ratio, Self-Adapting)
The script computes Kaufman's Efficiency Ratio (ER) over a rolling window. ER measures net price displacement divided by the total path price traveled. Values near 1.0 indicate pure trending motion; values near 0.0 indicate pure noise.
A fixed ER threshold would work well on one instrument and fail on another, so MRS adapts the gate dynamically. The threshold becomes the rolling mean of the ER series plus half a standard deviation, with a user-defined floor. This means the gate raises itself during volatile sessions and lowers during quiet sessions automatically. No re-tuning per instrument.
Only bars that occur inside a confirmed directional move (gate passed + minimum ATR displacement satisfied) are evaluated for failure. This single design choice eliminates the largest source of false signals: exhaustion calls in choppy ranges where there is no trend to exhaust.
Stage 2 - Four Failure Conditions (Evaluated at Bar Close)
For every bar inside a confirmed trend, MRS evaluates four orthogonal failure conditions:
C1 - Velocity Reversal: The bar closed against the direction of the confirmed trend. This is the most basic failure signal. A bull trend bar that closes red, or a bear trend bar that closes green.
C2 - Wick Rejection: The trend-side wick (upper wick in a bull trend, lower wick in a bear trend) is at least N times the size of the bar's body. This measures intra-bar rejection - buyers or sellers pushed price further in the trend direction and were defeated within the same bar.
C3 - Commitment Anomaly: The bar's commitment value (measured via volume-weighted body strength when volume is reliable, or wick-rejection ratio when it is not) is at least N standard deviations below the recent trend's commitment baseline. The current bar is statistically anomalous compared to what the trend has been producing.
C4 - Range Expansion: The bar's true range is at least N times ATR. Filters out small doji bars where wick rejection and velocity reversal become meaningless from microstructure noise.
These four conditions are orthogonal - they measure different physical properties of the bar. C1 measures direction. C2 measures intra-bar struggle. C3 measures volume/commitment. C4 measures magnitude. When multiple conditions align on the same bar, the signal reflects a greater degree of structural confluence - though no combination of conditions guarantees a reversal.
Stage 3 - Signal Mode (Strictness Selector - THE ACTUAL SIGNAL GATE)
This is the decisive gate that determines whether a signal fires. The user chooses how many of the four conditions must align:
Conservative - All 4 conditions required. Rarest signals, highest structural confluence. Best for swing traders, low-noise sessions, or those who prefer fewer signals with stronger multi-condition alignment.
Balanced (default) - Any 3 of 4 conditions required. Middle ground for most users and most timeframes. Allows one condition to be absent if the other three are strong.
Aggressive - Velocity Reversal (C1) is mandatory plus at least one other condition (minimum 2 of 4 total). Most signals, fewer conditions required per signal. Best for scalpers, active intraday traders, or those who prefer earlier detection at the cost of more false positives.
When the chosen condition count is satisfied at bar close, a signal fires. The Pressure Meter (Stage 5) is a separate visual reading and does not gate signals.
Stage 4 - Commitment Measurement (Volume-Aware with Auto Fallback)
Commitment measures how decisively the market voted on each bar. MRS supports three measurement modes:
Auto (recommended) - Uses volume-weighted commitment on instruments with real volume data (crypto, futures, stocks with traded volume). Automatically falls back to wick-rejection ratio on indices and synthetic feeds where reported volume is meaningless. The dashboard surfaces whichever method is actually active.
Volume - Forces volume-weighted measurement. Useful when you want to lock the method explicitly. Silently falls back to wick if data is missing, with a dashboard warning.
Wick - Forces wick-rejection ratio regardless of volume availability. Best for spot Gold (XAUUSD), forex, or any instrument where you don't trust the broker's volume feed.
Stage 5 - Adaptive Pressure Meter (Live Visual Reading)
The pressure meter is the dashboard's live reading of building reversal pressure. It is always populated whenever a trend is confirmed, regardless of whether the four-condition gate has been met. This gives the trader a continuous sense of how strong the reversal pressure has been building.
The meter is normalized against an adaptive baseline calculated from its own rolling history (mean + multiplier x stdev). The dashboard percentage shows where the current meter sits relative to that baseline.
Important: the baseline is a visual reference only. It does not gate signals. The signal authority is the Signal Mode condition count described in Stage 3. The meter and baseline simply help the trader monitor when conditions are increasingly aligned before they actually trigger.
Stage 6 - Higher Timeframe Confirmation (Optional Filter)
When enabled, the engine cross-checks every signal against the directional state of a higher timeframe. A reversal signal on the chart timeframe is marked "Strong" when the higher timeframe direction agrees with the chart trend being reversed against. For example: chart is in a confirmed bull move, HTF is also bullish, and a bear reversal signal fires - this is HTF-Strong, because the HTF confirms the bull trend that is being exhausted.
If the HTF direction disagrees with the chart trend (e.g., chart is in a bull move but HTF is already bearish), the signal is marked "Weak" - visually dimmed but not suppressed. The trader still sees the call but is warned that the HTF backdrop does not align with the underlying chart trend being detected.
The HTF uses request.security with lookahead = barmerge.lookahead_off, eliminating future-data leak across timeframes. The HTF series itself naturally evolves as each HTF candle forms (this is standard Pine behavior), so the script treats HTF as a confirmation filter rather than a guarantee of HTF-bar finalization. The signal trigger itself remains chart-bar-close only.
Stage 7 - Trade Level Engine (Complete Lifecycle)
When a signal fires, the engine automatically computes and draws:
- Entry: signal-bar close
- Stop Loss: fixed ATR distance from entry (not score-scaled - strong signals deserve tighter stops, not wider ones)
- Target 1: intermediate reference level, ATR distance scaled by signal strength (visual only, does not close trade)
- Target 2: decisive level, ATR distance scaled by signal strength (closes the trade on hit)
While the trade is active, four colored horizontal lines extend from the signal bar to the current bar, with monospace pill labels showing the price and R:R for each level. Two zone fills (green Entry to TP2 reward zone, red Entry to SL risk zone) make the risk/reward geometry visible at a glance.
The trade closes when either TP2 or SL is touched at bar close (intra-bar wicks that retreat before close do NOT close the trade). Same-bar TP2/SL tie is resolved as SL hit (conservative backtest assumption).
After closure, the trade-level lines freeze in place as historical record. Labels and fills vanish to keep the chart clean. The cooldown counter starts. By default, all four lines (Entry, SL, TP1, TP2) persist as historical traces for richest backtest visibility. The "Keep TP1/TP2 Historical Lines" input can be turned off to delete TP1/TP2 lines on closure and roughly double the number of historical trades the chart can hold before Pine's 500-line cap is reached.
---
Signal Timing - No Repaint
All signal generation and trade closure is gated to confirmed (closed) bars via barstate.isconfirmed.
- A reversal signal triangle and label appear only at the close of the signal bar
- Entry, SL, TP1, TP2 levels are computed from the signal bar's close
- Trade closure (TP2 / SL hit) is evaluated only after the candle finalizes - intra-bar wicks that retreat before close do not trigger closure
The trade-off is up to one bar of timing on closure for cases where price spikes through a level intra-bar and retraces. The gain is realistic backtest visuals and zero repaint at every stage of the trade lifecycle. This is an intentional architectural choice for honest behavior over flashy intra-bar firing.
---
How to Read the Chart
Signal Markers
Bull Reversal (detected inside a confirmed bear move, reversal up signaled): small cyan triangle below the bar.
Bear Reversal (detected inside a confirmed bull move, reversal down signaled): small red triangle above the bar.
Important: a bearish reversal signal fires inside a confirmed bull move. The signal detects exhaustion of the prevailing trend - not confirmation of a new one. The dashboard will show BULL MOVE while a short is active. This is correct behavior - you are trading the exhaustion of that bull move.
A monospace pill label sits beside each triangle showing the failure score (e.g., "Reversal Up | 2.45"). Higher numbers indicate stronger structural confluence across the four conditions.
When HTF Confirmation is enabled and HTF disagrees with the signal, the triangle and label appear in a dimmed color with "(HTF)" appended to the label text. The signal is still visible but is visually de-emphasized.
Trade Level Lines
Once a signal fires, four horizontal lines appear extending from the signal bar:
- Entry (yellow, solid): the price at which the signal was generated (signal-bar close)
- Target 1 (cyan, dashed): intermediate reference level, visual only
- Target 2 (green, solid): decisive level - trade closes when this is hit at bar close
- Stop Loss (red, solid): risk level - trade closes when this is hit at bar close
Pill labels at the right end of each line show the exact price and R:R distance.
Zone Fills
- Green soft fill between Entry and TP2: the reward zone
- Red soft fill between Entry and SL: the risk zone
At a glance, the green:red ratio visualizes the trade's risk-to-reward geometry.
Directional Background
- Subtle blue tint: a bull trend is confirmed
- Subtle red/orange tint: a bear trend is confirmed
- No tint: no confirmed direction (chop)
Bar Coloring (Exhaustion Gradient)
When the exhaustion meter rises above the trigger threshold (default 50% of baseline), bars are tinted on a gradient:
- Cool color (cyan/red): exhaustion is building but moderate
- Bright color (red on bull trend, cyan on bear trend): exhaustion has reached or exceeded the baseline - conditions for a signal are increasingly met, though no signal fires until the condition count gate is satisfied at bar close
Historical Trade Traces
After a trade closes, by default all four trade-level lines (Entry, SL, TP1, TP2) remain on the chart as a permanent historical record. This builds a visual log of every prior MRS detection directly on the chart. The "Keep TP1/TP2 Historical Lines" input can be turned off if you want to conserve Pine's line-object cap.
---
How to Read the Dashboard (Full Mode)
The dashboard is the live diagnostic panel. Every row tells you something specific about the current state of the engine. From top to bottom:
Row 0 - Title: "MOTION REVERSAL SYSTEM (MRS)" - confirms the indicator name.
Row 1 - Context: ticker symbol, chart timeframe, and active Signal Mode.
Row 2 - Directional State: BULL MOVE / BEAR MOVE / NEUTRAL - large text, colored. Tells you whether a confirmed trend is currently in effect. When a trade is active against the current trend (e.g., short open during a bull move), this row appends "SHORTING EXHAUSTION" or "LONGING EXHAUSTION" so the dashboard reads as a coherent statement rather than an apparent contradiction.
Row 3 - Exhaustion bar: a 10-segment text-based pressure bar with percentage. Shows how close the live meter is to the adaptive baseline. Color escalates from gray to teal to purple to bright red/cyan as pressure builds.
Row 4 - Pressure: numerical value of the live exhaustion meter.
Row 5 - Baseline: the adaptive baseline value (mean + k x stdev) the meter is compared against. Visual reference only - does not gate signals.
Row 6 - Conditions: which of the four failure conditions are currently satisfied. " VEL WICK ANOM RANGE" means C1, C2, C4 are firing; C3 is not.
Row 7 - Count: how many of 4 conditions are firing, with current Signal Mode in parentheses. This is the actual signal authority - when the count satisfies the Signal Mode rule, a signal fires.
Row 8 - Eff Ratio: the current Kaufman Efficiency Ratio value, with the adaptive gate level next to it. Shows whether the directional gate is passing.
Row 9 - ATR: current ATR value at the configured length. Reference for understanding trade-level distances.
Row 10 - HTF Dir: current higher-timeframe directional state, OR "INVALID HTF (set higher than chart)" warning if user has misconfigured the HTF input.
Row 11 - Commit: which commitment measurement method is currently active (Auto -> Volume, Auto -> Wick fallback, etc.), with warning indicator if forced mode silently fell back.
Row 12 - Active Trade Status: "NO ACTIVE TRADE" or "LONG ACTIVE E " / "SHORT ACTIVE E " - color-coded.
Row 13 - Status: "Ready for signal" / "Cooldown: N bars" / "Trade active" - tells you whether the engine can fire a new signal right now.
Row 14 - Session: count of signals fired in the current session (resets daily).
Rows 15 to 19 - Engine Parameters reference: live readouts of the directional window, lookback periods, threshold parameters, ER gate values, and current commitment status. Useful for verifying your settings are applied as expected.
Row 20 - Version and Author footer.
Mobile / Minimal Dashboard Mode
For phone and tablet users, switching "Dashboard Mode" to "Minimal (Mobile)" collapses the dashboard to a single-column 5-row compact layout with larger fonts: Title, State, Exhaustion, Conditions, and Trade Status. Diagnostics are hidden for screen-space efficiency.
---
Default Settings Explained
- Directional Window: 12 bars - measures Efficiency Ratio over a 12-bar lookback
- Directional Threshold (Base): 0.40 - minimum ER for trend confirmation, adapted upward dynamically
- Min Move Size: 1.5 ATR - net displacement must be at least 1.5 ATR for a trend to qualify
- Trend Statistics Lookback: 20 bars - sample size for computing commitment baseline statistics
- Wick Rejection Ratio: 1.5 - trend-side wick must be at least 1.5x the body to count as rejection
- Commitment Anomaly Sigma: 1.0 - current commitment must be at least 1.0 standard deviation below trend mean
- Min Range Expansion: 1.2 ATR - current bar range must be at least 1.2x ATR
- Signal Mode: Balanced - any 3 of 4 conditions required
- Baseline Lookback: 100 bars - rolling history for pressure meter statistics
- Baseline Multiplier: 2.0 - baseline = mean + 2.0 x stdev
- ATR Length: 14 - standard ATR period
- Commitment Mode: Auto - volume on real-volume instruments, wick on indices
- Post-Closure Cooldown: 10 bars - wait 10 bars after trade closure before new signal
- Stop Loss Distance: 1.5 ATR - base SL distance from entry
- Target 1 Distance: 1.5 ATR - T1 at 1:1 with SL
- Target 2 Distance: 3.0 ATR - T2 at 1:2 with SL
- Score-Weight Nudge: 0.3 - stronger signals widen targets by up to 30%
- Min Label Spacing: 0.35 ATR - minimum vertical gap between pill labels for readability
---
Recommended Usage by Trader Profile
Scalper (1m to 5m): Aggressive mode, Cooldown 5 to 8 bars, HTF Confirmation on 15m. Signal frequency will be higher in Aggressive mode; use the dashboard pressure meter to monitor building exhaustion between signals.
Intraday Trader (5m to 30m): Balanced mode (default), Cooldown 10 bars, HTF Confirmation on 1h to 4h. The default settings were designed with this profile in mind as a starting reference point.
Swing Trader (1h to 4h): Conservative mode, Cooldown 15 to 20 bars, HTF Confirmation on Daily. Few signals, maximum condition confluence required.
Position Trader (Daily and above): Conservative mode, HTF Confirmation on Weekly. Signals are rare; when they fire, all four structural failure conditions have aligned on a higher timeframe bar.
---
Recommended Markets
- Crypto (Spot and Perpetuals): well-suited - high volume data availability, clean microstructure, MRS auto-selects volume-weighted commitment
- Index Futures (NQ, ES, NIFTY futures): well-suited - real traded volume available, strong directional character
- FX Majors: usable with Wick commitment mode forced (broker volume is unreliable)
- Spot Gold (XAUUSD): use Wick mode explicitly - most brokers report tick count as volume which is meaningless
- Cash Indices (NIFTY, SPX index): MRS auto-detects index type and routes to Wick mode; verify Commit row on dashboard
---
A Real-World Example Walkthrough
This walkthrough is a constructed illustration of how the engine behaves. It does not represent a historical trade or a performance result.
Scenario: BTCUSDT 15m chart, Balanced mode, Auto commitment.
Bars 1 to 20: Price climbs in a steady bull move. Dashboard shows BULL MOVE, Efficiency Ratio 0.55, Pressure Meter 0.20 (low). No signals fire because exhaustion is not building.
Bar 21: A large green candle prints - Range Expansion (C4) fires but the bar closes strong (no Velocity Reversal C1), and commitment is normal (no C3). Only 1 of 4 conditions. No signal.
Bars 22 to 24: Three smaller green bars with shrinking bodies. The Pressure Meter ticks up to 0.55 (moderate). Bar coloring activates softly. Dashboard "Conditions" row shows - only Wick Rejection is firing intermittently. No signal yet.
Bar 25: A red bar prints with a long upper wick and large range. All four conditions fire:
- C1 Velocity Reversal: bar closed red (against bull trend)
- C2 Wick Rejection: upper wick is 1.8x the body
- C3 Commitment Anomaly: bar's commitment is 1.4 standard deviations below the trend baseline
- C4 Range Expansion: bar range is 1.6x ATR
Dashboard shows "Conditions: VEL WICK ANOM RANGE | Count: 4/4". Pressure Meter reads 1.15.
A red bear reversal triangle prints above the bar with the label "Reversal Down | 3.42". Trade-level lines automatically draw:
- Entry (yellow): 64,210.50 (signal-bar close)
- SL (red): 64,422.00 (1.5 ATR above entry, since this is a short)
- T1 (cyan dashed): 63,999.00 (1.5 ATR x score-scale below entry)
- T2 (green): 63,576.00 (3.0 ATR x score-scale below entry)
Green reward fill appears Entry to T2, red risk fill Entry to SL. Dashboard "Active Trade" row turns red: "SHORT ACTIVE E 64,210.50". Dashboard "Directional State" row reads: "BULL MOVE | SHORTING EXHAUSTION".
Over the next several bars, price drops. The trade-level lines extend bar-by-bar. Dashboard " Status " reads "Trade active". No new signals fire because one trade is already open.
Bar 32: In this example, price reaches T2 at 63,576.00 on this bar's close. The trade closes at the target level. Labels and zone fills vanish. The trade-level lines freeze at bar 32 as historical record. Dashboard "Status" switches to "Cooldown: 10 bars".
Bars 33 to 42: Cooldown period. No new signals possible.
Bar 43: Cooldown complete. Dashboard "Status" reads "Ready for signal". The engine will evaluate the next qualifying bar for failure conditions.
---
Chart Examples
These screenshots show the indicator in use at specific moments in time. They are provided for visual reference only and do not represent performance results or forward-looking outcomes.
1. MRS detected a trend-failure bar inside a confirmed bull move on BTCUSDT 5m. Range expansion (C4) fired as exhaustion pressure reached the adaptive baseline (1.28 vs 1.03). Balanced mode gated the short at bar close - entry 62,553.3, SL 62,681.9, T2 62,273.6 (T2 distance: 2.17R).
2. MRS detected a trend-failure bar at the low of a confirmed bear move on NQ1! 5m. As the engine tracked displacement against path length (ER), exhaustion pressure crossed the adaptive baseline - failure score 0.48. Balanced mode gated the long at bar close - entry 30,553.75, SL 30,489.00, T2 30,706.50 (T2 distance: 2.36R).
---
Parameter Adjustment Guide
If you get too few signals:
- Switch Signal Mode to Aggressive
- Lower Wick Rejection Ratio (1.0 to 1.2)
- Lower Commitment Anomaly Sigma (0.7 to 0.9)
- Lower Min Range Expansion (1.0 to 1.1)
- Reduce Cooldown to 5
If you get too many false signals:
- Switch Signal Mode to Conservative
- Raise Wick Rejection Ratio (2.0 to 2.5)
- Raise Commitment Anomaly Sigma (1.3 to 2.0)
- Raise Min Range Expansion (1.5 to 2.0)
- Enable HTF Confirmation
- Raise Cooldown to 15 to 20
If the T2 zone is reached but price reverses sharply before bar close triggers closure:
- Reduce T2 Distance to 2.0 to 2.5 ATR
- Reduce Score-Weight Nudge to 0.1 (less target widening on strong signals)
If SL is hit too often:
- Increase Stop Loss Distance to 2.0 ATR
- Increase T1 and T2 proportionally to maintain R:R geometry
---
What This Indicator Does Not Do
- It does not execute trades. It is an indicator (overlay), not a strategy. Order placement and trade management decisions remain with the user.
- It does not predict the future. It identifies bars where a confirmed trend has structurally failed based on objective criteria.
- It does not eliminate losses. False signals will occur, especially in news-driven price spikes. Always size positions according to your own risk management rules.
- It does not work on every instrument equally well. Choppy low-liquidity assets produce noisier signals. Test on your specific market before relying on it.
- It does not replace discretionary judgment. Use MRS as one input in your decision process, not the only input.
---
Alerts Available
MRS Bull Reversal (Strong) - bullish reversal signal; HTF confirms the preceding bear trend
MRS Bull Reversal (HTF Weak) - bullish reversal signal; HTF does not confirm the preceding bear trend
MRS Bear Reversal (Strong) - bearish reversal signal; HTF confirms the preceding bull trend
MRS Bear Reversal (HTF Weak) - bearish reversal signal; HTF does not confirm the preceding bull trend
MRS Target 2 Hit - trade closure at T2 level
MRS Stop Loss Hit - trade closure at SL level
---
Disclaimer
This script is provided for educational and analytical purposes only. It is not financial advice, an investment recommendation, or a solicitation to trade. Past performance of any indicator or strategy does not guarantee future results. Trading involves substantial risk of loss. The author and PulseWire are not liable for any losses or damages arising from use of this script. Always validate signals against your own analysis, conduct your own due diligence, and apply prudent risk management. Use at your own risk.
---
Open source under Mozilla Public License 2.0. Code is fully readable in the Pine Editor for those who want to study the math. Thank you.
- BullByte Indicator

Flow Pressure OscillatorFlow Pressure Oscillator visualizes directional market pressure, trend alignment, regime quality, pullback pressure, and extended pressure conditions in a separate oscillator pane.
The tool is built to help traders read whether market pressure is leaning bullish, bearish, or neutral. It combines trend structure, EMA alignment, ATR-normalized movement, ADX, directional efficiency, volatility behavior, and volume participation into a bounded flow reading between -100 and +100.
The main Flow Trail shows the current pressure direction and strength. Positive readings indicate bullish pressure, negative readings indicate bearish pressure, and values near the zero line suggest a more neutral or mixed environment.
Regime Dots show the internal market regime state. Upper dots represent bullish regime pressure, lower dots represent bearish regime pressure, and neutral readings show that no strong directional regime is active.
The Pullback Reload Line is designed to highlight pullback pressure inside an existing bullish or bearish regime. It is not an entry signal by itself. It is meant to be used as context together with the Flow Trail, regime state, and the user’s own chart analysis.
The oscillator also highlights expansion and exhaustion-style pressure conditions. These areas can help identify when pressure is becoming stretched, accelerating, or losing momentum. They should be treated as market-context readings, not as guaranteed reversal or continuation points.
Core components
Flow Trail:
The main pressure line. It reacts to trend pressure, momentum slope, acceleration, structure alignment, volatility, and volume participation.
Zero Line:
A neutral reference level. Readings above zero show bullish pressure dominance. Readings below zero show bearish pressure dominance.
Regime Dots:
A visual regime filter for bullish, bearish, or neutral pressure conditions.
Pullback Reload Line:
A secondary pressure line designed to show pullback or reload behavior inside an active regime.
Pressure Fill:
A visual fill between the Flow Trail and the zero line to make pressure direction easier to read.
Extreme Pressure Coloring:
Highlights expanded, stretched, or exhaustion-style pressure states.
A simple way to use the oscillator is:
- Flow Trail above zero = bullish pressure is dominant;
- Flow Trail below zero = bearish pressure is dominant;
- Rising Flow Trail = pressure is strengthening;
- Falling Flow Trail = pressure is weakening;
- Regime Dots help confirm whether the broader pressure environment supports the current flow direction;
- Reload Line can help identify pullback pressure during an existing bullish or bearish regime;
- Extreme pressure areas should be used for awareness, not as automatic trade signals.
Important notes
Flow Pressure Oscillator is a market-pressure visualization tool only. It does not provide financial advice, trade recommendations, profit targets, stop losses, win-rate calculations, or performance guarantees.
The script should be used together with the trader’s own market structure, support and resistance, risk management, and confirmation process. No single oscillator should be used as a complete trading system. Indicator

EWO,RSI advanced Signals Strategy - Exhaustion Filter## EWO, RSI, MFI - Advanced Exhaustion Filter
## Overview
Strategy - Advanced Exhaustion Filter is a comprehensive momentum and mean-reversion trading strategy designed for Pine Script v6. It combines multi-indicator momentum tracking with structural price filters to protect traders from "falling knives" during market capitulation and distribution phases.
By blending the Elliott Wave Oscillator (EWO), Relative Strength Index (RSI), Money Flow Index (MFI), and volume-weighted confirmations, this strategy ensures you only enter a trade when genuine momentum returns to the market.
------------------------------
## How It Works##
1. Core Momentum Engine
The strategy relies on three distinct layers of confirmation before generating a trade:
* Elliott Wave Oscillator (EWO): Measures the displacement of price to determine the dominant market wave. Entries require the EWO to be ticking upward from below zero.
* Relative Strength Index (RSI): Filters structural momentum. A long entry triggers when RSI crosses above the critical 40 line, proving a shift out of bearish territory.
* Money Flow Index (MFI): Adds volume-weighted momentum to ensure asset accumulation is actually taking place rather than a low-liquidity squeeze.
2. The Exhaustion & Structural Filter (Anti-Falling Knife)
Standard momentum strategies often fail during deep market sell-offs because indicators flash "buy" on minor relief bounces while price continues to plummet. This script solves that problem using two proprietary rules:
* The Breakout/Breakdown Barrier: The script dynamically tracks the highest high and lowest low of the last N bars (lookback_len). Even if indicators say buy, the strategy will wait until price physically breaks above this local structural barrier.
* Capitulation Memory Flag: If the market enters a state of extreme panic (RSI drops below rsi_oversold), the strategy flags an "Exhaustion Zone". In this zone, the strategy prepares for an explosive trend reset, overriding standard barriers once momentum reverses.
3. Volumetric Confirmation
Signals are filtered through a volume moving average (Volume MA). Entries and exits are only permitted if market volume is at least 80% of its recent average, keeping you out of choppy, illiquid trading sessions.
------------------------------
## Strategy Parameters
* EWO Fast / Slow (Default: 5, 34): The short and long-term moving averages used to calculate the Elliott Wave Oscillator waves.
* RSI Length (Default: 14): The lookback window for trend and exhaustion momentum.
* MFI Length (Default: 14): The lookback window for volume-weighted money flow tracking.
* Breakout Lookback Bars (Default: 10): The number of historical bars used to calculate local structural highs and lows to prevent premature entries.
* Exhaustion RSI Level (Default: 30): The extreme oversold threshold that triggers capitulation logic.
------------------------------
## Best Practices & Asset Classes
* Timeframes: Optimised for 15-minute, 1-hour, and 4-hour charts where structural highs and lows carry significant weight.
* Markets: Highly effective on trending assets with periodic high-volatility liquidations, such as Crypto (BTC, ETH), major Forex pairs, and Tech Stocks.
------------------------------
## ⚠️ Disclaimer
Financial Risk Warning: Financial trading involves substantial risk of loss and is not suitable for every investor. The information, strategies, and script provided here are strictly for educational, informational, and research purposes.
No Advice: This script is not financial advice, an investment recommendation, or a solicitation to buy or sell any financial instrument. Past performance as demonstrated by historical backtesting is never a guarantee of future results.
User Responsibility: Markets change rapidly, and default settings may not fit all assets or market conditions. You are fully responsible for your own trading decisions. Always thoroughly backtest, forward-test on a demo account, and apply your own strict risk management protocols before risking real capital.
Strategy

Trend Efficiency Exhaustion Regime-Gated & CalibratedTrend Efficiency Exhaustion — Regime-Gated & Calibrated
What it is
A single-pane oscillator that measures when a trend is losing efficiency and turns that into graded, forward-calibrated exhaustion and ignition signals. It is built around one question — "is this efficiency-exhaustion event actually worth acting on?" — and every component in the script exists to answer that one question rather than to add an independent signal.
It plots, in one pane: an efficiency-gap histogram, a fast efficiency line, event markers, a regime "weather-strip" ribbon, and an information table that states the read in plain language. It is symbol- and timeframe-agnostic; defaults are tuned for NIFTY / BANKNIFTY but a Source input and a VIX-symbol input let you use it on any instrument in any market.
The core idea — efficiency, not a magic multiplier
The Efficiency Ratio is the net move divided by the total path travelled over a window: ER = |close − close | / Σ|close − close |, bounded 0–1. A value near 1 means price moved in a straight, efficient line (trend); near 0 means it wandered (chop).
Reading efficiency at two horizons gives the central signal:
Efficiency Gap = ER_fast − ER_slow. When the fast read rolls over while the slow read is still elevated, the trend is losing efficiency under an otherwise intact trend — the classic exhaustion tell.
Displacement percentile ranks the current leg's travel against recent completed legs on this symbol and timeframe, so "stretched" is defined by the instrument's own recent behaviour rather than a fixed price > k·ATR multiplier.
Exhaustion = a stretched leg with fast efficiency rolling over, under a genuine trend. Ignition = fast efficiency surging from a young leg (continuation).
Why these components belong in ONE script (how the mashup works together)
This is a mashup by design, but it is not a stack of indicators each drawing its own signal. Every layer is a gate or a grade on the same event, feeding one decision pipeline:
Efficiency (dual-horizon Efficiency Ratio) — detects the candidate event (exhaustion / ignition).
Regime engine (Efficiency + ADX + a self-exciting volatility-cluster intensity) — decides when the event is even allowed to fire. Exhaustion is only meaningful inside a real trend; it is suppressed in chaotic, news-driven volatility. The regime is rendered as a continuous 5-state read (strong-trend / trend / neutral / reversion / chaos).
Variance ratio (Lo-MacKinlay) — a second, short-window-reliable lens that confirms a real trend existed to exhaust (VR > 1 = trending, < 1 = mean-reverting, ≈ 1 = random walk), with a significance z-statistic.
Ornstein-Uhlenbeck half-life — quality gate: if the estimated mean-reversion half-life is longer than the evaluation horizon, the expected reversion is too slow to pay off in time, so the exhaustion call is rejected.
Implied-volatility (VIX) state — quality gate: exhaustion is more reliable when implied volatility is elevated but stable (fear present, not spiking). The gate blocks exhaustion during a volatility spike.
Divergence quality — grades each exhaustion on the price↔efficiency divergence at the extreme: the slope of the efficiency drop between successive same-side pivots, how developed the swing is, and whether volume waned into the extreme. Weak-divergence setups are filtered out.
Forward calibration — the scorekeeper. Each fired event is logged as a hypothesis and resolved a fixed number of bars later against an ATR-scaled move, then summarised as a realised hit-rate versus an unconditional base rate.
Take any single layer away and the remaining pipeline still describes the same one event — they are complementary measurements of a single hypothesis (a trend running out of efficiency), which is precisely why they belong together rather than as separate scripts. The regime, variance-ratio, OU and VIX layers never plot their own buy/sell calls; they only decide whether the efficiency-exhaustion event is trustworthy.
The part most scripts skip — forward calibration
Most indicators emit a score and never check whether that score was right. Here, every event is queued and resolved N bars later against moveATR × ATR, in R-multiples. The information table reports, per class (Exhaustion / Ignition):
n — resolved sample size
Hit% with a Wilson 95% interval (so you see how stable the rate is)
Base% — the unconditional same-horizon move rate (the honest benchmark)
Edge = Hit% − Base%, marked * when a z-test clears 95%
MFE / MAE in R (how far it ran for you vs against you)
a recency-weighted hit-rate and a regime-conditional hit-rate for the current regime
If Edge is not positive, the signal is not adding information over chance on your chart — and the script tells you so instead of hiding it.
How to use it
Ribbon = context. Don't fade a strong trend; stand aside in chaos.
Histogram rolling over + a marker = the trigger.
Verdict line = the plain-language call (e.g. "TREND · watch for exhaustion", "EXHAUSTION ↓ · fade the up-move (edge +12%*)", "CHAOS · stand aside"), with the calibrated edge appended when the live class is calibrated.
Chart View: Clean (default) shows only the decision elements; Full adds the slow-ER line, displacement %, all reference levels and the divergence glow for analysis.
Information Table: Compact (default) is the key-info panel — verdict, efficiency/displacement/regime, variance-ratio/OU/VIX, best calibrated edge. Pro adds the full per-class calibration table with confidence intervals, recency and regime-conditional rows.
Treat it as a context-and-confirmation overlay on your own process, not an autotrading signal. Paper-trade first and confirm the Edge column is positive on your symbol and timeframe before relying on a class.
Originality
The novelty is not any single formula — those are credited below — but the closed loop: a self-referential displacement percentile (no fixed multiplier), a regime engine and four independent quality gates that all condition one event, and a forward-calibration layer that scores that event against its own base rate with confidence intervals, recency weighting and regime conditioning. Everything is original Pine; no third-party script code is reused.
Inputs, data & markets
Source (group 1) sets the raw series the whole engine reads — change it to use any instrument in any market.
Defaults are tuned for NIFTY / BANKNIFTY; the VIX Symbol defaults to NSE:INDIAVIX. For other markets, change the Source, the ER horizons and the VIX symbol (e.g. CBOE:VIX). A missing VIX symbol auto-disables that gate.
Inputs are organised institutionally: Source & Efficiency · Regime & Variance-Ratio · Displacement · Events · Quality Gates · Calibration · Display · Theme · Exports. The table colour scheme adapts automatically to a light or dark chart background.
Non-repaint
Efficiency is read on confirmed closes, legs are taken from confirmed pivots, events fire on barstate.isconfirmed, and there are no dynamic-length ta.* calls. Forward statistics are in-sample, close-to-close, with no costs, slippage or stops — a study aid, not a backtest.
Concept credits (original Pine re-derivations)
Efficiency Ratio — Perry Kaufman
Variance-ratio test — Andrew Lo & Craig MacKinlay (1988)
ADX / Directional Movement — J. Welles Wilder
Self-exciting (Hawkes) intensity — Alan G. Hawkes (1971)
Mean-reversion half-life — Ornstein & Uhlenbeck process
Score confidence interval — Edwin B. Wilson (1927)
Dominant-cycle homodyne discriminator — John F. Ehlers
Disclaimer
For education and information only. Not financial advice and not a recommendation to buy or sell anything. Past performance does not guarantee future results. The forward statistics are in-sample and idealised (close-to-close, no costs/slippage/stops). Always do your own analysis and manage your own risk; paper-trade before risking real money. Indicator

Volatility Reversion Bands Pro [JOAT]VOLATILITY REVERSION BANDS PRO
A two-layer reversion envelope: inner Bollinger band for the normal volatility envelope, outer ATR-extended band for the extreme envelope. Signals only fire when price has reached the outer ring — the inner band is context, the outer band is the trigger. The result is a clean mean-reversion engine that respects the difference between "stretched" and "actually stretched".
Two envelopes, one principle
Inner band — classic Bollinger: basis (SMA or EMA) ± stdev × multiplier. The familiar 20-period, 2-sigma defaults are preserved.
Outer reversion band — the outer envelope extends inner band ± ATR × multiplier . This is the band that triggers signals. Setting the ATR multiplier high makes signals rarer but deeper; setting it low makes them frequent and shallower.
Reversion bands using stdev alone collapse in low-volatility regimes (too many false signals) and explode in high-volatility regimes (signals come too late). The ATR extension on top of stdev fixes both: ATR adds a constant-floor protection in quiet markets and scales the outer band proportionally in loud ones.
Strong vs weak signals
Two signal tiers from a single channel-ratio read (close position within the outer band, normalised 0–1):
Strong signals — fire on the outer band itself (ratio ≤ 0 or ≥ 1). The high-conviction reversion read.
Weak signals — fire when ratio reaches a configurable near-band threshold (default 0.10 / 0.90). The "approaching outer band" read — useful for traders who want earlier hints. Easily disabled.
A signal cooldown suppresses same-side repetition; an exhaustion arrow prints when N consecutive bars (default 3) all live in the outer-band zone — a configurable escalating-glyph string ("^", "^^", "^^^"…) makes the run length visible at a glance.
Volatility regime classification
Independent of signals, the script classifies the current volatility regime by comparing current stdev to its own rolling average over a long lookback (default 100 bars):
Low regime — stdev / avgStdev below the low threshold (default 1.0×). Reversion is more reliable here.
High regime — above the high threshold (default 2.0×). Reversion is less reliable here; trends become dominant.
Normal regime — in between. Default mode.
Background tinting (toggleable, transparency-controlled) paints the chart by regime so the trader can see at a glance whether the current environment is suitable for reversion. This is the "do not fight the tape" filter — when the background is hot, every reversion signal is lower-conviction by definition.
Visual system
Bar gradient — bars are coloured by their position-in-band ratio (bull → mid → bear via plasma palette). At a glance you can see where price is sitting in the channel without reading the value.
Inner band fill — toggleable shoulder fill between BB and outer reversal bands with configurable transparency.
Inner BB lines and basis line are each independently toggleable for traders who want a minimalist or full envelope view.
Signal label style — Glyph (compact), Text (verbose), or Both.
A locked Plasma palette (yellow bull, magenta bear, violet mid) on a deep-void background gives the chart a distinctive look without competing with price action.
Dashboard
Monospaced table, positionable to any of nine corners, with togglable legend footer. Rows surface current basis, inner band values, outer reversion band values, channel ratio %, stdev / avgStdev ratio, regime label, last signal direction with age, and an exhaustion run counter.
Alerts
Four alert conditions, each independently controllable:
Strong Long / Short (outer band touch reversion)
Weak Long / Short (near-band threshold)
Vol Regime Change
Exhaustion Arrow (consecutive bars in outer-band zone)
How to read it
Two reads, in order of conviction:
Strong signal in a Low or Normal regime — the script's intended sweet spot. The outer band has been touched, price is statistically far from its mean, and the volatility environment supports the idea of mean-reversion.
Exhaustion arrow — when 3+ bars sit in the outer band, you usually have either a genuine breakout (the bands themselves will start to expand) or an exhaustion (the next reversal candle will be the signal). Either way, the next move is meaningful.
In a High regime, treat strong signals as cautionary at best — the bars are coloured by ratio for a reason; the gradient will tell you when one side is dominating.
Suggested settings
Defaults (length 20, stdev mult 2.0, ATR mult 1.5) are tuned to 1H–4H on liquid markets — the classical Bollinger settings plus a 1.5-ATR outer cushion. For 5m–15m, drop length to 14 and ATR multiplier to 1.0. For daily and above, raise length to 50 and ATR multiplier to 2.0. The regime thresholds (low 1.0×, high 2.0× of the long-run stdev average) are conservative — tighten the bands if your instrument is unusually quiet.
Originality / what's reused
Bollinger Bands and ATR are public-domain primitives. The implementation — the outer-band = inner-band ± ATR construction, the channel-ratio bar gradient, the regime classifier with auto-tinted background, the exhaustion-arrow consecutive-bar run logic, the weak/strong signal tiering, and the dashboard's monospaced regime-aware layout — is JOAT-original and tuned together. No third-party code reused.
Open source
Published open-source under the default Mozilla Public License 2.0. Section-headed source, tooltips on every input, helper functions documented inline. The band engine, the regime classifier, the exhaustion logic, and the dashboard are independent modules — fork or extend any single one without reading the whole file.
Limitations
Reversion bands are a counter-trend tool by construction. In sustained one-sided moves the outer band will be repeatedly touched without producing a profitable reversion — the High regime tint and the exhaustion-arrow run logic both exist to warn you when you are in this state. Signals are confirmed on bar close (non-repainting), so an intra-bar wick into the outer band that gets reabsorbed will not fire.
—
-made with passion by jackofalltrades
Indicator

Indicator

Exhaustion Candles MTF DashboardExhaustion Candles (MTF) + Table
OVERVIEW
This indicator detects "exhaustion candles" — climactic bars that frequently appear where a move runs out of momentum and price reverses or stalls. It detects them on the chart timeframe and also reports the same logic across three higher timeframes (5m, 15m, 1h) in an on-chart table, so you get multi-timeframe context from a single pane.
WHAT IS AN EXHAUSTION CANDLE
An exhaustion candle represents a climactic push followed by rejection: an outsized bar on heavy participation that gets faded by the close, leaving a long wick. This script defines one precisely so the signal is objective rather than discretionary.
HOW IT WORKS (CALCULATIONS)
A bar is flagged as exhaustion only when ALL three conditions are true on that bar:
1. Range spike — the bar's range (high minus low) is greater than its average range over the lookback period multiplied by the Range Spike Multiplier. Average range = SMA(high - low, Lookback).
2. Volume spike — volume is greater than its average over the lookback period multiplied by the Volume Spike Multiplier. Average volume = SMA(volume, Lookback). This check can be disabled for symbols without reliable volume.
3. Rejection wick — the rejection wick is larger than the candle body times the Wick > Body Ratio, AND it is the dominant wick of the bar.
Direction is then assigned:
• Bullish exhaustion (potential top) = the UPPER wick is the dominant rejection wick.
• Bearish exhaustion (potential bottom) = the LOWER wick is the dominant rejection wick.
MULTI-TIMEFRAME TABLE
The same calculation is requested for the 5m, 15m and 1h timeframes and shown in a table:
• "Now" = whether that timeframe's latest bar is currently an exhaustion candle.
• "Last Signal" = the direction of the most recent exhaustion and how many bars ago it occurred (counted in that timeframe's own bars).
The table header shows a CONFIRMED / LIVE banner indicating the current data mode (see below).
CONFIRMED vs LIVE (REPAINTING) MODE
• CONFIRMED (default, non-repainting): each timeframe's value is taken from its last closed bar, so values do not change on the currently forming bar. Recommended for decisions and for honest historical behavior.
• LIVE: values reflect the still-forming higher-timeframe bar. They update in real time but can change before that bar closes. Use only as an early, tentative read.
HOW TO USE
Treat exhaustion as a context and confluence tool rather than a standalone entry. Signals are strongest when they occur into support/resistance or when multiple timeframes show exhaustion in the same direction (for example 5m aligning with 15m). Use the table for higher-timeframe context while trading a lower timeframe. Increase the range and volume multipliers and the wick-to-body ratio for fewer but stronger signals, and tune them to the symbol and timeframe you trade.
SETTINGS
• Detection: Average Lookback, Range Spike Multiplier, Volume Spike Multiplier, Wick > Body Ratio, Require Volume Spike, Non-repainting (confirmed bars only).
• Colors: separate bullish and bearish exhaustion colors for the 5m and 15m charts, plus an "Other" color set for any other timeframe.
• Table: show/hide, placement, and text size.
• Alerts: bullish exhaustion and bearish exhaustion conditions are included.
LIMITATIONS
Bar coloring can only be applied to the chart's own timeframe (a Pine Script limitation), which is why the cross-timeframe view is provided through the table. Exhaustion is a context signal and does not guarantee a reversal.
This script is published for educational purposes only and is not financial advice. Always test and manage risk before trading. Indicator

MACD Dive [TTM Squeeze | Dual Lock %R]Disclaimer : This indicator is not financial advice and is strictly for educational and informational purposes only. The metrics and signals provided herein (including momentum crosses, trend saturation state icons, and squeeze markers) are calculated based on historical market data and do not guarantee future performance. Trading stocks and commodities involves significant risk of loss. The user assumes full responsibility for all trading decisions and should always perform their own due diligence before executing trades.
MACD Dive is a multi-state momentum and volatility context engine. By layering momentum oscillation (MACD/PPO/MACD-V) with market stalemates (volatility squeeze) and trend exhaustion (Dual %R saturation), this suite transforms a standard MACD into a multi-dimensional 'No-Go' gatekeeper. This synergy is what gives the engine its edge: it actively blocks the trader from whipsawing in sideways chop or buying into a dying trend, highlighting high-probability market turns where momentum, volatility, and trend capacity perfectly align.
Standard oscillators have a scaling problem. This script lets you choose your engine:
MACD (Classic): Measures momentum in absolute dollars. Great for visual reactivity, but a "2.0" reading means something different on a $5 stock versus a $500 stock.
PPO (Percentage): Measures momentum in percentages. Standardizes the reading across all assets, making it ideal for fixed-rule algorithmic trading.
MACD-V (Volatility Normalized): This divides the MACD by the Average True Range (ATR). It measures momentum in "Units of Volatility," mathematically adapting to market chaos so that signals remain consistent across both different assets and shifting volatility regimes (quiet markets vs chaotic markets).
This suite includes a fully optimized divergence detection engine:
Regular Divergence (Solid Lines): Identifies Trend Reversals. Price pushes to a new extreme, but momentum fails to follow, signaling exhaustion.
Hidden Divergence (Dashed Lines): Identifies Trend Continuations (Slingshots). Price pulls back, but momentum fully resets, signaling a high-probability entry in the direction of the dominant trend.
Located in your chosen corner, the HUD provides an instant visual readout with hover tooltips for active Engine Mode, %R Fatigue state, Oscillator crossover validation, and Squeeze environment. Vertical background highlights in green or red represent filter-passed momentum crossovers, like the MACD bullish cross. Use the extensive inline tooltips in the indicator's settings panel for a comprehensive breakdown of every tunable parameter.
Adaptive Time-Frames & RSI Gatekeeper
Think of this as an automated gear shifter. When looking at lower timeframes (below a user-defined boundary, e.g. 1 hour), the engine automatically scales down to tight, agile lookback periods. When viewing high timeframes, it dials up to filter out noise.
Buying a bullish MACD cross when the RSI is already at 85 increases risk of buying the top when the tank is empty. The optional RSI Safety Filter acts as a strict ceiling/floor blocker. If momentum crosses upward but the asset is mathematically overbought, the indicator suppresses the background highlight. It prevents signals on MACD crosses that have no fuel left.
VOLATILITY ENGINE: BB-KC Squeeze Radar
Building on John Carter’s TTM Squeeze by mapping the contraction of Bollinger Bands inside Keltner Channels to identify market stalemates. The implementation here color codes between a Loose Squeeze (BB inside 1.5 KC) and a hyper-compressed Tight Squeeze (BB inside 1.0 KC) to show the staged intensity of the coiled spring.
While the market coils sideways, a 20-period Linear Regression calculates the trajectory of price deviation inside the bands. The directional bias is shown by customizable markers on the zero line (default ⌃ or ⌄). This reveals hidden institutional accumulation or distribution before the trigger is pulled. To bypass "dead money" risk, the script tracks the first clean candle close or intraday pierce outside the Keltner bounds following a squeeze, catching the expansion phase exactly as it starts.
Furthermore, it accounts for the "Disappearing Mark" phenomenon. Bollinger Bands expand instantly when price moves, causing standard squeeze signals to vanish 1-3 bars before the real breakout candle. This script uses a memory state to remember recent compression, firing a "squeeze release" marker (default ❖) the exact moment price closes outside the Keltner bounds. Trade the release, not the waiting room.
Note: While MACD Dive tracks this compression mathematically on its zero-line, you can see the actual physical boundaries of the breakout by pairing it with my companion Swing Data suite . Plotting its Keltner Channel at 1.5 multiplier over your price chart allows you to visually verify the exact moment the squeeze release mark is ignited.
SATURATION ENGINE: Dual-Lock %R and Momentum Rot
This suite tracks sustained trend maturity using a fast/slow dual Williams %R setup. The conceptual pairing of a fast and slow %R to identify overbought/oversold exhaustion is credited to upslidedown's excellent Trend Exhaustion indicator . I highly recommend applying their script to your chart if you want to visually learn how the two %R lines interact.
While upslidedown’s implementation offers multiple display modes to paint visual boxes and exhaustion zones directly over price action, the focus here is on the discrete icons for trend status at the top and bottom of the MACD pane: Ignition (·), Saturation (□), and Fatigue (×). This suite adapts native ta.wpr() math assuming the trader is already familiar with Dual %R mechanics. Specific "Sprint" and "Marathon" tuning guidance is provided in the tooltips: heavily smoothing the fast line to ignore intraday noise, while lightly smoothing the macro slow line to preserve its reach into extreme zones.
It also features one major addition: the Stall. While Dual %R tracks Price Location (confirming price is structurally pinned at the highs), it doesn't track Velocity (confirming energy is sustained). To solve this, a Stoch RSI "Rot" detector runs quietly inside the saturation state. If price continues to float at the highs but internal velocity drops below a critical threshold, the script overlays a Stall marker (•). Designed as a "one-shot" early warning, it fires only on the first detection per trend saturation leg to prevent chart clutter. This differentiates a strong trend lock from a rotting lock, warning us that the move is running on fumes: giving us the exact cue to tighten stops, trim into parabolic strength, and strictly avoid adding new size.
BACKTESTER READY
Out-of-the-box compatibility with a comprehensive built-in README guide is available directly inside the settings menu. For traders who prefer a "Diamond Hands" approach, the indicator fully maps to Jason5480's TTS Framework convention, outputting strict integer states (1, -1, 2, -2) to hold full position size until the trailing macro baseline completely fractures. My personal backtester, Cosmos Signal Commander (which may be released to the public in the future), broadcasts a composite float signal capable of managing active trade positioning. It tracks entries, hard stops, and partial take-profits (swapping the trailing stop from tight to a wide "runner" buffer upon hitting extended ATR targets).
PERFORMANCE OPTIMIZATION
O(1) Memory States: Replaced lag-heavy ta.barssince() and 50-bar for loops in the Divergence engine with O(1) var state trackers.
String Caching: HUD table strings are built once in the global var scope to prevent constant memory allocation and garbage collection lag.
UI Mutation: The HUD uses table.cell_set_* to alter data dynamically, bypassing the stutter caused by destroying and redrawing tables on every tick.
Native C++ Backend: Replaced custom highest/lowest math arrays with native ta.wpr() functions for the %R engine to maximize computation speed.
Ghost State Resets: When switching the backtester logic to "Long Only" mode, the engine actively hunts and kills lingering short-memory variables so they don't inadvertently suppress valid long signals.
Indicator

Phase Exhaustion Reversal [BullByte]Phase Exhaustion Reversal (PXR) is an intraday reversal engine that measures one specific market phenomenon: the moment a short-horizon directional burst exhausts itself against a broader structural gradient. It is built on a single mathematical primitive - directional efficiency - applied at two horizons, and turns the gap between them into an exhaustion-detection framework.
This is not a mashup of existing indicators. The entire engine is derived from one calculation family: how cleanly price travels over a window. The regime classifier, the signal trigger, the risk engine, and the dashboard are all layers of that single concept rather than separate components.
---
Why This Indicator Exists
Most reversal tools fire on oscillator extremes or candlestick patterns. They answer the question "is price stretched?" but not "has the energy actually run out? " A market can stay stretched for a long time before reverting. PXR was built to answer a more precise question: when has a short-horizon momentum burst exhausted its energy against the prevailing structural direction? That moment - the exhaustion-and-recede - is what PXR isolates.
The phenomenon being studied can be observed on historical price data.
When price moves with high short-horizon efficiency in a direction that contradicts the medium-horizon efficiency gradient, that move is consuming energy faster than structure supports. Such bursts can appear to exhaust and then realign with the broader gradient on historical data. PXR visualizes that potential realignment as an observation worth studying.
---
Why a Trader Might Use It
Intraday traders on 5-minute and 15-minute charts frequently face counter-trend bursts that look like reversals but are actually just temporary dislocations. PXR offers a structured way to read those bursts: it waits for the burst to peak, confirms the peak has begun receding, and only then marks the realignment as armed. The next-bar open execution model means the entry price on the chart matches what a real-time observer could actually have achieved.
PXR is designed for traders who want a single coherent reading of market state - regime, bias, setup progression, and signal - rather than juggling multiple unrelated indicators.
---
The Concept
Imagine price as a hiker walking through terrain. Two things can be measured about that hiker over any window of time:
One - how far they ended up from where they started. This is transport.
Two - how much total ground they covered while getting there. This is agitation.
The ratio of transport to agitation is efficiency. If a hiker walked 100 meters in a straight line, transport equals agitation, and efficiency is 1.0 - perfectly directional. If a hiker zigzagged 500 meters total but ended up only 100 meters away, efficiency is 0.2 - most of the energy was wasted on the zigzag.
PXR computes this efficiency at two horizons simultaneously. The short horizon (around 35 minutes of bars, regardless of timeframe, by default) captures reactive bursts. The medium horizon (around 2 hours of bars by default) captures the structural gradient - the broader direction price is actually flowing in.
When the short-horizon efficiency spikes far from the medium-horizon efficiency, the two have dislocated. PXR normalizes this dislocation into a value called the Phase Gap. When the Phase Gap stretches to an extreme and then begins to recede, the short-horizon burst is exhausting. If the medium-horizon gradient points the opposite direction at that moment, PXR marks a realignment signal - the observed behavior is a possible realignment with the structural gradient.
---
What Makes This Different From a Standard Momentum Tool
Three architectural choices separate PXR from typical oscillator-based reversal tools.
First, the use of two-horizon efficiency phase-gap normalization. The raw difference between two efficiency readings is rescaled by its own rolling maximum so the threshold stays meaningful across all volatility regimes. A 0.6 reading means the same thing on a quiet day as on a volatile one.
Second, regime-conditional adaptive thresholds. The signal threshold is not a fixed constant. It adapts based on whether the market is currently classified as Extended (clean trend), Compressed (range), Transitioning (regime shifting), or Neutral. Each regime gets a different sensitivity, and each timeframe gets its own scaling on top of that.
Third, an exhaustion-and-recede state machine gated by structural gradient sign. The signal does not fire when the Phase Gap simply crosses a level. It fires only when the gap has first reached a qualified peak and then receded by a meaningful fraction of that peak - confirming exhaustion has begun - and only when that exhaustion direction opposes the sign of the medium-horizon efficiency. This is a directional fade of short-horizon energy against the prevailing structural gradient.
---
Mathematical Foundation
The script is built from three primitive calculations. All other logic flows from these.
Transport over n bars equals close minus close n bars ago. This measures net displacement.
Agitation over n bars equals the sum of absolute bar-to-bar price changes across that window. This measures total path length.
Efficiency over n bars equals transport divided by agitation. This produces a signed value bounded between -1 and +1. Positive values indicate net upward directional purity, negative values indicate net downward directional purity, and values near zero indicate chop.
The Phase Gap is the short-horizon efficiency minus the medium-horizon efficiency, divided by the rolling maximum of the absolute raw gap. This normalization keeps the Phase Gap roughly within plus or minus one regardless of market conditions.
A realignment signal fires when the Phase Gap has peaked beyond a regime-adjusted threshold and then receded by a meaningful fraction of that peak, AND the sign of the medium-horizon efficiency points in the direction opposite to the burst that just exhausted.
This calculation family is conceptually related to efficiency-ratio style measurements. PXR's originality lies in the multi-horizon phase-gap construction, the regime-adaptive thresholding, and the exhaustion-and-recede state machine.
---
Recommended Timeframes and Markets
PXR is built for intraday operation. The timeframe-adaptive logic is tuned for 1-minute through 15-minute charts. The default Auto-Scale setting recalibrates the horizons so the same physical time window of analysis is used regardless of timeframe.
The phenomenon PXR studies appears most cleanly on liquid intraday instruments. Crypto majors such as BTCUSDT and ETHUSDT on 5-minute and 15-minute charts work well because crypto exhibits meaningful path tortuosity - the agitation-to-transport ratio carries real information. Index futures such as NQ and ES on 5-minute and 15-minute charts also work, though session boundaries can affect the normalization window on overnight sessions.
PXR is built for intraday use. Higher timeframes such as 1H, 4H, or daily may behave differently because the regime thresholds and recede fractions are tuned for intraday energy cycles rather than multi-day structural shifts.
---
Chart Examples
The two examples below are illustrative historical signals chosen to show the engine's mechanics and visual elements. They are not representative of typical or expected outcomes. Many signals fail and reach the INVALIDATION level instead. These examples are educational only.
1. Example - Bull Realignment on BTCUSDT 15m
The annotated chart shows a complete PXR realignment cycle.
Price experienced a sharp short-horizon bearish burst from roughly 77,650 down to 76,150. During this drop, the medium-horizon efficiency gradient remained bullish - the slower 24-bar window still carried the structural upward bias from earlier hours. The yellow diagonal line traces this bullish medium-horizon gradient that the bearish burst was working against.
At the bottom of the move, the Phase Gap reached its negative peak . The bearish burst's energy was fully spent. The yellow rectangle marks the exhaustion zone where two indecision candles stalled the fall.
Beginning shortly after, the Phase Gap began receding from its negative peak. Once it had receded by the configured fraction, the exhaustion-and-recede condition was satisfied. The medium-horizon efficiency was still positive, so the structural gradient gate qualified the direction. The state machine flipped upward and the signal armed on the close of the trigger bar.
On the next bar, the entry executed at the open at 76,410. The four rails drew automatically - INVALIDATION at 75,982, TARGET 1 at 76,923, TARGET 2 at 77,351.
In this illustrative example, the price moved upward after the signal and later reached TARGET 1 and TARGET 2. This is one historical instance only. Outcomes vary, and many signals reach the INVALIDATION level instead.
2. Example - Bear Realignment and Engine
This chart illustrates three aspects of PXR that complement the phenomenon view.
First, the engine is bidirectional. The red downward callout marks a BEAR realignment signal. A short-horizon bullish burst pushed price upward over several hours. When that burst exhausted near 77,400, the Phase Gap reached its positive peak . As the gap began receding and the medium-horizon gradient pointed bearish, the exhaustion-and-recede condition triggered a BEAR signal . The four rails drew at INVALIDATION 77,465, ENTRY 76,765, TARGET 1 75,925, and TARGET 2 75,226.
Second, the regime ribbon is visible across the background. Subtle orange tints mark COMPRESSED periods where both efficiencies are low and the market is consolidating. Subtle cyan tints mark TRANSITIONING periods where the Phase Gap has stretched far and a regime shift is underway. These background colors give an at-a-glance read of market state without requiring a glance at the dashboard.
Third, the live dashboard in the top-right shows engine state in real time. State, Setup, Bias, Phase Gap, and Last all update on every bar. The five-line legend overlay explains what each field represents. At the moment of this screenshot, the BEAR signal was Triggered, the regime was COMPRESSED , and the Phase Gap reading was -0.07 - a sign the dislocation had largely normalized after the signal fired.
Together with the dashboard and regime ribbon, the engine provides a continuous reading of market state - not just point-in-time signals, but a live framework that contextualizes each signal as it forms.
---
How to Read the Chart
PXR draws several elements. Each one represents something specific.
The PHASE EXHAUSTION label, marked with an upward or downward arrow, appears at the bar where the signal arms. An upward arrow with the text " Realign Up " means a short-horizon bearish burst has exhausted against a bullish gradient , and the studied behavior is upward realignment. A downward arrow means the opposite. The label is anchored outside the bar's price extreme so it does not clash with other chart elements.
The ENTRY rail is a dashed line drawn at the open of the bar immediately after the signal armed. This is the reference entry level. The script does not place orders - it visualizes the reference level a real-time user could have acted on.
The INVALIDATION rail is a solid red line. If price reaches this level, the realignment thesis is rejected. This level is calculated as the worse of two values: a structural swing high or low with an ATR buffer, or a minimum ATR-floored distance from entry. Whichever is further from entry is used. This guarantees the invalidation level is never crammed inside short-term noise.
The TARGET 1 and TARGET 2 rails are teal solid lines placed at user-configurable R-multiples of the invalidation distance. These represent profit objectives. The defaults are 1.2R and 2.2R, which can be modified in the Risk Settings group.
All four rails extend forward bar by bar while the trade is conceptually active, and their labels trail slightly ahead of the live bar so they remain visible at the right edge of the chart.
The regime ribbon is a subtle background tint. Red indicates an Extended regime, orange indicates Compressed, cyan indicates Transitioning, and faint grey indicates Neutral. The ribbon helps users see at a glance which regime the engine currently classifies the market in.
The active tint colors bars green during an active long observation and red during an active short observation. This is purely visual and can be toggled off.
---
How to Read the Dashboard
The dashboard sits in the top-right of the chart and shows six live readings.
State shows the current regime classification. Extended means the medium-horizon efficiency is high - the market has a clean directional gradient. Compressed means both efficiencies are low - the market is ranging. Transitioning means the Phase Gap has stretched far - a regime change is in progress. Neutral means none of the above.
Setup shows the realignment setup progress. No Setup means nothing is forming. Forming means the Phase Gap has reached 60 percent of the threshold. Watching means the Phase Gap has reached 85 percent of the threshold - a setup is building but no signal has fired yet. Armed means a confirmed signal has fired and is awaiting next-bar execution. Triggered means a trade observation is currently active.
Bias shows the direction of the medium-horizon efficiency gradient. BULL means the structural gradient points up. BEAR means it points down. A dash means it is neutral.
Phase Gap shows the live normalized Phase Gap value, roughly bounded within plus or minus one. The color brightens when the absolute value exceeds the threshold.
Last shows the direction of the most recently triggered realignment.
---
Settings Explained
Core Settings.
Auto-Scale Horizons: when on, the Short and Medium horizons are automatically recomputed per timeframe so the analysis covers similar physical time on every chart. When off, the manually entered horizon lengths are used. Recommended on for users who switch between timeframes.
Short Horizon: bars used to measure short-horizon efficiency. Lower values are more reactive but noisier. Default 7. Ignored when Auto-Scale is on.
Medium Horizon: bars used to measure the structural efficiency gradient. Should span one meaningful intraday cycle. Default 24. Ignored when Auto-Scale is on.
Phase Gap Threshold: the normalized Phase Gap level required for a peak to qualify as exhaustion-grade. Higher values yield fewer but stronger signals. Default 0.58.
Cooldown Bars: minimum bars between two consecutive signals. Prevents clustering during noisy regimes. Default 3.
Risk Settings.
ATR Length: the ATR window used for the volatility-based stop floor. Default 14.
ATR Floor Multiplier: minimum stop distance expressed as a multiple of ATR. Ensures the stop is never inside short-term noise. Default 1.0.
TP1 R-Multiple: first profit target expressed as a multiple of the invalidation distance. Default 1.2.
TP2 R-Multiple: final profit target expressed as a multiple of the invalidation distance. Default 2.2.
Visuals.
Show Regime Ribbon: toggles the background regime tint.
Show Active Tint: toggles the green or red bar coloring during an active observation.
Show Dashboard: toggles the top-right state dashboard.
---
Execution Model - Why This Is Honest
PXR uses a strict two-bar workflow. The signal arms only on the close of a confirmed bar - this is enforced by a barstate-confirmed gate inside the engine. The entry then executes at the open of the next bar. This means the entry price shown on the chart matches what a real-time user could have achieved by placing a market order the moment the signal arms.
This workflow prevents the most common form of repaint illusion. The script does not use lookahead data. It does not use future bars. It does not modify past signal positions. Historical signals on the chart represent the same logic that fires in real time.
---
What the Indicator Does Not Do
PXR does not predict future price. It identifies a measurable energy state and labels the observation. It does not place trades. It does not guarantee outcomes. It does not work on all markets in all conditions. It is not a substitute for risk management, position sizing, or contextual judgment.
The realignment behavior is an observed tendency on historical data, not a certainty or guarantee.
The invalidation rail exists precisely because failure is expected and must be bounded.
---
Limitations You Should Know
Session boundaries on instruments such as NQ and ES can compress the rolling normalization window during overnight low-liquidity periods. This can make the Phase Gap appear weaker than it would on a continuous session.
The engine is intentionally reversal-focused. It does not generate continuation signals. In strong trending markets, reversal signals may underperform compared to a continuation tool because the structural gradient is not exhausting - it is reinforcing itself.
Auto-Scale produces horizon values that may differ substantially from the manual input defaults. If a user toggles Auto-Scale off after operating with it on, the manual values will be used immediately and behavior will shift.
On very long historical lookbacks at 1-minute resolution, the efficiency calculation may require additional processing time due to the bar-by-bar path-length computation. If performance is a concern, reducing the Medium Horizon input or enabling Auto-Scale on faster timeframes will reduce the load.
---
Disclaimer
This script is provided for educational and analytical use only. It does not provide financial, investment, or trading advice. It does not guarantee any specific outcome. Past behavior of the indicator on historical data does not imply future results. Markets carry risk. Use independent judgment, sound risk control, and full market context before acting on any signal or observation produced by this tool. The author is not responsible for any decisions made on the basis of this script.
Indicator

Indicator

MTF Kinetic Oscillator | Rainbow MatrixGENERAL OVERVIEW
The MTF Kinetic Oscillator is a multi-timeframe order-flow probability oscillator that fuses 5 timeframes into a single composite score, blended with three independent order-flow sensors (CVD, Volume Climax, Squeeze) and plotted against a self-adaptive Fibonacci channel that recalibrates to current volatility conditions. Instead of treating an oscillator as a fixed 0-100 envelope where the same threshold means the same thing across all market regimes, the indicator continuously classifies the current score against an adaptive channel — and colors the chart accordingly.
The main goal of this indicator is to give traders a clean, automatic read on where the order-flow consensus sits across 5 timeframes simultaneously, and how stretched that consensus is relative to its own recent statistical range — without having to manually monitor multiple oscillators on multiple timeframes. Every value the oscillator displays is the result of a weighted aggregation of 5 timeframe scores, modulated by order-flow sensors, and contextualized against an adaptive channel.
It plots a single score line that travels through five color zones (yellow, orange, red, purple for upper extremes; green, teal, blue, aqua for lower extremes), each corresponding to a probabilistic regime. Combined with the Info Panel HUD, Vacuum Trail convergence lines, and Black Swan dynamic glow, the indicator gives a complete read on order-flow direction, statistical position, and proximity to exhaustion zones — all from a single oscillator pane.
This indicator was developed for traders who already understand oscillator-based indicators (RSI, MFI, Stochastic, CCI) and want a multi-timeframe aggregation that calibrates its thresholds to current volatility instead of using fixed 0-100 boundaries.
WHAT IS THE THEORY BEHIND THIS INDICATOR?
Most oscillators on PulseWire — RSI, MFI, CCI, Stochastic, and their derivatives — share two common architectural choices: they operate on a single timeframe, and they classify against fixed thresholds (typically 70/30 or 80/20). This treats every market regime as statistically equivalent.
The problem: market regimes are not equivalent. A score of 75 during a tight-range, low-volatility period is structurally different from a score of 75 during a volatile expansion phase. Fixed thresholds applied to a non-stationary distribution produce systematic mismatches — overbought readings that resolve into further upside, oversold readings that continue lower, signals that appear at the wrong moments precisely when volatility shifts regimes. This mismatch becomes most visible during transitions between volatility regimes: trend climaxes, capitulation lows, squeeze breakouts.
This indicator addresses both issues at once. First, the per-timeframe score is built from a Log-Normal Z-Score regression of price (which respects the asymmetric distribution of returns) blended with RSI through a sigmoid normalization. Second, the 5 per-timeframe scores are aggregated through Fibonacci weights (0.15 / 0.20 / 0.25 / 0.25 / 0.15) into a single global score — giving the most weight to the middle macro horizons rather than the shortest or longest timeframes. Third, the global score is plotted not against fixed 0-100 thresholds, but against a self-adaptive channel whose boundaries are re-computed every bar from the highest and lowest scores in the lookback window, smoothed by EMA, and proportioned by Fibonacci ratios (1.50/1.85, 1.85/1.85, 2.75/1.85, 3.85/1.85).
The three order-flow sensors — CVD Z-Score, Volume Climax, and Squeeze — operate as modulators of the base score: the CVD bonus amplifies the score when directional order pressure dominates (clamped at ±12 points), Volume Climax drag dampens the score when abnormal volume is detected (statistical exhaustion signal), and the Squeeze damper compresses score amplitude to 25% during compressed-volatility regimes (suppressing false signals during low-conviction lateral phases).
Why traders use it: each color zone on the chart represents a different probabilistic regime, calibrated to current volatility. When the score sits between the median and the inner band (yellow/green), the order-flow consensus is in normal operating range — equilibrium. When the score crosses into the second band (orange/teal), the move has crossed into directional territory. The third band (red/blue) marks the threshold beyond which most of the impulse has already happened — exhaustion. The fourth band (purple/aqua) marks the tail of the distribution — a Black Swan event in Taleb's sense — where score positions rarely persist under normal volatility conditions.
The three order-flow sensors and the adaptive Fibonacci channel are not independent layers stacked in the same pane. They map three different aspects of the same question: where the multi-timeframe order-flow consensus currently sits (the score), how that consensus is being modulated by live order-flow pressure (the sensors), and how stretched that modulated value is relative to its own recent statistical range (the channel). The integration of all three components into a single oscillator is the reason they exist in one script rather than as three separate indicators: the cross-component blending is what surfaces multi-sensor confluence that separate-script approaches cannot produce.
MTF KINETIC OSCILLATOR FEATURES
The indicator includes 6 main features:
Multi-Timeframe Score Engine
CVD Order-Flow Sensor
Volume Climax and Squeeze Sensors
Adaptive Fibonacci Channel
Vacuum Trail and Black Swan Dynamic Glow
Info Panel HUD and Alerts
Multilingual interface and full customization across all visual layers.
MULTI-TIMEFRAME SCORE ENGINE
🔹 What It Does
The core of the indicator. For each of the 5 configured radar timeframes, the engine performs three operations:
◇ Calculates a Log-Normal Z-Score regression of price (hlc3 transformed via natural logarithm, fitted with linear regression, residuals normalized by their own standard deviation).
◇ Computes a per-timeframe RSI at a Fibonacci-aligned length (8, 13, 21, 34, 55 — one per timeframe).
◇ Blends the Z-Score (via sigmoid normalization) and the RSI into a single per-timeframe score, bounded 0-100.
The 5 per-timeframe scores are then aggregated through Fibonacci weights (0.15 / 0.20 / 0.25 / 0.25 / 0.15) into a single global score representing the multi-horizon order-flow consensus.
🔹 Method
The regression runs in log space, addressing the asymmetric nature of price distribution that linear estimators (such as the Simple Moving Average) fail to account for. The directional reference (high vs low) is selected per bar based on candle direction — green candles use the high (upward pressure reference), red candles use the low (downward pressure reference). This produces a Z-Score that reflects the directional intent of each bar rather than the midpoint average.
The sigmoid normalization compresses Z-Scores into a bounded 0-100 range without losing the asymmetric information of extreme values. The RSI component anchors the score to a familiar momentum reference, blending two independent signal families into one bounded value per timeframe.
🔹 Hierarchical Weighting
The five timeframes are weighted by structural significance using Fibonacci proportions:
◇ TF1 (Trigger, default 5): weight 15% — fastest reactivity, lowest weight.
◇ TF2 (Intraday, default 13): weight 20% — session-scale resolution.
◇ TF3 (Macro 1, default 55): weight 25% — backbone of the score.
◇ TF4 (Macro 2, default 233): weight 25% — institutional reference horizon.
◇ TF5 (Base, default 987): weight 15% — macro trend anchor.
The middle horizons (TF3 and TF4) carry the highest weight because they typically represent the most structurally significant reference for institutional decision-making — short enough to react to current conditions, long enough to filter intraday noise.
CVD ORDER-FLOW SENSOR
🔹 What It Does
The CVD (Cumulative Volume Delta) sensor estimates the difference between buyer and seller volume per bar — measuring market-order aggression. The signed delta is normalized to a Z-Score against a 50-period rolling reference, and the resulting bonus is clamped at ±12 points before being added to the global score.
🔹 Method
For each bar, total volume is split between buyer share (proportional to `close - low / range`) and seller share (proportional to `high - close / range`). The signed delta is the difference. A 50-period mean and standard deviation define the reference; the current delta is expressed as a Z-Score against that reference, then multiplied by 4 and clamped to ±12 to control its contribution to the final score.
🔹 Why It Matters
The Z-Score component answers "where is the multi-timeframe consensus", and the RSI component answers "what is the momentum". The CVD sensor answers a separate question: "who is currently aggressive in the order book". When the multi-timeframe consensus is bullish and CVD aggression confirms it, the bonus amplifies the score. When the consensus is bullish but CVD shows seller aggression, the bonus subtracts from the score — surfacing a divergence between consensus and order-flow.
VOLUME CLIMAX AND SQUEEZE SENSORS
🔹 Volume Climax
A standalone sensor that detects abnormal volume conditions (volume Z-Score above 3.0). When triggered, a climax drag is applied to the score, signaling potential exhaustion. The HUD reports this state explicitly in the Status row.
🔹 Squeeze
A volatility-compression detector based on the percentage-rank of the current range against a 20-period lookback. When the range compresses to its 15th percentile or lower, the squeeze flag activates and the score amplitude is dampened to 25% of its normal range — preventing false directional signals during compressed-volatility regimes.
🔹 Why They Matter
These sensors operate on a different axis from the price-direction sensors. Volume Climax surfaces statistical exhaustion before it becomes visible in price; Squeeze suppresses noise during periods when the oscillator would otherwise produce false reads. Together they make the oscillator behave correctly during regime transitions, where standard oscillators are typically least reliable.
ADAPTIVE FIBONACCI CHANNEL
🔹 What It Does
The global score is plotted against a self-adaptive channel rather than against fixed 0-100 thresholds. The channel boundaries are re-computed every bar from the highest and lowest scores in a 50-bar lookback window, smoothed by 10-period EMA, and then proportioned through Fibonacci ratios into four zones:
◇ Z-Breathing (inner, yellow/green) — ratio 1.50 / 1.85 (≈ 0.811)
◇ Z-Alert (upper limit, orange/teal) — ratio 1.85 / 1.85 = 1.000 (the visible anchor)
◇ Z-Exhaustion (outer, red/blue) — ratio 2.75 / 1.85 (≈ 1.486)
◇ Black Swan (extreme edge, purple/aqua) — ratio 3.85 / 1.85 (≈ 2.081)
🔹 Why It Adapts
Fixed thresholds (70/30 or 80/20) treat every volatility regime as equivalent. The adaptive channel calibrates the rainbow visual to the actual statistical envelope of the current regime — overbought during a low-volatility consolidation does not mean the same as overbought during a volatility expansion, and the channel reflects that.
🔹 Visual Rendering
The space between adjacent channel boundaries is filled with a semi-transparent color matching the zone palette (toggleable via "Show Thermal Zone Fills"). This makes the current zone immediately visible without having to read the score number — the visual position alone tells you the regime.
VACUUM TRAIL AND BLACK SWAN DYNAMIC GLOW
🔹 Vacuum Trail
Ghost convergence lines projecting from exhaustion extremes back toward the channel median. The lines anchor at a level 15% inside the inner Breathing zone (not at the channel boundary itself), which produces visual convergence inward rather than along the edge — useful for anticipating the typical mean-reversion path after extreme touches.
🔹 Black Swan Dynamic Glow
The outermost ±3.85σ-equivalent boundaries are rendered as a main line plus a wide outer glow whose intensity scales with the score's distance from the boundary. The glow becomes bright when the score is near the Black Swan zone and fades when far — drawing visual attention only when the statistical tail is approached.
🔹 Why They Matter
Both elements give the oscillator a sense of direction beyond the score's current position: the Vacuum Trail visualizes the expected return path during exhaustion; the Black Swan Glow makes statistical tail events visible at a glance, before the score itself crosses the boundary.
INFO PANEL HUD AND ALERTS
🔹 What the HUD Shows
A compact corner panel reports six live values:
◇ SCORE — the current global score (0-100) with color matching the active channel zone
◇ PROB. — the absolute probability (distance from neutral 50 expressed as percentage)
◇ DIRECTION — BUY / SELL / NEUTRAL based on score position relative to the median
◇ CHANNEL — current channel regime classification (Uptrend / Downtrend / Sideways / Compression / Expansion)
◇ RHYTHM — score velocity classification (Fast / Slow)
◇ STATUS — Black Swan / Squeeze / Climax / Neutral, prioritized by severity
🔹 Customization
The HUD can be positioned in any of the four chart corners and rendered in any of five font sizes. The display language is controlled by the System Language input.
🔹 Alerts
Three alert types are available:
◇ Exhaustion Alert — fires when the score crosses above 85% (buying exhaustion) or below 15% (selling exhaustion).
◇ Squeeze Alert — fires when the squeeze flag activates (volatility compression detected).
◇ Black Swan Alert — fires when the score enters the ±3.85σ-equivalent extreme zone; uses an edge-trigger arm/disarm mechanism (fires once on entry, locks while inside, re-arms only on exit).
All alerts are gated by `barstate.isconfirmed` and use `alert.freq_once_per_bar` to prevent duplicate firings on the same candle. Five `alertcondition` blocks are also exposed for users who prefer the PulseWire alert UI.
MULTILINGUAL INTERFACE
The indicator supports five languages for the HUD display and alert messages: English (default), Português, Español, Русский, and 中文 (Chinese). Code, comments, group names and input labels remain in English regardless of the selected language.
For reference, the English text of all multilingual UI strings used in the HUD and alerts:
◇ BUY / SELL / NEUTRAL — direction states
◇ SQUEEZE — Low Volatility. Await the Explosion.
◇ CLIMAX — Abnormal Volume Detected. Possible Exhaustion.
◇ UPTREND / DOWNTREND / SIDEWAYS / COMPRESSION / EXPANSION — channel states
◇ FAST / SLOW — rhythm states
◇ SCORE: / DIRECTION: / CHANNEL: / RHYTHM:
◇ BLACK SWAN — EXTREME HIGH / BLACK SWAN — EXTREME LOW
◇ Buying Exhaustion Alert: " Buying Exhaustion: Score above 85%. High reversal probability."
◇ Selling Exhaustion Alert: " Selling Exhaustion: Score below 15%. High reversal probability."
◇ Squeeze Alert: " Squeeze Active: Volatility maximally compressed. Explosion imminent."
◇ Black Swan Alert: " Score reached the dynamic channel's extreme zone. Maximum statistical tension. Reversal probable."
HOW TO USE
This indicator is not a signal generator. It is a state classifier: it tells you where the multi-timeframe order-flow consensus currently sits, how stretched that consensus is relative to its own recent statistical range, and which order-flow regime (climax, squeeze, normal) is currently active.
🔹 Reading the Oscillator
◇ The score line color matches the active channel zone — visual position alone identifies the regime.
◇ The HUD reports the score numerically and classifies the channel/rhythm/status in plain language.
◇ Vacuum Trail lines indicate the expected mean-reversion path during exhaustion conditions.
◇ Black Swan glow intensity scales with proximity to the statistical extreme.
🔹 Tactical Reading
◇ Score between dyn_mid and inner band: equilibrium zone. Order-flow consensus is in normal range.
◇ Score crossing into the Alert band: directional move asserting itself across multiple timeframes.
◇ Score at the Exhaustion band: most of the impulse has already happened — continuation in trend direction becomes structurally less favorable.
◇ Score touching the Black Swan band: statistical tail event. Mean-reversion context is elevated, but regime change is also possible — the boundary itself is adaptive, so a sustained breach indicates the volatility envelope expanding.
◇ Squeeze state active: oscillator is operating in low-conviction mode. Wait for squeeze release before trusting directional reads.
◇ Climax state active: abnormal volume has been detected. Exhaustion context is present regardless of score position.
🔹 Multi-Timeframe Reading
◇ The default radar configuration (5/13/55/233/987) follows Fibonacci minute periods and is calibrated for intraday and swing trading.
◇ For scalping, configure shorter timeframes (e.g., 1/3/8/21/55).
◇ For position trading, configure longer timeframes (e.g., 60/240/D/W/M).
◇ The middle-weighted timeframes (TF3 and TF4) carry the most influence — choose them carefully.
INPUTS EXPLAINED
🔹 System Language
Display language for the HUD and alert messages. Options: English (default), Português, Español, Русский, 中文 (Chinese).
🔹 MTF Synchronization (TF1 to TF5)
Configure each of the five timeframes to aggregate. Defaults: 5, 13, 55, 233, 987 (Fibonacci minutes). Weights are fixed at 15/20/25/25/15 percent respectively.
🔹 Show Thermal Zone Fills
Toggle for the semi-transparent rainbow fills between adjacent channel boundaries.
🔹 Show Vacuum Trail (Ghost Lines)
Toggle for the convergence ghost lines from exhaustion extremes back toward the channel median.
🔹 Show Dynamic Median Line
Toggle for the channel midline (dyn_mid) — the adaptive zero-reference of the oscillator.
🔹 Show Black Swan Lines (Dynamic Glow)
Toggle for the outermost ±3.85σ-equivalent boundaries with proximity glow.
🔹 Show Info Panel
Toggle for the corner HUD reporting score, direction, channel, rhythm, and status.
🔹 Panel Position
Position of the HUD on the chart. Four corners available: Bottom Right (default), Bottom Left, Top Right, Top Left.
🔹 Font Size
HUD font size. Options: Tiny (default), Small, Normal, Large, Huge.
🔹 Exhaustion Alert
Toggle for the alert that fires when the score crosses ±85/15 thresholds.
🔹 Squeeze Alert
Toggle for the alert that fires when the squeeze flag activates.
🔹 Black Swan Alert
Toggle for the alert that fires when the score enters the adaptive extreme zone.
IMPORTANT NOTES
The MTF Kinetic Oscillator works on any timeframe. The default MTF configuration (5/13/55/233/987 in minutes) is calibrated for intraday and swing trading on liquid instruments. The Fibonacci-aligned RSI lengths (8/13/21/34/55) and per-timeframe data lengths (288/96/72/60/40) are tuned to provide roughly equivalent statistical resolution across all five horizons.
The indicator works best on instruments with reliable volume data: crypto perpetual contracts, large-cap equities, futures, major forex pairs. On low-volume instruments, the CVD component becomes less reliable, though the score engine and channel continue to function correctly using the Z-Score and RSI components alone.
Alerts fire once per confirmed bar. The Black Swan alert uses an edge-trigger arm/disarm mechanism that prevents repeated firings while the score remains inside the extreme zone. Historical bars never repaint after they close. The live bar updates intra-bar as expected for a real-time indicator.
The Value Area calibration factor (vp_k = 2.51) used internally by the score engine for the Volume Profile distance component is tuned to approximate the conventional 70% Value Area definition. The Fibonacci sigma multipliers (1.50, 1.85, 2.75, 3.85) used by the adaptive channel are intentionally non-standard — they are Fibonacci-inspired proportions, not arbitrary choices, and they map to four behavioral regimes derived from observation rather than to integer statistical thresholds.
Pine Script v6. Open-source under Mozilla Public License 2.0.
UNIQUENESS
The MTF Kinetic Oscillator is unique in four ways. First, it operates across 5 timeframes simultaneously, aggregating per-timeframe scores via Fibonacci-proportioned weights (0.15 / 0.20 / 0.25 / 0.25 / 0.15) rather than operating on a single timeframe like RSI, MFI, CCI, or Stochastic. Second, the per-timeframe score is built from a Log-Normal Z-Score regression of price (which respects the asymmetric distribution of returns) blended with RSI through sigmoid normalization — producing a bounded composite that combines two independent signal families per horizon. Third, the global score is plotted not against fixed 0-100 thresholds but against a self-adaptive Fibonacci channel whose boundaries are recomputed every bar from the highest and lowest scores in the lookback window — calibrating the rainbow visual to current volatility regime rather than to static numerical levels. Fourth, three independent order-flow sensors (CVD Z-Score, Volume Climax detection, and Squeeze volatility compression) modulate the score continuously, with the Squeeze damper compressing score amplitude to 25% during low-conviction lateral phases — suppressing false directional signals at exactly the moments standard oscillators are typically least reliable. The combination of Fibonacci-weighted multi-timeframe aggregation, log-space Z-Score plus RSI per timeframe, adaptive Fibonacci channel, and three order-flow modulators produces an oscillator that behaves differently from single-timeframe and fixed-threshold oscillators, particularly during volatility regime transitions where standard oscillators are least reliable. Indicator

Climax Volume Reversal Radar
Detecting abnormal volume spikes that may signal exhaustion, capitulation, or reversal pressure.
Climax Volume Reversal Radar is a volume-based exhaustion indicator designed to highlight abnormal volume spikes that may occur near potential short-term reversal zones.
The indicator compares current volume against a recent average volume baseline and marks bars when volume expands above a user-defined risk multiplier.
It focuses on two types of potential climax events:
Bullish Climax Condition:
Detected when price is trading below its previous reference close, the candle closes bearish, and current volume is significantly above average. This may represent aggressive selling pressure, possible capitulation, or a potential bullish reversal watch zone.
Bearish Climax Condition:
Detected when price is trading above its previous reference close, the candle closes bullish, and current volume is significantly above average. This may represent aggressive buying pressure, possible exhaustion, or a potential bearish reversal watch zone.
The indicator also includes an optional volume moving average to help traders compare current activity against normal participation levels.
This tool can be useful for identifying:
- Volume climaxes
- Potential exhaustion points
- Possible capitulation zones
- Abnormal market participation
- Short-term reversal watch areas
- High-volume emotional candles
Best used with support and resistance, VWAP, trend structure, liquidity zones, or price action confirmation. This indicator does not predict reversals automatically and should not be used as a standalone trading system.
How it works:
The indicator calculates an average volume baseline using recent bars and compares the current volume against that baseline.
When current volume exceeds the average by the selected multiplier, the script checks whether price is moving aggressively upward or downward.
A high-volume bearish candle may suggest selling climax or capitulation.
A high-volume bullish candle may suggest buying climax or exhaustion.
These events do not guarantee a reversal. They are best interpreted as warning zones where emotional market participation may be increasing.
Inputs:
Show MA:
Enables or disables the volume moving average.
Length MA:
Controls the length of the volume moving average.
Taking Close:
Defines how many bars back the script uses as the reference close for directional comparison.
Risk Factor:
Controls how much current volume must exceed average volume before a climax condition is detected. Higher values create fewer but stronger signals.
Limitations:
- A climax volume bar does not guarantee a reversal.
- Strong trends can continue after a volume spike.
- Signals may appear late if the exhaustion move is already extended.
- The indicator does not include trend filters, stops, targets, or confirmation logic.
- Volume data may vary across assets, brokers, and markets. Indicator

Cadence Reversion Cartography [JOAT]Cadence Reversion Cartography
Introduction
Cadence Reversion Cartography is an open-source mean-reversion and exhaustion overlay designed to locate stretched conditions around an EMA envelope and anchored VWAP framework. It focuses on mapping where price has moved too far from local balance, then grades whether a return toward value has enough supporting evidence to matter.
The problem this script solves is selective reversal timing. Price can stay overextended for longer than expected, so simple band-touch logic is not enough. Cadence Reversion Cartography combines envelope stretch, VWAP stretch, RSI exhaustion, volume impulse, rejection-candle behavior, reclaim logic, and projected response boxes so the user can distinguish weak touches from stronger reversion candidates.
Core Concepts
1. Dual Stretch Model
Price is compared to both an EMA deviation envelope and an anchored VWAP deviation layer. A long-side exhaustion condition requires price to stretch below both lower references. A short-side exhaustion condition requires price to stretch above both upper references.
2. Exhaustion Quality Filters
RSI can require oversold or overbought context, volume can require impulse relative to average participation, and candle structure can require a visible rejection profile.
3. Reclaim And Signal Grading
A setup becomes actionable only after price closes back inside the envelope on a confirmed bar. The script then scores the setup by counting how many filters aligned and promotes stronger signals to a prime grade.
4. Projection Mapping
When a setup forms, the script can draw a forward projection with a risk box, reward box, signal zone, and reclaim line. This is meant to show the structure of the reversion idea rather than acting as a promise of outcome.
Features
EMA reversion envelope: Basis plus statistical deviation bands
Anchored VWAP stretch layer: Secondary value reference around VWAP
RSI exhaustion filter: Optional momentum exhaustion gate
Volume impulse filter: Optional participation confirmation
Rejection-candle filter: Optional candle-structure confirmation
Signal grading: Standard and prime long or short responses
Signal zones and reclaim lines: On-chart response structure around the active setup
Risk and reward projection boxes: Optional forward mapping of stop and target structure
Context candle coloring: Candles can tint with stretch state
Dashboard: Displays stretch, setup bias, and active context
Input Parameters
Reversion Envelope:
Channel Length
Deviation Multiplier
VWAP Stretch Multiplier
Filters And Display:
RSI settings
Volume average and impulse multiplier
Rejection-candle requirement
Projection-box toggle, stop percent, reward multiple, projection length, and signal cooldown
Dashboard, background, candle-color, and signal-zone toggles
How to Use This Indicator
Step 1: Wait for price to stretch beyond both the EMA envelope and the VWAP stretch layer.
Step 2: Check whether RSI, volume, and rejection filters support the move.
Step 3: Wait for confirmed re-entry back inside the envelope instead of fading the first touch.
Step 4: Use the signal grade and projection structure to judge whether the setup is marginal or stronger.
Step 5: Use the basis and reclaim line as the first balance reference after entry.
Indicator Limitations
Strong directional trends can keep price stretched for extended periods and delay reversion
Volume-based confirmation is less meaningful on symbols with irregular volume reporting
Projection boxes are planning tools, not guaranteed outcomes
This script is designed for reversion analysis and is not intended to replace broader trend context
Originality Statement
Cadence Reversion Cartography is original in how it coordinates envelope stretch, VWAP stretch, filter-based exhaustion grading, and forward projection structure inside one reversion workflow. The components are combined to answer one analytical problem: not just whether price is stretched, but whether the stretch is mature enough to support a structured return toward value.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Reversion setups can fail during strong trends or regime expansion, so all signals should be used with independent confirmation and risk management.
-Made with passion by jackofalltrades
Indicator

Exhaustion Fuel Gauge [AGPro Series]Exhaustion Fuel Gauge
🧠 Core Idea
Is the current move still powered by real participation, or is the trend running on exhausted fuel?
📌 Overview / What it does
Exhaustion Fuel Gauge is a premium PulseWire overlay that evaluates trend fuel, participation strength, extension pressure, wick reaction, and momentum efficiency to map whether a directional move is still active, fading, or entering exhaustion territory.
The script produces a forward-projected fuel zone, compact state labels, current context tags, and an AGPro-style panel that summarizes the active gauge state. It is designed to help users read whether a move has enough internal fuel to continue or whether the chart is showing signs of weakening participation and exhaustion risk.
It does not predict price direction, automate trades, or provide guaranteed signals. It is a visual decision-support map for market context.
🎯 Purpose & Design Philosophy
This script was built to fill the gap between simple momentum indicators and real chart context. Many tools show whether price is moving fast, but they do not clearly explain whether the move still has fuel or whether the movement is becoming fragile.
Exhaustion Fuel Gauge helps discretionary traders, swing traders, intraday traders, and market-structure readers evaluate the quality of a move before overreacting to a single candle.
The design philosophy is simple: trend continuation should be judged by fuel, participation, efficiency, and reaction quality together.
⚡ Why This Script Is Different
Most tools focus on overbought or oversold readings.
This script does NOT treat exhaustion as a single oscillator value or a generic reversal signal.
Instead, it combines directional persistence, participation strength, range behavior, move efficiency, wick pressure, and extension risk into a clean overlay that explains whether the current move still has usable fuel.
⚙️ Methodology
1. Context Detection
The script identifies the active directional context using recent price movement and trend baseline behavior.
2. Fuel Evaluation
It measures persistence, participation, range expansion, and efficiency to estimate how much usable fuel remains in the move.
3. Exhaustion Risk Mapping
It evaluates extension, fuel fade, wick pressure, and participation fade to estimate whether the move is becoming vulnerable.
4. Visual Output
The script displays a forward-projected fuel zone, event labels, right-side context tags, and a structured AGPro panel.
🗺️ How to Read the Chart
Zones represent the current fuel reference area where the active move should be evaluated.
Labels mark important changes such as fuel activation, fuel fading, exhaustion watch, exhaustion hit, or reset build.
Colors represent state context:
• Green = active fuel
• Pink = exhaustion risk or exhaustion hit
• Yellow = caution / watch state
• Indigo = fading or reset context
The panel summarizes the current gauge state, direction, fuel score, exhaustion risk, participation, extension, and next context.
🚦 Signals & States
• FUEL ACTIVE → directional move still has usable internal fuel
• FUEL FADING → move is still present, but internal support is weakening
• EXHAUSTION WATCH → extension and reaction pressure are elevated
• EXHAUSTION HIT → exhaustion evidence is strong and fuel has weakened
• RESET BUILD → no clean directional fuel is currently confirmed
🔔 Alerts Logic
Alerts trigger when the script detects a new fuel-active state, fuel-fading state, exhaustion-watch state, exhaustion-hit state, or reset-build state.
Alerts are attention markers only. They are not trade instructions and should not be interpreted as guaranteed outcomes.
🧩 Confluence Logic
The strongest exhaustion context appears when extension pressure, participation fade, wick reaction, and weak fuel score align.
The strongest continuation context appears when fuel score remains high while exhaustion risk stays contained.
📊 When to Use
• Trending markets where continuation quality matters
• Extended moves where exhaustion risk needs to be evaluated
• Breakout follow-through analysis
• Swing-trading context review
• Intraday movement quality checks
⚠️ When NOT to Use
• Extremely low-liquidity markets
• Randomly choppy symbols with poor structure
• News spikes where normal participation behavior is distorted
• Very low timeframes with excessive noise
🎛️ Key Inputs
• Trend Length → adjusts the baseline used to define directional context
• Fuel Lookback → controls how many bars are used for fuel evaluation
• Exhaustion Threshold → adjusts how strict exhaustion detection is
• Fuel Fade Threshold → defines when a move is considered fuel-fading
• Zone Projection Bars → keeps the active zone visible for publication screenshots
• Panel and label settings → control visual readability
🖥️ Interface & Visual Design
The interface is built for quick visual interpretation.
The panel provides structured context without dominating the chart. The fuel zone gives the main story visually, while compact labels and right-side tags provide the current state without clutter.
The goal is a premium, publication-ready PulseWire chart.
🧪 Practical Usage Workflow
1. Read the panel state.
2. Check whether fuel is active, fading, or exhausted.
3. Observe the active fuel zone and current right-side tags.
4. Compare exhaustion risk with participation and extension.
5. Use broader market structure before making any decision.
🔍 Interpretation Guidelines
High fuel with low exhaustion risk suggests the move still has internal support.
High exhaustion risk with weak fuel suggests the move may be vulnerable to reaction or reset.
Fuel fading does not mean reversal. It means continuation quality is weakening.
Exhaustion hit does not guarantee a top or bottom. It marks a context that deserves caution.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not financial advice.
It is not an automated trading system.
It does not provide guaranteed buy or sell signals.
It does not replace risk management or independent analysis.
⚠️ Limitations & Transparency
The script is rule-based and depends on market conditions.
Different timeframes may produce different readings.
Volatility, liquidity, gaps, and news-driven moves may affect signal quality.
Outputs should always be interpreted with broader market context.
🧠 Market Context Notes
Exhaustion is not only about price distance.
It also depends on whether participation remains strong, whether candles still close efficiently, and whether wick pressure begins to appear against the current direction.
This script is designed to make those conditions easier to read visually.
🧾 Use Case Examples
When price extends strongly but fuel remains high and exhaustion risk is contained, the move may still have continuation quality.
When price extends while participation fades and wick pressure increases, the chart may be entering exhaustion-watch territory.
When exhaustion risk rises while fuel drops, the context becomes more fragile.
🧱 System Philosophy
AGPro Series tools are designed as professional visual maps, not signal machines.
The goal is to make complex market context easier to interpret without reducing it to a simplistic buy or sell label.
🔐 Non-Promise Statement
No script can guarantee future price movement.
This tool provides structured context, not certainty.
📉 Risk Disclosure
Trading involves risk.
Past behavior does not guarantee future results.
Users are responsible for their own decisions, position sizing, and risk management.
This script does not provide financial advice.
📚 Educational Note
Use this script as a learning and analysis tool to better understand momentum quality, trend fuel, and exhaustion behavior across different market conditions.
Indicator

Trend Maturity Ladder [AGPro Series]Trend Maturity Ladder
🧠 Core Idea
Is the trend still early, healthy, mature, stretched, or vulnerable to exhaustion?
📌 Overview / What it does
Trend Maturity Ladder is a trend lifecycle visualization tool built to classify the stage of an active trend.
The script builds a staged trend ladder, maps a healthy pullback shelf, marks an invalidation shelf, tracks maturity score, evaluates extension, identifies exhaustion risk, and summarizes the current lifecycle state in an AG Pro panel.
It does not predict price direction, automate trades, or claim that a mature trend must reverse. It is a structured decision-support tool for reading trend stage, pullback quality, and late-trend risk.
🎯 Purpose & Design Philosophy
Many trend tools answer only one question:
Is price trending?
This script was built to answer a more useful question:
Where is the trend in its lifecycle?
The design goal is to help traders separate early trend development, healthy continuation, mature structure, stretched extension, and invalidation pressure.
⚡ Why This Script Is Different
Most trend tools focus on moving average direction, ribbon color, or generic trend strength.
This script does NOT act as another trend-strength meter or moving-average ribbon.
Instead, it models the trend as a ladder with stages: early trend, active trend, mature trend, stretched trend, exhaustion watch, and invalidation pressure. It combines trend alignment, slope, ADX, distance from the slow trend reference, trend age, pullback depth, and momentum risk into one visual lifecycle map.
⚙️ Methodology
1. Context Detection
The script checks fast, slow, and anchor trend alignment to determine whether the market has a bullish trend, bearish trend, or mixed structure.
2. Maturity Scoring
It scores trend age, ATR-adjusted extension, slope, ADX, and moving-average alignment to estimate how mature the trend is.
3. Pullback Evaluation
It builds a healthy pullback shelf around the trend references and checks whether price is pulling back without breaking the broader ladder.
4. Exhaustion and Invalidation Review
It identifies late-trend extension risk and invalidation pressure when price closes through the trend shelf.
5. Visual Output
The chart displays maturity ladder zones, pullback shelves, invalidation shelves, trend rails, event labels, right-side tags, alerts, and a compact AG Pro panel.
🗺️ How to Read the Chart
Trend Maturity Ladder = the active lifecycle zone around the current trend.
Healthy Pullback Shelf = the area where pullbacks can remain structurally constructive.
Invalidation Shelf = the area where the trend ladder becomes vulnerable.
Trend Rails = fast, slow, and anchor trend references.
EARLY TREND = trend alignment is fresh.
ACTIVE TREND = trend structure is aligned and still developing.
MATURE TREND = trend has aged and expanded meaningfully.
STRETCHED TREND = the trend is extended relative to its slow reference.
EXHAUSTION WATCH = maturity, extension, and momentum conditions suggest late-trend risk.
INVALIDATION PRESSURE = price has closed through the invalidation shelf.
Panel = summarizes trend stage, maturity score, direction, pullback health, exhaustion risk, age, extension, and next context.
🚦 Signals & States
• EARLY TREND → trend alignment is fresh and still developing.
• ACTIVE TREND → trend is aligned and not yet deeply mature.
• MATURE TREND → trend has aged and expanded.
• STRETCHED TREND → price is extended from the slow trend reference.
• HEALTHY PULLBACK → price has pulled into the trend shelf without invalidating it.
• EXHAUSTION RISK → maturity, extension, and momentum risk are aligned.
• INVALIDATION PRESSURE → price has closed through the invalidation shelf.
• NO CLEAR TREND → fast, slow, and anchor references are not aligned.
🔔 Alerts Logic
Alerts trigger when a major trend lifecycle state appears.
• Trend Maturity Transition → the active trend stage changes.
• Healthy Trend Pullback → price pulls into the healthy trend shelf without invalidating the ladder.
• Trend Exhaustion Risk → maturity, extension, and momentum conditions align.
• Trend Invalidation Pressure → price closes through the invalidation shelf.
Alerts are attention markers, not trade instructions.
🧩 Confluence Logic
The context becomes stronger when:
• Fast, slow, and anchor trend references align
• The slow reference has directional slope
• ADX supports directional structure
• Pullbacks respect the healthy shelf
• Extension is not excessively stretched
• The panel state agrees with the chart label
Late-trend caution increases when maturity, extension, and RSI pressure align.
📊 When to Use
• Trend-following review
• Pullback continuation planning
• Late-trend risk monitoring
• Crypto, stocks, futures, forex, and liquid markets
• 30m, 1H, 4H, 1D, and 1W charts
• Markets where trend structure is visible
⚠️ When NOT to Use
• Very choppy, non-directional markets
• Low-liquidity assets
• Extremely noisy micro timeframes
• Markets with frequent gaps that distort trend references
• Situations where a single trend score should not be over-interpreted
• When the user wants guaranteed entries or exits
🎛️ Key Inputs
• Fast Trend Length → controls short-term trend pressure.
• Slow Trend Length → controls the main maturity reference.
• Anchor Trend Length → filters weak or mixed trend regimes.
• ATR Length → controls ladder spacing, extension scoring, and label offsets.
• Early Trend Max Age → defines how long a fresh trend can remain early.
• Mature Trend Age → defines when age contributes strongly to maturity.
• Stretched Distance ATR → defines when trend extension becomes stretched.
• Healthy Pullback Width ATR → controls the pullback shelf thickness.
• Invalidation Shelf ATR → controls the distance of the invalidation shelf.
• Exhaustion RSI Level → adds momentum pressure to exhaustion-risk logic.
🖥️ Interface & Visual Design
The visual hierarchy is built around the trend lifecycle:
The ladder shows the active maturity zone.
The pullback shelf shows where continuation can be evaluated.
The invalidation shelf shows where the trend becomes vulnerable.
Event labels mark lifecycle transitions and risk states.
Right-side tags keep the current trend stage visible.
The AG Pro panel compresses the current trend lifecycle into a fast, readable summary.
🧪 Practical Usage Workflow
1. Read the panel trend stage.
2. Check whether trend direction is aligned.
3. Locate the healthy pullback shelf.
4. Watch whether price respects or breaks the shelf.
5. Check maturity score and exhaustion risk.
6. Confirm with market structure, liquidity, volume, and risk planning.
🔍 Interpretation Guidelines
An early trend does not guarantee continuation.
A mature trend does not guarantee reversal.
Exhaustion risk does not mean price must immediately turn.
Invalidation pressure means the current ladder structure has weakened.
The script is best used to understand trend lifecycle context, not to replace independent analysis.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not financial advice.
It is not an auto-trading system.
It does not provide guaranteed entry or exit signals.
It is not a moving-average ribbon or a simple trend-strength meter.
⚠️ Limitations & Transparency
Trend stages depend on timeframe.
Choppy markets can create frequent stage changes.
Strong news moves can stretch trend references quickly.
Low-liquidity markets may create unreliable trend readings.
Different assets may require different trend lengths.
🧠 Market Context Notes
Trends often move through recognizable phases:
alignment → expansion → maturity → extension → pullback or invalidation.
This script visualizes that sequence so the user can avoid treating every trend as equally fresh.
🧾 Use Case Examples
If trend references align shortly after a transition, the script may classify EARLY TREND.
If price pulls into the shelf while the ladder remains intact, the script may mark HEALTHY PULLBACK.
If the trend becomes aged and extended while RSI is stretched, the script may mark EXHAUSTION RISK.
If price closes through the invalidation shelf, the script may mark INVALIDATION PRESSURE.
🧱 System Philosophy
The goal is not to chase trend strength.
The goal is to understand trend timing.
This script treats trend as a lifecycle:
early → active → mature → stretched → vulnerable.
🔐 Non-Promise Statement
No trend stage guarantees future price direction.
No pullback shelf guarantees continuation.
No exhaustion label guarantees reversal.
All outputs should be interpreted as analytical context.
📉 Risk Disclosure
Trading involves risk.
This script is for educational and analytical purposes only.
It does not provide financial advice, investment advice, or guaranteed trading outcomes.
Users are fully responsible for their own decisions, risk management, and trade execution.
📚 Educational Note
Use the script to study where trends tend to age, stretch, reset, or fail.
The most important question is not only whether a market is trending.
The better question is whether the trend is still fresh enough to deserve attention.
Indicator

Imperium FlowImperium Flow is a market flow indicator designed to evaluate the quality behind price movement. It analyzes pressure, volume participation, candle behavior, wick rejection, Money Flow, and effort versus result to help traders understand whether a move is supported, stretched, weakening, or starting to rotate.
The indicator is built for confirmation and market context. It does not predict price. Its purpose is to help identify when buyers or sellers have stronger control, when continuation remains healthy, and when market conditions are becoming less efficient.
Main Features
Exhaustion Zones;
Money Flow;
Price Pressure;
Price Effort;
Exhaustion Warnings;
Reversal Warnings;
Divergence.
Each section is designed to give a different view of market quality, from participation and pressure to exhaustion, consolidation, and possible rotation.
Exhaustion Zones
Exhaustion Zones highlight areas where directional pressure has become stretched.
Reaching these zones does not mean price must reverse. Strong trends can continue through them. The zones simply warn that late entries may carry more risk because continuation can become less efficient.
They are most useful when combined with pressure shifts, candle rejection, absorption, fading Money Flow, or nearby market structure.
Money Flow
Money Flow shows whether buying or selling participation is stronger.
When Money Flow is above zero, buyer participation is stronger. When it is below zero, seller participation is stronger.
Rising or stable Money Flow can support bullish continuation. Falling or weak Money Flow can support bearish continuation. When price keeps moving in one direction while Money Flow starts fading or improving against it, the move may be losing quality.
High positive or deep negative readings can also show stretched market conditions.
Price Pressure
Price Pressure shows the active balance between bullish and bearish pressure.
Positive pressure suggests stronger buyer control. Negative pressure suggests stronger seller control.
Pressure is most useful when compared with price movement. When pressure supports the direction of price, the move has better confirmation. When pressure starts moving against price, continuation may be losing quality.
The pressure momentum columns help show acceleration, fading pressure, absorption, rejection, or early rotation near key market areas.
Price Effort
Price Effort is the main directional read of Imperium Flow.
It shows whether price movement is supported by strong effort and meaningful follow-through, or whether the move is becoming weak, inefficient, or exhausted.
When Price Effort is above zero and in a bullish state, buyers have stronger control. When it is below zero and in a bearish state, sellers have stronger control. When it turns neutral, the market may be losing direction or entering consolidation.
The strongest continuation conditions usually appear when Price Effort, Price Pressure, and Money Flow support the same direction. When these readings begin to separate, the move should be treated with more caution.
Exhaustion Warnings
Exhaustion warnings are shown with ✦ symbols.
They appear when a strong move may be starting to lose quality. These warnings are not designed to mark the exact top or bottom. They are caution markers showing that the current direction may be becoming more vulnerable.
An exhaustion warning can appear when pressure fades, Money Flow becomes stretched, candles show rejection, volume produces weaker follow-through, or absorption forms against the active move.
The warning is more useful after an extended move or near important market structure, liquidity areas, previous highs or lows, support, or resistance. If price continues with strong pressure after the warning, the trend may remain valid. If it is followed by weak continuation, rejection, or a shift in Price Effort, the market may be preparing for a pullback or rotation.
Reversal Warnings
Reversal warnings are shown with ▼ and ▲ symbols.
They appear when an extended move begins to show stronger rotation evidence. These are not automatic buy or sell signals. They highlight moments where the active side may be losing control and the opposite side is starting to react.
A reversal warning can form after rejection from an extreme area, a pressure shift against the active move, fading Money Flow, or a turn in Price Effort from stretched conditions.
The signal is strongest when it appears after exhaustion, near important market structure, or after a failed continuation attempt. If price ignores the warning and continues with strong pressure, the trend may still remain active.
Divergence
Divergence highlights when price continues to extend, but Imperium Flow no longer confirms the move with the same strength.
This can help traders spot moments where momentum, pressure, or participation may be weakening behind the current price movement.
Divergence does not mean price must reverse immediately. It should be checked together with market structure, support, resistance, liquidity areas, rejection, exhaustion, and Price Effort behavior.
Divergence signals are confirmed after the swing confirmation period, so they can appear a few candles after the actual high or low. They are best used as context, not as standalone entry signals.
Practical Use
Imperium Flow is best used to evaluate whether the current move has strong confirmation or is starting to lose quality.
The main read is Price Effort. Price Pressure and Money Flow should be used as supporting confirmation.
When all three support the same direction, continuation conditions are usually stronger. When they separate, fade, or conflict, traders may choose to become more selective with entries, exits, and trade management.
Mixed or unstable readings usually mean the market does not have clear directional control.
Important Notes
Exhaustion is a caution signal, not a guaranteed reversal;
Reversal warnings are for context and should not be treated as automatic buy or sell signals;
Divergence can appear before price reacts, especially during strong trends;
Money Flow, Price Pressure, and Price Effort should be read together;
Mixed readings usually mean the move lacks clear confirmation;
Readings may be less reliable on symbols with missing, unreliable, or illiquid volume;
Non-standard chart types may produce different readings because candle structure and volume behavior can be altered;
The indicator analyzes current and recent market behavior. It does not predict future price movement.
Imperium Flow is intended for structured market analysis and confirmation. It should be used as part of a broader trading process that includes market structure, execution rules, invalidation, and risk management. Indicator

Trend Exhaustion Snapback Planner [AGPro Series]Trend Exhaustion Snapback Planner
🧠 Core Idea
Is the current trend stretch becoming snapback-ready, or is momentum still supported enough to avoid calling exhaustion too early?
📌 Overview / What it does
Trend Exhaustion Snapback Planner is a rule-based trend exhaustion and mean-reversion planning tool. It measures how far price has stretched away from its trend mean, then evaluates whether that stretch is supported by pressure, efficiency loss, wick behavior, and room back toward value.
The script produces an exhaustion pocket, snapback rail, failure rail, room reference, event labels, right-side tags, optional bar coloring, and a compact AG Pro dashboard with a 0-100 Snapback Score.
It does not predict reversals. It helps organize trend stretch, exhaustion quality, snapback reclaim behavior, failure risk, and next-action state.
🎯 Purpose & Design Philosophy
Strong trends can stay stretched for longer than expected. At the same time, many reversals begin only after a trend becomes inefficient and price starts moving back toward value.
This script was built to help traders review that transition without relying on a simple overbought or oversold reading.
It supports a patient workflow: identify stretch, wait for reclaim behavior, evaluate room, then interpret the active state within broader market context.
⚡ Why This Script Is Different
Most exhaustion tools focus on RSI extremes, distance from a moving average, or isolated reversal candles.
This script does NOT treat every stretched move as a reversal.
Instead, it maps a live exhaustion pocket, scores stretch quality, tracks snapback reclaim behavior, defines where the idea fails, and shows whether there is room back toward the trend mean.
⚙️ Methodology
1. Trend Stretch Detection
The script measures price distance from a trend mean using ATR normalization.
2. Pressure Evaluation
RSI pressure, wick behavior, and trend-efficiency loss are reviewed to decide whether the extension is weakening.
3. Snapback Rail Mapping
Once a valid exhaustion pocket appears, the snapback rail becomes the first reclaim threshold.
4. Risk / Room Structure
The failure rail marks continuation risk, while the room rail shows the value or structure reference that price may test after reclaim.
5. Visual Output
The chart receives the exhaustion pocket, trend mean, snapback rail, failure rail, room rail, event labels, right-side tags, optional bar coloring, and dashboard panel.
🗺️ How to Read the Chart
The exhaustion pocket marks the stretch area created after price moves far away from its trend mean.
The snapback rail shows the reclaim level that improves the snapback context.
The failure rail marks where continuation risk invalidates the active snapback idea.
The room rail shows the next value or structure reference after the snapback begins.
Labels highlight stretch pockets, snapback reclaim, pocket pressure, room tests, and failed snapbacks.
Colors represent context:
• Teal → bullish snapback context
• Pink → bearish snapback context or failure
• Gold → room, waiting, or neutral review
• Indigo → pocket pressure or monitoring context
The panel summarizes:
• Pocket
• Snapback Score
• Stretch
• Room
• Action
🚦 Signals & States
• Bull Snapback Pocket → downside trend stretch with bullish snapback context
• Bear Snapback Pocket → upside trend stretch with bearish snapback context
• Snapback Reclaim → price reclaimed the active snapback rail
• Pocket Pressure → price is testing the exhaustion pocket without clean reclaim
• Room Test → price reached the active room reference
• Failed → price crossed the failure rail
• READY → reclaim and score quality are strong enough to monitor
• MONITOR → snapback context is active but not fully ready
• WAIT RECLAIM → pocket exists but reclaim has not confirmed
• EXPIRED → the pocket is too old to remain active
🔔 Alerts Logic
Alerts can trigger when a bullish or bearish snapback pocket appears, when price reclaims the snapback rail, when the READY state appears, when pocket pressure appears, when the room rail is reached, or when the context fails.
Alerts are attention markers only. They are not trade instructions.
🧩 Confluence Logic
The context becomes stronger when ATR stretch, RSI pressure, wick behavior, efficiency loss, snapback reclaim, and room back toward value align.
No single condition is treated as enough by itself.
📊 When to Use
• Mature directional moves
• Strong extensions away from trend mean
• Markets with visible impulse and reaction structure
• 1H, 4H, and 1D review where exhaustion context matters
• Crypto, indices, forex, and liquid stocks
⚠️ When NOT to Use
• Extremely illiquid symbols
• Very low-volume periods
• News shock candles with abnormal gaps
• Very tight ranges with no meaningful trend stretch
• Markets where spreads or wicks dominate the structure
🎛️ Key Inputs
• ATR Length → normalizes trend stretch and rail distances
• Trend Mean Length → controls the main value reference
• Minimum Stretch ATR → controls how stretched price must be before a pocket appears
• RSI Pressure → controls pressure thresholds for extended conditions
• Efficiency Length → controls how trend efficiency loss is measured
• Minimum Ready Score → controls how strict READY classification is
• Projection Bars → controls how far rails and zones extend
• Visual settings → control labels, tags, panel location, theme, and font size
🖥️ Interface & Visual Design
The panel is designed as a compact decision dashboard, not a large data table.
The first row uses a merged AG Pro header. The remaining rows show the pocket state, score, stretch context, room, and action.
The visual hierarchy is built so traders can read the active plan quickly without losing chart structure.
🧪 Practical Usage Workflow
1. Read the panel.
2. Check whether an exhaustion pocket is active.
3. Watch the snapback rail for reclaim behavior.
4. Review failure risk and room back toward value.
5. Interpret labels as context markers, not trade commands.
🔍 Interpretation Guidelines
A high score means the active stretch has multiple snapback conditions aligned.
A snapback reclaim improves the context, but it does not guarantee continuation toward the room rail.
A failed state means price crossed the continuation-risk boundary for that active pocket.
Use the script to organize the question, not to outsource the answer.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not financial advice.
It is not an automated trading system.
It does not place orders.
It does not guarantee reversal timing, target reach, or profitability.
⚠️ Limitations & Transparency
Trend exhaustion can remain extended for long periods.
Different timeframes may show different exhaustion and snapback contexts.
Volatility spikes can distort ATR-normalized distance.
Low liquidity can create false stretch pockets or unreliable wick behavior.
The script is rule-based and should be interpreted within broader market context.
🧠 Market Context Notes
Trend exhaustion is not the same as trend reversal.
The most useful snapback contexts often appear when price stretches away from value, momentum efficiency weakens, and reclaim behavior begins before the failure rail breaks.
The strongest readings usually come from alignment between structure, volatility, and reaction quality.
🧾 Use Case Examples
When price stretches far above the trend mean, RSI pressure rises, and the candle begins reclaiming back through the snapback rail, the bearish snapback context may become more meaningful.
When price stretches below the trend mean but cannot reclaim the snapback rail, the script may remain in WAIT RECLAIM or PRESSURE instead of READY.
When price reaches the room rail after reclaim, the context shifts into room review rather than fresh entry signaling.
🧱 System Philosophy
AGPro Series tools are built as decision-support systems.
They aim to convert market structure into readable context: what is active, what improves the plan, what invalidates it, and what should be reviewed next.
🔐 Non-Promise Statement
No script can provide certainty.
No signal guarantees outcome.
This tool provides structured context only.
📉 Risk Disclosure
Trading involves risk.
Markets can move quickly and unexpectedly.
Users are responsible for their own analysis, risk management, and decisions.
This script does not provide financial advice.
📚 Educational Note
Use this tool to study how trend stretch, momentum pressure, efficiency loss, and snapback behavior interact across different markets and timeframes.
Indicator

Volume Dry-Up Reversal Planner [AGPro Series]Volume Dry-Up Reversal Planner
🧠 Core Idea
Is the market losing participation before a reversal attempt?
📌 Overview / What it does
Volume Dry-Up Reversal Planner detects low-participation pockets where relative volume contracts and candle range compresses.
The script maps a dry-up pocket, tracks whether price attempts to reverse out of that pocket, and displays reversal rails, failure shelves, follow-through references, event labels, and a compact AG Pro dashboard.
It does not predict reversals. It helps organize participation, compression, reaction quality, failure risk, and current action state around a potential dry-up reversal context.
🎯 Purpose & Design Philosophy
Many reversal tools focus on dramatic exhaustion candles or high-volume climaxes.
This script was built for a quieter but important condition: participation drying up before the next reaction.
It helps traders evaluate whether the market is simply inactive, compressing before movement, or beginning a structured reversal attempt from a low-participation pocket.
⚡ Why This Script Is Different
Most volume indicators highlight high-volume events.
This script does NOT chase volume climax or generic reversal signals.
Instead, it focuses on volume dry-up, range compression, reversal rails, failure shelves, follow-through context, and a 0-100 readiness score.
⚙️ Methodology
1. Participation Detection
The script compares current volume against recent average volume to identify low-participation candles.
2. Compression Mapping
Current candle range is compared with recent average range. A dry-up pocket requires both lower participation and controlled range compression.
3. Reversal Evaluation
After a dry-up pocket appears, the script watches whether price breaks beyond the pocket with enough quality to form a reversal attempt.
4. Visual Output
The chart receives a dry-up pocket, reversal rail, failure shelf, follow-through rail, right-side tags, event labels, optional bar coloring, and a dashboard panel.
🗺️ How to Read the Chart
The dry-up pocket marks the area where participation and range compressed.
The reversal rail shows the level price must clear to begin a reversal attempt.
The failure shelf marks where the active reversal context fails.
The follow-through rail marks the first reaction reference after a reversal attempt.
Labels highlight dry-up pockets, bullish reversal attempts, bearish reversal attempts, follow-through, and invalidation.
Colors represent context:
• Teal → bullish reversal attempt
• Pink → bearish reversal attempt or invalidation
• Gold → follow-through or waiting context
• Indigo → dry-up pocket / monitoring context
The panel summarizes:
• Dry-Up state
• Reversal Score
• Participation
• Failure Risk
• Action
🚦 Signals & States
• Dry-Up Pocket → relative volume and range both contracted
• Bull Reversal → price broke above the dry-up pocket
• Bear Reversal → price broke below the dry-up pocket
• Follow-Through → price reached the first reaction rail
• Invalidated → price crossed the failure shelf after a reversal attempt
• READY → reversal context has enough score quality to monitor
• MONITOR → reversal attempt is active but not fully ready
• WAIT → no strong active context exists
• EXPIRED → the dry-up pocket is too old to remain active
🔔 Alerts Logic
Alerts can trigger when a dry-up pocket appears, when a bullish or bearish reversal attempt begins, when the context reaches READY state, when follow-through appears, or when invalidation occurs.
Alerts are attention markers only. They are not trade instructions.
🧩 Confluence Logic
The context becomes stronger when relative volume contraction, range compression, close response, rejection quality, and volatility fit align.
For example, a low-volume compression pocket followed by a strong close outside the pocket can create a more structured reversal context than a random low-volume candle.
📊 When to Use
• Potential reversal areas after participation fades
• Pullback zones where volume dries up
• Ranging markets before directional reaction
• Trend pauses where continuation or reversal depends on participation
• Liquid crypto, indices, forex, and equities with readable volume behavior
⚠️ When NOT to Use
• Very low-liquidity symbols
• Markets with unreliable volume data
• News spikes and unstable spread conditions
• Extremely noisy candles without structure
• Situations where low volume simply means no meaningful market participation
🎛️ Key Inputs
• Relative Volume Length → controls the volume baseline
• Dry-Up Volume Threshold → controls how strict low-participation detection is
• Range Compression Length → controls the range baseline
• Maximum Range Ratio → controls how compressed the candle must be
• Dry-Up Pocket Window → controls how the pocket is mapped
• Reversal Buffer ATR → controls how far price must clear the pocket
• Failure Shelf ATR → controls where the reversal context fails
• Follow-Through ATR → controls the first reaction reference
• Visual settings → control pockets, rails, labels, tags, panel, and bar colors
🖥️ Interface & Visual Design
The interface is designed to make participation shifts visible without turning the chart into a noisy signal board.
The dry-up pocket defines context, the reversal rail defines the first reaction threshold, the failure shelf defines risk, and the panel summarizes the current state.
The goal is a premium, readable visual map for traders who care about participation and reaction quality.
🧪 Practical Usage Workflow
1. Check whether a dry-up pocket is active
2. Read the panel score and action state
3. Watch the reversal rail
4. Compare follow-through with failure risk
5. Confirm the context with broader market structure and timeframe alignment
🔍 Interpretation Guidelines
A dry-up pocket means participation and range compressed. It does not mean a reversal must happen.
A reversal attempt means price broke out of the pocket with enough reaction to monitor.
A READY state means the rule-based score has enough quality for attention.
Failure risk helps keep the reversal context grounded instead of treating every low-volume area as important.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not a guaranteed reversal system.
It is not a high-volume climax detector.
It is not an automated trading tool.
It does not provide financial advice.
It does not guarantee reversal, continuation, profit, or a specific target.
⚠️ Limitations & Transparency
Volume behavior differs across markets, exchanges, sessions, and timeframes.
Some dry-up pockets may lead to no meaningful reaction.
Some reversals may begin without a clean dry-up pattern.
The score is a rule-based context score, not a certainty model.
🧠 Market Context Notes
Volume dry-up can represent hesitation, absorption, exhaustion, or simple inactivity.
The important question is not whether volume is low by itself, but whether price reacts cleanly after participation contracts.
Use the pocket as context, not confirmation by itself.
🧾 Use Case Examples
When price pulls back with shrinking volume and compressed candles, the script can map a dry-up pocket.
If price later breaks above that pocket, the script marks a bullish reversal attempt and tracks follow-through.
If price breaks below the failure shelf after a reversal attempt, the script marks invalidation.
🧱 System Philosophy
This script follows the AGPro Series approach: turn a specific market condition into a structured decision-support map.
The focus is not prediction. The focus is participation, compression, reaction quality, failure awareness, and visual clarity.
🔐 Non-Promise Statement
No script can remove uncertainty from markets.
This tool does not promise accuracy, profitability, or future price movement.
Its purpose is to organize volume dry-up context so the user can interpret the chart more clearly.
📉 Risk Disclosure
Trading involves risk.
Market conditions can change quickly, and any analytical output can fail.
Users are responsible for their own decisions, risk management, and trade execution.
This script is for educational and analytical purposes only and does not provide financial advice.
📚 Educational Note
Low volume is not automatically bullish or bearish.
The best reads usually come when volume dry-up, range compression, reaction quality, and market structure all support the same context.
Indicator

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

Indicator
