Squeeze Pro [StrixEDGE]📊 WHAT IT DOES
StrixEDGE Squeeze Pro detects when Bollinger Bands contract inside Keltner Channels — a condition known as the "squeeze" — indicating extremely low volatility that typically precedes explosive moves. It measures squeeze intensity across three levels and uses MACD momentum to predict the breakout direction.
🔬 WHY IT'S DIFFERENT
Standard squeeze indicators show only ON/OFF. This version introduces three intensity levels: the tighter the Bollinger Bands compress inside Keltner Channels, the more powerful the expected breakout. Level 3 (extreme) squeezes historically produce the largest moves. Additionally, a real-time statistics table shows squeeze frequency, average duration, directional bias, and average post-squeeze move size for the current chart.
⚙️ HOW IT WORKS
The indicator calculates Bollinger Band width relative to Keltner Channel width. When BB fits inside KC, a squeeze is active. The ratio between their widths determines intensity:
• Level 1 (yellow dots): Light compression, ratio 0.8-1.0
• Level 2 (orange dots): Medium compression, ratio 0.5-0.8
• Level 3 (red dots): Extreme compression, ratio below 0.5
A four-color MACD momentum histogram shows breakout direction:
• Dark green = bullish accelerating, Light green = bullish fading
• Light red = bearish fading, Dark red = bearish accelerating
📈 HOW TO USE
• Wait for red/orange squeeze dots (Level 2-3) to accumulate
• When dots turn green (squeeze fires), enter in the histogram's direction
• Dark green histogram bars after squeeze = LONG entry
• Dark red histogram bars after squeeze = SHORT entry
• Level 3 squeezes produce the most reliable and powerful breakouts
• Use the stats table to understand squeeze behavior on your specific chart/timeframe
🎛️ INPUTS & DEFAULTS
BB: 20 period, 2.0 multiplier | KC: 20 period, 1.5 multiplier
MACD: 12/26/9 | Stats Lookback: 200 bars
All fully customizable.
═══════════════════════════════════════════════════════
🔧 CUSTOMIZATION
All parameters are fully adjustable through the indicator settings panel. Inputs are grouped logically:
• ⚙️ Core Parameters — main calculation settings
• 📊 Table Settings — table size (Tiny to Huge), position (4 corners), visibility toggle
• 🎨 Visual Settings — colors, show/hide elements
• 🔔 Alert Settings — threshold values for notifications
📊 DATA TABLE
A built-in data table displays all key metrics in real-time. Adjust the table size from Tiny to Huge to match your chart layout. Position it in any corner. Toggle visibility on/off.
🔔 ALERTS
Pre-built alert conditions for all major signals. Set up alerts via PulseWire's alert dialog — select this indicator and choose from the available conditions.
⏱️ RECOMMENDED TIMEFRAMES
Works on all timeframes. Recommended: 1H, 4H, Daily for best signal quality. Lower timeframes produce more signals but with higher noise. Weekly/Monthly for position trading context.
✅ COMPLIANCE
• No repainting — all signals based on confirmed bar close data
• No future data references
• Open-source code — verify the logic yourself
⚠️ DISCLAIMER
This indicator is a technical analysis tool, not financial advice. It does not predict future price movements. Past patterns and signals do not guarantee future results. Trading involves substantial risk of loss. Always use proper risk management, including stop losses and appropriate position sizing. Never risk more than you can afford to lose. Indicator

Indicator

Tyson Uppercut Compression Spring Breakout (Viprasol)Tyson Uppercut — Compression Spring Breakout 🥊
(The name is an affectionate combat-sports homage — this is an educational pattern tool, not affiliated with or endorsed by any athlete or organization.)
CONCEPT
A spring loaded by VOLATILITY, not by swings. The tool measures the recent bar-range and requires it to be compressed — noticeably tighter than the window before it (energy coiling). Then the uppercut: one wide-range bar that bursts up out of the compression on the close = the release. Distinct from swing-decay coils; this reads raw range contraction directly from the bars.
HOW IT DETECTS
- Compression is measured on CLOSED bars only: the highest high and lowest low over a window (default 10 bars, offset by one bar).
- That compression range must be tight versus the prior, wider window (default: <= 60% of the range over twice the lookback) AND not larger than a set ATR cap.
- Release: the current bar closes above the compression high, its full bar range is at least a set ATR multiple (default 1.3x ATR), and it closes up (close > open).
- All logic runs on bar close (barstate.isconfirmed). An optional dotted live box previews an active compression before any break.
ENTRY / STOP / TARGET
- Entry: on the confirmed release close (long only).
- Stop: below the compression low, minus an ATR buffer.
- Target: entry + R multiple of risk (default 2R, adjustable).
- Drawn as a solid compression box plus an entry line and filled TP/SL zones that extend right until price touches one; the hit side thickens.
NON-REPAINTING
Compression is read from already-closed bars (a one-bar offset is used), and the release is confirmed on the bar close. A printed signal does not move or disappear afterward. The live dotted preview is informational only and is not a signal.
KEY FEATURES
- Volatility-compression detection from raw range, with an ATR height cap to avoid oversized "boxes".
- Release requires a genuinely wide breakout bar, not just a marginal close.
- Optional live compression preview; option to hide new setups while a trade is active.
- Filled, extend-until-hit TP/SL zones and an on-chart status table (open trades). Alert condition included.
INPUTS OVERVIEW
- The spring: compression window (bars), tightness fraction vs prior window, max compression height (x ATR), release bar range (x ATR), ATR length.
- The knockout: TP as R multiple, SL buffer (x ATR), minimum bars between signals, one-trade-at-a-time, hide-setup-while-in-trade.
- Visuals: compression box / entry / TP / SL colors, label offset, zone transparency, show-live toggle.
HOW TO USE
1. Add to a liquid symbol and timeframe; it is fully overlay-based.
2. Set the compression window and tightness fraction to define how coiled the range must be.
3. Raise the release ATR multiple to demand a stronger breakout bar.
4. Watch the live dotted box to anticipate setups, and study the TP/SL zones on your instrument.
5. Optionally create an alert from the built-in condition.
LIMITATIONS (read this)
- This is a pattern/education tool, not a signal service and not financial advice. It does not predict the future.
- Compression breakouts frequently fail or reverse (false breakouts are common), especially in ranging markets.
- It is long-only by design; it does not trade downside releases.
- Range readings depend on the chosen windows; different settings can materially change what counts as "compressed".
- Results depend heavily on your inputs, instrument, and timeframe. Always use your own risk management and discretion.
CREDITS
ATR uses Wilder's Average True Range. Highest/lowest range measurement uses standard public functions (ta.highest / ta.lowest). The raw-range compression-and-release detection and the trade-zone visualization are original Viprasol design.
Original Viprasol work; no third-party Pine code reused.
Indicator

Compression Breakout & Follow-Through Scoring [SlatinaTrades]🌀 Compression Breakout & Follow-Through Scoring — grades the coil, then checks its own homework.
Most squeeze/compression tools flag a tight range and stop there. This one also tracks what happens after the break — and separates completed setups by quartile to show whether the coil's tightness or the breakout candle's quality actually predicted the outcome, instead of assuming either one does.
THE MECHANICS
🧊 Compression detection — three conditions have to hold together: box range ≤ a multiple of base-ATR (C1), Bollinger Band width inside a squeeze percentile (C2), and a minimum dwell in confirmed bars (C3). All three gate the coil; none of them alone is enough.
🔒 State machine — COILING → PRIMED → BREAKOUT (up/down) → HELD or FAILED, with EXPIRED for coils that age out unbroken. The box freezes on arm (tighten-only re-lock while PRIMED — it can tighten further, never widen), so what you see is a committed level, not a moving target.
📊 Tightness score (0–100) — weighted blend of C1 margin, C2 depth, and dwell length. Grades how genuine the compression is, not just whether it cleared a threshold.
🎯 Break-quality score (0–100) — weighted blend of close location, body ratio, range expansion vs ATR14, and where volatility sits inside a regime band (mid-band scores highest; dead or chaotic extremes score low).
📈 Follow-through score (0–100) — tracks maximum favorable excursion beyond the broken edge over a fixed window, capped at a set ATR multiple. A break that reclaims the level before the window closes is scored FAILED instead.
SEPARATION HARNESS — the honesty check
A stats table bins every completed setup (HELD or FAILED) into quartiles two ways: by tightness score and by break-quality score. Each quartile reports mean follow-through in ATR units and reclaim rate. If a score's Q4 looks like its Q1, that score isn't doing the work it claims to — the table shows you that plainly instead of asking you to trust a single headline number.
NON-REPAINT
Every state transition and every follow-through update runs on barstate.isconfirmed. The box freezes the moment a coil arms. The optional HTF alignment read uses a closed-bar offset (lookahead_on + gaps_off on ) and is a flag only — it never gates the state machine.
WHAT IT IS NOT
Not a strategy. No entries, no stops, no targets, no risk sizing anywhere in this script. Bidirectional context only — it tells you a coil compressed and how the break resolved, not what to do about it. Settings are starting points, not recommendations; tune box length, dwell, and weights to what you're trading and validate before risking anything on it.
ALERTS
New Coil Primed · Bull Breakout · Bear Breakout · Follow-Through Confirmed · Reclaim. All gated to confirmed bars, all carry numeric state/score payloads for automation.
Still useful after it's been on your chart a while — every read maps to a concrete decision about whether this coil is worth watching. Indicator

Squeeze Breakout Signals [TBalgo]Squeeze Breakout Signals spots when volatility compresses, then flags breakout long and short signals when price escapes the band after a tight zone.
Overview
This overlay indicator maps volatility compression and breakout direction on your chart. It builds dynamic SMA bands, detects when band width ranks in the lowest part of recent history (squeeze / tight zone), and fires signals only when price breaks the upper or lower band after compression.
Built for traders who want a clean squeeze → breakout workflow without clutter.
How it works
1. Bands — SMA midline + standard-deviation upper/lower bands
2. Tight zone — band width percentile rank vs lookback; when rank is low, market is in a squeeze
3. Signals — long when price crosses above the upper band after a tight bar; short when price crosses below the lower band after a tight bar
4. Guide lines — optional entry, risk (opposite band), and reward level based on band width
Features
- Green/red squeeze bands with tight-zone background wash
- Diamond markers on breakout signals
- Optional entry labels (`TB Long` / `TB Short`)
- HUD chip showing **TIGHT** or **LIVE** state
- Full display toggles — turn bands, signals, tags, guides, or HUD on/off
- Custom colors for bull, bear, and neutral states
- Built-in alerts for long, short, squeeze start, and expansion
Settings
Display — Bands · Tight Zone · Signals · Tags · Guide Lines · HUD
Engine
- **Length** — SMA / band period (default 50)
- **Std Mult** — band width multiplier (default 2.0)
- **Rank Lookback** — history for squeeze detection (default 100)
- **Tight Rank ≤** — max percentile to count as tight (default 20)
- **Reward × Width** — target distance as multiple of band width (default 1.5)
| Alert | When it fires |
|---|---|
| TB Squeeze Long | Bullish breakout after tight zone |
| TB Squeeze Short | Bearish breakout after tight zone |
| TB Squeeze Tight | Compression / squeeze begins |
| TB Squeeze Expand | Compression ends |
---
Suggested use
- **Higher timeframes (1H–1D):** default settings often work well for swing context
- **Lower timeframes (1–15m):** try shorter Length (20–35) and lower Tight Rank (10–15)
- Wait for **TIGHT** on the HUD, then trade only confirmed diamond signals
- Use guide lines as reference — not automatic trade execution
Pairs well with volume, structure, or liquidity tools on the same chart.
---
License
Original TBalgo indicator.
Licensed under Mozilla Public License 2.0 — free to use and modify with attribution.
Disclaimer
For education and research only. Not financial advice. Past signals do not guarantee future results. Always manage risk and do your own analysis before trading.
Indicator

Multi-Timeframe Squeeze Board LiteWhat it shows
Multi-Timeframe Squeeze Board — Lite answers one question at a glance: "Where is this symbol compressed, and which way is momentum leaning, on every timeframe that matters?" For the chart's symbol it displays a compact table with one row per timeframe — 15m, 1h, 4h, Daily, Weekly — and two readings per row:
- Sqz — the TTM Squeeze compression state as a colored dot, using the standard three-level cascade: orange = high squeeze (deepest compression), red = mid squeeze, black = low squeeze, green = no squeeze (volatility released / normal).
- Mom — the squeeze momentum oscillator as a colored arrow using the classic 4-color scheme: aqua = positive and rising, blue = positive but falling, yellow = negative but rising, red = negative and falling. The arrow points up when momentum is increasing bar-over-bar and down when it is decreasing.
A stacked squeeze (orange/red dots on several adjacent timeframes) marks a market coiling across horizons; the momentum colors tell you which side the pressure is building on.
How it works
Each row runs the full TTM Squeeze calculation on its own timeframe via request.security() with lookahead = barmerge.lookahead_off (no future data, ever):
1. Bollinger Bands: SMA(close, 20) basis, 2.0 × population standard deviation.
2. Keltner Channels: the same SMA(close, 20) basis, with band width = SMA of True Range over 20 bars (simple average of TR — not Wilder's ATR) at three multipliers: 1.0, 1.5, 2.0.
3. A squeeze is on when the Bollinger Bands sit fully inside the Keltner Channel on both sides. The narrower the Keltner band that still contains the BB, the deeper the compression — hence the 1.0-multiplier band defines the high squeeze, 1.5 the mid, 2.0 the low.
4. Momentum is the linear regression of price's deviation from the average of the Donchian midline and the SMA, over the same 20 bars.
By default the board evaluates confirmed bars only: every row shows the last fully closed bar of its timeframe, so a dot or arrow never changes after it appears. See Limitations for the tradeoff.
Inputs
- Squeeze length — lookback for BB, KC and momentum (default 20, the canonical TTM setting).
- Confirmed HTF bars only — ON (default): stable, non-repainting readings that lag up to one bar of each row's timeframe. OFF: rows track the still-forming higher-timeframe bar — more current, but the reading can flip until that bar closes.
- Table position / Table size — where the board sits and how large it renders.
How to use it
Apply it to a 15m chart (or lower) so all five rows populate. Scan the Sqz column top-to-bottom: multiple orange/red dots stacked across timeframes indicate multi-horizon compression — historically the precondition for expansion moves. Then read the Mom column for directional lean while the compression resolves. The board is a context tool: it tells you where energy is stored, not when or in which direction it must release.
Limitations — please read
- Confirmed-bar lag: with the default non-repainting mode, the Weekly row updates once per week, the Daily row once per day, etc. That is the honest cost of stability. Turning the toggle off shows the live forming bar instead, and those readings can change until the bar closes.
- Rows below the chart's timeframe show "–": Pine's request.security() cannot reliably reconstruct lower-timeframe series, so instead of showing a possibly wrong dot the board declines to show one. Use a 15m chart to see everything.
- A squeeze has no direction. Compression means stored energy, not a buy or sell signal. The momentum color is a lean, not a prediction.
- Warm-up: each timeframe needs about 20 bars of history before its row populates (shown as "·" until then).
This board covers one symbol — the chart's.
Indicator

Indicator

Volatility Pressure & Regime AnalyzerVolatility Pressure & Regime Analyzer
## What this script does
VPRA estimates **when a market is loading energy for an outsized move, how large that move could be, and whether the current regime favors chasing or fading the breakout**. It condenses this into one on-chart verdict panel, directional signal markers, a regime ribbon, and a forecast of the expected move in ATR and points.
It works on **any symbol, any market, any timeframe**. A related volatility index and a companion symbol (the underlying if you chart a derivative, or vice versa) are optional inputs that sharpen the analysis; both can be disabled and the model renormalizes to price-only mode automatically.
## Why these components are combined (mashup justification)
Each module answers a question the others cannot, and the signal only fires when their answers agree. None of them is a stock indicator pasted alongside another — they are inputs to a single pressure model:
1. **Compression (ATR percentile)** answers *"is energy being stored?"* Quiet ranges precede expansion, but compression alone says nothing about direction or timing.
2. **Implied-vs-realized volatility dislocation** (optional vol index) answers *"is the options market mispricing the calm?"* A large gap between implied and realized volatility marks complacency or stress that compression alone cannot see.
3. **Basis tension** (optional companion symbol) answers *"is positioning leaning?"* Momentum in the derivative-to-underlying spread, and outright backwardation, reveal funding pressure and de-risking invisible in a single price series.
4. **Convexity and trend inefficiency** (return acceleration, efficiency ratio) answer *"is price behavior becoming unstable?"*
These four are blended into one **Pressure score (0–100)**, percent-ranked against its own history so thresholds adapt to every symbol and timeframe.
5. **A variance-ratio regime filter** answers *"will the break run or get faded?"* The ratio of k-bar to 1-bar return variance classifies the tape as mean-reverting (pinning) or trending (amplifying). Breakouts in a pinning regime are statistically more likely to fail, so the script can label or skip them.
6. **A multi-timeframe trend filter (Ichimoku cloud bias on the chart TF + three higher TFs)** answers *"is the release direction supported by structure?"* It grades signals rather than generating them. Higher-timeframe values are taken from **closed bars by default, so the confluence grade does not repaint**.
7. **Session, expiry, gap and event context** scale the expected-move forecast: an expiry-afternoon release during a volatility spike forecasts a larger move than a sleepy mid-session one.
Removing any module degrades a specific, named capability — that is the test the combination was built to pass.
## How a signal is generated
A marker prints only when **all** of the following align: pressure has reached a high percentile of its own history within a short lookback ("loaded"), the current bar shows a genuine range expansion ("release"), the condition persists for a confirmation bar count, a debounce gap has passed, and (optionally) the regime and trend filters pass. Direction is scored from **trigger-break** (close beyond the prior N-bar extreme), **close location** within the bar, and short momentum.
Marker color encodes the inferred event type: expiry-session releases, volatility-co-movement squeezes (price and vol index moving together — a short-covering tell), or plain expansions. The glow ring encodes how many higher timeframes agree. An ⓘ label stores a full diagnostic snapshot (pressure, regime, instability, basis, energy, session, expected move) in its tooltip for every signal.
## How to use it
- Apply to a liquid symbol; set "This chart is" to Derivative or Underlying, point the companion and volatility-index inputs at your market's related symbols (or disable them), and set your session hours and expiry weekday.
- Read the panel top-down: **Regime** (chase vs fade), **Pressure/Energy** (how loaded), **Move size** (forecast), **Trend align / HTF** (structure), **Triggers** (the price levels that confirm).
- Use the "Filter" modes to suppress signals against regime or higher-timeframe structure, or leave them as badges and judge manually.
- The advanced rows show per-type follow-through statistics (hit rate, average favorable and adverse excursion in ATR) and an early-vs-late history split as a coarse robustness check. **These are in-sample descriptive statistics, not a backtest.** A companion strategy script with identical logic is available for proper backtesting with costs.
- Alerts: per-signal dynamic alert with all values (webhook-ready), plus static conditions for expiry signals, releases, critical pressure, and vol shocks.
## Originality
The pressure blend (compression x vol-dislocation x basis tension x convexity x inefficiency, percent-rank normalized), the variance-ratio regime gate applied to breakout qualification, the compression-energy budget, and the per-type MFE/MAE statistics with an early/late split are original constructions written from first principles for this script. The only classical components used are public-domain building blocks (ATR, Bollinger/Keltner-style compression logic via ATR percentile, Ichimoku cloud bias as a trend filter, Kaufman efficiency ratio), each justified above.
## Limitations (please read)
- Dealer-positioning effects (often discussed as gamma/vanna/charm) are **inferred from price, volatility and basis behavior**. This script does not and cannot read option-chain open interest. Labels such as "gamma blast" describe an expiry-session release pattern, not a measured dealer position.
- All on-panel statistics are computed on the loaded chart history and will differ across symbols, timeframes and history length.
- Higher-timeframe confluence uses closed HTF bars by default (no repaint); the current chart bar still forms in real time, as with any script.
- Expected-move figures are model estimates, not guarantees.
This script is for education and analysis. It is **not financial advice**; trade at your own risk and test before use.
Indicator

Price Pulse Oscillator [Live Stochastic Rhythm]Price Pulse Oscillator
Overview
The Price Pulse Oscillator was designed to monitor the internal state of price action rather than simply identify overbought or oversold conditions.
While traditional oscillators such as RSI, Stochastic, and MACD focus primarily on where price is relative to recent history, the Price Pulse Oscillator attempts to answer a different question:
How is price behaving internally right now?
The indicator continuously monitors the relationship between four structural components:
Pulse Position
Pulse Velocity
Pulse Acceleration
Compression / Expansion State
Together these elements provide a dynamic view of market behavior, allowing traders to observe transitions in momentum, participation, and volatility before they become obvious in price structure itself.
The goal is not to generate buy and sell signals.
The goal is to monitor the evolving state of the market.
The Philosophy Behind The Indicator:
Markets rarely move from one state to another instantly.
Before a breakout occurs:
volatility often contracts,
momentum begins to stabilize,
acceleration starts to shift,
internal pressure gradually builds.
Similarly, before trends exhaust:
momentum begins to weaken,
acceleration deteriorates,
expansion loses force,
price continues moving largely through inertia.
The Price Pulse Oscillator was built to visualize these transitions.
Rather than focusing on the final outcome, the indicator focuses on the process leading to that outcome.
Components
1. Live Pulse (Blue Line)
The Live Pulse measures where current price sits within its recent trading range.
Conceptually it functions similarly to a stochastic oscillator but is continuously updated as the active candle develops.
The Pulse provides a real-time representation of market positioning:
High values indicate price is trading near recent highs.
Low values indicate price is trading near recent lows.
Mid-range values indicate equilibrium.
The Pulse itself is not intended to be a signal.
Instead, it serves as the foundation from which the indicator's higher-order information is derived.
2. Signal Line (Red Line)
The Signal Line is a smoothed version of the Live Pulse.
Its purpose is to create a reference against which changes in market rhythm can be evaluated.
Traditional crossover logic can be applied, but the indicator is most effective when analyzing:
the speed of the crossover,
the angle of the crossover,
the compression state surrounding the crossover,
and the behavior of velocity and acceleration during the crossover.
In many cases, how the crossover occurs contains more information than the crossover itself.
3. Velocity (Black Line)
Velocity measures the rate of change of the Pulse.
In simple terms:
Velocity shows how quickly market pressure is changing.
Positive velocity suggests increasing bullish pressure.
Negative velocity suggests increasing bearish pressure.
Velocity often begins shifting before price visibly breaks out of a consolidation structure.
For this reason it can be viewed as a measure of directional participation.
4. Acceleration (Magenta Line)
Acceleration measures the rate of change of Velocity.
In simple terms:
Acceleration shows whether momentum itself is strengthening or weakening.
This is often one of the earliest components to shift.
Acceleration may begin rising while price remains range-bound and before Velocity has fully turned.
For this reason it can serve as an early indication that market conditions are changing beneath the surface.
A useful way to think about the hierarchy is:
Acceleration → Velocity → Price
Changes frequently appear in this order.
5. Compression / Expansion Histogram
The histogram measures the degree of compression or expansion occurring within the Pulse itself.
High histogram readings indicate:
reduced internal oscillation,
consolidation,
volatility contraction,
energy storage.
Low histogram readings indicate:
expansion,
volatility release,
active directional movement.
The histogram should not be viewed as bullish or bearish.
Instead it provides context regarding whether the market is currently storing energy or releasing energy.
Market States
The Price Pulse Oscillator is particularly useful when identifying transitions between market states.
Compression State
Characteristics:
High compression histogram
Flattening Pulse
Declining Velocity
Stabilizing Acceleration
Interpretation:
The market is entering equilibrium.
Directional conviction is temporarily reduced.
Energy is being stored.
These conditions frequently precede significant expansion phases.
Ignition State
Characteristics:
Compression begins declining
Velocity turns higher
Acceleration rises sharply
Pulse crosses Signal
Interpretation:
Stored energy is beginning to release.
The market is transitioning from equilibrium toward expansion.
Expansion State
Characteristics:
Compression continues declining
Velocity remains elevated
Pulse remains above or below Signal
Acceleration remains positive
Interpretation:
Directional movement is strengthening.
Participation is increasing.
The trend is actively expanding.
Mature Expansion State
Characteristics:
Compression remains low
Velocity begins flattening
Acceleration weakens
Price continues trending
Interpretation:
The trend remains intact but internal force is beginning to fade.
Expansion may continue, but participation is no longer strengthening.
Exhaustion State
Characteristics:
Compression fully released
Velocity declining
Acceleration negative
Pulse remains extended
Interpretation:
The market may be approaching a local high or low.
Price can still move further, but internal momentum is deteriorating.
Suggested Usage
The Price Pulse Oscillator is not intended to replace price action analysis.
Instead it is designed to complement:
Market Structure
Volume Analysis
VWAP Frameworks
Order Flow
Market Profile
Bookmap
Liquidity Analysis
The indicator is most effective when used as a continuous market condition monitor.
Rather than asking:
"Should I buy or sell?"
the indicator encourages a different question:
"What state is the market currently in?"
By focusing on transitions between compression, expansion, and exhaustion, traders can develop a deeper understanding of the rhythm and internal mechanics driving price movement.
Key Principle
The Price Pulse Oscillator is not designed to predict price.
It is designed to monitor the changing state of price action in real time.
Its primary purpose is to reveal the evolving rhythm, force, and compression of the market as they develop. Indicator

Hamppu - Flow EngineHamppu - Flow Engine is an open-source crypto intraday context engine built in Pine Script v6.
It is designed to help read market context, not to provide standalone buy/sell signals.
The script combines multi-layer RSI regime logic, RSI compression/release, WaveTrend-style stretch reclaim/reject context, liquidity sweep quality scoring, displacement after sweep, HTF with-flow / counter-flow classification and a dynamic MTF Flow Stack.
The goal is transparency. Markers are not magic signals. They are context events that help show when momentum, liquidity and higher-timeframe flow may be interacting.
Core features:
- Multi-layer RSI momentum regime
- RSI compression and directional release
- WaveTrend-style stretch reclaim/reject context
- Liquidity sweep quality scoring
- Displacement after sweep
- HTF with-flow / counter-flow classification
- MTF Flow Stack with selectable 3–6 timeframe slots
- Curated profiles: Balanced, Degen Fast, Conservative, Research and Custom
- Optional source labels for studying RSI / WaveTrend / Degen Fast marker sources
Visual language:
- Background color shows local RSI regime.
- Marker color shows HTF alignment.
- MTF Flow Stack shows broader multi-timeframe momentum context.
Marker guide:
- Triangle = early momentum reclaim/reject context
- Circle = momentum release after RSI compression
- X = compression release / compression ended
- Heart = Flow Context: sweep + displacement + momentum
- Orange marker = counter-flow / HTF disagreement
Profiles:
Balanced is the default public profile.
Degen Fast is a faster 5m/15m profile with early reclaim behavior.
Conservative is stricter and produces fewer context events.
Research is a looser exploration profile.
Custom is for manual tuning.
Important:
Balanced, Degen Fast, Conservative and Research are curated presets. These presets may override selected sensitivity controls internally, including sweep thresholds, cooldowns, compression tightness and confirmed/live behavior.
Use Profile = Custom if you want manual control over the visible sensitivity inputs.
Suggested workflow:
1. Start with Balanced.
2. Read the background regime first.
3. Check marker color for HTF alignment.
4. Use the MTF Flow Stack to understand broader context.
5. Treat markers as context events, not automatic entries.
6. Use your own price action, risk management and invalidation.
Alerts:
Alerts focus on main context events and with-flow reclaim/reject events. Not every visual marker has a separate alert. For more stable alerts, use bar-close alert settings.
Stability note:
When confirmed HTF is active, HTF Bias uses the previous closed HTF candle. Current chart timeframe values can still update while the active candle is open.
License: MIT.
This script is published for educational/open-source purposes. It does not provide financial advice. Indicator

Auto Range / Lateral Consolidation Box DetectorAuto Range / Lateral Consolidation Box Detector
Overview
The Auto Range / Lateral Consolidation Box Detector is designed to automatically identify and draw price ranges where a stock is moving sideways after a prior advance.
Instead of manually drawing rectangle boxes around consolidation areas, this indicator detects them objectively using price containment, range width, prior trend movement, ADR, moving-average structure, and optional volume/RSI filters.
The purpose is to help traders identify:
lateral consolidations
tight launch shelves
continuation bases
range breakouts
failed ranges
breakout/retest zones
early momentum continuation structures
This tool is especially useful for traders who look for stocks that have already shown strength, pause in a controlled range, and then attempt to continue higher.
Core Concept
Many strong momentum moves do not happen randomly. They often follow a repeatable structure:
Prior advance → sideways range → breakout → continuation
This indicator attempts to locate that sideways range automatically.
The blue dashed boxes show detected consolidation zones. When price breaks above a completed range, the indicator can mark the breakout and preserve the prior box so the trader can review the structure historically.
The goal is not to predict breakouts blindly. The goal is to make range structure easier to detect, measure, and trade with defined risk.
What the Indicator Detects
The indicator identifies two main types of structures:
1. Standard Rectangle Range
This is a broader lateral consolidation that usually forms over a larger number of candles.
It is useful for detecting:
multi-week consolidations
continuation bases
sideways digestion after an advance
breakout/retest setups
controlled pullbacks above moving averages
A standard rectangle is best used when price has already advanced and then begins moving sideways in a defined box.
2. Tight Launch Shelf
This is a shorter, tighter range that often forms just before a momentum expansion.
It is useful for detecting:
short pauses near highs
high-tight continuation shelves
pre-breakout compression
momentum names that do not build long bases
stocks that pause briefly before expanding again
This feature was added because some of the strongest stocks do not consolidate for weeks. They may only pause for several sessions before breaking out.
How the Boxes Work
The indicator measures the range using completed prior candles only.
This is important because the breakout candle itself should not distort the range.
For example, if a stock breaks out above a tight rectangle, the breakout candle may be much larger than the range. If the script included that candle in the box calculation, it would make the range look wider than it actually was.
This script avoids that issue by asking:
“Before the current breakout candle, was there a valid sideways range?”
That allows the indicator to draw the actual consolidation area more accurately.
Visual Guide
Visual ElementMeaningBlue dashed boxDetected standard rectangle rangePurple dashed boxDetected tight launch shelfUpper box lineRange resistance / breakout levelLower box lineRange support / invalidation referenceMidlineInternal range midpointBO markerBreakout above range with volumeBO? markerPrice breakout without volume confirmationFAIL markerBreakdown below rangeScore labelShows range quality, width, ADR, prior move, and containment
How I Use It in My Strategy
This indicator fits into a continuation-style trading strategy built around strength, structure, and timing.
The process is:
1. Find a stock with prior strength
I want to see that the stock has already proven demand.
That may include:
strong prior advance
relative strength versus the market
rising moving averages
reclaim or hold above the 200 SMA
improving volume profile
strong sector or theme participation
recent earnings, catalyst, or institutional attention
The indicator is not used to find random sideways stocks. It is used to find sideways ranges after strength has already appeared.
2. Let the stock build a range
Once a stock has moved, I want to see whether it can hold gains.
A clean range tells me:
buyers are defending higher prices
sellers are not fully taking control
price is digesting instead of collapsing
moving averages may be catching up
risk can be defined around the box
This is where the auto box becomes useful.
Instead of manually drawing every range, the indicator highlights areas where price is compressing or consolidating.
3. Use the box for trade planning
The box gives me three major trade locations:
Trade LocationUse CaseRange lowSupport-defense entryRange highBreakout triggerBreakout retestPreferred continuation entry
I generally do not want to enter randomly in the middle of the box unless I have another strong reason.
The best trades usually come from:
range-low defense,
breakout through range high,
or breakout followed by a retest that holds.
4. Confirm with other tools
This indicator identifies structure, but it is not a standalone buy signal.
Before taking a trade, I still want confirmation from:
relative strength
catalyst/news/earnings context
sector/theme strength
ADR/movement potential
volume expansion
VWAP/AVWAP location
volume profile levels
option-chain liquidity if using options
broader market regime
The box tells me where the trade may be forming.
The rest of the process tells me whether it deserves capital.
How Other Traders Can Use It
This indicator can be adapted to several trading styles.
Momentum Traders
Momentum traders can use it to identify stocks that are pausing after a strong move and preparing for another push.
Best use:
breakout above range high
breakout with volume
tight launch shelf breakouts
high-relative-volume names
strong sector/theme participation
Swing Traders
Swing traders can use it to locate multi-day or multi-week continuation bases.
Best use:
buy breakout/retest
enter near range support with defined risk
use the box low as invalidation
use the box height for measured-move targets
combine with daily/weekly trend structure
Breakout Traders
Breakout traders can use the box high as an objective breakout level.
Best use:
price closes above the range high
volume expands above average
range is not too wide
stock is above key moving averages
market regime supports continuation
Mean-Reversion Traders
Mean-reversion traders can use the range boundaries in the opposite way.
Best use:
fade weak breakouts back into the range
buy range low if buyers defend
sell/avoid failed range highs
use the midpoint as a decision level
Position Traders
Position traders can use detected boxes as add zones during a larger trend.
Best use:
add after a valid base forms above rising moving averages
trail risk below higher base lows
identify where trend continuation is being accepted
avoid adding after emotional vertical moves without digestion
Input Settings Explained
Standard Rectangle Bars
Controls how many prior candles are used to detect a normal consolidation box.
Higher values detect longer bases.
Lower values detect shorter ranges.
Suggested use:
StyleSettingFast momentum8–12Swing trading12–20Longer bases20–40
Tight Launch Shelf Bars
Controls how many prior candles are used to detect short, tight shelves near highs.
This is designed for stocks that pause briefly before breaking out.
Suggested use:
StyleSettingVery fast momentum4–6Normal launch shelf6–10Slower swing shelf10–15
Prior Move Lookback Bars
Determines how far back the script looks to measure whether the stock had a prior advance before the range.
Higher values allow the script to detect bases after larger, older moves.
Suggested use:
StyleSettingShort-term momentum20–35Swing continuation35–60Longer trend bases60–100
Minimum Prior Advance %
Defines how much price must have advanced before the range qualifies.
This helps prevent the script from highlighting random sideways chop.
Suggested use:
Market TypeSettingLarge caps8%–15%Mid caps15%–25%Small caps / high ADR20%–40%
A higher setting makes the script more selective.
Minimum Close Containment %
Controls how many closes must remain inside the box.
A higher value requires cleaner sideways behavior.
Suggested use:
Range QualitySettingLoose ranges60%–70%Normal ranges70%–80%Very tight clean bases80%–90%
Max Standard Range Width x ADR
Controls how wide a normal range can be compared with the stock’s average daily range.
Lower values require tighter bases.
Higher values allow wider, looser consolidations.
Suggested use:
PreferenceSettingTight clean bases only1.5–2.25Balanced2.5–3.0Loose momentum names3.0–4.0
Max Tight Shelf Width x ADR
Controls how wide a tight launch shelf can be.
Because launch shelves should be tighter than standard ranges, this number is usually lower.
Suggested use:
PreferenceSettingVery tight shelves1.0–1.3Balanced1.4–1.8Volatile small caps1.8–2.5
ADR Length
Controls the lookback period for average daily range.
Default is 20, which approximates one trading month.
Suggested use:
PurposeSettingShort-term sensitivity10Standard20Smoother ADR30–50
Volume Average Length
Controls the average volume lookback used for breakout and volume comparison.
Suggested use:
StyleSettingFast momentum10Standard swing20Smoother volume filter30–50
Max Range Volume vs Avg
This controls how much volume is allowed during the range if the volume filter is enabled.
Lower values require quieter consolidation.
Higher values allow more active ranges.
Suggested use:
Range TypeSettingQuiet base0.8–1.0Normal base1.0–1.25Active momentum range1.25–1.75
RSI Settings
RSI filters can be used to avoid ranges that are either too weak or too extended.
Suggested use:
PurposeSettingAvoid weak rangesMinimum RSI 40Allow momentum leadersMaximum RSI 80–85Stricter resetMax RSI 70–75
For strong momentum stocks, I prefer leaving RSI control flexible because strong names can remain elevated before breaking out.
Require Price Above 200 SMA
When enabled, the script only accepts ranges where price is above the 200 SMA.
This is useful for trend-following and continuation strategies.
Turn this off if you want to scan:
bottoming structures
early reversals
200 SMA reclaim attempts
accumulation ranges below the 200 SMA
Require Prior Advance
When enabled, the script requires price to have moved up before forming the range.
This is best for continuation traders.
Turn this off if you want to study:
accumulation bases
bottoming ranges
reversal setups
sideways structures before a first move
Require Volume Control
When enabled, the range must have controlled volume relative to average volume.
This helps filter out chaotic ranges.
However, for volatile small caps or active momentum names, I often leave this off because strong stocks can consolidate with active volume.
Require RSI Control
When enabled, RSI must remain within the selected range.
This can help avoid weak or overextended setups.
However, momentum leaders can remain strong for longer than expected, so this setting is optional depending on the strategy.
Setup Score
The label displays an Auto Range Score out of 10.
The score considers:
prior move
price above 200 SMA
containment inside the range
range width versus ADR
volume behavior
OBV behavior
RSI condition
ADR level
The score is not a buy signal. It is a structure-quality score.
General interpretation:
ScoreInterpretation9–10Very clean structure7–8Good watchlist candidate5–6Needs more confirmationBelow 5Low-quality or incomplete structure
Trading Notes
A detected box is only a location tool.
It does not replace:
market regime analysis
risk management
catalyst research
relative strength checks
liquidity checks
options-chain review
trade planning
The highest-quality setups usually combine:
strong prior move + clean box + range containment + volume expansion on breakout + supportive market conditions.
Risk Management
The box can help define risk.
Common invalidation methods:
stop below range low
stop below breakout candle low
stop below retest low
stop below rising 20 EMA or 50 SMA
exit if breakout fails back into range
avoid if price breaks below the box with volume
The cleanest setups are usually those where the box gives a tight, logical invalidation level.
Important Disclaimer
This indicator is for educational and research purposes only.
It does not provide financial advice, investment advice, or guaranteed trade signals. All trading involves risk. Traders should use their own research, risk management, and judgment before entering any position. Indicator

True Trend Oscillator + Price EnvelopeTrue Trend Oscillator + Price Envelope is a Pine v6 rebuild and expanded interpretation of the original True Trend Oscillator concept by wbburgin.
The original idea is simple but powerful:
• Convert ATR into a stochastic volatility / trend-energy reading
• Smooth that Stoch ATR reading with a Rational Quadratic Kernel
• Use RSI as the directional pressure input
• Build separate Bull Trend and Bear Trend lines from that shared volatility engine
In this rebuild, I kept the original spirit of the oscillator but expanded it into a fuller trend-energy framework with automatic timeframe-aware settings, cleaner visual controls, price-pane candles, and a chart-side ATR envelope.
────────────────────────────
Core Idea
────────────────────────────
The oscillator is built from two main pieces:
1. Volatility / trend energy
ATR is normalized through a stochastic calculation, then smoothed with a Rational Quadratic Kernel. This creates the “energy” side of the oscillator.
2. Directional pressure
RSI supplies the directional side of the model.
The two final oscillator lines are:
Bull Trend = sqrt(RSI × Smoothed Stoch ATR)
Bear Trend = sqrt((100 - RSI) × Smoothed Stoch ATR)
That means the Bull and Bear lines are both connected to the same volatility / trend-energy source, but RSI determines which side has more directional pressure.
────────────────────────────
How to Read the Oscillator
────────────────────────────
The oscillator has two main lines:
• Bull Trend line
• Bear Trend line
The leading line shows which side currently has control.
A few practical reads:
• Bull above Bear
Bull pressure is leading.
• Bear above Bull
Bear pressure is leading.
• Both lines rising together
Trend energy is expanding.
• Both lines falling together
Trend energy is cooling, compressing, or losing force.
• Both lines collapsing near zero
The market is moving into a low-energy / compression state.
This is one of the more important parts of the script. The oscillator is not only asking which side is leading but whether the move has enough volatility energy behind it to matter.
────────────────────────────
Active Trend Threshold
────────────────────────────
The active threshold is used to separate trend conditions from low-energy / range conditions.
A trend is only treated as active when the weaker side of the oscillator is above the active threshold.
In plain terms:
• Bull can be above Bear, but if both lines are too weak, the script treats the market as range / low energy.
• Bear can be above Bull, but if volatility energy is collapsing, the script does not force a strong trend read.
• When both sides clear the threshold, the leading side becomes more meaningful.
This helps reduce the “every crossover is a signal” problem that many simple oscillators can have.
────────────────────────────
Extreme Readings
────────────────────────────
The script includes an upper guide at 80. When the Bull Trend line pushes above 80, the script can highlight that as an extreme bull-energy condition. When the Bear Trend line pushes above 80, the script can highlight that as an extreme bear-energy condition.
By default:
• Bull extreme = orange
• Bear extreme = purple
These colors can also carry into the price candles and envelope visuals, making strong directional energy easier to spot without needing to stare only at the oscillator pane.
────────────────────────────
Auto / Manual Engine
────────────────────────────
The script includes an Auto / Manual engine profile.
Auto mode adjusts the main calculation settings based on the chart timeframe, including:
• ATR length
• Stochastic length
• RSI length
• Stoch smoothing
• Kernel lookback
• Kernel weighting
• Active range threshold
Manual mode unlocks the user-defined settings. When Auto mode is active, the manual inputs are grayed out so the settings panel stays easier to understand.
────────────────────────────
Price Candle Overlay
────────────────────────────
This rebuild includes a price-pane candle overlay using plotcandle() and force_overlay.
The candle overlay keeps the real OHLC candle shape intact, but recolors the body, wick, and border based on the active True Trend state.
The candle colors can represent:
• Bull trend
• Bear trend
• Range / low-energy
• Bull extreme
• Bear extreme
Body, wick, and border transparency are controlled separately, so the candle overlay can be made bold or subtle depending on the chart style.
────────────────────────────
True Trend Price Envelope
────────────────────────────
The script also includes a True Trend Price Envelope projected onto the main chart.
The envelope is built from:
• EMA(HLC3) basis
• ATR-based width
• True Trend strength expansion
As oscillator strength increases, the envelope can widen. This creates a chart-side visual map of how the oscillator’s trend-energy state is interacting with price.
The envelope behavior is designed around support / resistance style context:
• Bull-side pressure fills the upper half of the envelope
• Bear-side pressure fills the lower half of the envelope
• Bull pressure can plot the lower band as a support-style trail
• Bear pressure can plot the upper band as a resistance-style trail
• Neutral conditions can optionally show a soft neutral envelope or basis trail
This helps connect the oscillator pane back to price instead of leaving the oscillator isolated below the chart.
────────────────────────────
How I Use It
────────────────────────────
I use this script as a trend-energy and compression map.
A few practical ways to read it:
• When Bull is above Bear and both lines are rising, bull pressure is expanding with energy.
• When Bear is above Bull and both lines are rising, bear pressure is expanding with energy.
• When the leading side is still on top but both lines are falling, the move may be cooling or losing force.
• When both lines collapse toward zero, the market may be compressing or moving through a lower-energy phase.
• When price is holding the envelope trail in the same direction as the oscillator state, the price chart is confirming the oscillator pressure more cleanly.
• When oscillator pressure and price-envelope behavior disagree, that disagreement can be useful information by itself because it may point to chop, transition, or fading momentum.
• Extreme colors can help identify when directional energy is stretched rather than simply trending.
This is not meant to be a standalone buy/sell signal machine. It is a visual context tool designed to help organize trend direction, volatility energy, compression, and price confirmation.
────────────────────────────
Attribution
────────────────────────────
This script is a Pine v6 rebuild and expanded interpretation of the original True Trend Oscillator concept by wbburgin.
Original author / concept:
• © wbburgin
• Original PulseWire script:
This version adds my own Pine v6 structure, Auto / Manual timeframe behavior, expanded visuals, price-pane plotcandles, extreme-state coloring, and the True Trend Price Envelope.
Special thanks to jdehorty for the KernelFunctions library used for the Rational Quadratic Kernel smoothing.
As always, this script is a visual context tool. It is not financial advice and is not meant to replace risk management, market structure, support/resistance, volume analysis, or a complete trading plan.
────────────────────────────
Chart Examples
────────────────────────────
Indicator

Crucible Range Compression [JOAT]Crucible Range Compression
Crucible Range Compression detects volatility-compression episodes by blending three independent contraction proxies — Bollinger Band Width percentile, ATR percentile, and body-range Z-score — into a single intensity score. While compressed, the script tracks Cumulative Volume Delta inside the compression window to predict breakout direction. On confirmed compression exit it projects a chamber-width target line. A history strip records each completed compression with its outcome.
What makes it different
Single-metric volatility-contraction indicators (BBW or ATR alone) can be misled by price-level changes. The composite intensity uses three normalized metrics, each over a percentile lookback, so contraction across multiple lenses is required for a true compression read.
The compression chamber is drawn as a dynamic box (top and bottom bounds expanding while the compression remains active) with three nested concentric rings that visually tighten as intensity increases. A clear visual countdown to breakout.
Inside the chamber, CVD slope predicts breakout direction before the breakout occurs. A direction-bias gauge surfaces this prediction in a 21-segment vertical scale.
Two forward projection lines appear AFTER compression exits but BEFORE the breakout candle confirms — bull target at chamber-high plus width, bear target at chamber-low minus width. Once the direction confirms, only the active target survives.
A false-breakout signal fires when price breaks in the opposite direction of CVD's bias. A high-value warning that a fast reversal is likely.
How it works
Bollinger Band Width equals (upper minus lower) divided by basis. Convert to percentile rank over a 100-bar lookback.
ATR(14) percentile rank over the same lookback.
Body range equals the absolute distance between close and open. Body Z equals (body minus sma(body, 20)) divided by stdev(body, 20). Map to a 0-1 score where small bodies equal 1.
Intensity equals 0.40 times (1 minus BBW%) plus 0.40 times (1 minus ATR%) plus 0.20 times body score. Range 0 to 1 where 1 equals maximum compression.
Compression active when intensity exceeds the user threshold (default 0.7). Chamber bounds are the running max / min of high / low while active.
CVD inside the chamber: delta equals plus volume on up bars, minus volume on down bars, zero otherwise, summed since chamber start. Slope equals total delta divided by bars in chamber.
On exit (intensity drops below threshold), if close above chamber high and CVD bias above 0, bull breakout. If close below chamber low and CVD bias below 0, bear breakout. If price breaks one way but CVD predicted the other, false-breakout signal.
Target on confirmed direction equals breakout close plus or minus chamber width.
Reading the chart
Outer compression chamber box, transparency-modulated by intensity, anchored at compression start.
Three nested concentric rings inside the chamber, smaller and smaller, tinted by direction bias.
Iridescent candle recolor scales transparency with intensity (faded while compressed, vivid on expansion).
Forward projection lines (bull target and bear target) appear at compression exit and disappear when one direction confirms.
A confirmed target line plus price label persists until hit or expired.
bgcolor pulses: 3-bar fade on compression entry, 2-bar fade on confirmed breakout (bull / bear).
Chamber exit pulse: border alpha cycles for 3 bars when compression exits.
A right-edge intensity gauge label with intensity %, state, bias, bars in.
A right-side 21-segment direction-bias gauge mirroring CVD slope.
Pre-compression bgcolor highlight when intensity is approaching the threshold.
An intensity history mini-strip on the right edge showing the last 10 intensity values as colored line segments.
A compression history strip (last 10 completed compressions with outcomes).
A daily compression counter.
Signals
Compression entry (intensity crosses above threshold)
Compression exit (intensity drops below threshold, breakout pending)
Bull breakout confirmed
Bear breakout confirmed
False breakout (direction mismatch with CVD bias)
All gated on barstate.isconfirmed or barstate.ishistory. No future references.
Inputs
Compression : BB length, BB stdev multiplier, percentile lookback, activation threshold, chamber initial length, target line extension bars.
Visual : bullish, bearish, neutral colors. Chamber, nested rings, candles, target line, pulses, gauge toggles.
On-chart : compression history, intensity strip, pre-compression highlight, bias gauge, projection lines, target hit/miss labels, false-breakout revert line, state block, cycle counter, exit pulse.
Dashboard : position, size.
How traders use this
Breakout entries : wait for the confirmed bull / bear breakout signal AND the CVD-bias gauge to be aligned. False-breakout signals when these disagree are reasons to pass or fade.
Range trading : while compression is active (chamber visible), reactions to chamber high / low are intra-range scalp setups.
Target management : once the breakout fires and the target line appears, common practice is to scale out at chamber-mid first, then chamber-target. The chamber width is the implied move.
Compression history : see how previous compressions resolved on the current instrument. A series of Win entries means the setup has been productive recently.
Limitations
Compression detection requires warm-up history (100 bars for the percentile calculations). On very young charts the script is inert.
CVD bias inside a chamber is a probability, not a guarantee. False breakouts happen when liquidity sweeps stops on the predicted side first.
For instruments with very thin volume data, the CVD direction signal is less reliable.
The chamber width is a measured-move proxy. Actual move size can exceed or fall short.
Compatibility
Pine Script v6 open-source indicator (overlay). Any symbol, any timeframe (more bars equals more reliable percentile context). No request.security calls.
Defaults
20-bar BB, 2.0 BB stdev, 100-bar percentile lookback, 0.7 activation threshold, 20-bar initial chamber length, 40-bar target extension, mint / red / gray palette, top-right medium dashboard.
Indicator

Dual MA Gradient [Gabremoku]Dual MA Gradient is a clean dual moving average overlay designed to highlight not only MA direction and crossover, but also the degree of separation between the two averages through a dynamic gradient ribbon.
The script uses two configurable moving averages and transforms their relationship into a visual ribbon that reacts to:
bullish alignment
bearish alignment
neutral compression
Instead of relying only on a simple crossover, the indicator helps show whether the two averages are:
crossing,
compressing,
or expanding apart
That makes it useful as a compact trend-structure tool for traders who want an at-a-glance read on direction and relative momentum.
What it shows
📈 Two configurable moving averages — each MA can be set independently using:
EMA or SMA
custom length
custom source
🌈 Directional gradient ribbon — the space between the two averages is divided into layered fills that create a smooth visual ribbon.
🟦 Bullish separation — when the fast MA is above the slow MA, the ribbon shifts to bullish color.
🟨 Bearish separation — when the fast MA is below the slow MA, the ribbon shifts to bearish color.
⚪ Compression state — when the spread between the two MAs becomes small enough, the ribbon fades into a neutral state to signal contraction.
🏷️ Status label — optional live label shows the active state:
Compression
Bullish Separation
Bearish Separation
⭕ Cross markers — optional markers can be shown when bullish or bearish MA crosses occur.
Core logic
The indicator is built around three simple but useful ideas:
Which MA is on top
How far apart the two MAs are
Whether the spread is strong enough to be directional or too tight and neutral
A moving average crossover occurs when a shorter-period average crosses a longer-period average, and it is commonly used to identify trend shifts or signal changes in directional bias.
This script goes a step further by emphasizing the spread between the averages. That matters because ribbon spacing is often used as a visual clue for trend structure: when averages are compressed, the market may be in transition or contraction, while a wider directional ribbon can reflect stronger alignment.
How to read it
A practical reading method is:
Compression = the two averages are close together, market may be transitioning or losing directional clarity
Bullish separation = the fast MA is above the slow MA and the ribbon is opening upward
Bearish separation = the fast MA is below the slow MA and the ribbon is opening downward
In many moving-average frameworks:
the cross helps identify the directional shift
the spacing helps evaluate whether that shift is weak or established
a tight ribbon often suggests indecision or a developing transition
Features
✅ Dual moving average framework
✅ SMA or EMA selection for both lines
✅ Fully customizable lengths
✅ Dynamic layered ribbon between MAs
✅ Bullish / bearish / neutral compression states
✅ Optional MA line display
✅ Optional live status label
✅ Optional crossover markers
✅ Built-in bullish and bearish crossover alerts
Notes
This indicator is designed as a trend-visualization tool rather than a complete standalone strategy. Like all moving-average systems, it is inherently lagging, so it is generally more useful for confirming structure and directional bias than for predicting reversals in isolation.
Author: Gabremoku
Pine Script v6 Indicator

Aurelian Auction Ledger [JOAT]Aurelian Auction Ledger
Introduction
Aurelian Auction Ledger is an open-source range and auction analysis overlay designed to identify compressive trade zones, map their internal value structure, and show how price behaves when it tests the edges of that ledger. The script builds a live range shell, calculates a point of control and value area, tracks sweep events, and presents the active auction state in a top-right dashboard.
The problem Aurelian solves is hidden range structure. Consolidation zones are often treated as simple rectangles, but not all ranges are equal. Some are balanced, some lean toward accumulation, some toward rejection, and many fail through one-sided sweeps before resolving. Aurelian turns that internal auction structure into something visible.
Core Concepts
1. Compression-based ledger build
The script measures whether recent bars are tight enough in ATR terms, efficient enough in body structure, and balanced enough in directional pressure to qualify as a live auction ledger.
2. Range shell and internal value area
When a ledger is active, the script draws:
The outer ledger shell
The internal value area
The point of control
This separates broad range boundaries from the price zone where most business is actually being done.
3. Right-side auction profile
Volume is accumulated across profile rows inside the active ledger so the script can identify the highest-volume row and estimate the value area around it.
4. Sweep tracking
Upper and lower sweep events are tracked only on confirmed bars. This helps distinguish clean acceptance from failed range probes.
5. Ledger tilt
The indicator maintains a directional tilt metric so the range shell is not displayed as neutral by default. If the auction begins leaning toward acceptance or rejection, the color balance reflects that change.
Features
Compression-driven range detection: Searches for structured auction zones rather than generic boxes
Live range shell: Displays the active ledger high, low, and midpoint
Point of control and value area: Maps where the auction is most concentrated
Right-side profile: Extends the auction structure visually beyond the current bar
Sweep detection: Tracks confirmed probes beyond the ledger edges
Auction tilt readout: Shows whether the range is leaning toward acceptance or rejection
Top-right dashboard: Reports mode, compression, width, POC, value area, sweeps, and tilt
Non-repainting event logic: Sweep and breakout conditions are confirmed on bar close
Input Parameters
Ledger Core:
ATR Length
Ledger Build Bars
Compression Ceiling
Body Efficiency Ceiling
Directional Balance Ceiling
Breakout Buffer
Auction Profile:
Profile Rows
Profile Width
Value Area Coverage
Visuals:
Show Range Shell
Show Right-Side Profile
Show Sweep Marks
Tint Auction Bars
Show Dashboard
How to Use This Indicator
Step 1: Confirm that a ledger is live
Check the dashboard mode first. If the ledger is not active, the script is still scanning for a qualified auction structure.
Step 2: Watch the POC and value area
These levels show where the auction is concentrated and whether price is rotating inside value or challenging the edges.
Step 3: Track sweeps versus acceptance
Confirmed sweep events can mark failed probes. If price repeatedly sweeps one side and returns, the ledger is revealing where excess is being rejected.
Step 4: Use tilt as context, not prediction
Ledger tilt helps interpret which side has more pressure, but the actual resolution still depends on whether price ultimately accepts outside the shell.
Indicator Limitations
The script is designed for structured ranges and will naturally stand down during broad directional moves
Volume distribution inside a candle is approximated using row allocation rather than true intrabar order flow
A qualified ledger can still break without first producing a sweep event
Originality Statement
Aurelian Auction Ledger is original in how it combines a compression-qualified range state, an internal profile-derived value area, sweep tracking, and directional tilt into a single clean overlay. It is published because:
The script distinguishes a structured auction ledger from a generic consolidation rectangle
It combines shell, POC, value area, and sweep tracking in one coherent range workflow
The tilt metric provides additional auction context without cluttering the chart with heavy labels
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice and does not guarantee future market behavior. Range structures can fail abruptly, and volume-based value estimates are still interpretations of historical trading activity. Always use independent judgment and proper risk management.
Indicator

Volatility Compression Release Map [AGPro Series]Volatility Compression Release Map
🧠 Core Idea
Is the market quietly building expansion energy, or has the release already failed back into the shelf?
📌 Overview / What it does
Volatility Compression Release Map is a volatility regime and compression shelf visualization tool built to identify quiet range contraction, release attempts, fake releases, and expansion quality.
The script maps a projected compression shelf when volatility rank and range size contract together. It then tracks whether price releases away from that shelf, returns back inside it, or continues to hold expansion pressure.
This script does not predict future price direction, automate trades, or produce guaranteed buy/sell signals. It is designed as a structured chart-reading layer for volatility compression, release quality, and contextual risk.
🎯 Purpose & Design Philosophy
The script was built for traders who care about the transition between quiet markets and expansion phases.
Many charts look calm before movement starts. The challenge is not simply seeing a tight range, but understanding whether that range is still building energy, whether the release is active, or whether the move has already failed back into the shelf.
The design philosophy is simple: reduce volatility noise into a readable map, preserve the important shelf story, and make the current regime understandable at first glance.
⚡ Why This Script Is Different
Most tools focus on breakout arrows, squeeze dots, or raw volatility bands.
This script does NOT treat every contraction as an immediate trade signal and does NOT frame every expansion candle as confirmation.
Instead, it builds a full compression-to-release map: the shelf, volatility rank, range size, release direction, fake-release risk, quality score, right-side state labels, and a compact AG Pro panel all work together.
⚙️ Methodology
1. Context Detection
The script evaluates ATR rank, recent range size, and whether price is still inside a quiet shelf.
2. Shelf Mapping
When compression conditions align, the active range is stored and projected forward as a compression shelf.
3. Release Evaluation
The script checks whether price leaves the shelf with enough candle body expansion to qualify as a release attempt.
4. Failure Tracking
If price quickly returns into the shelf during the fake-release window, the state changes to fake release.
5. Visual Output
The chart displays a projected shelf, dotted rails, a centered shelf-quality label, event labels, right-side state tags, and a compact AG Pro panel.
🗺️ How to Read the Chart
Zones represent the active compression shelf.
The shelf label shows the current shelf quality score using a compact `SHELF | Q` format.
Green/teal visual states generally indicate constructive expansion or defended release behavior.
Pink visual states highlight failed release or adverse volatility behavior.
Indigo/accent visuals represent compression and neutral shelf structure.
The panel summarizes compression state, release direction, volatility rank, range size, quality score, shelf range, and next context.
🚦 Signals & States
• COMPRESSION BUILD → a quiet shelf is forming and volatility is compressed
• RELEASE ACTIVE → price has moved away from the shelf with sufficient body expansion
• FAKE RELEASE → price returned back into the shelf after a release attempt
• SHELF WATCH → a shelf exists but the market has not produced a clean active release
• WAIT COMPRESSION → no valid compression shelf is currently active
🔔 Alerts Logic
Compression Build alert triggers when a new volatility compression shelf is detected.
Compression Release alert triggers when price releases from the active shelf with enough candle body expansion.
Fake Release alert triggers when price returns back into the shelf within the defined fake-release window.
Alerts are attention markers. They are not trade instructions.
🧩 Confluence Logic
The context becomes stronger when low volatility rank, compact range size, a visible shelf, and a strong release candle align.
The context becomes weaker when price fails back into the shelf shortly after release.
📊 When to Use
• Before potential expansion phases
• During quiet range compression
• Around breakout preparation zones
• When evaluating whether a move is expanding or failing
• On liquid markets where volatility structure is meaningful
⚠️ When NOT to Use
• Extremely illiquid symbols
• Very noisy low-timeframe charts
• News shock environments where volatility structure changes suddenly
• Markets with unreliable volume or large gaps
• Situations where a single indicator is being used without broader context
🎛️ Key Inputs
• Compression Lookback → controls the range window used to detect the shelf
• Volatility Rank Lookback → controls how ATR rank is measured
• Compression Rank Max → changes how selective compression detection is
• Range ATR Max → limits how wide a valid shelf can be
• Release Body ATR Min → defines how strong a release candle must be
• Fake Release Window → controls how quickly a release failure is detected
• Visual settings → control shelf projection, labels, panel, theme, and font sizes
🖥️ Interface & Visual Design
The interface is designed to look clean, premium, and publication-ready.
The shelf is the main visual anchor. Event labels are intentionally limited so the chart does not become crowded.
The AG Pro panel uses a merged blue header row and summarizes the state without covering the main chart story.
🧪 Practical Usage Workflow
1. Read the panel state.
2. Locate the active compression shelf.
3. Check whether price is inside, releasing, or failing back into the shelf.
4. Compare the quality score with the visual structure.
5. Use broader market context before making any decision.
🔍 Interpretation Guidelines
Compression is not direction.
A shelf shows where volatility has contracted.
A release shows that price moved away from the shelf with expansion pressure.
A fake release shows that the market rejected the expansion and returned to the compression area.
The strongest interpretations come from combining the shelf, state, quality score, and surrounding market structure.
🚫 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 guarantee profitable trades.
It does not replace risk management or independent analysis.
⚠️ Limitations & Transparency
Timeframe differences can change how compression and release behavior appears.
High volatility news events may reduce the usefulness of shelf-based interpretation.
Low-liquidity markets can produce misleading shelves and sudden false releases.
The script is rule-based and should always be interpreted within broader market context.
🧠 Market Context Notes
Volatility often contracts before expansion, but compression alone does not define direction.
The shelf helps identify where the market has stored recent range energy.
Release quality helps separate stronger expansion attempts from weak movement outside the range.
🧾 Use Case Examples
When price remains inside a shelf while volatility rank is low, the market may still be building energy.
When price leaves the shelf with strong body expansion, the script marks release behavior.
When price returns into the shelf quickly, the script flags a fake-release context.
🧱 System Philosophy
AGPro Series tools are built to turn complex market behavior into structured visual maps.
The goal is not to simplify markets into certainty, but to make important context easier to read.
🔐 Non-Promise Statement
No script can know the future.
No signal is certain.
No visual state should be treated as a guaranteed outcome.
📉 Risk Disclosure
Trading involves risk.
Markets can move unexpectedly.
Users are responsible for their own decisions, risk management, and trade execution.
This script does not provide financial advice.
📚 Educational Note
This tool is intended for educational and analytical use. It can help traders study volatility compression, release behavior, fake-release risk, and shelf-based market context.
Indicator

Volatility Coil Edge [BullByte]Volatility Coil Edge is a reversal detection script designed for intraday traders operating in futures, indices, and crypto markets. It identifies a specific and repeatable market condition: price compressing into a tight range at the extreme boundary of a session, then breaking out of that compression in the opposing direction. The compression is the footprint. The break is the trigger. Everything else - entry, stop, and three scaled targets - is calculated automatically from the structure itself.
This script is built from custom logic rather than a simple wrapper of standard indicators. VCE is built from a custom volatility state machine designed specifically for detecting absorption-and-release patterns at session extremes. There is no RSI. No MACD. No Bollinger Band. The logic is derived entirely from price geometry, ATR ratio mathematics, and session range physics.
---
WHAT IS A VOLATILITY COIL
Price does not move in straight lines. It expands and contracts in cycles . When price reaches the edge of its established session range and begins contracting - forming smaller and smaller bars with decreasing volatility relative to recent history - it is coiling. This coil represents a temporary equilibrium between buyers and sellers at a structurally significant location.
The coil at a session high means sellers have been absorbing every attempt to push higher. The coil at a session low means buyers have been absorbing every attempt to push lower. When that absorption ends and price breaks through the coil boundary in the reversal direction, it signals that one side may be losing control and the opposite side may begin to take over.
VCE detects this moment and marks it on the close of the break bar. The script combines session-extreme context, multi-condition compression logic, violation tolerance, and post-impulse detection within one unified engine.
---
WHY THIS WORKS AND WHY IT IS ORIGINAL
Most volatility indicators measure contraction globally across the entire chart. VCE measures contraction locally and contextually - it only cares about compression that forms at the edges of the current session range. A tight range forming in the middle of a session is noise. The same tight range forming at the session high or low is a structural event.
The detection engine uses three simultaneous compression conditions:
The first is a ratio comparison between a short-period local ATR and a longer-period background ATR . When the local ATR falls below a calibrated percentage of the background ATR, the bar qualifies as contracted.
The second is a drift-floor condition that catches low-volatility regimes where the ratio test alone would miss genuine compressions. It compares the current bar range against the rolling median bar range.
The third is Catalyst Mode, which identifies compressions forming immediately after a volatility expansion - the post-impulse coil. These are often a strong setup type because they represent price stalling after a strong directional move, often marking exhaustion at the extreme.
All three conditions feed a state machine that tracks how many consecutive bars meet the compression criteria, applies violation tolerance so that minor range extensions do not invalidate real coils, and enforces a maximum coil length to prevent stale consolidations from triggering signals.
---
THREE SENSITIVITY TIERS
Conservative: Requires the tightest compression and the longest minimum coil duration. Generates fewer signals. Best for traders who prefer higher-filter setups and can wait.
Balanced: The recommended default. Moderate compression requirements and signal frequency. Suitable for most intraday traders across all supported markets.
Aggressive: Captures looser compressions and shorter coils. Higher signal frequency. Best for very active scalpers who want early entries and manage risk with tight stops.
All three tiers can be fully overridden with manual parameter control for experienced users who want to calibrate to a specific instrument.
---
CATALYST MODE
When enabled, Catalyst Mode adds a fourth detection layer. If any of the last five bars showed a range greater than 1.5 times the background ATR, the engine recognizes that a volatility expansion just occurred. Compressions forming immediately after an expansion are flagged even if the ratio test alone would not qualify them. These post-impulse coils frequently mark the confirmed point where momentum stalls and reversal begins.
---
SIGNAL MECHANICS
This tool provides a systematic framework for identifying the pattern and managing the trade once it fires. A historical bar is exactly what you would have seen in real time on that bar's close.
LONG signals fire when a qualified compression forms at the session low zone and price closes above the upper boundary of the coil on the break bar.
SHORT signals fire when a qualified compression forms at the session high zone and price closes below the lower boundary of the coil on the break bar.
---
ENTRY, STOP, AND TARGETS
Entry is the close price of the signal bar.
The stop loss is placed beyond the structural extreme of the coil - below the coil low for longs, above the coil high for shorts - with an ATR buffer added for breathing room. A minimum stop distance floor prevents dangerously tight stops on very small coils.
The stop distance itself is bounded between an ATR floor and an ATR ceiling so that all three targets remain proportionally realistic regardless of coil size. Targets are then calculated as pure R-multiples of the final bounded stop distance:
TP1 defaults to 1.0R - the point where the trade has covered its own risk.
TP2 defaults to 1.5R - the primary partial profit zone.
TP3 defaults to 2.0R - the full target. Hitting TP3 closes the trade and removes all drawings.
TP1 and TP2 are milestone targets. When hit, a yellow dot marks the price level and the trade remains open. The stop loss and all three target lines remain live until TP3 or the stop is reached.
All R-multiple values are user-adjustable. The stop buffer and minimum distance are also adjustable.
---
VISUAL ELEMENTS
Signal Card: A labeled marker appears at every signal bar showing direction (LONG or SHORT), the number of bars in the coil, and the TP2 R-multiple. In Minimalist mode, only the direction is shown. Signal cards are permanent - every historical signal remains visible for review.
Level Lines: At signal time, five horizontal lines are drawn - entry, stop loss, TP1, TP2, TP3 - each with a floating price label to the right. Lines extend forward bar by bar during the trade and terminate cleanly at the outcome bar.
Coil Box: While a compression is being watched, a dashed orange box outlines the coil range. The box updates in real time as the coil extends. A small tag shows direction bias and bar count.
Concentric Rings: Four nested rings are drawn around the signal bar at entry, scaling with ATR. They persist for the duration of the trade as a visual anchor and are removed automatically at outcome.
Milestone Dots: Yellow dots mark the exact bar and price where TP1 and TP2 are touched during the trade.
Signal Bar Highlight: The background of the signal bar is tinted green for longs and red for shorts.
---
THE DASHBOARD
The dashboard panel shows the current state of the engine at a glance. It updates on every bar close.
The header shows the ticker symbol and timeframe so the panel is always self-identifying across multiple open charts.
STATE shows one of four conditions: IDLE when no coil is active, FORMING with a bar count when compression is building but not yet qualified, WATCH LONG or WATCH SHORT when a qualified coil is positioned at an extreme and the engine is waiting for a break, and ACTIVE LONG or ACTIVE SHORT during a live trade.
COIL shows the current compression bar count and the local-to-background ATR ratio as a percentage. Lower percentage means tighter compression.
ZONE shows where the active coil is positioned - session high, session low, or mid-range for forming coils that have not yet reached an extreme.
ENTRY shows the direction and confirmed entry price of the active trade.
TARGETS shows three dots - one for each TP level. Dots fill yellow as each milestone is hit during the trade.
---
RECOMMENDED MARKETS AND TIMEFRAMES
VCE is designed for liquid intraday markets with defined session structure. It performs better on instruments that have clear daily range boundaries and regular volatility patterns.
Recommended markets: NQ, ES, MNQ, MES futures. BTC, ETH, SOL perpetual futures. Major crypto spot pairs. SPY, QQQ intraday.
Recommended timeframes: The script performs strongest on the 15 minute timeframe where session structure is cleanest and compression patterns carry the most weight. The 5 minute and 3 minute timeframes are well suited for standard intraday work. The 1 minute timeframe is for aggressive scalping and requires tighter risk management due to higher noise levels.
The Session Range Lookback input should be calibrated to approximately one full session worth of bars on your chosen timeframe. On a 5-minute chart, one RTH session is roughly 78 bars. On a 1-minute chart, approximately 390 bars. The default of 50 is a balanced starting point for 3-minute and 5-minute charts.
On a 15-minute chart one full RTH session is approximately 26 bars; set Session Range Lookback to 26 to 30 for clean session-extreme detection on this timeframe.
---
HOW TO READ A LIVE SETUP (USAGE)
Step one : Watch for the dashboard STATE to change from IDLE to FORMING. This means compression is building somewhere on the chart.
Step two: When STATE changes to WATCH LONG or WATCH SHORT, the coil has qualified and is positioned at a session extreme. The orange coil box becomes visible. The engine is now armed.
Step three: Do not act on WATCH alone. Wait for the signal card to appear. The signal only fires on bar close when the coil has been broken in the reversal direction. The signal card, level lines, and rings all appear simultaneously at that moment.
Step four: Entry is the close of the signal bar. Place your stop at the SL line. Your targets are TP1, TP2, and TP3 as shown on the chart.
Step five: TP1 and TP2 mark themselves with yellow dots as they are hit. The trade closes automatically in the visual display when TP3 or SL is reached, and all lines are removed cleanly.
CHART EXAMPLE
The Science of Price Coiling : Silver 5m
Price surged aggressively into the session high zone, driven by strong buying momentum. But at the extreme, buyers ran out of fuel. Over the next 4 bars, the range shrank bar by bar, candles got smaller, volatility dried up, and neither buyers nor sellers could dominate.
This is the coil: not random sideways movement, but compressed energy at an unstable equilibrium. The longer price holds at an extreme without continuing, the more it signals that the side that drove it there is exhausting. When sellers finally overwhelmed the weakened buyers, price broke below the coil floor in a single decisive bar, releasing all stored tension in one direction.
That break was not a prediction. It was a consequence. The compression was the warning, the location was the context, and the break was simply the market resolving the imbalance it had been building. This is what VCE detects, not the move itself, but the conditions that make the move inevitable.
---
ALERT SETUP
Two alert conditions are built in:
VCE Long Signal fires on bar close when a LONG setup triggers.
VCE Short Signal fires on bar close when a SHORT setup triggers.
To activate : open the Alerts panel, select Create Alert, choose VCE as the condition source, and select either Long Signal or Short Signal. Set the trigger to Once Per Bar Close. No additional configuration is needed.
---
INPUTS REFERENCE
Sensitivity: Conservative, Balanced, or Aggressive preset. Controls compression tightness, minimum coil length, zone threshold, and break definition simultaneously.
Catalyst Mode: Enables post-impulse coil detection. Recommended ON for all markets.
Use Manual Overrides: Replaces the sensitivity preset with the four manual parameters below it.
Min Bars: Minimum consecutive compression bars required before a coil qualifies.
Max Bars: Maximum coil length before the coil is invalidated and reset.
Contraction Ratio: Local ATR must be below this fraction of the background ATR to register as a compressed bar.
Extreme Zone Percent: Defines what fraction of the session range constitutes the high and low extreme zones.
Background ATR Period: Smoothing period for the volatility baseline used in compression detection.
Session Range Lookback: Number of bars defining the rolling session high and low.
ATR Period: Period for the ATR used in stop and target calculations.
Post-Outcome Bar Gap: Minimum bars of silence after a trade closes before the next signal can fire.
SL Buffer: ATR multiplier added beyond the coil extreme when calculating the structural stop.
Min SL Distance: Floor for the stop distance as an ATR multiple. Prevents unrealistically tight stops.
Max SL Distance: Ceiling for the stop distance as an ATR multiple. Prevents absurdly wide stops on tall coils and keeps all TP levels proportionally realistic for the chosen timeframe.
TP1, TP2, TP3: Take-profit levels as multiples of the stop distance.
Label Right Offset: Controls how far to the right floating price labels appear.
Minimalist Signal Card: Shows only LONG or SHORT on the signal card when enabled.
Show Coil Box: Toggles the live orange compression box.
Highlight Signal Bar: Toggles background tinting on signal bars.
Show Concentric Ring Signature: Toggles the nested ring visual at signal bars.
Show Dashboard: Toggles the status panel.
Theme: Dark or Light. Adjusts all label, line, and panel colors for chart background compatibility.
Position: Sets the dashboard anchor position on the chart.
---
NOTES ON PERFORMANCE AND EXPECTATIONS
VCE identifies a specific structural pattern. Not every coil produces a sustained reversal. Session context, macro flow, and news events all influence whether a given setup follows through. The tool provides a systematic framework for identifying the pattern and managing the trade once it fires. Risk management decisions remain with the trader.
The post-outcome bar gap input exists to prevent the engine from immediately re-entering after a stopped trade. This is a deliberate design choice, not a limitation.
---
DISCLAIMER
This script is published for educational and informational purposes only. It is not financial advice and does not constitute a recommendation to buy or sell any financial instrument. Past signal behavior does not guarantee future results. Trading involves significant risk of loss. Always conduct your own research and apply your own risk management framework before making any trading decision. Indicator

Torsion Range [JOAT]Torsion Range
Introduction
Torsion Range is an open-source compression, expansion, and wave-energy panel designed to track whether the market is coiling, releasing, trending, or exhausting. The script combines wave direction, weighted energy accumulation, compression scoring, and exhaustion logic into one regime-aware panel.
The problem Torsion Range solves is fragmentation between wave tools and volatility tools. Traditional wave studies often ignore whether the market is compressing or expanding, while compression indicators often ignore directional wave state. Torsion Range merges both worlds so the user can monitor directional energy and structural volatility state together.
Core Concepts
1. Wave Direction Engine
The script supports multiple methods for determining directional wave state, including impulse, pressure, and hybrid behavior. This allows the model to adapt to different styles of price movement.
2. Weighted Energy Accumulation
Wave state is not just directional. It is weighted by body, range, ATR context, and optional relative volume to produce a more informative torsion core.
3. Compression Index
A 0-100 compression framework is built from fast and slow comparisons of range, body, and energy behavior. This allows the indicator to identify tight conditions before release.
4. Release and Exhaustion Logic
Confirmed-bar release events occur when compression gives way to directional expansion. Exhaustion logic looks for overstretched waves with weakening internal behavior.
5. Dashboard and Regime Visualization
The panel includes adaptive colors, background overlays, event flashes, and a top-right dashboard that summarizes wave state, bias, compression, and most recent event.
Features
Multi-method wave direction: Impulse, pressure, or hybrid state engine
Weighted energy accumulation: Uses price and optional relative volume
Compression scoring: Tracks coiling conditions on a normalized scale
Confirmed release logic: Detects transition from compression to directional expansion
Exhaustion detection: Flags overextended wave conditions
Adaptive gradient styling: Institutional panel presentation for dark charts
Regime overlays and event flashes: Highlights important state transitions cleanly
Top-right dashboard: Summarizes live wave and compression state
Confirmed event mode: Optional bar-close only event gating
Alertconditions: Wave flips, release events, and exhaustion states
How to Use This Indicator
Step 1: Read the Wave State
Determine whether directional energy currently favors bullish, bearish, or neutral behavior.
Step 2: Check Compression
High compression means stored energy but not yet confirmed release. Low compression with directional energy implies active movement rather than coiling.
Step 3: Watch Release Events
Release events matter most when they occur after genuine compression and align with the active wave bias.
Step 4: Respect Exhaustion
Exhaustion conditions can warn that a strong wave is becoming less efficient, even if trend has not yet fully reversed.
Indicator Limitations
Compression and exhaustion are relative, not absolute, conditions
Wave direction depends on the selected method and will respond differently across market types
This panel does not identify exact reversal bars and should not be treated as one
Release events are strongest when combined with separate structural context
Originality Statement
Torsion Range is original in its fusion of wave-state persistence, weighted energy accumulation, compression analysis, and exhaustion logic within one panel. It is not a basic Weis-style clone and not a plain volatility gauge. Its value comes from combining directional energy and volatility state into a single workflow.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Compression, release, and exhaustion states are analytical conditions derived from historical chart behavior and do not guarantee future outcomes.
- Made with passion by jackofalltrades
Indicator

Range Control Transfer Map [AGPro Series]Range Control Transfer Map
🧠 Core Idea
Who controls the range now, and did control transfer from the buyer side to the seller side or from the seller side to the buyer side?
📌 Overview / What it does
Range Control Transfer Map is a range-control visualization tool built to study sideways markets where price rotates between upper and lower boundaries.
The script builds a mature range, separates it into buyer-control and seller-control zones, maps the internal control transfer band, tracks acceptance through that band, scores transfer quality, monitors failed-transfer risk, and summarizes the current control state in a compact AG Pro panel.
It does not predict future price, automate trades, or claim that a control-transfer event must continue. It is a structured decision-support map for reading range control, acceptance, failed transfer risk, and next-context conditions.
🎯 Purpose & Design Philosophy
Many range tools answer only one question:
Where are support and resistance?
This script was built to answer a more useful question:
Who controls the range now?
The design goal is to help traders separate passive sideways movement from meaningful control transfer inside a mature range.
⚡ Why This Script Is Different
Most range tools draw a box, mark the high, mark the low, and stop there.
This script does NOT treat every range touch as equally important.
Instead, it divides the range into buyer-control and seller-control halves, watches the midpoint transfer band, checks candle body commitment, reviews volume participation, evaluates range health, and tracks whether the active control side is still protected or starting to fail.
The focus is not only where the range is.
The focus is who is gaining or losing control inside it.
⚙️ Methodology
1. Range Detection
The script identifies a working range using recent high/low structure, ATR-normalized range height, and repeated edge interaction.
2. Range Health Scoring
Range Health combines range height balance, edge-touch behavior, and current position relative to the control line.
3. Control Zone Mapping
The upper half becomes the Seller Control Zone.
The lower half becomes the Buyer Control Zone.
The midpoint area becomes the Control Transfer Band.
4. Transfer Evaluation
When price accepts through the transfer band with enough candle body commitment, the script evaluates whether buyer or seller control has transferred.
5. Transfer Quality Scoring
Transfer Quality combines range health, candle body commitment, and volume participation into a 0-100 score.
6. Failure Risk Review
The script monitors whether the active transfer is losing the transfer band and moving back toward control reset.
7. Visual Output
The chart displays buyer/seller control zones, the control transfer band, active transfer labels, failed-transfer labels, right-side control tags, alerts, and a compact AG Pro panel.
🗺️ How to Read the Chart
Seller Control Zone = the upper half of the mature range where seller-side control is evaluated.
Buyer Control Zone = the lower half of the mature range where buyer-side control is evaluated.
Control Transfer Band = the internal midpoint band where control handoff is judged.
SELLER CONTROL = price has accepted through the transfer band in favor of the seller side.
BUYER CONTROL = price has accepted through the transfer band in favor of the buyer side.
BALANCE = the range is mature, but neither side has clean active control.
RANGE BUILDING = the current structure is not mature enough for control-transfer mapping.
Panel = summarizes control side, transfer quality, range health, failure risk, control zone, and next context.
🚦 Signals & States
• CONTROL TRANSFER UP → buyer-side control transfer detected.
• CONTROL TRANSFER DOWN → seller-side control transfer detected.
• FAILED BUYER CONTROL → buyer-side transfer failed back through the control band.
• FAILED SELLER CONTROL → seller-side transfer failed back through the control band.
• BUYER EDGE CONTROL → price reacts from the lower control side.
• SELLER EDGE CONTROL → price reacts from the upper control side.
• BALANCE → no clean control transfer is active.
• RANGE BUILDING → the structure is not mature enough yet.
🔔 Alerts Logic
Alerts trigger when a major range-control event appears.
• Buyer Control Transfer → buyer-side transfer detected.
• Seller Control Transfer → seller-side transfer detected.
• High-Quality Control Transfer → transfer quality reaches the required threshold.
• Failed Control Transfer → active control transfer loses the control band.
• Buyer Edge Control → optional alert for lower-edge control reaction.
• Seller Edge Control → optional alert for upper-edge control reaction.
Alerts are attention markers, not trade instructions.
🧩 Confluence Logic
The context becomes stronger when:
• The range has enough ATR-normalized height
• The range has repeated edge interaction
• Price accepts through the transfer band
• Candle body commitment supports the transfer direction
• Volume participation is not weak
• Transfer Quality is above the required threshold
• Failure Risk remains low after the transfer
• The panel state agrees with the chart label
When these elements do not align, the script avoids treating every range movement as a meaningful control shift.
📊 When to Use
• Range-control review
• Sideways market analysis
• Buyer/seller control mapping
• Failed transfer review
• Range acceptance study
• Crypto, stocks, futures, forex, and liquid markets
• 15m, 30m, 1H, 4H, and 1D charts
⚠️ When NOT to Use
• Very low-liquidity assets
• Extremely noisy micro timeframes
• Strong news spikes that distort range structure
• Clean one-directional trend environments with no mature range
• Markets where every midpoint cross is being over-interpreted
• Situations where a single label is expected to act as a guaranteed signal
🎛️ Key Inputs
• Range Lookback → defines the recent structure window used for range high, range low, and control line.
• Minimum Range Height ATR → defines the minimum range height required for a meaningful control map.
• Maximum Range Height ATR → prevents very wide structures from being treated as clean range-control maps.
• Use Intraday Adaptive Range → allows intraday charts to keep useful control maps without making higher-timeframe charts too noisy.
• Edge Touch Tolerance ATR → controls how close price must come to a range edge to count as an edge interaction.
• Control Band ATR → controls the thickness of the internal transfer band.
• Minimum Transfer Score → defines the quality threshold for meaningful control transfer.
• Minimum Body / Range → controls how much candle body commitment is required.
• Volume Confirm Ratio → defines how much participation is required for full volume credit.
• Failure Buffer ATR → controls where an active transfer starts to fail.
• Maximum Transfer Age → defines how long an active transfer can remain under review.
🖥️ Interface & Visual Design
The visual hierarchy is built around the active range:
The full range box defines the structure.
The upper half shows seller-control territory.
The lower half shows buyer-control territory.
The transfer band marks the internal handoff area.
Event labels mark control transfer and failed-control states.
Right-side tags keep buyer control, seller control, and transfer references visible.
The AG Pro panel compresses the current range-control context into a fast, readable summary.
🧪 Practical Usage Workflow
1. Read the panel Control Side.
2. Check whether the chart is Range Building, Balance, Buyer Control, or Seller Control.
3. Review where price is relative to the Control Transfer Band.
4. If a transfer label appears, compare it with Transfer Quality.
5. Watch whether Failure Risk remains low or starts rising.
6. Use the buyer and seller control zones as context areas, not automatic trade levels.
7. Confirm with broader market structure, liquidity, volume, and risk planning.
🔍 Interpretation Guidelines
A buyer-control transfer does not guarantee upside continuation.
A seller-control transfer does not guarantee downside continuation.
A failed-transfer label means the active control idea weakened.
A range-building state means the structure is not mature enough yet.
The script is best used as a range-control context layer, not as a standalone trading system.
🚫 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 simple support/resistance box.
It is not another generic range breakout indicator.
⚠️ Limitations & Transparency
Range quality depends on timeframe and market structure.
Very volatile markets can expand beyond a clean control map.
Low-liquidity symbols may create unreliable edge and transfer behavior.
Choppy markets can create repeated control-transfer attempts.
Volume behavior can differ across crypto, stocks, futures, and forex.
🧠 Market Context Notes
Ranges often move through recognizable control phases:
range building → balance → control transfer → defense → failure or continuation.
This script visualizes that sequence so users can avoid treating every support or resistance touch as equally meaningful.
🧾 Use Case Examples
If price accepts through the transfer band from the lower half, the script may mark CONTROL TRANSFER UP.
If price accepts through the transfer band from the upper half, the script may mark CONTROL TRANSFER DOWN.
If an active buyer-control transfer loses the band, the script may mark FAILED BUYER CONTROL.
If an active seller-control transfer loses the band, the script may mark FAILED SELLER CONTROL.
🧱 System Philosophy
The goal is not to predict the next breakout.
The goal is to understand control inside the range.
This script treats range behavior as a sequence:
structure → control zone → transfer band → acceptance → defense or failure.
🔐 Non-Promise Statement
No control-transfer label guarantees continuation.
No failed-transfer label guarantees reversal.
No range zone guarantees support or resistance.
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 how control shifts inside mature ranges.
The most useful question is not only where the range high and low are.
The better question is whether control has actually transferred inside the range.
Indicator

ATR Volatility Regime [NovaLens]Volatility regime tool built to separate two things ATR alone cannot tell you apart: where volatility currently sits in its own rolling history, and which direction the regime is rotating. Adds a velocity-gated release event on top, so the indicator flags fast coiled-spring releases on the confirmed bar - and refuses to fire on the slow leaks that only look like one.
Most volatility tools collapse one axis. A raw ATR plot tells you the bar range and nothing about whether that range is rare. A percentile-rank histogram tells you the rank but not whether vol is loading or unloading. ATR Volatility Regime separates the two by design:
Tier tracks where volatility sits in its own rolling history (Compression / Quiet / Normal / Elevated).
Phase tracks where volatility is rotating (Rising / Topping / Falling / Bottoming).
A Compression reading is not a breakout signal. It is the market saying "vol is loaded." Whether it actually releases depends on the next move. When a sustained compression actually breaks above mid-rank within a 5-bar velocity window, the indicator prints a Release diamond and pulses the pane background. Slow leaks that drift through Quiet for more than 5 bars are canceled, not reported. That single gate is what separates a real coiled-spring release from a sideways drift.
════════════════════════════════════════════
◉ HOW IT WORKS
The vol input. Wilder ATR over the chosen length, expressed as a percentage of close so the read is comparable across price levels and instruments. Mathematically guarded to stay clean across historical data gaps and unusual price series.
The percentile rank. The current ATR% is ranked against its own rolling lookback window (100 / 200 / 300 bars by Horizon). This is an asset-calibrated percentile - "P75 on BTC" means "vol higher than 75% of the last 200 BTC readings," not a market-wide cutoff. The same indicator works across SPY, BTC, EURUSD, and XAU without retuning. The raw rank drives the state engine; an EMA-smoothed copy drives the visual line so the plot reads calm without numbing event detection. Warm-up is honest: until the lookback fills, the panel shows "Warming up" and refuses to assign a tier. NA never collapses to a fake Normal.
The tier model. Four tiers cut on rawRank (P25, P50, P75) with asymmetric hysteresis: 1 confirmed bar to step up (so a vol breakout is not missed), 3 confirmed bars to step down (so a tier change only confirms when vol has actually died). The ribbon fill and oscillator line both color by tier. Extreme is a signal class, not a tier; it would flicker on and off at the P90 boundary if we colored the ribbon by it.
The phase model. Four phases (Rising / Topping / Falling / Bottoming) read off the rawRank slope. Slow rotations need 2 bars of confirmation to flip; violent moves with |delta rank| > 15 bypass the confirm and flip immediately. Peak and trough detection is plateau-aware: a strict ( greater-than on both sides) check missed the patterns where ATR percentile pins at 100 for multiple bars, so the algorithm uses greater-or-equal on the left side and greater-than on the right.
The events. Three signature events, each with its own gating:
Compression Release : velocity-gated. The Compression tier must run at least 10 bars to load the spring; on exit, rawRank must reach the mid (>= 50) within a 5-bar window. Slow leaks that drift through Quiet for more than 5 bars are canceled. Re-entering Compression also cancels the pending episode.
Extreme Touch : rawRank peaks at >= 90. Re-arm runs through a three-valve cascade (rank drop to <= 75, a higher pivot with a +2 rank headroom so a 98 peak after a 97 cannot re-fire, or 2x lookback time decay) so the same Extreme arc cannot duplicate-fire, but a genuinely higher pivot in the same arc still counts.
Cooling : armed when an Extreme fires; fires on the first confirmed bar after where rawRank falls below 75 within a 10-bar window. Disarms on fire or when the window expires. The armed-latch architecture means fast drops out of an Extreme are tracked after the Extreme event arms Cooling, instead of relying on a single fragile cross check that would miss the drop if the threshold was already crossed on the Extreme bar itself.
The Playbook Lens. Pure interpretation layer. Engine, percentile, tier, phase, and objective events are identical across lenses. The Lens recolors three visual surfaces only: the panel Playbook row text and tone, the Playbook Heatmap Strip at y = -5, and an optional Tint Price Candles by Playbook Fit overlay. Switching the Lens dropdown answers a different question against the same volatility truth: "does this regime align with the workflow I am running?" - context, never a directive.
════════════════════════════════════════════
◈ HOW TO READ IT
The pane shows the smoothed percentile rank line wrapped in a tier-colored ribbon with a Volatility Glow halo that breathes wider in the loaded zones (Compression and Extreme) and tightens in Normal. Threshold lines mark P25, P50, P75, and P90.
Deep blue (Compression): rawRank in [0, 25). Loaded spring.
Light blue (Quiet): rawRank in [25, 50). Below median, not stretched.
Gray (Normal): rawRank in [50, 75). Typical bar ranges.
Orange (Elevated): rawRank in . High vol relative to recent history.
Red (Extreme): event color, not a tier. Drives Extreme Touch markers.
Teal (Release): event color, not a tier. Drives Compression Release markers.
Markers, in order of conviction:
Compression Release (diamond on the line, Release color, with a matching pane background pulse): a >= 10 bar compression run resolved into Normal+ within 5 bars. Non-directional by design - a volatility state change, not a price direction call.
Extreme Touch (small circle anchored to the actual peak bar, Extreme color): rawRank just peaked at or above the 90th percentile of its rolling history. Reads as topping pressure of vol, not a directional reversal call.
Cooling (panel-only event, no chart marker): the first confirmed bar after an Extreme where rawRank fell back below 75 within a 10-bar window. Surfaces in the Last Event row and the Cooling alert.
The info panel synthesizes six rows: Volatility (tier + P-Score), Flow (phase), Age (bars in tier + the per-tier duration percentile so a 200-bar Quiet stretch is compared against historical Quiet stretches, not Elevated), Last Event / Context (state-based decay, no fixed timer), ATR Range (current bar range as % of price, with absolute price-unit ATR in the row tooltip), and Playbook (the Lens context read).
The Last Event row uses state-based decay , not an arbitrary 10-bar timer. A Compression Release stays visible while phase is Rising or tier is Normal+. An Extreme Touch stays visible while tier is Elevated. A Cooling read stays visible while tier is Normal or Elevated. When the event's regime context expires, the row returns to Context and summarizes the current regime instead of resizing or disappearing.
════════════════════════════════════════════
✦ HOW WE USE IT: THE COILED-SPRING ARC
This is the arc the indicator is built to catch - not the only path. Many compressions resolve sideways without a confirmed release, and the velocity gate is what filters those out.
A common pattern on a liquid index or crypto chart, Swing profile (default), Neutral lens: the line drops into Compression and parks there for 15-30 bars. The ribbon turns deep blue, the Glow widens, and the panel Age row may read something like "Mature · 22 bars" or "Extended · 22 bars" - meaning the current run has already lasted longer than most recent Compression stretches on this market. The spring is loaded.
The full arc reads in four panel updates:
Release. rawRank reaches 50+ within the 5-bar velocity window after exiting Compression. A Release diamond prints on the line, the pane background pulses teal for one bar, and the Last Event row reads "Compression Release".
Run. Within a few bars the tier transitions through Normal into Elevated, the phase row flips Rising, and the smoothed line climbs toward the upper distribution.
Touch. If the move keeps loading, rawRank peaks at 92-98 and an Extreme Touch circle prints on the peak bar - the smoothed line is now in the upper edge of its own rolling distribution. The Last Event row updates to "Extreme Touch".
Unwind. Within 10 bars rawRank falls below 75. Cooling fires and the Last Event row updates again.
The Playbook Lens reframes the same arc without changing a number. Flip to Breakout: the Heatmap Strip lights teal during the release window (favorable) and dims toward red as the move stretches into Extreme (less favorable). Flip to Mean Reversion: the strip stays red through the release (vol is the wrong direction for fading) and only lights teal when Cooling confirms and tier drifts back through Normal toward Quiet. Flip to Risk Control: Compression marks calmer bar-range context, Elevated and Extreme mark the wider-bar context. Same volatility truth, different playbook fit. The engine is identical across lenses; only the interpretation layer changes.
════════════════════════════════════════════
✦ OTHER APPLICATIONS
Breakout context : Compression Release diamonds after a loaded quiet regime, optionally combined with the Heatmap Strip reading favorable under the Breakout lens
Trend context : Rising Elevated or Rising Normal volatility as movement context for an external trend plan
Mean-reversion context : quieter or cooling regimes that may be more suitable for contained-range workflows
Volatility risk overlay : Elevated and Extreme states as wider-bar context when reviewing size, stops, or trade frequency
Vol regime classifier : use the Volatility row + Flow row in the panel as a top-down filter for any external trade plan, independent of the Lens
Alert-driven workflow : subscribe to Compression Release + Extreme Touch + Cooling and check the chart only when the volatility regime actually changes, not every bar
════════════════════════════════════════════
⚙ GETTING STARTED
ATR Volatility Regime ships with three pre-tuned Horizon profiles plus a Custom override. Pick a horizon and start reading the regime:
Intraday : ATR 14, lookback 100, smoothing 3. Faster events, lighter hysteresis (1 up / 2 down). Use on 1m through 1H charts.
Swing (default) : ATR 14, lookback 200, smoothing 5. Balanced. Start here on 1H through 1D charts.
Long-Term Hold : ATR 20, lookback 300, smoothing 5. Slower, rarer events, heavier hysteresis (2 up / 3 down). Use on 1D and above.
Custom : full manual control of ATR Period, Lookback Window, and Smoothing.
Core settings:
Horizon : selects the tuning bundle above. Start with Swing.
ATR Period (Custom) : Wilder ATR period for the volatility input, in BARS. 14 is the standard. Shorter = more reactive; longer = smoother. Applies only when Horizon = Custom.
Lookback Window (Custom) : rolling lookback the ATR% is percentile-ranked against. Larger = smoother distribution, fewer extreme reads, slower compression releases. Smaller = sharper, more events.
Smoothing (EMA) (Custom) : EMA bars applied to the percentile-rank for the visual DISPLAY layer (plot, ribbon, panel readouts). The RAW rank still drives tier, phase, and events - smoothing only calms the visual. Set to 1 to disable smoothing.
Playbook Lens:
Neutral (default) : factual regime read, heatmap stays gray. Use this to learn the engine.
Breakout : range-expansion context. Loaded Compression and Compression Release read favorable; already-stretched Elevated or Extreme states shift toward caution.
Trend : directional-movement context. Rising Elevated and Rising Normal regimes read favorable; topping or cooling volatility shifts toward caution.
Mean Reversion : contained-range context. Quiet, Cooling, and Normal/Falling regimes read favorable; Release, Elevated, and Extreme regimes shift toward caution.
Risk Control : stretched-volatility context. Compression reads calm; Elevated and Extreme states warn that bar ranges are wide.
The Lens NEVER changes the engine - same tier, same phase, same Compression Release, same Extreme Touch, same alerts. Only the panel Playbook row text, the Heatmap Strip color, and the optional candle tint move.
Display:
Show Compression Releases (hero): diamond on the line + pane background pulse on release. On by default.
Show Extreme Touches : circle on the peak bar at rawRank >= 90. On by default.
Show Price Chart Markers : mirrors Compression Release diamonds and Extreme bar tints onto the price chart. OFF by default to keep the price chart clean.
Show Raw Rank Line : faint unsmoothed percentile rank line behind the smoothed display line. OFF by default. Toggle on to debug fast vol changes.
Show Volatility Glow : halo that widens at the loaded extremes (Compression and Extreme) and tightens in Normal. On by default.
Show Info Panel : 6-row state panel. On by default.
Panel Position : Top Right (default), Top Left, Bottom Right, Bottom Left, Middle Right.
Theme : Auto (detect chart background), Dark, or Light.
Show Playbook Heatmap Strip : thick band at y = -5 that recolors with the Lens. On by default.
Tint Price Candles by Playbook Fit : paints price-chart candles with the Release / Extreme palette per the active Lens. OFF by default; disabled automatically when Lens = Neutral.
Appearance / Palette (6 color pickers):
Compression, Quiet, Normal, Elevated, Extreme, Release - each on its own line with a state-explainer tooltip. The Display Rank line, Raw Rank, Tier Ribbon fill, Volatility Glow, Heatmap Strip, panel tier text, candle tints, and event markers all reference these inputs so users can adapt the palette (color-blind, light-mode, brand themes) without forking the script.
════════════════════════════════════════════
△ LIMITATIONS
Warm-up : the lookback window must fill before any tier is assigned. On Swing (200) that is 200 bars; on Long-Term Hold (300) that is 300. Until then, the panel shows "Warming up" and the state engine refuses to fake a Normal read.
Visual smoothing lag : the visible line is intentionally calmer than the raw engine. ATR is a backward-looking Wilder-smoothed measure, and the display line is lightly EMA-smoothed on top, so fast volatility expansions can look slightly delayed in the visible plot. The rawRank engine is the sharper layer underneath and is what actually drives the tier, phase, events, and alerts. The smoothed line is the readable copy; do not read a slight visual delay as the event engine being slow.
Percentile is relative, not absolute : a "Compression" read on a chronically quiet asset can still be wider than an "Elevated" read on a chronically loud asset. The indicator compares each asset against ITS OWN history, not across markets.
Regime shifts shrink the window : a structural vol regime change (e.g. a quiet 2-year period followed by a sustained higher-vol regime) takes about one lookback window to fully recalibrate. The first few weeks after a regime shift can read noisier than the steady-state.
Compression Release is non-directional : the diamond and the pane pulse tell you the spring released, not which way price went. Combine with directional context (trend, structure, or a separate momentum tool) for direction.
Extreme Touch is a state read, not a reversal call : rawRank pinning above 90 means vol is rare for this market; it does not mean price is about to reverse. Cooling tells you the unwind has begun, not where the next leg goes.
Playbook Lens is interpretation, not validation : the Heatmap Strip recolors regime context based on the active Lens. It is not a backtested edge - it is a quick visual answer to "does my workflow want this regime?"
════════════════════════════════════════════
🔔 ALERTS
Four alert conditions are built in so you can monitor without checking every bar manually:
Compression Release : a sustained compression (>= 10 bars) confirmed above mid-rank within 5 bars. The hero event.
Extreme Touch : rawRank peaked above P90. Fires on the bar after the actual peak (peak detection requires the next bar to confirm the turn-down).
Cooling : the first confirmed bar after an Extreme where rawRank falls below 75 within 10 bars.
Compression Entry : rawRank dropped below P25 (sustained tier transition into Compression).
All four alerts fire on bar close (gated on barstate.isconfirmed). Each alert message is a pure JSON payload with ticker, price, timeframe, and timestamp fields for webhook routing.
Four alerts by design - concentrated on the signature events. Tier and phase transitions stay visible in the info panel for users who want them on the chart, but they do not fire alerts. Keeping the alert stream lean is what makes "subscribe and let the regime come to you" a useful workflow instead of a notification flood.
════════════════════════════════════════════
⌁ NOTES
Based on the classical ATR percentile-rank construction, with asymmetric hysteresis and a velocity-gated compression-release definition layered on top.
Repaint: intrabar-only. Closed-bar alerts are confirmed; current-bar visuals may update until the bar closes. All alert conditions are gated on barstate.isconfirmed. Peak-confirmed events (Extreme Touch) print on the bar AFTER the actual peak, on a one-bar offset, so the marker aligns with the true peak bar.
References: J. Welles Wilder Jr., New Concepts in Technical Trading Systems (1978), Trend Research; percentile-rank concept widely used across volatility studies.
Open-source under MPL 2.0. Free to use, fork, study.
NovaLens Indicator

Momentum Covenant Bias [JOAT]Momentum Covenant Bias
Introduction
Momentum Covenant Bias is an open-source momentum pane designed to classify whether the market is in a constructive, defensive, balanced, or compressed state. It blends WaveTrend timing, RSI displacement, normalized trend distance, compression logic, layered state bands, pane boxes, and an optional force-overlay TP/SL scaffold when fresh confirmed momentum shifts occur.
This indicator is meant to solve timing. Trend and auction context can describe where the market is, but they do not always tell you whether momentum is actually participating in the current move. Momentum Covenant Bias translates several independent momentum dimensions into one composite state engine and presents them in a clean, institutional-style pane.
Core Concepts
1. WaveTrend Timing
WaveTrend serves as the primary turning-point rhythm engine. The script uses the relationship between the main line and signal line to measure timing pressure.
2. RSI Displacement
RSI is evaluated not only relative to 50, but also relative to its own smoothed mean. This helps distinguish raw strength from persistent displacement.
3. Normalized Trend Distance
Price distance from the slower trend baseline is normalized by ATR so the output remains portable across markets with different price scales.
4. Compression State
Compression logic compares recent range behavior to a slower baseline. This helps identify lower-energy conditions before expansion.
5. State Boxes and Overlay Scaffold
The pane includes positive, negative, and compression zones, and can project a force-overlay TP/SL scaffold on the chart when a fresh momentum shift is confirmed.
Features
Composite momentum score: Combines WaveTrend, RSI, trend distance, and compression context
Signal line: Smoothed line for momentum transitions
Layered state bands: Positive, negative, and extension zones rendered as gradients
Compression boxes: Visual isolation of low-energy conditions
Top-right dashboard: Displays composite score, signal, wave state, RSI, compression, trend distance, and scaffold status
Force-overlay TP/SL scaffold: Optional informational rails on fresh positive or negative momentum shifts
Confirmed-bar state promotion: Uses confirmed bars for event states instead of unstable intrabar triggers
How to Use This Indicator
Step 1: Read the composite state first. Balanced states should be interpreted differently from impulse states.
Step 2: Compare the composite score to the signal line. Fresh separation often matters more than absolute level alone.
Step 3: Watch compression zones. These can help explain why a market is not yet extending despite directional context elsewhere.
Step 4: If using the optional scaffold, treat it as a planning aid that reflects momentum state, not as a standalone trade system.
Indicator Limitations
Momentum state can reverse quickly in whipsaw markets
Compression logic can remain active for extended periods in slow markets
WaveTrend and RSI are still derivatives of price and can lag during violent reversals
The overlay scaffold is informational and does not execute orders
Originality Statement
Momentum Covenant Bias is original in the way it combines multi-source momentum confirmation, pane state boxes, gradient regime presentation, and force-overlay planning rails in one open-source script. The indicator is intended as a timing layer that complements structure and auction context instead of replacing them.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Momentum conditions are derived from historical price behavior and may fail or reverse without warning. Use proper risk management and independent validation.
-Made with passion by jackofalltrades
Indicator

Keltner Squeeze Release Planner [AGPro Series]# Keltner Squeeze Release Planner
🧠 Core Idea
Is volatility compression turning into a clean Keltner Channel release, or is price still trapped inside the squeeze?
📌 Overview / What it does
Keltner Squeeze Release Planner is a volatility compression and expansion decision-support script built around Keltner Channels.
The script detects compressed Keltner width, evaluates whether price releases beyond the channel with enough expansion quality, scores the release from 0 to 100, and maps an expansion corridor with target rails and failure context.
It does not predict price direction, automate trading, or provide guaranteed signals. It organizes squeeze, release quality, volatility rank, direction bias, and action state into a cleaner workflow.
🎯 Purpose & Design Philosophy
Many traders can see a breakout after it happens, but the difficult part is separating real volatility expansion from a weak push outside the channel.
This script was built for traders who want a structured way to read Keltner squeeze behavior, release strength, and early failure risk.
The design supports patience during compression and cleaner observation when price finally leaves the channel.
⚡ Why This Script Is Different
Most Keltner tools draw the channel and leave interpretation to the user.
This script does NOT treat every channel break as meaningful.
Instead, it evaluates compression depth, expansion ratio, close pressure, candle body quality, relative volume, and basis slope before marking a release as READY.
⚙️ Methodology
1. Keltner Channel Mapping
2. Compression Detection
3. Release Edge Evaluation
4. Expansion Quality Scoring
5. Corridor And Failure Mapping
6. Panel And Alert Output
🗺️ How to Read the Chart
The Keltner Channel shows the active volatility envelope around price.
Compression shading marks periods where channel width is low relative to recent history.
BULL RELEASE and BEAR RELEASE labels appear when price leaves the channel with enough release quality.
The release corridor projects possible expansion space after a qualified release.
The panel summarizes Squeeze, Release Score, Volatility, Direction Bias, and Action.
🚦 Signals & States
• READY → A qualified Keltner squeeze release has formed.
• MONITOR → A release context is active and should be observed.
• WAIT → Compression may exist, but release quality is not confirmed.
• INVALIDATED → A release failed back into the channel context.
• BLOCKED → The script cannot define a valid Keltner context.
🔔 Alerts Logic
Bullish Keltner Squeeze Release Ready triggers when price releases above the upper Keltner Channel after compression with enough score quality.
Bearish Keltner Squeeze Release Ready triggers when price releases below the lower Keltner Channel after compression with enough score quality.
Keltner Compression Active triggers when channel width is low enough to qualify as squeeze context.
Keltner Squeeze Release Failed triggers when an active release loses quality and moves back into the failure area.
Alerts are attention markers, not trade instructions.
🧩 Confluence Logic
The release score combines compression depth, expansion ratio, close pressure beyond the channel, candle body quality, relative volume, and basis slope.
When these conditions align, the release context becomes stronger.
📊 When to Use
• Markets moving from low volatility to expansion
• Breakout environments
• Consolidation-to-trend transitions
• Intraday or swing contexts where volatility contraction matters
⚠️ When NOT to Use
• Extremely illiquid symbols
• Random high-noise chop
• News spikes with unstable spreads
• Symbols where Keltner width is distorted by abnormal candles
🎛️ Key Inputs
• Keltner Basis Length → controls the EMA basis of the channel.
• ATR Length → controls channel width and volatility normalization.
• Keltner ATR Multiplier → adjusts how wide the channel is.
• Squeeze Threshold → defines how deep compression must be.
• Minimum Ready Score → controls how selective READY releases are.
• Projection Bars → controls how far the corridor extends.
• Visual settings → control labels, channels, zones, panel, and chart density.
🖥️ Interface & Visual Design
The script uses a compact AG Pro panel to make the current state readable at a glance.
The visual hierarchy is designed to keep the chart clean: channel context first, release label second, corridor and targets third.
Default settings are tuned for readable publication screenshots without hiding the core volatility story.
🧪 Practical Usage Workflow
1. Read the panel state.
2. Check whether compression is active.
3. Wait for a qualified release label.
4. Review the corridor and target rails.
5. Watch whether price holds or fails back into the channel.
🔍 Interpretation Guidelines
A READY release means volatility expansion conditions aligned according to the script rules.
It does not mean price must continue.
A weak or failed release means the channel break lost quality and should be interpreted within broader market context.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not a buy or sell signal generator.
It is not an automated trading system.
It does not guarantee breakouts, continuation, or reversals.
⚠️ Limitations & Transparency
Keltner behavior can change across symbols, sessions, and timeframes.
Compression may last longer than expected.
Strong news events can create release signals that behave differently from normal volatility expansion.
The script should be used with broader structure, liquidity, and risk context.
🧠 Market Context Notes
Keltner squeeze behavior is most useful when volatility has contracted enough to create a visible transition point.
The best contexts often combine compression, clean channel release, participation, and enough room for expansion.
🧾 Use Case Examples
When price compresses inside the Keltner Channel and then closes beyond the upper band with strong expansion, the script may mark a bullish release.
When price breaks below the lower band after compression and the release score is strong enough, the script may mark a bearish release.
When price breaks out but quickly moves back into the channel, the release can lose quality.
🧱 System Philosophy
This script is part of the AGPro Series approach: clean visual context, practical scoring, and decision-support states instead of noisy prediction labels.
🔐 Non-Promise Statement
No script can provide certainty.
No signal should be treated as guaranteed.
All outputs are rule-based analytical markers.
📉 Risk Disclosure
Trading involves risk.
Users are responsible for their own decisions, risk management, and position sizing.
This script is for educational and analytical purposes only and does not provide financial advice.
📚 Educational Note
The purpose of this script is to help users study volatility compression and release behavior through a structured Keltner Channel framework.
Indicator

Meridian Regime Overlay [JOAT]JOAT Meridian Regime Overlay
Introduction
JOAT Meridian Regime Overlay is an open-source market context overlay built to classify whether price is operating in directional expansion, balanced auction, or compression.
It is designed as a chart-first regime engine rather than a standalone trigger study.
The script combines local baseline alignment, confirmed higher-timeframe bias, pivot structure, opening-range acceptance, realized volatility state, and session VWAP location into one integrated regime map.
The problem it solves is context.
Many indicators can say whether price is above or below an average.
Far fewer explain whether the move is supported by volatility expansion, structural acceptance, value migration, and higher-timeframe alignment.
Meridian Regime Overlay focuses on that exact problem.
It grades the live auction bar by bar.
It also shows what is supporting the grade.
That makes it useful as a decision filter before interpreting any lower-level signal source.
This script is not trying to predict the future.
Its job is to organize the present market condition.
It helps answer practical questions:
Is the market trending with real conviction?
Is price only drifting above a baseline without expansion?
Is the market compressing near a likely release point?
Is higher-timeframe structure aligned with the current move?
Is price accepting away from value or simply rotating around it?
Core Concepts
1. Baseline Stack Alignment
Fast, slow, and anchor baselines define the local directional stack.
Directional strength improves when those baselines align in sequence and their slopes support the move.
fastBase = ta.ema(close, fastLen)
slowBase = ta.ema(close, slowLen)
anchorBase = ta.ema(close, anchorLen)
2. Confirmed Higher-Timeframe Bias
Higher-timeframe context is pulled using confirmed values only.
This avoids depending on unfinished HTF candles.
htfFast = request.security(syminfo.tickerid, biasTf, ta.ema(close , fastLen), lookahead = barmerge.lookahead_on)
htfSlow = request.security(syminfo.tickerid, biasTf, ta.ema(close , slowLen), lookahead = barmerge.lookahead_on)
htfAnchor = request.security(syminfo.tickerid, biasTf, ta.ema(close , anchorLen), lookahead = barmerge.lookahead_on)
3. Compression and Expansion State
The script compares Bollinger width and Keltner position to identify squeeze behavior and release behavior.
ADX and realized variance refine the classification.
4. Pivot Structure State
Confirmed pivots define recent structural reference points.
Breaks through those pivots update the structural state.
5. Session VWAP Context
Distance from session VWAP is normalized in ATR units.
This helps reveal whether price is auctioning away from value with intent or just rotating around it.
6. Opening-Range Acceptance
The opening range is tracked and plotted.
Acceptance above or below that range adds useful early-session context.
7. Composite Regime Score
Multiple directional variables are folded into a single regime score.
The score is a context summary, not a standalone trade signal.
8. Confirmed Event Labels
The overlay prints confirmed auction-up, auction-down, and squeeze-release labels directly on the chart.
Features
Directional regime classification: bullish expansion, bearish expansion, balance, and compression states
Baseline cloud system: fast and slow cloud for local trend stack
Confirmed HTF alignment: higher-timeframe bias uses confirmed values only
Opening-range plotting: high, low, and midpoint are tracked
Session VWAP context: value migration is integrated into the read
Pivot structure state: recent structural breaks are tracked
Compression and release logic: squeeze and expansion state are visualized
Bar-state coloring: candles transition with regime intensity
Confirmed event labels: auction and expansion markers print on the chart
Dashboard: summarizes regime, score, HTF, structure, volatility, and VWAP context
Input Parameters
Trend Engine:
Fast Baseline
Slow Baseline
Anchor Baseline
Adaptive Mean Length
Bias Timeframe
Slope Lookback
Slope Threshold ATR
RVOL Impulse Threshold
Volatility Engine:
ATR Length
Compression Length
Band Deviation
Keltner Length
Keltner Multiplier
ADX Length
ADX Floor
Expansion Threshold
Realized Variance Length
How to Use This Indicator
Step 1: Read the regime color, cloud, and dashboard state.
Step 2: Check higher-timeframe alignment before trusting directional continuation.
Step 3: Compare structure and VWAP position to see whether price is accepting away from value.
Step 4: Watch squeeze-release transitions closely because those often precede cleaner directional movement.
Step 5: Use the script as a context filter for other tools rather than as a complete trading system.
Indicator Limitations
Pivot structure confirms after the pivot fully forms, which is intentional non-repainting behavior
Higher-timeframe values are confirmed and therefore intentionally delayed
Compression can persist longer than expected in slow auction environments
Directional classification does not guarantee continuation
Originality Statement
This publication is original in the way it integrates baseline structure, confirmed higher-timeframe bias, compression state, realized variance, session VWAP, opening-range acceptance, and pivot structure into one unified regime overlay.
The components are not combined arbitrarily.
They all answer the same core question:
what is the current quality of the auction?
Disclaimer
This indicator is provided for educational and informational purposes only.
It is not financial advice.
Market regimes can shift quickly.
All readings are based on historical and current bar data and do not guarantee future performance.
Always use independent analysis and risk management.
Best Use Cases
Directional trend filtering before using a separate trigger model
Session context analysis during London and New York activity
Volatility transition analysis when compression begins to release
Structure-aware regime filtering for discretionary execution
Interpretation Notes
The strongest readings usually occur when the local stack, confirmed higher-timeframe stack, VWAP position, and volatility expansion agree.
If only one or two of those are aligned, the chart can still move, but the regime read is weaker.
Compression should not be treated as a bearish or bullish state by itself.
It is a warning that the market is withholding directional commitment.
Opening-range acceptance adds value because many directional sessions reveal their intent early.
When price cannot hold outside the opening range, the regime should usually be treated more cautiously.
Publication Notes
This script is intended to be published with a clean chart where the cloud, baselines, opening range, and event labels are clearly visible.
The chart should not be cluttered with unrelated overlays.
If showing an example image, the regime state and at least one structural transition should be identifiable at a glance.
-Made with passion by jackofalltrades
Indicator
