Choppiness Setup Planner [AGPro Series]Choppiness Setup Planner
🧠 Core Idea
Is this choppy market still a no-trade environment, or has it matured into a valid setup with defined risk, invalidation, and targets?
📌 Overview / What it does
Choppiness Setup Planner is a planner-style overlay built for one of the most common decision problems in technical analysis: what should a trader do when price is trapped inside a choppy range, but pressure starts building near the edge?
The script detects no-trade chop conditions, builds a decision range around the active structure, scores setup quality from 0 to 100, and turns a mature range release into a clear planning map with invalidation and target levels. Instead of only saying "the market is choppy," it answers whether the setup is still avoidable, preparing, weak, valid, active, or invalidated.
The cleanest visual use case is higher-timeframe planning. Weekly and daily charts allow the full range-to-plan lifecycle to breathe: no-trade structure, preparation, release, target, and invalidation can all be read without the chart feeling crowded.
It does not automate execution, predict future price, or replace personal trade selection. It is an analytical planner designed to organize context, risk, and next-action state directly on the chart.
🎯 Purpose & Design Philosophy
This script was built because many market-state tools show information without helping the user make a decision. A Choppiness Index value, ADX filter, or range box can be useful, but those outputs often stop before the practical question: what now?
Choppiness Setup Planner fills that gap by connecting chop detection with a structured planning workflow. It is intended for discretionary traders, breakout traders, and range-to-expansion traders who want to avoid low-quality noise while preparing for stronger releases from mature ranges.
The design philosophy is simple: first protect attention, then qualify the setup, then map risk only when the structure deserves it.
⚡ Why This Script Is Different
Most tools focus on detecting chop, drawing a box, or marking a breakout.
This script does NOT act like a generic signal indicator, generic support/resistance tool, or simple Choppiness Index panel.
Instead, it turns a choppy market into a decision sequence:
1. Detect the no-trade environment.
2. Track range age and pressure.
3. Grade setup validity with a 0-100 score.
4. Define the next action state.
5. Map invalidation and targets only after a valid release.
That makes the script closer to a decision engine than a visual marker. It is also intentionally separated from manual position planners: users do not enter their own position parameters. The script derives its planning levels from the detected chop range and the release quality model.
⚙️ Methodology
1. Context Detection
The engine blends Choppiness Index, directional weakness, path efficiency, range tightness, wick noise, and volatility behavior to determine whether the market is inefficient enough to qualify as a no-trade chop environment.
2. Reference Mapping
When chop persists long enough, the script builds a decision range around the active structure. This range is not a generic support/resistance zone; it is a planning container for the current no-trade condition.
3. Reaction Evaluation
The script evaluates whether pressure is improving through range age, chop release, ADX lift, path-efficiency improvement, ATR lift, edge pressure, candle body quality, close quality, and optional volume participation.
4. Visual Output
The chart displays the no-trade ribbon, decision range box, centered zone label, preparation markers, valid plan markers, weak-release markers, invalidation level, target levels, and a compact AGPro planner panel.
🗺️ How to Read the Chart
Zones represent the active no-trade decision range. A centered label inside the box shows whether the structure is still a no-trade zone or has moved into preparation mode.
Labels represent state changes. PREP marks a mature range with improving setup quality. PLAN UP and PLAN DN mark valid releases. SKIP marks a release that happened but failed the minimum plan-quality threshold. T1, T2, and INVALID track the active plan lifecycle.
Colors follow the AGPro state palette. Teal is used for stronger upside planning states, pink for downside or invalidation states, amber for caution and no-trade states, and indigo for preparation/readiness.
The panel shows Setup Quality, Next Action, Chop / Ready, Range Age, Invalidation, and Targets.
🚦 Signals & States
• Avoid: Chop → the market is inefficient and still belongs in no-trade mode.
• Prepare: Edge Watch → the range has matured and internal readiness is improving.
• Skip: Low Quality → price released from the range, but the quality score was not strong enough.
• Track Upside Plan → upside release met the minimum valid plan score.
• Track Downside Plan → downside release met the minimum valid plan score.
• Manage: T1 Reached → the active plan reached its first target level.
• Review: T2 Reached → the active plan reached its second target level.
• Reset: Invalidated → the active plan crossed its invalidation level.
🔔 Alerts Logic
Alerts are available for preparation state, valid upside plan, valid downside plan, weak release, Target 1 reached, Target 2 reached, and invalidation.
Each alert is an attention marker. Alerts are not trade instructions, not automation rules, and not execution commands.
🧩 Confluence Logic
The setup becomes stronger when a mature chop range aligns with improving readiness, edge pressure, candle body participation, release distance, and optional volume participation.
When these components align, the script can convert the release into a valid plan. When price releases without enough score, the script marks the event as SKIP instead of treating every breakout as useful.
📊 When to Use
• Choppy markets where the user needs a no-trade filter.
• Weekly, daily, and 4H planning where range structure matters more than micro-noise.
• Mature ranges that may be preparing for expansion.
• Breakout-preparation workflows.
• Range-to-trend transition monitoring.
• Symbols where invalidation and target structure should be visible before acting.
⚠️ When NOT to Use
• Extremely illiquid markets with unreliable candles.
• Symbols where volume data is misleading, unless volume participation is disabled.
• News-driven spikes where a single candle can distort range logic.
• Very low timeframes with excessive spread noise.
• Scalping workflows that require rapid-fire signals instead of structural planning.
• Markets where the user has no broader context for trend, liquidity, or session behavior.
🎛️ Key Inputs
• Choppiness Length → controls the chop-detection backbone.
• Decision Range Length → controls how the active no-trade range is framed.
• Minimum Range Age → controls how long chop must persist before planning begins.
• Preparation Threshold → controls when the range moves from avoid mode to preparation mode.
• Minimum Valid Plan Score → controls how selective valid plan labels should be.
• Release Buffer ATR → controls how far price must move beyond the range boundary.
• Invalidation Buffer ATR → controls the distance behind the released boundary used for invalidation.
• Target 1 / Target 2 R Multiples → control target projection from the plan risk.
• Panel Location / Theme / Font Size → control the AGPro panel interface.
• Label Font Size / Cooldown / Maximum Visible Labels → control chart readability.
🖥️ Interface & Visual Design
The interface is designed around fast decision reading. The chart carries the range box, no-trade ribbon, centered zone label, event labels, and active risk/target levels. The panel summarizes the same workflow without becoming a large dashboard.
The first panel row follows the AGPro standard: one merged blue header row containing only the script name.
Visual density is intentionally moderate. The chart should not look empty, but it should also avoid crowded signal spam.
🧪 Practical Usage Workflow
1. Read the panel.
Check Setup Quality and Next Action first.
2. Check the decision range.
If the box says NO-TRADE, the structure is still inefficient. If it says PREP, the range is maturing.
3. Evaluate the release.
A valid PLAN label means the release met the quality threshold. A SKIP label means the release was not strong enough.
4. Review invalidation and targets.
When a plan is active, use the plotted levels to understand structure, not as automatic orders.
5. Confirm broader context.
Combine the planner output with trend, liquidity, timeframe, session, and personal execution rules.
For publication screenshots, higher-timeframe examples are usually the cleanest because they show the complete planning sequence without compressing labels and boxes into a noisy layout.
🔍 Interpretation Guidelines
Think in states, not isolated signals.
NO-TRADE protects attention.
PREP means the market is becoming more interesting.
PLAN means the release has enough structure to track.
SKIP means the release happened but did not earn quality.
INVALID means the plan lost its structural premise.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not financial advice.
It is not auto trading.
It is not guaranteed signals.
It is not a strategy tester.
It is not a replacement for independent analysis.
⚠️ Limitations & Transparency
The script is rule-based and depends on selected inputs, timeframe, volatility, and available market data.
Different symbols and sessions can produce different behavior. Low liquidity, sudden volatility shocks, and abnormal gaps can reduce the usefulness of range-based planning.
Volume participation is optional because volume quality differs across markets and feeds.
🧠 Market Context Notes
Chop is not always weakness. Sometimes it is absorption, sometimes indecision, and sometimes simple noise. The script does not claim to know the cause. It organizes the observable structure so the user can decide whether the environment is worth attention.
🧾 Use Case Examples
When price spends several bars inside a tight inefficient range and the panel says Avoid: Chop, the script is acting as a no-trade filter.
When the range matures and the centered label changes to PREP, the script is showing that pressure has improved enough to monitor the edge.
When price releases and receives PLAN UP or PLAN DN, the script maps invalidation and targets from the structure.
When price releases but receives SKIP, the script is saying the event did not meet the model's quality threshold.
On weekly charts, a single valid plan can show the entire decision chain: range maturity, preparation, release, target reaction, and invalidation. This is the strongest showcase environment for the script.
🧱 System Philosophy
AGPro tools are built around structured decision support: define the condition, score the quality, map the relevant structure, and keep the chart readable.
Choppiness Setup Planner follows that philosophy by turning a noisy no-trade environment into a cleaner decision workflow.
🔐 Non-Promise Statement
No script can provide certainty.
No score guarantees follow-through.
No label guarantees an outcome.
📉 Risk Disclosure
Trading involves risk. Market conditions can change quickly, planned setups can fail, and losses can occur. This script is provided for educational and analytical use only. It does not provide financial advice or guaranteed trading outcomes. Users remain responsible for their own analysis, decisions, risk management, and execution.
📚 Educational Note
Use this script to study how choppy markets mature, how range releases differ in quality, and how invalidation and target logic can be organized visually before a decision is made. Indicator

Low Volume Pullback Zones [AGPro Series]Low Volume Pullback Zones
🔷 Overview
Low Volume Pullback Zones is a trend-continuation overlay built for one very specific market behavior: a trend is already established, price retraces in a controlled way, volume dries up during that retracement, and the market later reclaims a continuation trigger.
The default profile is tuned for daily swing charts, where low-volume retracements usually form cleaner structural pockets and the chart has enough space for the boxes to read properly. A 4H Active preset is included for traders who want more frequent mapping, while Custom mode exposes the raw controls.
Many pullback tools focus only on price touching a moving average, a SuperTrend line, or a generic support/resistance area. This script is intentionally narrower. It looks for the quieter part of a trend: the moment where participation contracts during a retracement, the pullback stays shallow relative to the prior impulse, and a clean continuation pocket can be mapped with a visible invalidation boundary.
The goal is not to mark every trend candle. The goal is to isolate the cleaner pauses inside trend conditions where the pullback behaves like controlled absorption instead of aggressive reversal pressure.
🟩 What The Script Detects
The engine combines five layers:
1. Trend Side
The script first checks whether the market has a clean bullish or bearish trend profile using EMA alignment, EMA slope, DI direction, and ADX strength. If the trend is flat or mixed, the script avoids mapping low-quality pullbacks.
2. Low RVOL Retracement
During a pullback, the script measures relative volume against a rolling volume baseline. A stronger dry-up score means the retracement is happening with lighter participation, which often creates a cleaner continuation context than high-volume countertrend pressure.
3. Shallow Pullback Depth
The pullback is measured against the prior impulse reference range. Controlled retracements receive higher scores, while deep retracements move toward failure risk.
4. Continuation Trigger
The script waits for price to reclaim beyond the pullback pocket boundary with a small ATR buffer and relative-volume recovery. This prevents the chart from filling with premature pullback labels before the structure actually confirms.
5. Invalidation Boundary
Every active dry-up pocket has a structural boundary beyond the deepest pullback extreme. If price breaks that boundary, the pocket is treated as invalid rather than leaving an old setup on the chart.
🟦 Chart Visuals
The main visual layer is the Dry-Up Pullback Pocket.
When a valid pullback begins, the script draws a compact rectangular pocket around the retracement range. If the pocket confirms, the script projects a tighter functional retest/hold zone instead of extending the entire historical pullback range. This makes the zone easier to use: bullish zones focus on the reclaimed upper pocket area, bearish zones focus on the reclaimed lower pocket area, and the dotted invalidation boundary remains beyond the failed side of the structure.
Dry-Up Watch labels can appear before final confirmation when the pullback already has strong volume contraction and acceptable structure. Rejected context boxes are optional and disabled by default because they are diagnostic, not actionable hold zones. Trigger labels remain compact and controlled by cooldown logic. The default behavior keeps the chart active enough to be useful without making it feel crowded or noisy.
🟨 Info Panel
The panel summarizes the current state:
Trend Side - bullish trend, bearish trend, or no clean trend.
Dry-Up Score - how strongly volume contracted inside the active or most recent pocket.
Pullback Depth - retracement depth relative to the prior impulse.
Trigger State - mapping, triggered, expired, boundary lost, trend lost, or waiting.
Failure Risk - a compact risk read based on depth, volume behavior, and pullback duration.
The panel location, panel theme, panel font size, and label font size are configurable from settings. The first panel row follows the AGPro Series standard format with a single merged blue header row.
🟪 What Makes This Different
This script is not a generic trend meter.
It is not a SuperTrend reaction tool.
It is not a broad continuation score dashboard.
It is not a volume spike or climax detector.
Low Volume Pullback Zones is focused on the relationship between trend continuation and volume contraction during the retracement itself. That makes the script different from tools that only measure trend strength, moving-average reclaim, breakout quality, support/resistance reactions, or high-volume pressure events.
The core question is:
Did the pullback become quiet enough, shallow enough, and controlled enough to justify a mapped continuation pocket?
That narrow question is what gives the script its identity.
🧭 How To Read It
Bullish dry-up pocket:
The trend filter is bullish, price retraces into the EMA lane, average RVOL contracts, depth remains controlled, and price reclaims the upper pocket boundary.
Bearish dry-up pocket:
The trend filter is bearish, price retraces upward into the EMA lane, average RVOL contracts, depth remains controlled, and price reclaims the lower pocket boundary.
Failure risk:
Failure risk rises when the pullback becomes too deep, too long, or too active in volume terms. A higher failure risk means the retracement is no longer behaving like a quiet continuation pause.
Invalidation boundary:
The dotted boundary marks the structural area where the active pocket is no longer considered valid.
⚙ Key Settings
Engine Preset:
Daily Swing is the default and is designed for cleaner publication-grade structure. 4H Active keeps more frequent lower-timeframe pockets. Custom uses the direct input values.
Fast / Mid / Slow EMA Lengths:
Control the trend structure used by the pullback engine.
Minimum ADX and Minimum EMA Slope:
Help the script avoid mapping dry-up pockets in flat conditions.
Relative Volume Length:
Defines the baseline used to measure volume dry-up.
Preferred Pullback RVOL:
Controls how quiet the pullback should be to receive full dry-up credit.
Preferred Max Depth:
Defines the ideal shallow retracement threshold.
Trigger Buffer:
Adds a small ATR-based confirmation buffer beyond the pullback pocket.
Pocket Projection Bars:
Controls how far completed pockets extend to the right.
Functional Zone Width:
Controls how much of the original pullback range is projected after confirmation. Smaller values create a tighter retest/hold pocket; larger values keep more of the original pullback structure.
Label Cooldown and Max Structures:
Keep the overlay readable and publication-clean.
📌 Best Use
This indicator is best used on markets that already show directional structure. It is designed for traders who study trend continuation, relative volume behavior, pullback quality, and invalidation-based chart structure.
It can be used across crypto, forex, indices, equities, and commodities, but the most useful results generally appear when the market has enough trend strength for low-volume retracements to matter.
🟧 Design Philosophy
Low Volume Pullback Zones was built to keep the chart premium and readable:
Clean pocket boxes instead of noisy background clutter.
Restrained watch and trigger labels instead of constant marker spam.
Visible invalidation boundaries instead of ambiguous zones.
Professional RVOL and depth scoring instead of simple moving-average touches.
Configurable panel and label sizing for different chart layouts.
The script is intentionally selective. Its strongest value comes from filtering out ordinary pullbacks and highlighting the ones where trend, volume dry-up, shallow depth, and continuation confirmation align.
Indicator

Trend Quality [AGPro Series]Trend Quality
Trend Quality fuses three independent regime dimensions — ADX directional strength, Kaufman Efficiency Ratio, and ATR-normalized EMA slope — into a single 0–100 composite Trend Quality Score. A hysteresis + confirmation + cooldown gate turns that score into a stable TREND / CHOP regime, enhanced with HTF confirmation, lifecycle phases, score velocity, breakout grading, directional dominance, and a full adaptive on-chart quality window. The goal is simple: replace noisy "is this a trend?" guessing with a transparent, multi-dimensional, low-lag quality reading you can read in one glance.
🎯 OVERVIEW
Most trend filters fail at the same thing — they tell you a trend exists, but not whether that trend is clean, accelerating, fading, or already exhausted. Trend Quality answers the harder question. Every bar is scored on three independent dimensions that each measure a different physical property of price movement:
• ADX — directional strength (how strongly one side dominates)
• Kaufman Efficiency Ratio (ER) — path efficiency (how little wasted motion)
• ATR-normalized EMA slope — normalized trend velocity (how fast, relative to volatility)
These three signals are combined into one 0–100 Trend Quality Score. A hysteresis band + confirmation bars + cooldown filter convert that score into a stable TREND / CHOP regime — no single-bar flipping, no false recovery wicks. On top of the core regime, the indicator layers Score Velocity, Lifecycle phases (Emerging → Confirmed → Exhausting), Breakout Quality grading (A / B / C), directional dominance, and a visual Quality Window that tracks the active trend zone and projects it forward.
💎 UNIQUE EDGE
What separates Trend Quality from a standard ADX filter, an EMA slope indicator, or a generic regime meter:
• Tri-factor fusion (not a single metric) — ADX alone misses path quality; ER alone misses direction; slope alone misses choppy-but-strong moves. Weighted fusion (45% ADX, 35% ER, 20% Slope) neutralizes each component's blind spot.
• Stable regime, not a flickering line — the TREND / CHOP state passes through a 3-layer filter: hysteresis band around the threshold, N confirmation bars, and a cooldown window after every transition. The result is a regime reading that holds through pullbacks without flipping.
• Score Velocity Engine — a second-derivative layer that watches how fast the score itself is changing. Surges flag momentum ignition; collapses flag quality breakdown before price confirms it. A bearish divergence detector fires when price makes new highs while quality is fading.
• Lifecycle phases — inside every TREND regime, the script distinguishes Emerging (young, fresh, accelerating), Confirmed (mature, stable, above buffer), and Exhausting (score rolling over from a peak). This lets you see whether you are entering early, running mid-trend, or catching the end.
• Breakout Quality Badge (A / B / C) — every CHOP → TREND transition receives a graded badge based on composite score plus velocity bonus. Grade A breakouts are rare and have an optional dedicated alert.
• HTF confirmation with Auto-HTF mapping — the same engine runs on a higher timeframe. When LTF is trending but HTF is not, the regime is marked BLOCKED (not forced to CHOP) so you retain full transparency about why the regime is gated.
• Adaptive Quality Window — a live rectangular zone that tracks the full trend's high/low from its start bar, projects forward, shows ceiling/floor projection labels, and preserves historical windows with directional color coding (green for up-trends, pink for down-trends, amber for HTF-blocked trends).
🧪 METHODOLOGY
Core composite score (every bar, LTF):
Score = 100 × (0.45 × ADX_norm + 0.35 × ER_norm + 0.20 × Slope_norm)
• ADX_norm = min(ADX / 50, 1)
• ER_norm = |close − close | / (SMA(|Δclose|, N) × N)
• Slope_norm = min(|EMA − EMA | / ATR × 10, 1)
Regime gating:
• Hysteresis: +3 above threshold to enter TREND, −3 below to enter CHOP
• Confirmation: N consecutive bars above/below the hysteresis band
• Cooldown: N bars after every regime flip where no new flip is allowed
MTF confirmation (optional, default ON):
The same core function is called via request.security on the HTF (Auto: 30m→4H, 4H→Daily, Daily→Weekly, Weekly→Monthly in Strict mode). When LTF=TREND but HTF=CHOP, the regime is tagged BLOCKED — a transparent third state that is neither forced-CHOP nor accepted-TREND.
Lifecycle logic:
• Emerging: TREND is young (bars since start ≤ Emerging Bars) OR score slope ≥ 0 and score below buffer
• Confirmed: score ≥ threshold + Confirmed Buffer AND HTF passes (optional)
• Exhausting: score slope < 0 AND pullback from peak ≥ Exhaustion Pullback
Score velocity:
velocity = score − score (default 5-bar look-back)
Breakout quality grading:
bqScore = score + velocity_bonus (bonus: +15 if vel>15, +7 if vel>5, else 0)
A ≥ 82, B ≥ 67, C < 67
🔔 SIGNALS & ALERTS
The script exposes 12 alert conditions — all moderator-safe, educational, non-solicitating:
• CHOP → TREND / TREND → CHOP regime flips with LTF+HTF context
• Strong Trend composite conviction threshold
• HTF Blocked / HTF Unblocked third-state transparency events
• Emerging / Confirmed / Exhausting Trend lifecycle phase changes
• Velocity Surge / Velocity Collapse second-derivative extremes
• Grade-A Breakout rare high-conviction breakouts
• Bearish Divergence price up, quality down warning
On-chart visual events (also filterable via inputs):
• Breakout Quality badge (A / B / C) at every CHOP → TREND
• Bearish divergence ⚠ marker at trend peaks where quality fades
• State tag near backbone: EMERGING / CONFIRMED / EXHAUSTING / HTF BLOCKED
• Quality Window label: ACTIVE + phase
• Projection labels on the right edge: QUALITY CEILING / TREND FLOOR
All badge and warning labels are gated with an 8-bar cooldown so the chart stays clean even on repeated intra-swing triggers.
⚙️ KEY INPUTS
Core engine:
• ADX Length (14) — directional strength look-back
• Efficiency Length (20) — ER path-efficiency window
• Slope EMA Length (50) — trend backbone reference
• ATR Length (14) — volatility normalization
• TREND Threshold (55) — composite score level to enter TREND
• Confirmation Bars (1) — bars of persistence before flipping
• Strong Trend Offset (15) — extra score above threshold for STRONG tag
MTF:
• HTF Confirmation (ON) — enable/disable HTF gate
• Auto HTF (ON, Strict) — smart HTF mapping per chart TF
• Manual HTF (240) — override timeframe
Stability:
• Change Cooldown Bars (2) — lock-out window after any regime flip
Lifecycle:
• Emerging Phase Bars (4) — max trend age to stay Emerging
• Confirmed Buffer (8.0) — score must clear threshold+buffer
• Exhaustion Pullback (4.0) — peak-to-current drop to flag Exhausting
Visual Overlay:
• Backbone + Glow + Zone + State Candles + Quality Window + Historical Windows + Projection Box + Guides + Midline (all toggleable)
Panel, Theme, Layout, Help rows, Alerts, Score Velocity Engine, Breakout Quality Badge, Divergence Detector — every layer has its own input group and can be shown/hidden independently.
📘 HOW TO USE
Read-in-one-glance panel (standard AGPro format):
• Blue header row: script title
• Line 2: REGIME / LIFECYCLE · Score N/100 · Velocity state
• Line 3: LTF regime · Direction · Directional Dominance
• Line 4: HTF regime · MTF PASS/BLOCKED · Active Window state · Streak
Quick playbook:
1. CHOP on LTF → wait. No setup, no commitment.
2. CHOP → TREND transition with Grade A badge + HTF PASS → highest-conviction regime start.
3. CONFIRMED phase with DOM HIGH and rising score → the middle of the trend, usually the cleanest section.
4. Velocity COLLAPSE or EXHAUSTING phase with bearish divergence ⚠ → quality is deteriorating; reduce exposure or tighten stops.
5. HTF BLOCKED amber window → LTF trend exists but higher timeframe disagrees; treat as lower-conviction and be aware of mean-reversion risk.
The indicator does NOT issue buy/sell signals, does NOT define entry/exit prices, and is NOT a strategy. It is a regime-quality reading — a context layer you pair with your own trade management.
⚠️ LIMITATIONS & TRANSPARENCY
• Trend-quality indicators are inherently trend-following. In low-volatility ranges the score can stay above threshold on minor moves; in very fast markets the score can lag by 1–3 bars while the filters stabilize.
• HTF confirmation introduces a natural HTF delay. This is intentional (it removes noise) but means the HTF gate may lift several LTF bars after price has already moved.
• All composite signals rely on look-backs (ADX 14, ER 20, Slope EMA 50, ATR 14). On very short intraday timeframes with low bar counts these need calibration.
• Lifecycle phases are structural readings, not predictions. EXHAUSTING means the score is rolling over — not that price must reverse.
• Past performance of any visual regime does not imply future performance. Charts showing clean historical windows are illustrative of the indicator's logic, not trading results.
• No repainting on historical bars. The HTF call uses lookahead_off and barmerge.gaps_off. Score and regime values on closed bars are final.
🛡️ RISK DISCLOSURE
This script is published as an educational and analytical tool. It does not provide financial advice, does not generate trade signals of any kind, and must not be used as a standalone decision system. Markets involve substantial risk of loss. Past behavior of any market regime, indicator output, or historical visual window is no guarantee of future results. Always combine any indicator with independent risk management, position sizing, a tested plan, and — where appropriate — the guidance of a licensed professional. You are solely responsible for any trading decisions you make. Indicator

Volatility Shape Classifier [AGPro Series]Volatility Shape Classifier
🔹 Overview
Volatility Shape Classifier is a context and diagnostics tool that does not stop at telling you whether volatility is high or low. Instead it classifies the SHAPE of that volatility on every bar — Smooth, Chaotic, Choppy, Drift, or Dead — using three independent dimensions combined into a single regime read. The result is a continuous visual narrative made of a subtle background tint, throttled transition badges, and a compact metrics panel.
It is designed to sit on your chart as a pure awareness layer. It does not generate buy or sell signals and it is not a trading strategy.
🔷 Unique Edge
Most volatility tools compress the market into one axis — high vs low (ATR, Bollinger Band Width), or trend vs range (Choppiness Index, ADX). They answer half of the question.
This script asks three questions at once and fuses the answers:
1. Magnitude — is ATR above or below its own long baseline?
2. Smoothness — are bar-to-bar moves consistent in size, or erratic?
3. Directional Consistency — do bars point the same way, or cancel each other?
Only the combination of these three can distinguish a controlled trend run (Smooth) from a violent whipsaw (Chaotic) from a wide directionless thrash (Choppy) — all three of which can show identical ATR readings. That shape distinction is the core value this script adds, and it is the gap left by standard volatility and chop indicators.
🔶 Methodology
Engine layer (per bar):
• Volatility Level = ATR(volLen) / SMA(ATR, volLen * 3)
• Smoothness = StDev(|close − close |) / SMA(|close − close |) over volLen
• Direction = |sum(close − close )| / sum(|close − close |) over volLen
Classification layer maps the three readings into six mutually exclusive codes:
0 — Forming (warm-up / in-between space, no tint)
1 — Expansion · Smooth (high vol, low CV, directional)
2 — Expansion · Chaotic (high vol, high CV)
3 — Expansion · Choppy (high vol, low direction)
4 — Low-Vol · Drift (low vol, low CV, mild direction)
5 — Low-Vol · Dead (low vol, low CV, no direction)
Stability layer applies a configurable Confirmation Bars window so a new shape must persist for N consecutive bars before the chart commits to it. This prevents single-bar flicker. Between-state readings do not reset the current shape, they hold it — avoiding the classic "blink to neutral" problem of switch-based classifiers.
🔸 Signals & Alerts
Four alert conditions are published:
• Shape Shifted to Smooth Expansion
• Shape Shifted to Chaotic Expansion
• Shape Shifted to Choppy Expansion
• Shape Collapsed (any expansion state falling into low-vol Drift or Dead)
Alerts fire only on confirmed shape transitions and only on bar close, so repaint on the signal bar is not a concern.
🔹 Key Inputs
• Volatility Length — window for ATR, smoothness, and direction (default 20)
• Confirmation Bars — persistence requirement before committing to a new shape (default 3)
• Badge Cooldown — minimum bars between visible badges (default 15; tint updates continuously regardless)
• Panel Position / Size — six anchor points, four size presets
• Badge Font Size — four size presets
🔷 How to Use
• Use the SHAPE read as a setup filter, not as the signal itself. Smooth Expansion is where trend-following tools tend to perform well. Chaotic and Choppy Expansion are where they tend to fail even when the raw volatility reading looks attractive.
• The Drift state often precedes an expansion in the direction of the drift.
• The Dead state is a compression warning — a shape collapse alert from Expansion into Dead is a common precursor to a fresh expansion move in either direction.
• Pair with your own entry logic (structure, moving averages, volume). This tool answers "what kind of market am I in right now?" — it does not answer "where do I enter?"
🔶 Limitations & Transparency
• Thresholds (1.15x / 0.70x / 0.80 / 1.10 / 0.18) were tuned on crypto and FX data across 15m to 1D timeframes. Very illiquid instruments and very low timeframes (< 5m) may require a longer Volatility Length.
• Shape classification is inherently backward-looking (it reads the last volLen bars). It describes the character of recent volatility, not future volatility.
• The script is a context layer. It is not a strategy and should not be used in isolation for trade decisions.
• Past behavior of a shape does not guarantee future behavior.
🔸 Risk Disclosure
This indicator is an educational and analytical tool. It does not constitute financial advice, trade recommendations, or a signal service. All trading involves risk. You are solely responsible for your own trading decisions. Indicator

Mean Reversion Corridors [AGPro Series]Mean Reversion Corridors
🔹 Overview
Mean Reversion Corridors is a volatility-adaptive deviation framework that maps how far price has stretched from a chosen fair-value center and classifies that stretch into two actionable zones. An inner corridor marks the early reversion band where price is meaningfully extended but not yet extreme; an outer corridor marks statistical exhaustion where continuation becomes less probable under normal conditions. A higher-timeframe trend filter separates controlled mean reversion from failure-continuation expansions, so traders can tell fading the edge from respecting a real break — all from a single clean overlay.
🔸 Unique Edge
Most band systems (Bollinger, Keltner, ATR channels) offer a single width engine and a single band pair, leaving the trader to guess whether a tag is an exhaustion or a breakout. Mean Reversion Corridors is built around three ideas that work together:
- A dual-engine width unit that linearly blends ATR (range-based) and Standard Deviation (dispersion-based) so the corridor is stable on both gap-heavy and low-dispersion regimes.
- A two-layer corridor with distinct roles — inner for early stretch, outer for exhaustion — rendered as transparent zones you can read at a glance.
- A regime-aware state machine that uses a higher-timeframe trend filter to reclassify outer tags as either reversion candidates or failure-continuation, tracked as explicit REV and FAIL states with a bounded confirmation window.
🧠 Methodology
- Center Model — user choice of EMA, VWMA (volume-aware, default) or HMA (responsive), calculated on chart closes.
- Width Unit — the current volatility unit is a linear blend: (1 − blend) × ATR + blend × StDev, protected against empty volatility periods.
- Corridors — inner band at ±(width × inner multiplier), outer band at ±(width × outer multiplier). Stretch is reported in width-unit sigma.
- Trend Filter — the same center model is evaluated on a higher-timeframe via request.security with lookahead off, and its slope is normalized by ATR so the "strong" threshold is volatility-aware, not symbol-specific.
- State Machine — tracks the most recent outer-band extreme with a rolling 20-bar confirmation window. A reversion is confirmed only when price closes back inside the inner corridor and the trend filter is not strongly aligned with the original stretch. When the trend is strongly aligned, the outer break is reclassified as corridor failure (continuation).
- All conditions evaluate on confirmed bars to avoid repainting behavior.
⚡ Signals & Alerts
On-chart markers:
- REV — reversion confirmed back through the inner band after an outer extreme, trend-filtered.
- FAIL — corridor failure / trend-aligned continuation beyond the outer band.
Six bar-close alert conditions:
- Inner corridor entered — upside stretch
- Inner corridor entered — downside stretch
- Outer corridor hit — upside exhaustion
- Outer corridor hit — downside exhaustion
- Reversion confirmed
- Corridor failure (continuation)
⚙️ Key Inputs
- Center Model — EMA / VWMA / Hull
- Center Length and Volatility Length — independent lookbacks
- ATR ↔ StDev Blend — balance between range and dispersion engines
- Inner Corridor Width and Outer Corridor Width — in volatility units
- Trend Filter — enable, timeframe, length, strength threshold
- Visuals — outer-only mode, center line, fills, edge tags, state labels, label size
- Info Panel — show/hide, position (six options), font size
- Alerts — individually toggleable for each of the six events
📖 How to Use
- Start with the defaults on your main chart timeframe. The 34-period VWMA center, balanced blend and 1.0 / 2.2 inner/outer multipliers are chosen to work as a neutral starting point across liquid markets.
- Inner corridor tags are early stretch cues — they flag that price is extended, not that a turn is due. Use them as context for setups, not as standalone signals.
- Outer corridor tags with the trend filter neutral or opposed are the primary mean reversion setup; wait for a REV confirmation back inside the inner band before acting.
- When FAIL appears, the stretch is trend-aligned; treat the outer band as continuation, not resistance. This is the signal to stop fading.
- Use the Info Panel to read current state, reversion bias, trend regime and stretch magnitude in sigma at a glance.
⚠️ Limitations & Transparency
- This is an analytical tool, not a trading strategy or financial advice. It does not predict future price.
- Band-based classification assumes statistical behavior; during shocks, news events or illiquid sessions the width engine can lag.
- The trend filter uses a higher-timeframe slope — it reacts slower than short-term momentum by design, which is the intended behavior.
- Signals are evaluated on confirmed bars; intrabar crosses are not counted as events.
- Past behavior of any indicator does not guarantee future results. Always apply your own risk management. Indicator

Trend Stability Ribbon [AGPro Series]Trend Stability Ribbon
🔹 OVERVIEW
Most trend tools tell you WHICH WAY price is going. Trend Stability Ribbon tells you HOW WELL it is getting there. By pairing an ATR-normalized slope engine with a Kaufman path-efficiency score, it projects every bar into one of four rules-based states — Stable Up, Noisy Up, Stable Down, Noisy Down — and paints them onto a clean, adaptive ribbon that stays out of the candles' way. The result is a context layer that separates decisive trending from directional-but-choppy travel, without adding a second indicator pane.
🧭 UNIQUE EDGE — WHY THIS IS NOT "JUST ANOTHER TREND INDICATOR"
Direction alone is cheap. Every moving-average cross, every supertrend, every slope color tells you "up" or "down" — and then leaves you holding the bag when the trend is technically up but structurally a mess.
Trend Stability Ribbon adds the missing second dimension: path quality. The same 34-bar window that defines direction also feeds a Kaufman efficiency calculation (net travel divided by total path travel). An ER near 1.00 means price walked a near-straight line; an ER near 0.00 means it zig-zagged its way to the same point. Mapping that score against a calibrated threshold band produces the four composite states — and a visual language that finally distinguishes "trend worth trusting" from "trend worth fading".
Additional design choices that set it apart:
• Dual-layer event engine — direction flips, stability upgrades, and stability downgrades are tracked as independent transitions, each with its own alert.
• Badge/alert separation — on-chart badges are throttled by a cooldown for visual hygiene, but alerts are always raw so automation pipelines never miss an event.
• Reset state — when the slope-confirmation filter rejects a direction, the ribbon goes neutral instead of flipping false. Chop gets ignored, not misreported.
🧪 METHODOLOGY
1. TREND DIRECTION ENGINE
• A slow EMA (default length 34) anchors the trend path and serves as the ribbon centerline.
• Slope is measured over a 3-bar lookback and normalized by a 14-period ATR, making it instrument-agnostic across crypto, FX, equities, and futures.
• With Slope Confirmation enabled (default), direction is only accepted when price position AND slope agree. Disagreement returns a Reset state.
2. PATH EFFICIENCY (STABILITY) ENGINE
• ER = |close − close | ÷ Σ|close − close | over the same trend window.
• Three classes: Stable (ER ≥ 0.45), Noisy (ER ≤ 0.25), Mixed (between). Thresholds scale with the Stability Sensitivity input.
• The Mixed zone is a deliberate dead-band — during uncertain phases the previous state persists rather than flickering.
3. COMPOSITE STATE MACHINE
• Direction × Stability yields five possible states: Stable Up, Noisy Up, Stable Down, Noisy Down, Reset.
• Bars-in-state is tracked live, giving a simple persistence read on each state.
4. RIBBON RENDERING
• Ribbon is anchored to the EMA centerline with height driven by ATR × a user-selected multiplier (Thin / ATR-Adaptive / Thick).
• Fill opacity and border weight shift by state — Stable states are saturated, Noisy states are faded, Reset is a soft amber.
🔔 SIGNALS & ALERTS
Three transition events are detected and exposed as separate, user-toggled alerts:
• Trend State Flipped — direction changed (Up ↔ Down). Raw, never throttled.
• Stability Improved — path upgraded from Noisy to Stable while direction held. Raw — delivered regardless of badge cooldown.
• Stability Degraded — path downgraded from Stable to Noisy while direction held. Raw — delivered regardless of badge cooldown.
Matching on-chart badges appear at the same moments, subject to the Stability Badge Cooldown for visual cleanliness. Direction-flip badges are never throttled.
⚙️ KEY INPUTS
Engine
• Trend Length (default 34) — lookback for both direction and path-efficiency windows.
• Stability Sensitivity (default 1.0) — scales the Stable / Noisy thresholds.
• Require Slope Confirmation (default on) — enforces price-and-slope agreement; rejects chop.
Ribbon & Badge
• Ribbon Height — Thin / ATR-Adaptive / Thick.
• Show State Badge — toggle on-chart transition labels.
• Label Font Size — tiny / small / normal / large (default normal).
• Minimal Mode — hides panel and badges for pairing with other overlays.
• Stability Badge Cooldown (default 5 bars) — visual throttle for stability transitions.
Info Panel
• Panel Position, Panel Font Size, Efficiency Ratio display, Active Thresholds display.
Alerts
• Independent toggles for each of the three transition events.
🧠 HOW TO USE
• CONTEXT FILTER — use Stable states as a "green light" for continuation setups on your primary system; treat Noisy states as a headwind.
• REGIME BREAKS — a Stability Degraded event mid-trend is often an early warning that the move is maturing, even before price has flipped.
• CLEAN ENTRIES — pair a direction flip (Trend Up / Trend Down) with an immediate Stable classification to filter out whipsaw-prone breakouts.
• CHOP AVOIDANCE — when the ribbon sits in a Reset or Mixed state, the script is telling you the underlying path is not tradeable as a trend. Stand aside or switch to range tactics.
• PAIRING — with Minimal Mode on, the ribbon layers cleanly under structure tools, VWAPs, or S/R zones without visual conflict.
⚠️ LIMITATIONS & TRANSPARENCY
• This is an indicator, NOT a strategy. It does not generate buy or sell orders, has no backtest, and makes no claim of performance.
• Efficiency Ratio is a lagging measure — it describes the path already travelled. The ribbon should be read as context, not as a leading signal.
• The Mixed zone is intentional persistence; expect the composite state to hold through brief chop rather than flipping on every bar.
• Lower timeframes (<5m on thin-liquidity markets) can push ER values into erratic ranges. Start with the defaults on 15m–4h and tune from there.
• All calculations are closed-bar. Intra-bar values may shift until the bar confirms.
🛡️ RISK DISCLOSURE
This script is published for educational and analytical purposes only. It is not financial advice, not a signal service, and not a solicitation to buy or sell any instrument. Past behavior of markets does not predict future results. Always do your own research, apply proper risk management, and consult a licensed professional before making trading decisions. The author assumes no responsibility for losses incurred through use of this indicator. Indicator

Setup Quality Scorecard [AGPro Series]Setup Quality Scorecard
Setup Quality Scorecard grades every bar on a transparent 0-100 scale across ten independent confluence dimensions. Instead of another signal generator, it is a quality filter: it tells you how strong the current setup is, which factors are firing, and how often similar past setups have followed through. Works on any symbol, any timeframe.
🔹 OVERVIEW
Every trader has the same question before pulling the trigger: "Is this setup actually good, or am I forcing it?" Setup Quality Scorecard answers that question with a single auditable number. The composite score blends ten orthogonal factors — trend, momentum, volume, volatility, structure, S/R proximity, divergence, candle quality, session context, and higher-timeframe alignment — into a weighted 0-100 quality rating. Bars scoring above the A-Tier threshold are marked with support/resistance-style zones on the chart, so high-quality setup regions stay visible even as the market moves on.
🔹 UNIQUE EDGE
Most quality indicators hide their internals behind a black-box algorithm. This one is fully transparent. Every factor exposes its own 0-10 score in the panel, every factor weight is user-adjustable, and every historical signal is evaluated against a forward-looking hit-rate test. There are no secret filters, no proprietary confidence bands, and no cherry-picked backtest. If a setup scores 87, you can see exactly which factors contributed and which did not.
🔹 METHODOLOGY
Each of the ten factors is computed independently on the current bar and normalized to a 0-10 scale:
1. Trend Alignment — EMA 20/50/200 stack plus slope confirmation
2. Momentum — RSI zone position combined with 3-bar RSI delta
3. Volume Context — relative volume versus 20-period SMA, calibrated for real-world distribution
4. Volatility Regime — ATR percentile over the last 100 bars, favoring mid-range regimes
5. Structure — HH/HL or LH/LL confirmation via recent pivots
6. S/R Proximity — ATR-normalized distance to the nearest pivot level
7. Divergence — price-versus-RSI regular divergence captured at pivot time
8. Candle Quality — body-to-range ratio and wick balance
9. Session Context — active trading session weighting (London/NY overlap prioritized)
10. HTF Agreement — graduated higher-timeframe alignment scoring (full stack, partial stack, opposed regimes)
The ten factor scores are weighted by user-adjustable coefficients, summed, and normalized to produce the final 0-100 composite. Tier labels (S / A / B / C / D) are assigned against user-configurable thresholds.
🔹 SIGNALS AND ALERTS
When a bar crosses into A-Tier or higher, a zone is drawn using support/resistance-style geometry (body plus a small ATR cushion). Zones merge automatically when adjacent qualifying setups share the same directional bias, preventing chart clutter. Each zone is labeled with its tier and score in compact A·83 format, with a dotted leader line connecting the label to the zone edge.
Four built-in alert conditions are exposed:
- S-Tier Setup Detected (score crosses the S-Tier threshold)
- A-Tier Setup Detected (score crosses the A-Tier threshold)
- New Bullish Quality Setup (first A-tier bullish bar in a run)
- New Bearish Quality Setup (first A-tier bearish bar in a run)
🔹 KEY INPUTS
- General: Higher timeframe reference, rolling history window, forward evaluation bars
- Thresholds: S / A / B / C tier cutoffs, fully adjustable
- Factor Weights: ten independent sliders, 0.0 to 2.0, tune the scorer to your style
- Zones: adaptive extend (auto or manual), merge window, max height cap in ATR units, maximum age
- Labels: on-chart label mode (A-Tier only, S-Tier only, off), size presets
- Panel: position, size, factor breakdown toggle
🔹 HOW TO USE
Start with defaults and observe for a full session on your chart. Trend traders should raise the Trend and HTF Align weights. Reversal traders should raise Divergence, Structure, and S/R Proximity. Use the Active count in the panel as a quick filter: fewer than three factors above seven generally means a weak setup regardless of composite score. Use the hit-rate number to sanity-check whether your current configuration is performing on this asset and timeframe — if it is below 50 percent on a large sample, revisit your weight assignments.
🔹 LIMITATIONS AND TRANSPARENCY
The hit-rate metric is backward-looking. It measures how often past A-tier signals produced a one-ATR directional move within the next N bars. It is not a forecast of future performance. A hit rate with fewer than twenty signals is flagged with an info marker because the sample size is not yet statistically meaningful. Factor definitions are static — they do not adapt to regime changes automatically. Session weighting assumes standard crypto and equity session times in UTC; adjust if you are trading exotic hours. The script uses pivot-based structure, which lags by the pivot length on the right edge of the chart (a standard trade-off for noise suppression).
🔹 RISK DISCLOSURE
This indicator is an analytical tool, not financial advice. It does not predict future price movements. A high quality score does not guarantee a winning trade. Past performance of any displayed signal does not indicate future results. Always use proper risk management and position sizing. Never trade with capital you cannot afford to lose. Indicator

MTF Trend Agreement Map [AGPro Series]MTF Trend Agreement Map
🔹 **Overview**
MTF Trend Agreement Map is a multi-timeframe alignment engine that reads the trend across five timeframes at once and distills the result into a single transparent agreement score. Instead of forcing you to flip between charts, the map tells you, on every bar, how many timeframes agree, which side wins, and whether the market is in a locked regime, a forming trend, or a conflict phase. It is built for swing traders, HTF-bias scalpers, position traders, and anyone who uses top-down analysis as part of their process.
🔸 **What Makes It Different**
Most MTF indicators show a single method (usually a moving-average cross) repeated across timeframes, which means five rows that all agree with each other by construction. This map does something different: for each timeframe it runs three independent methods — an EMA regime filter, a pivot-based market-structure read (HH/HL vs LH/LL), and a normalized momentum slope — and blends their individual votes into the final score. You see not only the agreement across timeframes but also the agreement across methods, which exposes weak or borderline regimes that a single-method tool would quietly hide.
🔺 **Methodology**
• EMA Trend: a timeframe is bullish when EMA50 is above EMA200 and price is above EMA50; bearish on the mirror condition; neutral otherwise.
• Market Structure: confirmed pivots are tracked in real time. A timeframe is bullish while the last two confirmed swings form higher highs and higher lows, bearish on lower highs and lower lows.
• Momentum Slope: the change in linear regression across a configurable lookback, normalized by ATR so that fast and slow assets are comparable.
• Consensus per timeframe: each active method casts a vote; bulls minus bears determines the row's net direction and strength.
• Overall alignment: bull and bear votes are summed across all active timeframes; the dominant side's share defines the agreement percentage.
◆ **Three-State Regime Engine**
• **LOCKED** — agreement above the strong threshold (default 80%). High-conviction regime, continuation-friendly, background tint activates.
• **TRENDING** — agreement between 50% and the strong threshold. Directional bias forming but not yet fully aligned. Trade with reduced size or wait for confirmation.
• **SPLIT** — agreement below 50%. Timeframes are in conflict, no majority side. Classic chop phase, favors mean-reversion strategies or standing aside.
🔔 **Signals & Alerts**
• Regime Lock (Bull or Bear): fires the first bar agreement crosses above the strong threshold while one side dominates. Designed as a continuation trigger, not a reversal signal.
• Chop / Conflict: fires when no side holds the majority, a classic filter for mean-reversion systems or a stand-aside cue for trend traders.
• Both generic and directional alertcondition() hooks are exposed so you can wire the map into automations.
⚙️ **Key Inputs**
• Core Engine: toggle any of the three methods on or off, and tune the pivot length and momentum lookback independently.
• Timeframes: four user-selected timeframes plus an optional Current row that auto-adapts to the chart TF. If the chart TF matches any selected TF, the Current row is hidden automatically to avoid double-counting.
• Panel: six location presets, four text sizes (default Normal), dark or light theme, optional per-method breakdown row.
• Background Tint: enable or disable, set the strong-alignment threshold (50–95%) and control transparency (70–99) to keep the chart premium.
📖 **How to Use**
• Top-down confirmation: take trades on your execution timeframe only when the higher rows in the map agree with your thesis.
• Regime filter: enable Regime Lock alerts to catch moments when the full map snaps into alignment — these are typical continuation windows.
• Conflict filter: when the map prints SPLIT, widen stops, reduce size, or step aside; trend strategies historically underperform during these phases.
• Method debugging: turn on the per-method breakdown to see which methods are driving the score and which are fighting it.
⚠️ **Limitations & Transparency**
• All timeframe values are non-repainting at bar close (lookahead is disabled), but intrabar values can update until the parent bar closes — this is expected MTF behavior.
• Market Structure requires enough history on each timeframe to confirm two swings; on very young assets or short charts the structure vote may be neutral until pivots print.
• The map is a context tool, not a standalone entry system — combine it with your own execution logic, risk management, and bias.
📌 **Risk Disclosure**
This script is provided for educational and analytical purposes only. It does not constitute financial advice, a recommendation, or a solicitation to trade any instrument. Markets involve substantial risk and past behavior does not guarantee future results. Always do your own research and manage risk responsibly. Indicator

Multi-Oscillator Consensus Engine [AGPro Series]Multi-Oscillator Consensus Engine
🔹 Overview
Multi-Oscillator Consensus Engine aggregates ten independent momentum
oscillators into a single regime classifier with overlay Consensus Zones,
flip event labels, and agreement persistence tracking. Instead of watching
ten charts separately, traders see one unified answer: are the oscillators
in agreement, and what is the consensus saying right now?
The script monitors RSI, Stochastic, CCI, MFI, Williams %R, ROC, Ultimate
Oscillator, MACD, DMI balance, and Aroon balance. Each oscillator is
normalized to a 0–100 scale and votes bullish, bearish, or neutral against
configurable thresholds. The aggregated vote determines the market regime
and drives everything else on the chart.
🔹 Unique Edge
Most multi-oscillator tools stop at a dashboard or a simple agreement
percentage. This engine goes further:
- Regime Classification — four distinct states (Consensus Bull, Consensus
Bear, Divergent, Transition) instead of a binary signal.
- Consensus Zones — a horizontal price zone is born at every regime flip
and stays alive while the regime holds. When the regime ends, the zone
becomes historical structure.
- Flip Event Labels — regime transitions are marked directly on price
with merged flip + extreme agreement tags.
- Persistence Tracking — streak bars, last flip distance, and historical
extreme rate tell you how trustworthy the current consensus is.
- Label Discipline — cooldown, horizontal stagger, and flip+extreme merge
logic keep the chart readable even in choppy regimes.
🔹 Methodology
Step 1. Ten oscillators are computed with their classic defaults and
normalized to a 0–100 range. Indicators with native 0–100 output (RSI,
Stochastic, MFI, Ultimate) pass through directly. Others (CCI, ROC, MACD
histogram) are rescaled against their own recent range. Williams %R is
flipped from its native -100..0 scale.
Step 2. Each normalized oscillator casts a vote. Values above the bullish
threshold vote +1, values below the bearish threshold vote -1, everything
else is neutral. Vote counts and agreement percentage are computed bar by bar.
Step 3. Regime is assigned from the vote distribution. Seven or more votes
in one direction triggers Consensus Bull or Consensus Bear. A tight spread
(bull-bear difference ≤ 2) triggers Divergent. Everything else is a
Transition state.
Step 4. On every bull↔bear regime entry, a new Consensus Zone is born at
the current close ± a configurable ATR multiple. The zone extends forward
while the regime is active and locks in place when the regime ends. A
maximum of five active zones keeps the chart clean.
Step 5. Labels are rendered only when cooldown and merge rules allow.
Extreme agreement events (80%+ by default) are either merged into the flip
label or drawn separately with larger offset.
🔹 Signals & Alerts
Seven alert conditions ship with the script:
- Consensus Bull Entry — regime has just entered Consensus Bull
- Consensus Bear Entry — regime has just entered Consensus Bear
- Consensus Bull Flip — direct Bear → Bull transition
- Consensus Bear Flip — direct Bull → Bear transition
- Extreme Bullish Agreement — agreement crosses the extreme threshold up
- Extreme Bearish Agreement — same, on the bearish side
- Consensus Streak 20+ — current regime has held for twenty bars
🔹 Key Inputs
- Oscillator Periods — individual length settings for all ten oscillators
- Bullish / Bearish Thresholds — the normalized levels that define a vote
- Consensus Threshold — how many oscillators must agree for a regime (default 7/10)
- Extreme Agreement — agreement percentage for extreme events (default 80%)
- Consensus Zones — show/hide, ATR length and multiplier, max active count,
closed zone trail
- Label Cooldown — minimum bars between flip labels, prevents clutter
- Merge Flip + Extreme — combine same-bar events into one label
- Panel — six location options, Dark/Light theme, font sizes
🔹 How to Use
Trend traders: wait for a Consensus Bull or Consensus Bear regime to
establish (streak > 5 bars), then use pullbacks into the active Consensus
Zone as entries in the regime direction. Exit on opposite regime flip.
Reversion traders: Extreme Agreement events mark moments where all
oscillators are stretched in the same direction. These are classic mean
reversion setups. Wait for a regime flip against the extreme, confirmed on
the next bar.
Regime filter: overlay the panel on any chart and use the Regime and
Agreement readings as a binary filter for your primary system. Only take
longs when regime is Bull, only take shorts when regime is Bear.
Works on all timeframes from 1m to 1W. Higher timeframes produce fewer
but higher-conviction signals.
🔹 Limitations & Transparency
- The oscillator votes use normalized thresholds. On extremely narrow
ranges, the normalization may produce unstable votes. Raising the
Bullish/Bearish Thresholds reduces this sensitivity.
- Consensus Zones are drawn from close price at the flip bar. Large wick
bars may place the zone slightly away from the visual pivot.
- The script is not a standalone trading system. It is a confluence and
regime tool to combine with your own structure, volume, or price action
analysis.
- All signals repaint only within the current forming bar. Once a bar
closes and barstate.isconfirmed is true, flip labels and zones are final.
🔹 Risk Disclosure
This indicator is provided for educational and analytical purposes only.
It is not financial advice. Trading involves substantial risk. Past
behavior of regime transitions does not guarantee future performance.
Always use proper risk management and never risk more than you can afford
to lose. Indicator

Iteratively Reweighted Least Squares (IRLS) [Jamallo]Author's Note: This script is published as a unique mathematical contribution to PulseWire's open-source public library. It is intended to introduce a novel application of a robust statistical method for the community and developers to study, adapt, and build upon, rather than to serve as a standalone, out-of-the-box trading strategy.
Introduction
Almost all moving averages and smoothing filters in technical analysis treat historical price data equally or apply a fixed mathematical decay (like an EMA). The problem? A massive, anomalous wick or a sudden volatility spike will inevitably drag the average away from the true underlying market consensus.
Enter Iteratively Reweighted Least Squares (IRLS) .
IRLS is a robust statistical method that calculates a "consensus" price by actively identifying and down-weighting outliers. Instead of letting a large wick distort the line, the algorithm assigns less weight to prices that deviate furthest from the current estimate. The result is a filter that cuts through noise, ignores price-distant spikes, and naturally locks onto the dominant, high-density price levels.
How It Works
The indicator uses the Hardy weight function to determine how heavily each historical candle influences the current estimate. On every bar, the algorithm checks the distance of each sample from the current consensus and iteratively refines the line until it converges on a robust mean. Epsilon — the outlier rejection scale — is derived dynamically from the average High–Low range, keeping the filter dimensionless and consistent across all instruments and timeframes.
Parameters
Window Size (N) : The rolling lookback window of historical samples the kernel considers. Larger values produce a smoother, slower-responding line.
Sparsity (s/N) : The core behavioral control. Dictates the fraction of the window allowed to "vote" on the estimate.
Low Sparsity (e.g., 0.1) : Only the 10% of samples closest to the current estimate participate. Produces a snappy, selective line that locks tightly onto the most dominant price cluster.
High Sparsity (e.g., 1.0) : All samples participate, resulting in a smoother, more conventional robust mean.
Gamma (ε scale) : Controls the strength of outlier rejection. Lower values enforce harsh, median-like rejection. Higher values soften the rejection toward a standard weighted mean.
Iterations : The number of reweighting convergence passes per bar. 2–3 is sufficient for practical convergence.
Potential Applications
The Hardy IRLS filter provides a unique lens into market structure by shifting the focus from simple time-averaged prices to spatial price consensus. Because it rejects price-distant wicks and noise spikes by design, it can serve as a foundation for:
Custom trailing stops
Dynamic support and resistance trackers
Baseline trend or regime filters
Feel free to inspect the open-source code, experiment with extreme sparsity and gamma settings, and integrate the IRLS core into your own quantitative projects.
References
Li Shuang, "Sparse Representation of Hardy Function by Iteratively Reweighted Least Squares," 2020 International Symposium on Computer Engineering and Intelligent Communications (ISCEIC), IEEE, 2020. DOI: 10.1109/ISCEIC51027.2020.00020
Indicator

Indicator

AG Pro Previous Day Sweep & Reclaim [AGPro Series]AG Pro Previous Day Sweep & Reclaim
Overview / What it does
AG Pro Previous Day Sweep & Reclaim is an overlay built to map one very specific price behavior around the previous day’s range: a sweep of the Previous Day High (PDH) or Previous Day Low (PDL), followed by a reclaim back inside the level.
The script is designed for traders who want a structured way to observe failed expansion attempts around prior-day liquidity. Instead of treating every break of PDH or PDL as continuation, this tool focuses on the opposite question: when price briefly trades beyond a prior-day extreme and then reclaims that level, is the move showing signs of rejection strong enough to deserve attention?
The core idea is intentionally narrow. This is not a broad market-structure engine, not a support/resistance dashboard, and not a general breakout system. Its purpose is to isolate a specific sequence: sweep -> reclaim -> quality assessment. That single workflow helps keep the script readable and functionally distinct.
Signals can be confirmed on the same bar or on the next bar, depending on user preference. Once a reclaim is confirmed, the script assigns a quality score, draws a directional arrow, prints a reclaim label, and keeps the visual structure compact enough for practical chart work across intraday and higher timeframes.
Unique Edge
The distinguishing feature of this script is that it does not simply plot PDH and PDL, and it does not label every break as meaningful. It attempts to separate ordinary range interaction from failed liquidity grabs by requiring reclaim confirmation and then grading the event.
Its logic is centered on reversal-quality mapping rather than static level display. That means the script does more than show where the previous day’s extremes are located. It evaluates whether the move through those extremes was shallow or excessive, whether the reclaim was weak or decisive, whether wick behavior supports rejection, whether volume was comparatively active, and whether the event occurred inside the selected session context.
Another practical edge is the confirmation flexibility. Some traders prefer immediate reclaim behavior on the same bar. Others want one additional bar for confirmation. This script supports both approaches, plus an Either mode for broader detection.
The visual side is also deliberately managed. Reclaim labels, arrows, guide lines, sweep boxes, label spacing controls, visible label limits, and HTF label filtering are included so the output remains usable instead of turning into uncontrolled chart clutter.
Methodology
The script retrieves the previous day’s high and low and tracks live interaction with those two reference levels.
Bullish reclaim logic begins with a downside sweep:
- price trades below the Previous Day Low
- price then closes back above the Previous Day Low
- confirmation can occur on the same bar, on the next bar, or by either method depending on settings
Bearish reclaim logic mirrors that process:
- price trades above the Previous Day High
- price then closes back below the Previous Day High
- confirmation follows the selected reclaim mode
After confirmation, the script computes a quality score from multiple components. These components are intended to give structure to the event rather than to claim certainty about future direction.
The quality model includes:
- sweep depth relative to ATR
- reclaim strength within the bar range
- rejection wick fraction
- relative volume versus a moving average baseline
- bar range relative to ATR
- urgency factor for same-bar versus next-bar confirmation
- candle body bias
- session participation
The final score is normalized to a 0-100 scale and translated into a simple tier:
- A
- B
- C
- D
This score is not meant to be a prediction engine. It is a ranking tool that helps organize reclaim events by relative quality under the script’s own rules.
Session filtering is available because many traders only want to evaluate sweep-and-reclaim behavior during specific active windows. London, New York, custom sessions, or unrestricted monitoring can be selected.
For chart usability, the script also includes:
- previous day range fill
- optional reclaim guide lines
- optional sweep boxes
- reversal arrows
- reclaim labels
- summary panel
- visible label limits
- HTF smart label filtering
- minimum bar spacing between same-side labels
Signals & Alerts
The script produces two primary confirmed event types:
1. Bullish Previous Day Sweep & Reclaim
A downside sweep through PDL followed by a reclaim back above that level.
2. Bearish Previous Day Sweep & Reclaim
An upside sweep through PDH followed by a reclaim back below that level.
When enabled, the chart can display:
- directional reclaim arrows
- reclaim labels with score, tier, and confirmation mode
- sweep zone boxes
- short reclaim guide lines
Built-in alerts are included for:
- Bullish Previous Day Sweep & Reclaim
- Bearish Previous Day Sweep & Reclaim
These alerts are tied to confirmed reclaim conditions defined by the selected confirmation mode and minimum quality threshold.
Key Inputs
Reclaim Confirmation
Choose whether confirmation must occur on the Same Bar, Next Bar, or Either.
One Signal Per Side / Day
Limits repeated signals of the same side within a single day.
Use Session Filter
Restricts detection to the selected session environment when desired.
Minimum Quality Score
Filters out lower-ranked reclaim events.
ATR Length / Volume SMA Length
Inputs used by the quality model.
Ideal Sweep Depth (ATR) / Maximum Sweep Depth (ATR)
Define how the script evaluates sweep depth quality.
Label and Visual Controls
Manage font size, offset, sweep boxes, guide lines, visible label count, and general chart cleanliness.
HTF Smart Label Filter
Helps reduce label overload on daily, weekly, and monthly charts.
Minimum Bars Between Same-Side Labels
Introduces spacing between repeated bullish or bearish reclaim labels to prevent visual stacking.
Limitations & Transparency
This script is an analytical overlay. It is not a strategy, not an execution model, and not a guarantee of reversal.
A reclaim of PDH or PDL can still fail. Markets can continue trending after a sweep, especially during strong directional conditions, news-driven volatility, or low-liquidity distortions. For that reason, the quality score should be interpreted as an internal event-ranking framework, not as proof of future performance.
Session settings matter. Timeframe context matters. Confirmation mode matters. Label filters also affect what is visible on the chart, especially on higher timeframes. Users should understand that changing these inputs changes the strictness and presentation of the output.
This tool does not use order book data, broker-specific execution data, or hidden liquidity metrics. It works entirely from chart-based price and volume inputs available in Pine.
It is also important to note what this script does not attempt to do:
- it does not classify overall market regime
- it does not replace broader structure analysis
- it does not define entries, stops, or exits for the user
- it does not evaluate multi-level confluence outside its own reclaim framework
In short, it is a focused map for previous-day sweep and reclaim behavior, nothing more and nothing less.
Risk Disclosure
This script is for chart analysis and educational use only. It does not provide financial, investment, legal, or tax advice.
All trading decisions involve risk. Past price behavior around previous-day levels does not guarantee future results. Users should apply their own confirmation process, risk management rules, and market context analysis before acting on any chart signal.
Always test settings carefully and use the tool as one component inside a broader decision-making process, not as a standalone basis for trading.
Indicator

AG Pro Engulfing Candle Quality [AGPro Series]AG Pro Engulfing Candle Quality
Overview / What it does
AG Pro Engulfing Candle Quality is a price action overlay designed to detect bullish and bearish engulfing candles and then grade them through a structured quality framework instead of treating every engulfing event as equally important.
Rather than marking all engulfing candles with the same visual weight, this script evaluates whether the candle shows characteristics that may make the event more meaningful in context. The goal is to reduce low-value pattern noise and help the user focus on engulfing candles that display stronger internal structure and better surrounding conditions.
The script can color qualifying candles, display score labels directly on the chart, add optional background emphasis, and summarize recent signal state through an information panel. This makes it suitable for traders who want a cleaner way to review engulfing behavior without turning the chart into a generic pattern map.
In practical use, the script is not intended to predict direction on its own. It is designed as a filtering and chart-reading aid for users who already work with structure, liquidity, support/resistance, trend context, or discretionary execution rules.
Unique Edge
Many engulfing tools stop at pattern detection. This script takes a different approach by treating engulfing candles as a quality event rather than a binary event.
Its core difference is the scoring model. Each qualifying candle is evaluated through a multi-factor framework that can include relative volume behavior, body-to-range efficiency, prior directional context, engulf strength, and optional support/resistance proximity. This creates a 1-10 quality score that helps separate weaker engulfing events from stronger ones.
The result is a more selective workflow:
- detect the pattern,
- evaluate the candle quality,
- display only the events that meet the user’s threshold,
- and keep the chart focused on higher-interest formations.
This makes the script different from simple engulfing markers, basic candlestick libraries, or broad pattern collections. Its purpose is not to label everything. Its purpose is to rank and filter.
Methodology
The script identifies bullish and bearish engulfing conditions using configurable detection logic. Users can choose a stricter close-based interpretation or a broader wick-based interpretation depending on how selective they want the pattern engine to be.
Once an engulfing candle is detected, the script evaluates the event with a weighted quality framework. The conceptual components include:
1. Relative volume
The candle is compared against a moving average of volume. A candle that forms with stronger-than-normal participation can receive a higher quality contribution than one forming on ordinary or weak activity.
2. Body efficiency
The candle body is evaluated relative to the full range. A larger, more decisive body may indicate stronger commitment than a candle with excessive wick noise and a relatively small real body.
3. Prior directional context
The script reviews recent directional pressure over a user-defined lookback window. This helps distinguish engulfing candles that appear after a more meaningful opposing move from those that form in flatter or less informative conditions.
4. Engulf strength
The script can incorporate how convincingly the current candle overtakes the prior candle structure, adding another layer beyond simple pattern recognition.
5. Optional support/resistance proximity
Users can enable an additional contextual bonus when the engulfing event forms near pivot-derived support or resistance areas.
These components are normalized into a score from 1 to 10. The score is then used for chart display, filtering, and alerts. This means the script is not simply asking whether an engulfing candle exists. It is asking whether the engulfing candle appears to have enough internal and contextual quality to deserve attention.
Signals & Alerts
The script can display:
- bullish engulfing events,
- bearish engulfing events,
- candle coloring for qualified signals,
- optional score labels,
- optional background highlights,
- and a chart panel summarizing recent signal state.
Alerts are deterministic and based on confirmed rule conditions inside the script. Users can create alerts for:
- bullish engulfing events,
- bearish engulfing events,
- high-quality bullish engulfing events,
- high-quality bearish engulfing events,
- or any engulfing event that meets the selected minimum score threshold.
As with any chart tool, users should understand that alerts reflect the script’s rules, not an outcome guarantee. An alert means the selected condition has been satisfied according to the methodology. It does not imply that the next market move will be favorable.
Key Inputs
The script includes several controls so users can adapt the tool to different symbols and timeframes.
Important inputs include:
- minimum score required for display,
- label cooldown to reduce visual clustering,
- trend-strength lookback,
- strict close-based or broader wick-based engulf logic,
- bullish and bearish visibility toggles,
- optional support/resistance bonus,
- support/resistance pivot length,
- ATR-based proximity setting,
- scoring weights for volume, body efficiency, trend context, and engulf strength,
- volume average threshold,
- body/range threshold,
- color controls for bullish, bearish, and score states,
- label size,
- background highlight toggle,
- candle-coloring toggle,
- score label visibility,
- panel visibility, position, font size, and theme,
- and minimum score required for alerts.
These inputs allow the user to keep the script conservative and selective, or make it more permissive when reviewing more active charts.
Limitations & Transparency
This script is a rule-based visual analysis tool. It does not know future price action, and it does not confirm trade quality on its own.
Several points are important:
- An engulfing candle is still a local pattern. It can fail, especially in noisy or low-liquidity environments.
- Strong scores do not guarantee continuation or reversal.
- The support/resistance context is approximate and derived from pivot logic, not from a universal market map.
- Volume behavior can vary across markets and data feeds.
- Different timeframes can produce very different signal density and quality distribution.
- The script is designed for confirmation and filtering, not for fully automated decision-making.
Users should treat the score as a structured quality estimate, not as a promise. In many workflows, the script is most useful when combined with broader context such as market structure, trend bias, higher-timeframe levels, session behavior, or risk management rules.
Risk Disclosure
This script is provided for chart analysis and educational use. It is not financial advice, not an execution system, and not a guarantee of performance.
All trading and investing involve risk. Market conditions can change quickly, and any pattern, score, or alert can fail. Users are responsible for their own analysis, entries, exits, and risk controls.
Use the script as a decision-support tool, not as a substitute for judgment.
Indicator

Indicator

OBV with Kalman Filter Improv [TechnicalZen]Reversals, Breakouts & Re-Entries: OBV with Kalman Filter Improv
What This Indicator Does
This indicator transforms On-Balance Volume into a visual momentum instrument. Raw OBV is normalized to a 0-100 scale, rendered as stair-step candles with a continuous color gradient, and overlaid with a dual Kalman-filtered ribbon that tracks the flow trend with adaptive precision.
The result is a single pane that answers three questions at a glance: Is volume flow accumulating or distributing? How strong is the conviction? Where are the reversal, breakout, and re-entry points?
No footprint data required. No premium subscription needed. Pure price action and volume.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Why OBV Matters More Than Raw Volume
Raw volume bars tell you how much traded. They do not tell you which direction the volume was pushing. A high-volume bar during a selloff looks identical to a high-volume bar during a breakout rally.
On-Balance Volume assigns direction. When price closes up, the bar's volume is added. When price closes down, it is subtracted. The running total — OBV — reveals the persistent pressure beneath the surface. Rising OBV with flat price means accumulation. Falling OBV with rising price means distribution. These divergences are invisible on a standard volume histogram.
This indicator takes OBV further by normalizing it into a bounded oscillator, smoothing it for clarity, and applying Kalman filtering for adaptive trend detection.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
How It Works
The indicator processes OBV through four stages.
Stage 1 — Normalize to 0-100
Raw OBV is an unbounded cumulative number that grows indefinitely. This makes it difficult to compare across time periods or instruments. The indicator applies a rolling min-max normalization over a configurable lookback window (default 100 bars), mapping OBV into a 0-100 scale.
At 100, OBV is at its highest point within the lookback. At 0, its lowest. At 50, it sits at the midpoint of its recent range. This creates a bounded oscillator from a trending series.
Stage 2 — Stair-Step Candles
The normalized OBV is rendered as candles where each bar's open equals the previous bar's close. This creates seamless stair-step blocks with no gaps and no overlaps. The candles show the direction and magnitude of each bar's contribution to the flow — a tall green block means a strong volume push upward, a tall red block means aggressive selling pressure.
Stage 3 — Position-Based Color Gradient
Candle color is determined by where the candle sits in the 0-100 range, not merely whether it went up or down:
Bright green (above 70) — strong bullish accumulation zone
Yellow-green (50-70) — moderate bullish flow
Yellow (around 50) — neutral, transition zone
Orange (30-50) — weakening flow, bearish lean
Red (below 30) — strong bearish distribution zone
This gradient reveals the market's volume state at a glance. Candles clustered at the top in green signal sustained accumulation. Candles dropping through yellow into red signal a regime shift.
Stage 4 — Dual Kalman Ribbon
Two Kalman-filtered lines track the normalized OBV at different speeds:
Short KF (default 20) — responsive to recent flow shifts
Long KF (default 80) — tracks the underlying flow trend
When the short line is above the long line, the ribbon fills bullish. When below, bearish. The Kalman filter adapts its responsiveness automatically — smoothing through noise while responding quickly to genuine regime changes. This is fundamentally superior to any fixed-length moving average.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Reading the Three Signals
Reversals
A reversal signal appears when candles have been clustered at one extreme (above 70 or below 30) and begin migrating toward the midline. The color gradient shifts — green fading to yellow, or red fading to orange. The Kalman ribbon begins to narrow as the short line approaches the long line. When the ribbon flips color, the reversal is confirmed by volume flow, not just price action.
Breakouts
A breakout appears as a large candle that punches through the 70 or 30 threshold line with expanding body size. The Kalman ribbon is already aligned in the breakout direction (short above long for bullish, below for bearish). This confirms that volume flow is supporting the price move — not just a wick or a fake breakout.
Re-Entries
After a breakout, price often pulls back. During a healthy pullback, the candles dip toward the midline (50) but the Kalman ribbon stays in the trend direction . Candles may turn yellow briefly but do not reach the opposite extreme. When candles resume their original color and move away from the midline, that is the re-entry — volume flow confirms the trend is intact.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Why Kalman Filtering — Not EMA, SMA, or Hull
Traditional moving averages apply a fixed smoothing recipe regardless of market conditions. In a quiet market, they lag. In a volatile market, they whipsaw. The trader is forced to manually change the length setting as conditions change.
The Kalman filter solves this structurally. It maintains an internal estimate of both the value and its uncertainty . On every bar, it computes a gain that automatically balances between trusting the new data and trusting its prediction. When data is noisy, the gain drops and the filter smooths aggressively. When a genuine shift occurs, the gain rises and the filter responds immediately.
Two parameters control this behavior:
R (Measurement Noise) — how much noise is expected in each bar's data. Higher values produce smoother output.
Q (Process Noise) — how quickly the underlying trend is expected to change. Higher values allow faster adaptation.
The dual-line ribbon (short KF vs long KF) combines the adaptive smoothing with trend direction detection. The crossover of two Kalman-filtered lines is more reliable than traditional MA crossovers because the filter has already absorbed the noise before the crossover happens.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Reading the Indicator
The Candles
Green blocks at top — strong sustained buying pressure. Trend is healthy.
Red blocks at bottom — strong sustained selling. Downtrend confirmed by volume.
Yellow/orange blocks at midline — indecision. Flow is balanced. Wait for direction.
Color transition — the gradient shift (green to yellow, or red to orange) often leads price by several bars.
The Kalman Ribbon
Green fill (short above long) — volume flow trend is bullish
Red fill (short below long) — volume flow trend is bearish
Ribbon narrowing — trend weakening, potential flip ahead
Ribbon widening — trend conviction increasing
The Threshold Lines
70 line — overbought in volume flow terms. Sustained presence above = strong trend, not necessarily a sell signal.
50 line — equilibrium. Transitions through this level signal regime changes.
30 line — oversold in volume flow terms. Sustained presence below = strong downtrend.
Line colors match the candle gradient — they shift with the regime.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Key Settings
Normalization Lookback (default: 100)
Rolling window for min-max scaling. Higher values produce smoother oscillation with fewer extremes. Lower values make the indicator more reactive to recent volume changes.
HA Smoothing Passes (default: 1)
Number of additional smoothing passes on the normalized OBV. 1 = standard stair-step. 2-3 = smoother candles with less noise.
Short KF / Long KF Length (default: 20 / 80)
Controls the responsiveness of the two Kalman lines. The gap between them determines how quickly the ribbon detects trend changes.
Measurement Noise R (default: 0.01)
Higher = smoother Kalman output. Lower = more reactive to each bar.
Process Noise Q (default: 0.10)
Higher = faster adaptation to regime shifts. Lower = more rigid trend following.
Upper / Lower Threshold (default: 70 / 30)
Defines the overbought/oversold boundaries for the volume flow oscillator.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Divergence — The Most Powerful Signal
When price makes a new high but the OBV candles fail to reach the upper zone (or are falling), volume is not confirming the move. This bearish divergence often precedes reversals by several bars. The Kalman ribbon will begin narrowing before the price chart shows any weakness.
Conversely, when price makes a new low but OBV candles hold above the lower zone or begin rising, that is bullish divergence — accumulation is happening beneath the surface.
The gradient coloring makes these divergences immediately visible. Price may look strong, but if the candles are orange instead of green, the volume story disagrees.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What This Indicator Is Not
It does not generate automated buy or sell signals . It provides visual regime information for the trader to interpret.
It does not use footprint or order flow data . It is built on standard OBV which infers direction from price close. For actual bid/ask decomposition, a footprint-based indicator is required.
It does not predict future price direction . It reveals the current state and trend of volume flow. What the market does with that flow is never guaranteed.
It is not a standalone trading system . It is a confirmation and divergence detection tool designed to complement price action analysis.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice, and it does not constitute a recommendation to buy, sell, or hold any financial instrument.
All trading involves risk. Past performance of any signal, regime detection system, or volume analysis mechanism does not guarantee future results. The normalized OBV readings, Kalman-filtered trend lines, and color gradient zones represent a computational assessment of publicly available price and volume data. They are not predictions and should not be treated as certainties.
On-Balance Volume assigns all of a bar's volume to one direction based solely on whether the close was higher or lower than the previous close. This is an approximation. A bar that closes up by one tick with heavy selling throughout will register as entirely bullish volume in OBV. Traders should be aware of this limitation.
The Kalman filter parameters (R and Q) affect responsiveness. Poorly tuned parameters can produce either excessive lag or excessive noise. The default values are designed for general use but may require adjustment for specific instruments or timeframes.
No indicator, algorithm, or model can account for all market variables including liquidity events, news-driven gaps, exchange outages, or sudden regime changes. Traders should always use independent risk management, position sizing, and their own judgment before entering any trade.
By using this indicator, you acknowledge that you are solely responsible for your own trading decisions and that the authors accept no liability for any losses incurred.
Indicator

Footprint Interpreter [TechnicalZen]Footprint Interpreter
⚠ Requires PulseWire Premium or Ultimate subscription. This indicator uses request.footprint() which is not available on free or Essential plans.
What This Indicator Does
The Footprint Interpreter reads real order flow — actual buy-side and sell-side execution data from PulseWire's footprint engine — and translates it into a visual language that reveals what the market is doing beneath the surface of price action.
You do not need the footprint chart open. You do not need to read bid/ask ladders, decode volume profiles, or interpret heat maps. The indicator extracts the essential signal from footprint data and presents it as candles, a Kalman-filtered trend ribbon, and a regime engine — all in a single pane.
The core question it answers: "Where is the real money flowing, and is it accelerating or decelerating?"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Why Footprint Data Matters
Price tells you where the market went. Volume tells you how much participated. But neither tells you who was the aggressor .
Every trade has a buyer and a seller. Footprint data decomposes each bar's volume into buy-side executions (orders hitting the ask) and sell-side executions (orders hitting the bid). The difference — the delta — reveals which side was actively pursuing fills.
This matters because:
Absorption — Price goes sideways while one side relentlessly absorbs the other's aggression. Invisible on a price chart. Clearly visible in footprint delta.
Pre-breakout accumulation — Before a move begins, aggressive buying or selling often builds in the delta while price hasn't yet responded. The Footprint Interpreter catches this divergence.
Exhaustion — A strong price trend continues but the delta weakens. The aggressive side is running out of conviction. The indicator's regime engine detects this deceleration.
Confirmation — Price breaks a level and the delta confirms with expanding aggression in the same direction. Confidence in the move increases.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
How It Works
The indicator runs three engines simultaneously, each operating on raw footprint data — no price-derived inputs.
Engine 1 — Footprint Delta (FPD) Candles
The cumulative footprint delta is computed bar by bar: each bar's buy volume minus sell volume, accumulated over time. This running total is detrended by subtracting a slow moving average so the display oscillates around zero rather than growing indefinitely.
The result is plotted as candles. Green candles mean the FPD rose during that bar (net buying pushed the cumulative total higher). Red candles mean it fell. The candle body directly represents the flow direction and magnitude.
Engine 2 — Dual Kalman Ribbon
Two Kalman-filtered lines track the FPD at different speeds:
Short KF (default length 20) — responsive, tracks recent flow shifts
Long KF (default length 80) — stable, tracks the underlying flow trend
When the short KF is above the long KF, the ribbon fills bullish. When below, bearish. The ribbon's width indicates the strength of the directional conviction — a wide ribbon means the fast and slow flow assessments strongly agree.
Engine 3 — Volume-Native DX/ADX Regime
The regime engine is a faithful translation of the classic Directional Movement system into the volume domain. Every component has a proper analog:
Directional Movement — Instead of comparing today's high vs yesterday's high, it compares today's buy volume vs yesterday's buy volume. Is buying expanding ? Is selling expanding? Only the winning side scores — the same competitive logic as the price-based original.
True Range — Instead of max(high-low, |high-close |, |low-close |), it uses max(totalVol, |buyVol-delta |, |sellVol+delta |). This captures both the bar's flow range and the gap from the previous bar's net settlement — detecting sudden flow reversals the way price TR detects overnight gaps.
DI+, DI-, DX, ADX — computed identically to the price version, but fed entirely by volume data.
The result is a four-state regime: Bull Strong, Bull Weak, Bear Strong, Bear Weak — telling you not just which side dominates but whether that dominance is accelerating or fading .
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Why Kalman Filtering — Not Hull, EMA, or SMA
The Kalman filter is fundamentally different from traditional moving averages. A moving average is a fixed recipe: take N bars, weight them, output a number. It has no concept of whether the data it is processing is noisy or clean, fast-moving or stable.
The Kalman filter is an adaptive estimator . It maintains two quantities internally:
State estimate — its current best guess of the true value
Uncertainty estimate — how confident it is in that guess
On every bar, it computes a Kalman gain that automatically balances between trusting the new measurement and trusting its prediction. When the data is stable, the gain drops and the filter smooths heavily. When the data shifts, the gain rises and the filter responds quickly.
This matters for footprint data specifically because volume flow is inherently noisier and burstier than price. A single large institutional order can spike the delta for one bar and vanish the next. Hull or EMA will whipsaw on these spikes. The Kalman filter recognizes the spike as high-uncertainty data and dampens its response — unless the spike is sustained, in which case it adapts.
The two tunable parameters — R (measurement noise) and Q (process noise) — give precise control over this behavior without changing the filter's length or structure.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What It Reveals — Hidden Price Action
The most powerful use of this indicator is seeing what price alone cannot show:
Divergence Between Price and Flow
Price is rising but the FPD candles are falling or flat. This means the price advance is happening on declining aggressive buying — the move is running on fumes. The Kalman ribbon will begin to narrow and eventually flip before price confirms the reversal.
Pre-Breakout Energy
Price is consolidating in a tight range. The FPD candles begin trending directionally with expanding bodies. Aggressive flow is building on one side before the breakout occurs. The regime engine shifts from weak to strong. This gives the trader a heads-up — not a prediction, but evidence of building pressure.
Absorption Detection
Price pushes into a level and stalls. The FPD shows persistent negative delta despite bullish price action — sellers are absorbing every push. The Kalman short line begins diverging from the long line in the opposite direction of price. The regime stays weak or flips. The breakout attempt is likely to fail.
Trend Confirmation
Price breaks out and the FPD confirms: expanding candles in the same direction, both KF lines aligned and rising, regime at Bull Strong. This is the highest-confidence scenario — price and flow agree, and flow is accelerating.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Reading the Indicator
The Candles
Green body — FPD rose during this bar (net buying dominated)
Red body — FPD fell (net selling dominated)
Body size — magnitude of the net flow shift
Position relative to zero — above zero = cumulative flow above its recent average; below = below average
The Kalman Ribbon
Thin line (Short KF) — fast flow tracker, colored by slope
Thick line (Long KF) — slow flow trend, colored by direction
Ribbon fill — bullish when short above long, bearish when below
Ribbon width — wider = stronger conviction, narrower = indecision or transition
The Dashboard
Regime — four-state flow regime (Bull Strong / Bull Weak / Bear Strong / Bear Weak)
Kalman — current Kalman ribbon direction
FPD Position — whether FPD is above or below the fast Kalman line
Vol DX — signed directional strength from the volume DM engine
Bar Delta — this bar's net buy minus sell volume
Buy / Sell Vol — raw buy-side and sell-side execution volumes
Imbalance — ratio of dominant side to weak side
FPD — cumulative footprint delta total
When footprint data is unavailable (instrument or plan limitation), the dashboard title turns red with a warning indicator.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Key Settings
DX/ADX Period (default: 25)
Smoothing length for the directional movement engine. Higher values produce more stable regime readings at the cost of responsiveness.
Detrend Period (default: 50)
Length of the SMA subtracted from FPD for display centering. Does not affect any calculations — purely visual. Higher values show longer-term flow trends. Lower values focus on recent action.
Short KF / Long KF Length (default: 20 / 80)
Controls the responsiveness of the two Kalman-filtered lines. Shorter = more reactive. Longer = more stable. The gap between them determines how quickly the ribbon responds to flow reversals.
Measurement Noise R (default: 0.01)
How much the Kalman filter trusts new data versus its own prediction. Higher = smoother. Lower = more reactive to each bar.
Process Noise Q (default: 0.10)
How quickly the Kalman filter allows its internal state to change. Higher = adapts faster to regime shifts. Lower = more rigid model.
Ticks Per Row (default: 1)
Resolution of the footprint histogram. 1 = maximum precision. Increase for very high-volatility instruments if you encounter data limits.
Value Area % (default: 70)
Percentage of total volume that defines the Value Area in the footprint data. Industry standard is 70%.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Requirements
PulseWire Premium or Ultimate plan (required for request.footprint())
Instruments with footprint data available (most major futures, equities, and crypto pairs)
Pine Script v6
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What This Indicator Is Not
It is not a replacement for the footprint chart. It is a complementary interpretation layer. Traders who read raw footprint data will find additional context here. Traders who do not will gain access to footprint intelligence without needing to learn footprint chart reading.
It does not generate buy or sell signals . It provides directional regime information, flow momentum, and divergence detection. Trade decisions remain with the trader.
It does not predict price direction. It reveals the state of aggressive order flow and how that flow is evolving. What the market does with that information is never guaranteed.
It is not a volume indicator in the traditional sense. It does not use the standard volume series. It uses decomposed bid/ask execution data from PulseWire's footprint engine — a fundamentally different and richer data source.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice, and it does not constitute a recommendation to buy, sell, or hold any financial instrument.
All trading involves risk. Past performance of any signal, regime detection system, or flow analysis mechanism does not guarantee future results. The regime states, Kalman-filtered trend readings, and flow analysis displayed represent a computational assessment of order flow data available through PulseWire's footprint engine. They are not predictions and should not be treated as certainties.
Footprint data availability and accuracy depend on the instrument, exchange, and PulseWire's data feed. The indicator requires a Premium or Ultimate PulseWire subscription. Data gaps, exchange outages, or instruments without footprint support will produce missing or incomplete readings. The dashboard provides a visual warning when footprint data is unavailable.
No indicator, algorithm, or model can account for all market variables including liquidity events, news-driven gaps, exchange outages, dark pool activity, or sudden regime changes. Order flow data represents only the visible portion of market activity — significant volume may execute through channels not captured by footprint data.
Traders should always use independent risk management, position sizing, and their own judgment before entering any trade.
By using this indicator, you acknowledge that you are solely responsible for your own trading decisions and that the authors accept no liability for any losses incurred.
Indicator

AG Pro ADX Trend Pressure [AGPro Series]AG Pro ADX Trend Pressure
Overview / What it does
AG Pro ADX Trend Pressure is an overlay indicator that reframes ADX from a simple trend-strength reading into a pressure-state model. Instead of asking only whether ADX is high or low, the script evaluates how directional pressure is building, persisting, fading, or transitioning. The goal is to make ADX-based information easier to interpret directly on the price chart.
This script is designed for traders who want more structure than a standard ADX line, but without turning the chart into a fully automated signal engine. It combines ADX behavior, DI dominance, persistence, and cooling behavior into a state-driven visual framework. The result is a chart-first tool that emphasizes current pressure conditions rather than isolated threshold events.
The indicator uses a compact pressure ribbon, state labels, background zones, and a summary panel to show whether the market is in Compression, Early Expansion, Bull Pressure, Bear Pressure, Exhaustion, or Transition. These states are not predictions. They are structured interpretations of directional pressure conditions based on the current and recent bar sequence.
Because the script is plotted directly on the chart, it is intended to help with visual context, workflow organization, and directional reading. It can be used as a companion layer for discretionary analysis, structure work, trend continuation review, or pressure-fading observation.
Unique Edge
The main distinction of this script is that it does not present ADX as a standalone oscillator. Instead, it treats ADX as one component inside a broader pressure-state engine.
Its core difference is the shift from:
- “ADX is high or low”
to:
- “directional pressure is building”
- “directional pressure is confirmed”
- “pressure is cooling”
- “dominance is fading”
- “state transition risk is rising”
That distinction matters because many ADX-based tools stop at strength confirmation. This script tries to describe the condition around that strength: whether it is forming, maturing, weakening, or rotating.
Methodology
The script is built around a composite pressure score derived from several internal components:
1) ADX level
The script evaluates the current ADX value as a measure of directional strength participation.
2) ADX slope
It also measures whether ADX is accelerating or decelerating. This helps distinguish between pressure expansion and pressure cooling.
3) DI dominance
The spread between +DI and -DI is used to determine whether one side is meaningfully dominant, rather than merely fluctuating.
4) Persistence
Directional pressure becomes more meaningful when dominance remains intact across multiple bars. The script therefore normalizes persistence and includes it in the state logic.
5) Cooling behavior
The model penalizes conditions where momentum of pressure is fading, DI separation is shrinking, or a prior strong phase is losing quality.
These components are blended into a normalized pressure score and then interpreted through rule-based state conditions.
Pressure States
Compression
Used when ADX is relatively weak, DI separation is limited, and the directional structure is not sufficiently active.
Early Expansion
Used when pressure begins to build but has not yet qualified as confirmed directional pressure.
Bull Pressure
Used when bullish directional dominance is active and the pressure score is strong enough to confirm a bullish pressure phase.
Bear Pressure
Used when bearish directional dominance is active and the pressure score is strong enough to confirm a bearish pressure phase.
Exhaustion
Used when a previously strong pressure phase begins to cool materially and loses quality without yet becoming a clean opposite pressure phase.
Transition
Used when dominance quality deteriorates, directional structure rotates, or the market appears to be moving between pressure states.
Visual Structure
The script uses several chart elements to organize the pressure reading:
Pressure Ribbon
A compact ribbon below price summarizes the active pressure state without requiring a separate pane.
Pressure Curve
The center curve makes the pressure structure easier to read visually and helps distinguish calm phases from active directional phases.
State Labels
Labels appear only on state changes, helping reduce repeated label noise while still marking meaningful transitions.
Background Zones
Optional background zones provide broader regime context for stronger phases.
Summary Panel
The panel reports:
- State
- Pressure Score
- Directional Bias
- Pressure Phase
- Persistence
- Cooling Risk
These fields are intended to help the user interpret the current environment quickly without depending on a single line crossing or a single fixed threshold.
How to use it
This indicator is best used as a contextual tool rather than a standalone trade trigger.
Examples of practical use:
- Identify when a directional move is only beginning to organize
- Separate confirmed pressure from weak expansion
- Observe when a mature pressure phase begins to cool
- Spot when directional quality is fading into transition
- Add structure to trend-following or pullback workflows
Some users may prefer to read Bull Pressure and Bear Pressure as confirmation states, while using Early Expansion and Transition as cautionary context. Others may use Exhaustion to review whether a strong move is beginning to lose internal quality. The script does not enforce a single interpretation model.
Signals & Alerts
The script includes deterministic alert conditions for:
- Bullish Pressure Building
- Bearish Pressure Building
- Pressure State Shift
- Pressure Cooling
- Transition Risk Rising
These alerts are state-based notifications. They are not promises of continuation, reversal, or outcome. Their purpose is to notify the user that the internal pressure regime has changed according to the script’s rules.
Key Inputs
ADX Length
Controls the primary ADX and DMI calculation length.
DI Smoothing
Applies smoothing to directional movement components before pressure analysis.
Pressure Threshold
Sets the score level required before directional pressure can be confirmed.
Neutral ADX Threshold
Defines the area where the script becomes more willing to classify conditions as compression instead of directional pressure.
Cooling Sensitivity
Controls how quickly the script responds to deteriorating pressure structure.
Transition Sensitivity
Controls how readily the script recognizes potential regime rotation or dominance loss.
Persistence Length
Defines how persistence is normalized in the internal score model.
Minimum DI Gap
Sets the minimum meaningful separation between +DI and -DI.
Curve Smooth Length
Adjusts how smooth or reactive the pressure drawing appears on the chart.
Visual Controls
The script also includes display settings for:
- Pressure Ribbon
- Pressure Curve
- Active Pressure Spotlight
- Background Zones
- State Labels
- Label Size
- Panel Theme
- Panel Font Size
- Panel Position
Limitations & Transparency
This script is not a prediction model.
It does not forecast future price direction.
It does not guarantee trend continuation.
It does not guarantee reversal timing.
It does not replace risk management.
Like all state-based indicators, it can respond differently depending on volatility regime, market structure, timeframe, and instrument behavior. Strong trends, choppy ranges, and abrupt news-driven moves may produce very different state sequences.
The pressure score is an internal composite reading. It should not be interpreted as a universal probability measure. A score of 70 does not mean a 70 percent chance of success. It only means the current internal pressure components are stronger than they were in lower-score conditions.
Users should also be aware that background context and label placement are visual aids. The most important output is not the label itself, but the broader relationship between state, pressure score, bias, and how the curve behaves through time.
Who this script may be useful for
This script may be useful for traders who:
- already use ADX or DMI and want more chart context
- want a state-based trend pressure overlay
- prefer workflow tools over one-click signal tools
- want a compact visual reading of directional pressure behavior
It may be less suitable for users looking for a pure oscillator pane, a fully automated strategy, or a single-entry single-exit signal framework.
Risk Disclosure
This indicator is for chart analysis and workflow support only.
It is not financial advice.
It should not be treated as a standalone trade instruction.
Markets are risky, and no indicator can eliminate uncertainty.
Use independent judgment, confirm with your own process, and apply risk management appropriate to your market and timeframe.
Indicator

AG Pro KAMA Efficiency Zones [AGPro Series]AG Pro KAMA Efficiency Zones
Overview
KAMA stands for Kaufman’s Adaptive Moving Average.
AG Pro KAMA Efficiency Zones is built around KAMA not as a simple trend-following line, but as an adaptive market reference for evaluating how efficiently price is moving. Instead of focusing only on direction, the script is designed to classify the quality of directional travel and separate cleaner movement from noisier, lower-clarity conditions.
The core idea is straightforward: markets do not move with the same quality all the time. Some phases show relatively efficient directional travel where price stays organized around an adaptive path. Other phases become mixed, unstable, or reversion-prone, where direction weakens and noise becomes more dominant. This script is designed to map those changes visually through adaptive KAMA-based zones, state labels, and a compact panel that summarizes the current condition.
This makes the tool structurally different from a basic moving average overlay. The objective is not to present KAMA as a one-line signal source. The objective is to use KAMA as the center of a state engine that helps users distinguish efficient trend phases from transitional or noisy environments.
What this script does
AG Pro KAMA Efficiency Zones evaluates price behavior around a Kaufman’s Adaptive Moving Average and organizes that behavior into visual market states. It does this by combining adaptive smoothing, slope behavior, distance from KAMA, and persistence around the KAMA path.
The result is a chart framework that can help answer questions such as:
• Is price moving in an efficient bullish or bearish path?
• Is the market entering a mixed transition phase?
• Has movement quality deteriorated into a noisier reversion-prone environment?
• Is the adaptive path becoming stronger, weaker, or less stable?
By turning those questions into zones and state-based chart feedback, the script aims to improve context rather than replace judgment.
Unique edge
The distinguishing feature of this script is that it does not treat KAMA as a standard moving average. Instead, it uses KAMA as the center of a layered efficiency model.
That model focuses on the quality of movement, not just the existence of movement.
Many tools emphasize momentum, volatility, volume pressure, or overbought/oversold conditions. This script is designed for a different purpose. It is a movement-quality map. It attempts to show whether price is traveling in a relatively efficient path or whether that path is degrading into a noisier condition where directional clarity may be weaker.
This means the script is less about predicting a move and more about classifying the environment in which a move is taking place.
How it works
The script begins with KAMA, or Kaufman’s Adaptive Moving Average. KAMA is useful because it adapts its responsiveness according to market behavior. In cleaner directional phases it can respond more quickly, while in noisier phases it can become more conservative. That makes it a practical centerline for an efficiency-based state model.
On top of KAMA, the script evaluates several components:
1. Efficiency behavior
The script measures how directly price is moving relative to its recent path. This helps estimate whether price action is acting efficiently or becoming more erratic.
2. KAMA slope behavior
The slope of KAMA is normalized so that directional angle can be evaluated in a more consistent way. Stronger and more persistent slope behavior supports higher-quality trend classifications.
3. Price-to-KAMA relationship
Price position around KAMA helps determine whether movement is aligned with the adaptive path or drifting around it without clear structure.
4. Persistence
The script also looks at how consistently price remains on one side of KAMA. That persistence can help distinguish a more stable move from a weaker and less durable one.
These components are blended into a composite efficiency model that drives the active state and the corresponding visual zone.
States and zones
The script classifies market behavior into four main states:
Efficient Bull Trend
This state reflects a comparatively organized bullish environment where price and adaptive slope are aligned in a cleaner upward path.
Efficient Bear Trend
This state reflects a comparatively organized bearish environment where price and adaptive slope are aligned in a cleaner downward path.
Transition
This is a mixed condition. Direction may be weakening, changing, or failing to achieve the quality required for an efficient trend classification.
Noise / Reversion
This state reflects lower movement quality, weaker slope behavior, or a more unstable relationship between price and the adaptive path.
The visual zone structure is designed to reinforce those classifications on the chart. Instead of using only one line, the script builds layered KAMA-centered bands so the user can read not only direction, but also how structured or fragile the current condition may be.
How to read the chart
The KAMA line is the adaptive spine of the script.
The outer and inner bands represent zone structure around that adaptive path. In stronger trend states, the script increases the visual emphasis of the KAMA path and its supporting zone layers. In weaker or more mixed conditions, the script softens those visuals and allows the chart to communicate reduced clarity.
State labels appear when the script confirms a meaningful shift in condition. These labels are intended to highlight a change in market state, not to promise a trade outcome.
The on-chart panel summarizes the active reading using fields such as State, Efficiency, Score Band, Adaptive Bias, Active Zone, and Stability. This gives the user a compact interpretation layer without requiring every decision to be made directly from raw chart inspection.
Key inputs
KAMA Efficiency Length
Controls the lookback used in the KAMA efficiency logic. Lower values react faster. Higher values smooth more noise.
KAMA Fast Response and KAMA Slow Response
Define the adaptive responsiveness range of the KAMA engine.
ATR Length
Used to normalize slope and distance so the tool behaves more consistently across different symbols and volatility conditions.
KAMA Slope Lookback
Controls how the script measures directional slope over time.
Persistence Length
Influences how much consistency price must show around KAMA before a move is treated as more structured.
Efficient Trend Threshold and Noise Threshold
These thresholds help determine when the model classifies a move as higher quality or lower quality.
Zone Band ATR Width
Adjusts the width of the adaptive visual zone.
State Hold Bars
Helps reduce rapid state flipping by requiring a condition to persist before the active state changes.
Panel Font Size and Label Size
Allow visual customization for different chart layouts and monitor sizes.
Alerts
The script includes state-oriented alerts intended to notify the user when market condition changes. These are designed around state transitions and movement-quality shifts rather than promotional “buy now” style messaging.
Examples include bullish and bearish efficiency shifts, transition detection, noise-zone detection, efficiency recovery, efficiency breakdown, and trend strengthening.
Alerts should be interpreted as contextual information. They are intended to support review and analysis, not to function as a standalone decision system.
What this script is not
This script is not a guarantee engine.
It does not predict future price with certainty.
It does not eliminate risk.
It is not a substitute for broader market structure analysis, execution planning, or risk management.
It should not be treated as a self-sufficient entry/exit system without additional confirmation and user judgment.
Limitations and transparency
All adaptive models are sensitive to parameter choices. Changing responsiveness, thresholds, smoothing, or persistence settings can materially affect the way states appear on the chart.
Because the script is state-based, some shifts will naturally occur after the earliest turning point in price. That is part of the tradeoff involved in using confirmation and persistence to reduce noise.
In highly erratic or news-driven conditions, classification can also become less stable. During those periods, transition or noise-oriented readings may occur more often, and users should interpret the visual output in that context.
The script is best viewed as an analytical framework for movement quality and adaptive context, not as a promise of directional success.
Practical use cases
Users may find the script useful for:
• separating cleaner trend phases from mixed or unstable phases
• filtering chart environments before applying another workflow
• evaluating whether direction is gaining or losing efficiency
• adding adaptive context to discretionary analysis
• comparing how different symbols behave around a KAMA-centered efficiency structure
Risk disclosure
This script is for analytical and educational use. It does not provide financial advice, investment advice, or guaranteed outcomes. Market conditions can change quickly, and any indicator can produce false, delayed, or incomplete signals. Users remain responsible for their own decisions, validation process, and risk management.
In short, AG Pro KAMA Efficiency Zones is designed to help read the quality of movement, not just the direction of movement. It uses KAMA as an adaptive reference point and converts that reference into a structured zone and state model so users can assess whether price behavior appears efficient, transitional, or noisy.
Indicator

AG Pro CCI Reversion Quality [AGPro Series]AG Pro CCI Reversion Quality
Overview
AG Pro CCI Reversion Quality is a chart-based analysis framework designed to evaluate the quality of potential mean reversion conditions after meaningful CCI displacement. The script is not built around the simplistic idea that every overextended reading should immediately reverse. Instead, it focuses on whether a stretch condition begins to mature into a more structured, readable, and context-aware reversion environment.
The core objective is to separate raw CCI extremes from higher-quality reversion candidates. In many conventional oscillator workflows, a high positive or negative CCI reading is treated as a direct trigger. This script does not follow that approach. A strong stretch may still reflect healthy continuation, trend persistence, or unstable counter-trend conditions. For that reason, the script evaluates the quality of the reversion setup rather than the existence of a threshold breach alone.
The indicator is built for users who want a more selective framework around mean reversion. It examines whether price has deviated enough from an EMA-based reference mean, whether the reversion path remains meaningful, whether trend pressure is working against the setup, and whether recent structure suggests a cleaner or more crowded return path. The output is a contextual quality view rather than a one-dimensional overbought or oversold label.
This means the script should be understood as a decision-support tool for chart study and workflow organization. It is intended to help users distinguish between conditions that are immature, weak, blocked, developing, or stronger within a mean reversion context. It does not guarantee that price will reverse, and it does not assume that every stretch condition deserves a fade.
What the script does
The script monitors CCI displacement and then evaluates whether that displacement is beginning to convert into a more credible reversion environment. In practical terms, the workflow asks a sequence of questions. First, is there a meaningful stretch? Second, is the move beginning to lose directional quality or show reversion readiness? Third, is there enough room back toward the mean to matter? Fourth, is dominant trend pressure still strong enough to reduce the attractiveness of fading the move? Fifth, is nearby structure relatively clean, or is the path crowded by congestion and repeated mean interaction?
By combining those layers, the script attempts to reduce the noise associated with raw oscillator threshold logic. A positive stretch does not automatically imply a short setup. A negative stretch does not automatically imply a long setup. The script instead checks whether the overall reversion context is becoming more coherent.
This framework can be useful in discretionary workflows where users want to prioritize cleaner mean reversion candidates over mechanically reacting to every extreme oscillator reading. It is also useful for users who prefer a visual structure that summarizes context rather than one that continuously emits aggressive directional prompts.
Unique edge
The unique edge of this script is that it treats CCI as the starting point of the analysis, not the end point. Many oscillator-based studies stop at the detection of an extreme value. AG Pro CCI Reversion Quality continues beyond that stage and asks whether the extreme is maturing into a higher-quality reversion environment.
This makes the tool different from a basic CCI threshold script, a classic overbought/oversold marker, or a simple cross-based reversal detector. The script is not designed to label every extreme. It is designed to grade the environment around the extreme.
The indicator also keeps a clear distinction between stretch direction and stretch intensity. A market may be in a positive stretch or a negative stretch, but the degree of that stretch can still vary between mild, extended, and extreme conditions. In parallel, the script separately estimates reversion quality, trend pressure against the reversion idea, distance back to the reference mean, and structural friction. This multi-layered structure is meant to help users avoid treating all extreme readings as equivalent.
Another important difference is that the script explicitly accounts for context that can weaken a counter-trend reversion idea. Strong directional pressure, repeated interactions with the mean, and crowded local structure can all reduce the clarity of a fade. Instead of ignoring those conditions, the model reflects them in the displayed quality state.
Methodology
The script begins with a CCI calculation and identifies whether price is in a neutral regime, a positive stretch regime, or a negative stretch regime. It then classifies stretch intensity according to threshold-based displacement logic. The purpose of this stage is to define whether the market is extended enough for reversion analysis to become relevant.
From there, the indicator evaluates reversion readiness. This layer looks for signs that the stretch may be beginning to lose directional quality. Rather than relying on one isolated condition, the readiness component blends several pieces of information, such as directional change in CCI behavior, body structure, wick behavior, and simple stalling characteristics. This is meant to produce a broader view of whether reversion conditions are starting to organize.
The model then evaluates distance to mean. This matters because a reversion concept is less meaningful if price is already too close to the reference mean, while a more meaningful opportunity may exist when displacement remains materially extended. The reference anchor used here is an EMA-based mean, and the script also visualizes an ATR-based reversion zone around that mean.
Trend pressure is treated as a separate contextual penalty. This is a key design choice. A mean reversion idea that opposes strong directional pressure may be materially weaker than a similar stretch in a less forceful trend environment. The script therefore estimates how much prevailing directional pressure works against the reversion idea and reduces the effective quality view accordingly.
Structure friction is also included. This component is intended to reflect whether the recent path is relatively clean or crowded. Repeated interaction with the mean, compression, and congestion can reduce the clarity of a reversion path. Instead of assuming that all distance from the mean is equally attractive, the script attempts to reflect when the path back toward the mean is noisy or structurally inefficient.
All of these elements are combined into a composite Reversion Quality view. The final output is then expressed through panel information, chart labels, the zone display, and state logic.
State model
The state model is intentionally selective. It is meant to help users read context, not flood the chart with constant directional calls.
NEUTRAL indicates that there is no active stretch regime currently qualifying for reversion analysis.
WATCH indicates that a stretch exists and some reversion characteristics are forming, but the overall quality remains in an earlier or less mature stage.
READY indicates that the reversion quality has advanced enough to meet the preferred threshold defined by the user inputs. This does not imply certainty or guaranteed reversal. It simply means that the model sees a stronger monitored reversion context than it did at lower-quality states.
WEAK indicates that a stretch may exist, but the quality remains below the preferred threshold. This state is intentionally treated with caution.
BLOCKED indicates that the environment is materially impaired by elevated opposing pressure or structural friction. In other words, the stretch may exist, but the model does not consider the reversion context clean enough.
These states are designed to provide a workflow hierarchy rather than a promise hierarchy. The purpose is to help users prioritize and interpret, not to replace judgment.
Visual structure
The reference mean is displayed as an EMA-based mean line. Around it, the script plots an ATR-based reversion zone. This zone is intended to help users see the region surrounding the mean that is being used as the reversion anchor. The zone becomes more visually expressive when an active stretch context is present and more neutral when no active stretch is in focus.
The on-chart labels are designed to show the dominant local state when relevant. Depending on user settings, the script can display WATCH, READY, BLOCKED, and optionally WEAK labels. The label system is filtered by spacing logic so the chart remains more readable and does not endlessly repeat the same message on adjacent bars.
The information panel summarizes the active context. It is designed to show state, current reversion side, stretch direction, stretch intensity, reversion quality, trend pressure versus reversion, distance to mean, structure friction, setup bias, and a short risk note. The panel can also be repositioned from the settings, allowing the user to adapt placement to chart layout and personal preference.
The chart guide labels are included to make the mean and zone easier to identify visually. Their role is descriptive, not predictive.
Signals and alerts
The alert structure is built around monitored reversion states rather than trading promises. The available alert conditions include Ready Long Reversion, Ready Short Reversion, Watch Long Reversion, Watch Short Reversion, Reversion Quality Upgrade, and Reversion Quality Breakdown.
These alerts are designed to notify the user that the modeled reversion environment is changing. They should not be interpreted as guaranteed turning points. The script does not know future price behavior and does not claim to identify all reversals. It only identifies conditions that fit its internal reversion-quality logic.
Because different assets, sessions, and volatility structures behave differently, users should always validate whether the alert behavior matches their own chart-reading process and timeframe preference.
Key inputs
The script includes inputs for CCI length, reference mean length, multiple stretch thresholds, READY and WATCH thresholds, trend pressure filter strength, structure friction lookback, reversion zone width, label spacing, background highlight transparency, and visual display controls.
These inputs are intended to let users adapt the framework to different instruments and chart conditions. The script is not presented as universally optimal out of the box for all markets or all styles. Some users may prefer a more selective threshold structure, while others may prefer earlier WATCH states. Similarly, different assets may respond differently to the same mean length or zone width.
The visual controls are included to help users keep the chart readable. Users can enable or disable signal labels, WATCH labels, WEAK labels, background highlights, guide labels, and the information panel. Label size and panel text size are also configurable.
How to interpret the tool
A useful way to interpret the script is to think of it as a contextual filter around reversion conditions. A high stretch value alone is not enough. The quality concept becomes more meaningful when stretch, readiness, distance to mean, and contextual penalties begin to align.
If the script is neutral, it is signaling that no active stretch regime is currently in focus. If it is in WATCH, the script sees an emerging reversion environment, but one that may still be early or incomplete. If it reaches READY, the model is identifying a stronger monitored reversion context according to its current thresholds. If the state is BLOCKED, the model is emphasizing that pressure or structure is reducing the attractiveness of the reversion idea.
The panel is especially helpful for separating why a setup is weak. In some cases, quality may be limited because distance to mean is too thin. In other cases, trend pressure may still be high. In others, structure friction may be elevated even if displacement exists. This decomposition is intentional because it gives the user a more transparent framework than a single opaque signal.
What this script is not
This script is not a simple CCI threshold indicator. It is not designed to mark every move above or below a fixed level as a reversal opportunity.
It is not a guaranteed turning-point detector. Markets can remain extended for longer than expected, and strong trends can continue even after oscillator readings become extreme.
It is not a standalone execution system. The script does not account for all trade management variables, liquidity considerations, news catalysts, slippage, or user-specific risk parameters.
It is not a substitute for independent chart reading. It is intended to support analysis, not replace it.
Limitations and transparency
Like any chart-based model, this script has limitations. CCI extremes can persist, and a stretch can remain extended longer than a reversion-focused framework may prefer. In strong continuation phases, what appears to be a mature stretch can still fail to revert meaningfully.
The reversion-quality approach is also sensitive to the interaction between volatility, price structure, and trend behavior. Different markets can produce different behavior profiles. A configuration that feels balanced on one asset or timeframe may feel too early or too conservative on another.
The structure friction layer is an estimate, not an objective statement of future path quality. The trend pressure component is likewise a contextual model, not a certainty model. The script uses observable chart information to organize conditions, but it does not predict future order flow.
Users should also understand that visualization choices are meant to improve readability, not imply certainty. The mean line, reversion zone, state labels, and background highlights are interpretive aids.
Risk disclosure
This script is provided for chart analysis, research, and workflow support. It does not provide financial, investment, legal, or tax advice. Nothing displayed by the script should be interpreted as a promise of outcome or a guarantee of reversal.
All markets involve risk. Mean reversion concepts can fail, continuation can persist, and volatility conditions can change rapidly. Users should apply independent judgment, appropriate risk controls, and broader market context before acting on any chart-based interpretation.
The script should be used as one analytical layer among many, not as a self-sufficient decision engine.
Summary
AG Pro CCI Reversion Quality is a selective mean reversion quality framework built around CCI displacement, EMA-based mean reference logic, distance-to-mean context, trend pressure, and structure friction. Its purpose is not to say that every extreme should fade. Its purpose is to help identify when an extreme begins to organize into a more structured reversion environment.
The model is intended for users who want a cleaner, more context-aware interpretation of stretch conditions than a traditional threshold-only oscillator can provide. By separating stretch direction, stretch intensity, reversion quality, and contextual penalties, the script aims to make mean reversion analysis more structured, more transparent, and more selective.
Indicator

ROC Regime Filter [HYPR-run]DESCRIPTION:
A reliable universal regime filter across all assets, all timeframes. Rate of change filter that classifies price action into regime states. A suite of smoothed EMAs feeds a layered ROC engine that detects when fast momentum aligns with, or diverges from, slow structure. The filter measures; it doesn't predict. When all ROC layers stack in the same direction (parallel alignment), the trend is confirmed by arithmetic. When fast ROC diverges from slow, the regime shifts. The lag is the cost of certainty. Sweet spot is 1hr to 1D; lower timeframes get noisy.
DISCOVERING EDGE
In order to gain a persistent, mechanical edge in which trades are permitted and which are filtered out, we explored a more meaningful expression of regime classification using layered multiple ROC periods to detect when fast momentum aligns with or diverges from slow structure. This resilient regime filter has been the backbone for our automated strategies since 2021.
LAYERED ROC vs SINGLE-INDICATOR REGIME
A single RSI or ADX reading flattens the market into binary (trending/not trending). Layered ROC alignment separates six distinct states, each with different permissible trade types, so the filter matches the complexity of what the market is actually doing. Six regime states gate every decision; the combination of regime color + ROC slope is the trade filter, not either one alone. Phase transitions (green to yellow, orange to green) are the actionable signals; static states just confirm what's already happening. Webhook alerts fire on macro pivots (accumulation/distribution inflections) at the regime transition, not after the move has run.
FEATURES
- Six regime states from layered ROC alignment (see color legend below)
- Early trend detection when all layers accelerate in parallel
- ROC 200 line with regime-colored gradient fill
- Macro pivot detection: strong trend exhausting into sideways, scored by where ROC 200 sits relative to its all-time range
- Accumulation/distribution context in dashboard
- ROC 200 pivot high/low divergence markers on main chart
- Consolidation markers with conviction scoring (normal vs extreme)
- Gradient candle overlay (ROC Sticks; toggle on/off)
- Two-row dashboard: row 1 = macro context (accumulation/distribution), row 2 = current regime state with directional qualifier and slope
- Dashboard dark/light theme toggle for any chart background
- Full ROC stack in data window for manual analysis
- Webhook alerts on macro pivots (accumulation/distribution)
HOW IT WORKS
ROC alignment is the core signal. When all layers stack in the same direction, that's strong trend territory (green). When fast ROC diverges from the slower layers while slow structure still holds, the engine reclassifies from strong trend to sideways (yellow), flagging a pullback rather than trend failure. Deeper corrections where intermediate layers fall below the structural anchor fire orange, indicating a correction within the primary trend. Macro pivots fire at the inflection: strong trend exhausting into sideways for the first time. The consolidation score layers this with where ROC 200 sits in its all-time range. Consolidation at extreme ROC readings (bright green/red dots) is the highest-conviction signal for reversal.
HOW TO USE
Read the regime color, not the price. Green = strong trend long, red = strong trend short, orange = deeper correction, yellow = short pullback, white = directionless. Use regimes as a directional gate: longs during green, shorts during red. Yellow flags a pullback within trend; wait for resolution back to green/red before re-entering. Orange is a deeper correction; patience or fade with confirmation from other tools. The highest-edge signals come from regime transitions, not static states. Watch for: green breaking into yellow (macro pivot, potential reversal), extended yellow resolving back to green (continuation re-entry), and the ROC slope within a regime (slope rising in orange = trend about to resume). The data window shows the full ROC stack across all layers. When fast ROC diverges from slow, that signals continuation or reversion.
MACRO CONTEXT (Dashboard Row 1)
REGIME COLOR LEGEND (Dashboard Row 2)
ALERTS
Macro pivot long fires when accumulation is detected (bull inflection). Macro pivot short fires when distribution is detected (bear inflection). Create alert: condition = this indicator, "Any alert() function call". Paste your webhook URL, set Open-ended, create. Alert payload is built into the script; works with any webhook receiver.
CREDITS
Advance/Decline gradient function: LucF Indicator

Triple Derivative EngineMost momentum indicators tell you where the price is. The Triple Derivative Engine tells you how fast it's getting there, whether that speed is increasing or fading, and whether the acceleration itself is changing direction — three layers of motion analysis extracted from a single smoothed price signal, all normalized to a common ±100 scale so every layer is directly comparable at a glance.
How It Works
Step 1 — Smoothing
Raw price is too noisy to differentiate reliably. TDE first passes your source through one of three selectable filters to extract the underlying motion curve before computing any derivatives.
Savitzky-Golay (default) fits a 2nd-order polynomial to a moving window of bars using Gram polynomial coefficients. Unlike a moving average, it preserves the shape of peaks and troughs rather than smoothing them away. Window sizes of 5, 7, 9, 11, 13, and 15 are supported, each with exact integer coefficients — no approximation. This gives the best phase response of the three filters: signals appear earlier and with less distortion.
Gaussian weights each past bar by a bell-curve function of its distance from the current bar. Sigma controls how quickly the weights fall off. Softer and more trailing than SG, useful when you want a cleaner curve at the cost of a slight lag.
Kalman is a single-state recursive filter that continuously estimates the "true" price by balancing how much it trusts the new measurement (R) versus how much the underlying process is expected to move (Q). It adapts bar-to-bar, making it the most responsive of the three with the least lag, but also the most sensitive to sharp moves.
Step 2 — Finite Difference Derivatives
Once the smoothed signal sm is computed, three derivatives are calculated using standard finite difference formulas:
Velocity (1st derivative): sm − sm — the rate of change of price. Positive means price is rising, negative means it is falling. The magnitude tells you how fast.
Acceleration (2nd derivative): sm − 2·sm + sm — the rate of change of velocity. Positive means momentum is building; negative means it is fading, even if price is still moving in the same direction.
Jerk (3rd derivative): sm − 3·sm + 3·sm − sm — the rate of change of acceleration. A leading indicator of acceleration reversals. When jerk crosses zero, acceleration is about to change direction.
Step 3 — Normalization
Each derivative is divided by its rolling peak absolute value over the normalization lookback window, then scaled to ±100. This keeps all three series on the same axis and comparable to each other, regardless of the instrument's price level or volatility. A velocity reading of +80 and an acceleration reading of +80 carry equivalent relative meaning within their own histories.
Signals
Zero Crosses
Every time a derivative crosses the zero line, a marker appears at the top or bottom of the panel. Each derivative has a distinct shape to avoid confusion:
Velocity (Circle): Bottom (bullish) / Top (bearish)
Acceleration (Diamond): Bottom (bullish) / Top (bearish)
Jerk (Square): Bottom (bullish) / Top (bearish)
Each set of markers is independently gated by its visibility toggle, so you only see the crosses for the series you have enabled.
Velocity cross — the most direct signal. When velocity crosses above zero, price momentum has turned positive on the source timeframe. Below zero, it has turned negative.
Acceleration cross — a timing tool, not a trend signal. When acceleration crosses above zero while velocity is still positive, the move is re-accelerating. When acceleration crosses below zero while velocity is still positive, the move is losing steam — the trend continues, but is starting to exhaust. Acceleration reversals frequently precede velocity reversals by several bars.
Jerk cross — the earliest signal in the chain. Jerk crossing zero means acceleration is about to change direction. By itself, jerk is noisy, but when it aligns with acceleration near a zero cross, it can give a meaningful early warning.
Divergence Markers (Triangles)
Divergence fires when acceleration crosses zero while velocity is still extreme — specifically when |vn| > 30. This combination means the move has been strong enough to be considered extended, but the underlying force driving it is already reversing.
Bear divergence (▼ triangle, top): Acceleration crosses below zero while velocity is still elevated above +30. The upswing's engine is cutting out while the price is still high. Historically, this precedes deceleration into a stall or reversal.
Bull divergence (▲ triangle, bottom): Acceleration crosses above zero while velocity is still depressed below −30. The downswing is losing power from the bottom. Historically, this precedes a deceleration of selling and a potential recovery.
Divergence markers are rarer than zero crosses by design. They represent a specific confluence, not a general crossover signal.
Regime Background
The panel background is tinted to reflect the current momentum regime:
Velocity > 0 and Acceleration > 0: Accelerating bull - Cyan tint
Velocity < 0 and Acceleration < 0: Accelerating bear - Red tint
No tint: Decelerating or mixed - Neutral
The regime is also displayed in the info table with four states: ▲ Accelerating, ↗ Decelerating, ↘ Recovering, ▼ Falling.
Signal Line
An EMA of velocity (default length 9) is plotted as a thin white line over the velocity histogram. Velocity crossing its own signal line is an additional early entry cue, analogous to the MACD signal cross but applied directly to the derivative layer.
Settings
⏱ Timeframe
Source Timeframe — the timeframe on which the smoothed signal is computed before derivatives are taken. Options: Auto, Chart, 5m, 15m, 1H, 4H, 1D, 1W.
Auto scales to a fixed higher timeframe based on your current chart: below 5m → 15m, below 15m → 1H, below 1H → 4H, below 4H → 1D, otherwise 1W. This allows the indicator to show higher-timeframe derivative structure on any intraday chart without manual adjustment.
The chart uses the same timeframe as the chart is on. Useful when you want the derivatives of the chart's own bars rather than a higher context.
🔬 Smoothing Filter
Filter — selects the smoothing method: Savitzky-Golay (recommended), Gaussian, or Kalman.
SG Window (SG only) — odd integer from 5 to 15. Controls the width of the polynomial fitting window. Larger windows produce smoother derivatives with (window−1)/2 additional bars of lag. Window 9 is the default and a good general-purpose choice. Use 5 or 7 for faster signals on volatile instruments; 13 or 15 for cleaner derivatives on smooth trends.
Gaussian Length (Gaussian only) — number of bars in the weighted sum. Longer = smoother.
Gaussian Sigma (Gaussian only) — controls the standard deviation of the bell curve. Lower values concentrate weight on recent bars; higher values spread it more evenly.
Kalman Q — Process Noise (Kalman only) — how much the filter expects the price to move on its own each bar. Higher Q makes the filter track price more closely with less smoothing. Range 0.0001–1.0, default 0.01.
Kalman R — Measurement Noise (Kalman only) — how much the filter distrusts the raw price measurement. Higher R produces more smoothing and more lag. Range 0.01–50.0, default 1.0.
📈 Derivatives & Display
Price Source — the input series to smooth and differentiate. Defaults to close. Can be set to any source, including hl2, ohlc4, or another indicator's output via the source selector.
Normalization Lookback — the rolling window (in bars) over which each derivative is scaled to ±100. Shorter windows (e.g., 50) make the indicator more responsive to recent extremes; longer windows (e.g., 200–500) provide a more stable baseline. Default 100.
Signal EMA Length — the length of the EMA applied to normalized velocity to produce the signal line. Default 9.
Velocity (1st deriv) — show/hide the velocity histogram and line, and its zero-crossing markers.
Acceleration (2nd deriv) — show/hide the acceleration line and its zero-cross diamond markers.
Jerk (3rd deriv) — show/hide the jerk line and its zero-crossing square markers. Hidden by default as it is primarily useful for advanced analysis.
Signal Line on Velocity — show/hide the EMA signal line overlay on velocity.
Divergence Markers — show/hide the bear/bull divergence triangle markers.
🎨 Colors
All seven colour elements are individually configurable: Velocity (up/down), Acceleration (up/down), Jerk (up/down), and the Signal line.
Alerts
Eight alert conditions are available:
Velocity → Positive: Velocity crosses above zero
Velocity → Negative: Velocity crosses below zero
Momentum Trough: Acceleration crosses above zero
Momentum Peak: Acceleration crosses below zero
Jerk → Positive: Jerk crosses above zero
Jerk → Negative: Jerk crosses below zero
Bullish Divergence: Acceleration recovers while velocity is below −30
Bearish Divergence: Acceleration rolls over while velocity is above +30
Reading the Indicator Together
The three layers are designed to be read in sequence, from slowest to fastest signal:
Check velocity for trend direction — is the move positive or negative?
Check acceleration for conviction — is the move building or fading?
Check jerk for early warning — is acceleration about to change?
A high-confidence setup aligns all three: velocity positive, acceleration positive and rising, jerk positive. As a move matures, acceleration will peak and roll over first, while velocity remains elevated — that is the divergence condition. Velocity eventually follows. Jerk will often signal the peak of acceleration one step earlier still.
No single cross is a trade signal on its own. TDE is a momentum structure tool. It is most useful when combined with price structure, support/resistance levels, and a defined higher timeframe bias. Indicator

AG Pro MACD Drift Filter [AGPro Series]AG Pro MACD Drift Filter
Overview
AG Pro MACD Drift Filter is a rules-based momentum quality indicator built around MACD structure, persistence, and decay behavior.
The script is not designed to treat every MACD expansion, crossover, or positive histogram print as equally meaningful. Its purpose is to help users evaluate whether current momentum is sustaining cleanly, weakening internally, or drifting into lower-quality continuation.
In many charts, the difficult part is not detecting that momentum exists. The difficult part is deciding whether that momentum is stable enough to respect, fragile enough to fade, or already starting to lose transmission quality before price fully reflects the slowdown. This indicator is built for that specific problem.
Rather than framing MACD as a simple signal engine, AG Pro MACD Drift Filter uses a structured state model to organize momentum into practical categories such as bullish drift, bearish drift, neutral or unstable conditions, and decay-prone phases. The output is intended to improve chart interpretation, not to replace broader market context.
What the script does
The script studies the relationship between the MACD line, the signal line, the histogram, and zero-line behavior in order to classify the current momentum environment.
Its main objective is to answer questions such as:
- Is current momentum expanding with acceptable continuity?
- Is the histogram improving in a way that supports follow-through, or only producing a temporary burst?
- Is MACD maintaining stable directional structure, or repeatedly slipping back toward unstable conditions?
- Is separation between MACD and signal line supporting continuation, or beginning to compress?
- Is the current move still carrying directional quality, or transitioning into decay?
The result is a compact momentum-quality framework that can be used as a continuation filter, a caution filter, or a chart-organization layer.
Why this script is different
This script is not presented as a generic MACD crossover tool.
Its focus is not on counting crosses or highlighting every histogram color shift. Instead, it is built around the idea that momentum quality matters more than raw momentum presence. A move can remain above zero and still lose internal quality. A histogram can expand and still produce weak follow-through. A crossover can occur inside unstable conditions and carry less analytical value than its appearance suggests.
AG Pro MACD Drift Filter attempts to separate those cases by combining several dimensions of MACD behavior into a rules-based drift model.
In practical terms, the script attempts to distinguish between:
- sustained directional drift
- fragile continuation
- internal weakening
- contraction and decay risk
- unstable zero-line behavior
This makes it more suitable as a momentum filter than as a standalone trigger engine.
Core methodology
The model evaluates momentum quality through multiple components rather than a single event.
1) Expansion quality
The script evaluates whether histogram magnitude is expanding with enough consistency to support the idea of directional development. A simple increase in histogram size is not treated as sufficient on its own. The model also looks at whether that expansion is steady enough to qualify as usable drift.
2) Zero-line persistence
Momentum states near the zero line can be more fragile and more prone to whipsaw. For that reason, the script evaluates whether MACD is maintaining enough distance and persistence relative to the zero area, or whether it is repeatedly slipping back toward instability.
3) Signal-line separation quality
The distance between MACD and signal line is part of the script's continuation logic. Expanding separation can support the case for cleaner momentum conditions, while compressing separation can indicate that the move is losing internal pressure even if price has not fully reacted yet.
4) Continuity
The script tracks whether directional alignment is being maintained across bars. The goal is to reduce the analytical weight of fragmented or inconsistent momentum states and give more weight to cleaner persistence.
5) Decay pressure
The model also monitors conditions that can reduce the quality of current drift. Compression, weakening histogram behavior, increased instability, and loss of directional efficiency contribute to decay risk.
These components are combined into a structured quality score and a state engine.
Main outputs
State
The State row summarizes the current momentum regime. Depending on conditions, the script can classify the environment as bullish drift, bearish drift, neutral or unstable, or other transition states derived from the internal logic.
Quality
The Quality value summarizes the current momentum-quality condition on a 0 to 100 scale. It is not intended as a standalone trade score. It is a compact way to express whether the underlying drift structure is currently weak, fragile, usable, or stronger relative to the script's framework.
Persistence
Persistence reflects whether directional conditions are being maintained with enough stability to be respected. This value is particularly useful when users want to distinguish between brief impulses and cleaner continuation behavior.
Decay Risk
Decay Risk estimates whether the move is beginning to lose quality internally. Higher decay risk does not automatically imply reversal. It means the current directional structure is carrying less internal efficiency and may deserve more caution.
Zero-Line
This field summarizes whether MACD is operating above zero, below zero, or in a more unstable zone. It is included because zero-line persistence often changes the interpretive quality of otherwise similar MACD readings.
Separation
This row describes whether MACD and signal line are expanding apart, remaining relatively stable, or compressing. It can help users identify whether momentum is gaining transmission strength or narrowing.
Phase
The script groups behavior into broad phases such as expansion, plateau, or contraction. This helps users interpret whether the current environment is still developing or beginning to cool.
Bias
Bias is not a buy or sell instruction. It is a compact interpretation layer that summarizes whether the current structure is more consistent with continuation, caution, or weaker follow-through.
Mode
The script includes a mode framework so users can run the tool with a more balanced or more selective posture, depending on how strict they want the state engine to be.
How to read the indicator
One practical way to use the script is to treat it as a continuation-quality filter.
For example, a bullish chart condition may look more structurally convincing when:
- the state remains in a bullish drift condition
- the quality score is improving or holding at healthier levels
- persistence remains stable
- separation is not compressing aggressively
- decay risk is contained
On the other hand, users may choose to become more cautious when:
- price still appears constructive, but quality is fading
- separation compresses while continuation expectations remain elevated
- the state returns to neutral or unstable conditions
- decay risk rises without meaningful renewal in quality
- the move remains active on price, but internal MACD structure begins to deteriorate
This script can also be used alongside support and resistance analysis, broader trend context, structural breaks, pullback logic, or other risk-management frameworks.
Alerts
The script includes alert conditions tied to meaningful state changes rather than arbitrary noise.
Examples include:
- Bullish Drift Confirmed
- Bearish Drift Confirmed
- Bullish Drift Weakening
- Bearish Drift Weakening
- Momentum Decay Warning
- Neutral Reset
- High-Quality Drift Detected
- Low-Quality Expansion Detected
These alerts are intended to help users monitor changes in momentum quality, not to function as guaranteed trading signals.
Key inputs
Core settings include the source series and standard MACD lengths.
Engine settings allow users to control the quality lookback, persistence window, decay sensitivity, instability penalty, zero-line stability filtering, and strictness.
Display settings manage panel visibility, panel position, theme handling, label size, label density, and optional visual styling.
Because different symbols and timeframes can produce different rhythm characteristics, users may want to experiment with persistence and sensitivity settings rather than assuming one configuration fits all market conditions.
Suggested interpretation
The strongest use case for this tool is not signal substitution, but signal qualification.
In other words, many users may find it more useful to ask:
"Does this move deserve continuation bias?"
instead of asking:
"Did MACD cross?"
That distinction is central to the script.
The script does not assume that every positive histogram bar is actionable. It does not assume that every crossover deserves equal analytical weight. It attempts to organize momentum conditions into a more structured framework so users can better judge whether current directional pressure is persistent, fragile, or fading.
Limitations and transparency
This indicator does not predict future price movement.
It does not guarantee continuation, reversal, breakout success, or trade performance. It does not replace broader chart context, volatility analysis, liquidity considerations, or risk management.
Like other momentum-based tools, it can still produce less useful readings in highly choppy environments, low-volatility compression regimes, or sudden event-driven price conditions. Users should interpret the output in context and validate whether the script's settings fit the instrument and timeframe they are studying.
The state engine is designed to organize information, not to remove uncertainty from market behavior.
Risk disclosure
This script is for educational and analytical use.
It should not be treated as financial advice, investment advice, or a promise of outcome. Users remain responsible for their own decision-making, trade planning, and risk control.
Indicator

AG Pro RSI Pressure Map [AGPro Series]AG Pro RSI Pressure Map
OVERVIEW
AG Pro RSI Pressure Map is an overlay indicator that interprets RSI behavior as directional pressure on price rather than presenting RSI as a standalone oscillator panel. The script maps bullish and bearish pressure conditions directly on the chart, highlights confirmed pressure builds, and separates those states from release conditions and internal weakening.
The goal is not to repeat standard RSI threshold usage such as simple overbought/oversold signals. Instead, this script translates RSI persistence, slope, trend alignment, and price response efficiency into a chart-based pressure model. The result is a structure-aware visual framework that helps users evaluate whether momentum is building, fading, or attempting to reassert itself.
This tool is designed for traders who prefer price-chart context over isolated oscillator readings. By keeping the logic on the main chart, it becomes easier to observe how directional pressure develops around swings, pullbacks, transitions, and continuation attempts.
UNIQUE EDGE
The distinctive idea behind this script is that RSI is not treated here as a one-line trigger engine. Instead, RSI is used as a pressure input inside a multi-step state model. A bullish or bearish condition is not activated by a single threshold alone. It requires a combination of persistence, slope, trend-side alignment, and minimum response quality.
That makes this script structurally different from conventional RSI overlays or threshold markers. It does not simply mark every move above or below a level. It attempts to identify whether price is actually behaving like a pressure phase, whether that phase lasts long enough to matter, and whether the move later transitions into a release or a weakening sequence.
Another important distinction is the use of zone persistence and signal spacing. Short-lived fluctuations are filtered by minimum zone duration, paint delay, cooldown spacing, and failure-lock logic. This helps reduce repetitive chart clutter and keeps the output more focused on pressure phases that remain contextually relevant for more than a single bar.
WHAT THE SCRIPT DOES
This indicator classifies chart behavior into a small number of practical states:
- Bullish Pressure
- Bearish Pressure
- Bullish Release
- Bearish Release
- Pressure Failure
- No Active Zone
Pressure zones are displayed as soft background states once a valid zone remains active long enough to pass the paint delay requirement. Signal markers and optional labels identify important transitions, including new pressure builds and release conditions. A panel summarizes the current state so users can quickly read the broader condition without scanning every marker.
The script is intended to help with context and organization. It is not limited to trend continuation use only. It can also help identify when an apparent move is weakening internally or when a previous stretch phase may be transitioning into a more constructive re-engagement.
METHODOLOGY
The script combines several components into a single state engine:
1. RSI baseline calculation
RSI is calculated from user-defined length and can optionally be smoothed. This creates the base momentum input for the pressure model.
2. RSI slope and persistence
The script evaluates whether RSI is rising or falling, and whether that direction persists across a configurable lookback window. This helps distinguish stable directional pressure from one-bar fluctuation.
3. Trend alignment
Price is compared against a trend EMA so the script can evaluate whether a pressure condition is aligned with the prevailing side of the market. This reduces cases where RSI alone may look strong while price structure remains inconsistent.
4. Price response efficiency
The model checks whether recent price movement is meaningful relative to ATR. This is used to filter low-quality pressure states where RSI movement exists but price response is weak.
5. Zone state logic
A bullish or bearish pressure state is only activated when the required conditions are present and remains active until exit logic invalidates it. Minimum zone duration and flat cooldown logic are used to reduce rapid state flipping.
6. Release logic
Release conditions are derived from pressure transitions that also satisfy contextual requirements such as recent stretch history and price-side confirmation. This is meant to make release signals more selective than ordinary threshold crosses.
7. Failure logic
The script can detect internal weakening inside an active zone when slope deteriorates and response quality drops. Failure-lock behavior is used to avoid excessive repetition inside the same pressure phase.
Because the model works through a state engine rather than isolated threshold events, the output is better understood as a pressure map than as a classical oscillator trigger set.
SIGNALS AND ALERTS
The script provides the following event types:
- Bullish Pressure Build
- Bearish Pressure Build
- Bullish Release Confirmed
- Bearish Release Confirmed
- Pressure Failure
These alerts are meant to notify users about state transitions, not to replace trade planning or execution rules. A pressure build does not automatically imply continuation. A release does not guarantee reversal or acceleration. A failure does not guarantee collapse. Each event is best interpreted in the context of structure, liquidity, volatility, and timeframe.
KEY INPUTS
RSI Length
Controls the base RSI period.
RSI Smoothing
Applies optional smoothing to RSI before state evaluation.
Trend EMA Length
Defines the trend alignment reference.
Persistence Lookback / Minimum Persistence Count
Control how stable RSI direction must be before a pressure state becomes valid.
Bull Entry RSI / Bear Entry RSI
Set the activation thresholds for bullish and bearish pressure.
Bull Exit RSI / Bear Exit RSI
Define when active pressure zones can terminate.
Minimum Push Efficiency
Filters low-quality states where RSI movement is not supported by sufficient price response.
Release Lookback
Controls how far back the script checks for recent stretch context before validating release behavior.
Minimum Zone Bars / Flat Cooldown Bars
Reduce rapid flip behavior and help pressure zones remain more stable.
Zone Paint Delay
Prevents immediate background painting on very early bars of a new zone.
Build Label Offset / Release Label Offset / Failure Label Offset
Allow spacing between labels and candles for cleaner presentation.
Build Label Minimum Gap Bars / Release Label Minimum Gap Bars
Reduce repeated labels on the same side and improve chart readability.
HOW TO READ IT
A bullish pressure zone means the script currently sees persistent bullish-side momentum that remains aligned with trend-side conditions and minimum response requirements. A bearish pressure zone means the same on the downside.
A bullish release is not simply “bullish RSI.” It represents a more selective re-engagement condition built on prior context. The bearish release follows the same idea in reverse.
A pressure failure suggests that the active zone may be weakening internally. This is not a standalone reversal call. It is a cautionary state that says the current pressure phase is losing quality.
The panel should be read as a summary layer:
- RSI State shows the active state classification
- Pressure Bias shows the normalized directional bias
- Stretch Status shows whether RSI is in an extreme region
- Structure Align shows whether price and RSI are aligned
- Signal State shows the latest meaningful state event
LIMITATIONS AND TRANSPARENCY
This script is not a prediction engine and should not be interpreted as one. It is a state-classification tool built from RSI behavior, EMA alignment, ATR-normalized response, and rule-based persistence logic.
Like all chart tools, it is sensitive to timeframe selection, volatility regime, and market structure. A setting combination that feels appropriate on one symbol or timeframe may be too loose or too strict on another.
The script also does not solve broader market context. It does not evaluate macro conditions, volume profile, order flow, news, or execution quality. Users should treat it as a chart-organization tool, not as a complete trading framework.
The output is intentionally selective, but any filter system involves trade-offs. More filtering may reduce noise while also delaying some transitions. Less filtering may make the script more responsive while increasing signal density.
This indicator should be used as a supporting layer for chart reading, not as a substitute for risk management, independent analysis, or confirmation from the user’s own process.
WHAT THIS SCRIPT IS NOT
- Not a basic RSI overbought/oversold marker set
- Not a simple RSI 50-line crossover script
- Not a buy/sell guarantee system
- Not a replacement for execution rules
- Not a full strategy with entries, exits, and sizing logic
It is a rule-based pressure mapping tool designed to help visualize directional momentum states on price.
RISK DISCLOSURE
This indicator is for analysis and chart interpretation only. It does not provide financial advice, investment advice, or guaranteed outcomes. All trading involves risk, including the risk of loss. Users should test settings, validate behavior on their own markets and timeframes, and make independent decisions based on their own methodology and risk tolerance. Indicator
