Kalman Trend Filter [JOAT]Kalman Trend Filter
Introduction
Kalman Trend Filter is an open-source trend detection indicator that applies a two-state Kalman filter to price, tracking both the filtered price level and its velocity simultaneously. Unlike exponential moving averages — which apply a fixed exponential decay to past data — the Kalman filter dynamically adjusts its responsiveness based on the ratio of process noise to measurement noise. When price is moving consistently in one direction, the filter trusts new measurements more heavily. When price is noisy, it trusts its own model more heavily.
The practical result is a trend line that responds faster than an equivalent EMA during genuine trends while remaining smoother during chop. The velocity state is the direct indicator of trend direction and strength — it is what drives signal generation and candle coloring.
Core Concepts
1. Two-State Kalman Filter
The filter tracks two quantities: price (position state) and the rate at which price is changing (velocity state). The prediction step projects both states forward using simple kinematic equations. The correction step updates them based on how much the current close deviates from prediction:
// Prediction
float xPred = xEst + vEst
float pPred = pEst + qNoise
// Kalman gain
float kGain = pPred / (pPred + rNoise)
// Correction
float xEst = xPred + kGain * (close - xPred)
float vEst = vEst + kGain * (close - xPred)
The process noise (qNoise) and measurement noise (rNoise) parameters control how much the filter trusts its own momentum model versus new price data.
2. Velocity as Trend Proxy
The velocity state is the most analytically useful output. Positive velocity means the filtered price is accelerating upward; negative means downward. The magnitude of velocity indicates trend strength. Velocity crossing zero is a higher-quality trend reversal signal than a moving average crossover because it reflects the momentum of the filtered series, not the level.
3. Gradient Candle Coloring
Candles are painted using a two-sided gradient driven by the velocity state. Strongly positive velocity produces bright cyan candles; strongly negative produces bright magenta. Near-zero velocity transitions to neutral. The gradient intensity scales with velocity magnitude rather than applying a binary color switch.
4. Velocity Oscillator
The velocity state is plotted as a separate sub-indicator below the main chart, providing a visual oscillator that crosses zero at trend reversals. Unlike momentum oscillators derived from price differences, this oscillator represents the Kalman filter's internal estimate of trend rate — it is inherently smooth without additional EMA smoothing.
Features
Two-state Kalman filter: Tracks price level and velocity simultaneously
Configurable noise parameters: Process and measurement noise control filter responsiveness
Filtered price line overlay: Smooth trend line drawn on the price chart
Velocity oscillator: Kalman velocity state as a zero-line oscillator
Velocity zero-cross signals: Bull and bear signals when velocity crosses zero
Gradient candle coloring: Cyan for upward velocity, magenta for downward, scaled by magnitude
Dashboard: Current filtered price, velocity, trend state, and noise parameters
Alerts: Velocity zero-cross and extreme velocity alerts
Input Parameters
Kalman Engine:
Process Noise (Q): How much the filter trusts its own velocity model (default: 0.01)
Measurement Noise (R): How much the filter trusts new price measurements (default: 1.0)
Initial Velocity: Starting velocity state (default: 0.0)
Display:
Show Filter Line toggle
Show Velocity Oscillator toggle
Show Candle Color toggle
How to Use This Indicator
Step 1: Read Velocity Direction
Positive velocity (oscillator above zero, cyan candles) indicates the filter is trending upward. Negative velocity (below zero, magenta candles) indicates downward trend. The magnitude tells you how strong.
Step 2: Use Velocity Zero-Cross as Trend Change Signal
When velocity crosses from negative to positive, the filter's internal momentum model has flipped bullish. This is more reliable than a price crossover because it reflects the rate of change of the filtered series.
Step 3: Tune Noise Parameters to Timeframe
On faster timeframes, increase Q slightly (0.02–0.05) to make the filter more responsive. On weekly charts, reduce Q (0.001–0.005) for a smoother, slower-adjusting filter.
Step 4: Combine with Regime Context
The Kalman filter performs best in trending regimes. Combine with Fractal Dimension Oscillator: when FDO shows a trending regime, Kalman velocity direction provides the trend bias.
Indicator Limitations
The Kalman filter assumes a linear motion model; non-linear price dynamics (sudden gaps, news events) produce temporary distortion in the filter state
Optimal Q and R values are instrument and timeframe dependent; no universal setting works everywhere
Velocity zero-crosses during low-volatility consolidation can produce frequent false signals
Originality Statement
The two-state Kalman filter implementation combined with a velocity-driven gradient candle coloring system, a dedicated velocity oscillator, and dual-input noise parameter configuration in a single publication is the original contribution here. Most published Kalman filter scripts on PulseWire implement a single-state position filter with no velocity tracking and no gradient visualization.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Kalman filter outputs are mathematical estimates based on prior observations and do not predict future price. Trading involves substantial risk of loss.
-Made with passion by jackofalltrades
Indicator

Arc Radius Trend [JOAT]Arc Radius Trend
Introduction
Arc Radius Trend is an open-source, overlay-based trend-following system that replaces the static ATR band of conventional supertrend-style indicators with a curved, acceleration-responsive radius. The band does not scale linearly with volatility alone — it also responds to how fast price is accelerating or decelerating, expanding when momentum surges and tightening when price action becomes uniform. This gives it a shape that mirrors how institutional participants view momentum: not as a constant envelope, but as one that breathes with the market.
The problem ART solves is over-sensitivity. Standard ATR-based trailing stops flip direction too freely during acceleration events, producing false exits at exactly the moment when the trend is strongest. By expanding the radius during acceleration, ART gives trends room to breathe without permanently widening the band for all conditions.
Core Concepts
1. Velocity and Acceleration from Price
ART computes price velocity as the EMA of the bar-to-bar change in close, and acceleration as the EMA of the change in velocity. Both use the same smoothing length. Acceleration is normalized by ATR so that it is dimensionless and comparable across instruments and timeframes:
velocity = ta.ema(ta.change(close), accelLength)
accel = ta.ema(ta.change(velocity), accelLength)
accelNorm = atr > 0 ? accel / atr : 0.0
2. Curved Radius Scaling
The base radius is ATR multiplied by a configurable multiplier. The acceleration norm is then used to scale that radius with a power function, creating a nonlinear expansion curve. The exponent (Curve Strength) controls how aggressively acceleration widens the band:
radiusScale = math.pow(1.0 + math.min(math.abs(accelNorm), 2.0), curvePower)
radius = atr * baseMult * radiusScale
3. Ratcheting Band Logic
The active band ratchets in the direction of the current trend. When price is above the band (bull), the lower band is preserved at its maximum achieved value, preventing it from retreating while the trend holds. The trend flips when price closes through the opposite band:
trend := close > upperBand ? 1 : close < lowerBand ? -1 : nz(trend , 1)
activeBand = trend == 1 ? lowerBand : upperBand
4. JOAT Institutional Expansion Layer
Each JOAT indicator carries a shared Expansion Layer — an adaptive spine built from price efficiency, Shannon entropy, Parkinson range volatility, and a market impact ratio. The spine tracks the dominant flow using an KAMA-style adaptive constant, and its width is scaled by ATR ratio, range volatility, and noise. Stress and calm rails extend beyond the outer context boundary and change color based on composite stress readings. Bull and bear regime shift nodes mark confirmed directional transitions in the expansion layer state.
Features
Curved radius expansion: Band width nonlinearly expands during price acceleration events
Ratcheting trend band: Lower band preserved on bull trend, upper band preserved on bear trend — no backward drift
Outer envelope: A second ring outside the active band provides an extended volatility reference
Trend-state candle coloring: Candles tinted to reflect current trend direction
Regime flip nodes: Circle markers on the active band at confirmed bull and bear regime transitions
JOAT Expansion Layer: Adaptive spine with efficiency/entropy scoring, context box, stress rails, calm rails, and shift nodes
Stress and calm telemetry rails: Outer halos that widen with impact ratio and volatility stress
Dashboard (top right): Live display of trend state, active band level, normalized acceleration, and last flip
All signals on confirmed bars: No repainting — all state changes fire only on barstate.isconfirmed
Input Parameters
Radius Model:
Radius ATR Length: ATR period for radius computation (default: 21)
Base Radius Multiplier: Baseline band width in ATR units (default: 2.4)
Acceleration Smoothing: EMA length for velocity and acceleration (default: 8)
Curve Strength: Power applied to acceleration scale — higher values expand the band more aggressively (default: 1.35)
Outer Envelope: Multiplier for the secondary outer ring (default: 1.65)
Display:
Trend-State Candles toggle
Show Dashboard toggle
JOAT Expansion Layer:
Efficiency, Entropy, Impact lengths; Adaptive Fast/Slow periods; Context Width
Spine, Context Box, Regime Nodes, Candle Tint, Projection Bars, and Opacity toggles
Independently configurable Bull, Bear, Neutral, and Accent colors
How to Use This Indicator
Step 1: Establish trend direction
Read the active band color and the dashboard. Green indicates bull trend; red indicates bear. Use this as the primary directional filter for entries.
Step 2: Watch for confirmed flip nodes
Circle markers at confirmed trend reversals mark the bar where the band direction changed. These are not entry signals — they are context anchors. Evaluate what triggered the flip (structural break, momentum loss) before acting.
Step 3: Use the outer envelope as a volatility reference
When price extends to the outer envelope, the market is in elevated acceleration. This is not necessarily a reversal signal — it may indicate trend continuation with excess momentum.
Step 4: Read the Expansion Layer spine
The JOAT spine color and state convey institutional flow independent of the ART band. Bull spine with bull ART band is high-confidence alignment. Divergence between the two (e.g., bull ART, neutral spine) suggests weakening conditions.
Indicator Limitations
Acceleration-driven radius expansion may produce very wide bands during high-velocity events, temporarily reducing the band's usefulness as a stop reference
The ratchet mechanism preserves the band in the trend direction — during prolonged consolidation, the band will not tighten until a directional break occurs
On very low-liquidity instruments, the ATR-based radius may be structurally noisy; increasing the ATR length reduces this
Arc Radius Trend does not generate entries. It identifies directional state and provides a trailing reference level
Originality Statement
Arc Radius Trend is original in its use of normalized price acceleration as a multiplicative, power-scaled modifier to ATR radius. Existing supertrend variants use static ATR multiples or linear volatility adjustments. The combination of:
Velocity → acceleration derivation applied to a curved radius (not a flat multiplier)
Power-function scaling that produces nonlinear radius expansion only during acceleration events
Ratcheting band logic that is conditioned on the curved radius (not a fixed channel)
An institutional expansion layer carrying efficiency, entropy, Parkinson range vol, and impact scoring as a second independent context layer
...makes ART a structurally distinct contribution rather than a parameter variation of existing published work.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any instrument. Trading involves substantial risk of loss. Past behavior of this indicator does not guarantee future results. All signals should be validated within a complete trading framework that includes risk management. The author is not responsible for trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Indicator

Indicator

Kinetic Inertia Field [JOAT]Kinetic Inertia Field
Introduction
Kinetic Inertia Field models price like a noisy particle using velocity, acceleration, jerk, kinetic energy, potential displacement, and equilibrium deviation.
This open-source indicator is designed as a context tool, not a standalone trading system. It focuses on explaining the current market state with restrained visuals and confirmed-bar logic where signals are used.
Core Concepts
1. Velocity and Acceleration
Log returns are normalized by volatility to create velocity, then differentiated into acceleration and jerk.
2. Kinetic Energy
Inverse volatility acts as a mass proxy and squared velocity creates energy context.
3. Equilibrium Displacement
A regression/VWAP blend creates a fair path and ATR-normalized displacement.
4. Inertia Field
Energy, acceleration, and displacement combine into inertial up, inertial down, or elastic state.
kineticEnergy = 0.5 * mass * velocity * velocity
Features
Velocity, acceleration, and jerk model
Kinetic and potential energy scoring
Regression/VWAP equilibrium
Energy rails and impulse trace
K+ and K- labels plus snapback markers
Input Parameters
Velocity smoothing
Volatility memory
Equilibrium horizon
Energy and inertia gates
Cooldown and display toggles
How to Use This Script
Use K+ and K- as confirmed high-energy state changes. Gold markers show elastic snapback conditions.
Limitations
The script uses historical OHLCV data and cannot know future prices.
Signals and states can be late during fast reversals because confirmed-bar logic is used to reduce repainting.
Model outputs should be interpreted with market context, risk controls, and independent analysis.
No visual state should be treated as a certain trade outcome.
Originality Statement
KIF is original in applying kinetic energy, potential displacement, and inertia scoring to price-state analysis.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice, investment advice, or a recommendation to buy or sell any financial instrument. All calculations are derived from historical market data and may produce inaccurate readings in some market conditions. No indicator can predict future market behavior. Use proper risk management and independent judgment.
-Made with passion by jackofalltrades
Indicator

Orion Regression Field [JOAT]Orion Regression Field
Introduction
Orion Regression Field builds a weighted regression valuation field with standard error bands, curvature options, compression detection, and reprice signals.
This open-source indicator is designed as a context tool, not a standalone trading system. It focuses on explaining the current market state with restrained visuals and confirmed-bar logic where signals are used.
Core Concepts
1. Weighted Regression
Recent bars can receive more influence while still preserving a full model window.
2. Standard Error Bands
Inner and outer bands show statistical distance from the modeled path.
3. Curvature and Confidence
Optional curvature and R2-style confidence control when the field is considered reliable.
4. Pinch and Reprice
Compression and outer-band reactions create filtered reprice events.
mid = weightedRegression(close, len); band = standardError * multiplier
Features
Weighted regression midline
Inner and outer SEE bands
Optional curvature
Pinch shading and projection field
Filtered reprice labels
Input Parameters
Regression window and projection bars
Curvature toggle and weight floor
Minimum R2 confidence
Inner and outer band multipliers
Pinch ratio and cooldown
How to Use This Script
Use the field as statistical fair-value context. Outer band interaction means stretch, not automatic reversal.
Limitations
The script uses historical OHLCV data and cannot know future prices.
Signals and states can be late during fast reversals because confirmed-bar logic is used to reduce repainting.
Model outputs should be interpreted with market context, risk controls, and independent analysis.
No visual state should be treated as a certain trade outcome.
Originality Statement
Orion is original in combining weighted regression, curvature, standard error fields, compression context, and filtered reprice logic.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice, investment advice, or a recommendation to buy or sell any financial instrument. All calculations are derived from historical market data and may produce inaccurate readings in some market conditions. No indicator can predict future market behavior. Use proper risk management and independent judgment.
-Made with passion by jackofalltrades
Indicator

Nexus Kinetic Reactor [JOAT]Nexus Kinetic Reactor
Introduction
Nexus Kinetic Reactor estimates price as a noisy state process. It tracks state, velocity, uncertainty, confidence, and optional projection cones.
This open-source indicator is designed as a context tool, not a standalone trading system. It focuses on explaining the current market state with restrained visuals and confirmed-bar logic where signals are used.
Core Concepts
1. Recursive State Estimate
A smoothing lambda updates the estimated price state bar by bar.
2. Velocity Regime
Changes in the state estimate create velocity and acceleration-style context.
3. Uncertainty Bands
Noise windows and sigma bands show how uncertain the current estimate is.
4. Confidence Gate
Signals require tracking confidence and expectancy thresholds before labels appear.
state := state + lambdaAdjustment * (price - state)
Features
Recursive price-state estimator
Velocity and acceleration regime logic
Uncertainty bands
Projection cone
Blocked signal markers and dashboard
Input Parameters
Smoothing lambda and noise window
ATR length and velocity threshold
Minimum confidence and expectancy
Band sigma and projection bars
Cone, candle, and panel toggles
How to Use This Script
Use the state estimate and uncertainty bands as kinetic context. Labels only appear when the model clears confidence and expectancy gates.
Limitations
The script uses historical OHLCV data and cannot know future prices.
Signals and states can be late during fast reversals because confirmed-bar logic is used to reduce repainting.
Model outputs should be interpreted with market context, risk controls, and independent analysis.
No visual state should be treated as a certain trade outcome.
Originality Statement
Nexus is original in combining state estimation, velocity gating, uncertainty bands, expectancy filtering, and projection visualization.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice, investment advice, or a recommendation to buy or sell any financial instrument. All calculations are derived from historical market data and may produce inaccurate readings in some market conditions. No indicator can predict future market behavior. Use proper risk management and independent judgment.
-Made with passion by jackofalltrades
Indicator

Currency Strength RoC Panels (RoC Only) + TriggersCurrency Strength Slope (ROC)
Currency Strength Slope is a relative currency momentum indicator designed to measure and rank the rate of change across the major currency basket.
Instead of looking at one Forex pair in isolation, this indicator evaluates the underlying momentum of each major currency individually: EUR, USD, JPY, CHF, GBP, AUD, CAD, and NZD. By comparing currency strength movement across a full FX basket, it helps identify which currencies are accelerating, weakening, or showing meaningful shifts in relative momentum.
The goal is to provide a clearer view of currency flow, momentum rotation, and potential strength/weakness relationships across the market.
Features:
• Tracks RoC/momentum for 8 major currencies
• Includes EUR, USD, JPY, CHF, GBP, AUD, CAD, and NZD
• Uses a full FX basket comparison approach
• Customizable broker/feed selection
• Adjustable anchor timeframe and lookback
• Optional last-closed-bar mode for cleaner confirmed values
• Optional z-score normalization
• Ranking panel for strongest to weakest momentum
• Optional flag display
• Positive and negative trigger lines
• Fixed or auto StDev-based trigger thresholds
• Signal dots on trigger crosses
• Basket shift marker when leading currencies flip
• Zero line and top absolute RoC line options
Alerts Included:
• Any RoC Trigger Cross
• Basket Shift: Top 2 Absolute RoC Flip
Potential use cases:
• Identify the strongest and weakest currencies
• Find momentum rotation across the FX basket
• Spot currency acceleration and deceleration
• Confirm directional bias on Forex pairs
• Build strong-vs-weak pair ideas
• Detect major shifts in currency leadership
• Add confluence to existing Forex strategies
Interpretation:
Positive RoC
The currency is gaining momentum relative to the broader basket.
Negative RoC
The currency is losing momentum relative to the broader basket.
Ranking Panel
Shows which currencies are currently leading or lagging by momentum.
Trigger Crosses
Highlight when a currency’s momentum moves beyond a meaningful positive or negative threshold.
Basket Shift Marker
Appears when the top 2 currencies by absolute RoC flip direction, which may signal a broader shift in currency flow.
This indicator is intended to help traders move beyond single-pair analysis and understand the broader currency strength environment.
About TrendGenY Indicators
TrendGenY indicators are built from market experience, creative concepts, and a constant pursuit of unique perspectives. Rather than following conventional ideas, the focus is on uncovering alternative insights and viewing market behavior through different angles to reveal information that traditional tools may overlook and help traders build a more meaningful edge in the market. Indicator

Momentum Engine - [DecodingFlowLab]Decoding Lab – Momentum Engine is a quantitative momentum analysis indicator designed to detect real market expansion and institutional-grade directional pressure.
Unlike traditional momentum indicators that rely on a single source such as RSI or MACD, Momentum Engine combines multiple market dynamics into one unified scoring model, including:
• Volatility Expansion (ATR Expansion)
• Candle Body Strength
• Relative Volume Activity
• Breakout Velocity
• Pullback Efficiency
The indicator calculates a dynamic Momentum Score ranging from 0 to 100, helping traders identify whether the current move is supported by genuine market participation or simply random price fluctuation.
━━━━━━━━━━━━━━━━━━
How It Works
━━━━━━━━━━━━━━━━━━
Momentum Engine analyzes five core components of market behavior:
• ATR Expansion
Measures whether volatility is expanding relative to normal market conditions.
• Candle Body Strength
Evaluates the dominance of buyers or sellers through candle body size relative to total range.
• Volume Expansion
Detects abnormal trading activity compared to average market participation.
• Breakout Speed
Measures how aggressively price moves after breaking key highs or lows.
• Pullback Efficiency
Analyzes whether retracements remain shallow or become excessively deep.
All factors are normalized and combined into a weighted Momentum Score to classify market conditions as:
• Bullish Momentum
• Bearish Momentum
• Weak / No Momentum
The indicator also prints “M” labels when strong momentum first appears.
━━━━━━━━━━━━━━━━━━
How Traders Use It
━━━━━━━━━━━━━━━━━━
Traders use Momentum Engine to:
• Detect strong breakout conditions
• Confirm trend continuation strength
• Filter weak or low-quality market moves
• Identify institutional momentum expansion
• Avoid trading during weak or ranging conditions
• Improve timing for entries during impulsive moves
Common use cases include:
• Breakout Trading
• Momentum Trading
• Smart Money Concepts (SMC)
• Scalping & Intraday Trading
• Trend Continuation Strategies
The indicator is especially powerful when combined with:
• Market Structure
• BOS / CHOCH
• Liquidity Sweeps
• Higher Timeframe Bias
• Volume Analysis
━━━━━━━━━━━━━━━━━━
Main Features
━━━━━━━━━━━━━━━━━━
• Detects strong bullish and bearish momentum
• Identifies explosive breakout conditions
• Measures trend continuation quality
• Detects early momentum ignition using M labels
• Includes real-time quantitative momentum dashboard
• Combines Price Action + Volume + Volatility in one engine
Momentum Engine is built for traders who want to move beyond traditional oscillators and analyze the true strength behind market movements.
Disclaimer:
This indicator is provided for educational and informational purposes only and should not be considered financial advice, investment advice, or a recommendation to buy or sell any financial instrument.
The indicator does not provide guaranteed entry or exit signals for trading positions. Financial markets involve significant risk, and past performance does not guarantee future results.
Users are solely responsible for their own trading decisions, risk management, and use of this indicator in any market or trading environment.
The publisher, developer, and distributor of this indicator assume no responsibility or liability for any financial losses, damages, or outcomes resulting from the use or misuse of this indicator.
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

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

Ferrum Pressure Gauge [JOAT]Ferrum Pressure Gauge
Introduction
The Ferrum Pressure Gauge is an open-source composite momentum-volume oscillator that fuses three independent pressure measurements — volume-weighted momentum, price velocity with acceleration, and RSI-derived trend pressure — into a single index displayed in a separate pane. The index is paired with a signal (resonance) line, and the space between them is filled with an 8-layer gradient that visually communicates momentum intensity at a glance. Dynamic non-repainting zones adapt to recent range, divergence detection identifies price-vs-index fractures, and a precursor engine spots early reversal conditions before the main index confirms them.
Most momentum oscillators measure a single dimension — either price momentum or volume momentum, but rarely both in a unified way. FPG addresses this by weighting price changes by volume activity through a logarithmic volume impact function, then combining that with velocity, acceleration, and RSI into a composite reading. The result is an oscillator that responds to both the speed and the conviction behind price moves.
Core Engine: Fusion Reactor
The composite index is built from three sub-components:
1. Volume-Weighted Momentum (Net Flow)
Price changes are scaled by a logarithmic volume impact function that amplifies moves occurring on above-average volume while dampening moves on thin volume:
float vRatio = ta.sma(volume, 3) / ta.sma(volume, volPeriod)
float vwMom = pChange * math.log(1 + vRatio * volSens)
The logarithmic scaling prevents extreme volume spikes from producing absurdly large momentum readings while still giving meaningful weight to elevated volume. Fast and slow EMAs of this volume-weighted momentum produce a dual-speed flow, and their difference (smoothed) becomes the Net Flow component.
2. Price Velocity and Acceleration
Velocity measures the average price change per bar over the fast period. Acceleration is the change in velocity — it detects whether momentum is building or fading. These are combined with the volume ratio and scaled to produce the Flow Strength component.
3. RSI Trend Pressure
RSI is centered around zero (RSI - 50) and smoothed, providing a bounded measure of trend pressure that complements the unbounded volume-weighted components.
The three components are averaged and passed through a final WMA smoothing pass to produce the Pressure Index. A separate EMA of the index produces the Resonance (signal) line.
8-Layer Gradient Fill
The space between the Pressure Index and the Resonance Line is divided into 8 equal segments, each filled with progressively increasing transparency. This creates a smooth gradient that is dense and vivid when momentum is strong (large gap between index and signal) and thin and faded when momentum is weak. The gradient direction and color shift based on whether the index is positive or negative and whether it is in the upper or lower crucible zone.
Dynamic Crucible Boundaries (Non-Repainting Zones)
Rather than using fixed overbought/oversold levels, FPG calculates dynamic zones based on the recent range of the index:
float rHi = ta.highest(idx, zoneLen)
float rLo = ta.lowest(idx, zoneLen)
float volF = (rHi - rLo) / 2
float upperZ = math.min(60, 30 + volF * 0.3)
float lowerZ = math.max(-60, -30 - volF * 0.3)
The offset on highest/lowest ensures these zones never repaint. They widen during volatile periods and tighten during calm ones, adapting the overbought/oversold thresholds to current market conditions rather than using arbitrary fixed levels.
Volume Climax (Surge Detection)
The indicator percentile-ranks current volume against a configurable lookback (default 100 bars). When volume exceeds the 90th percentile, a surge is detected. The edge-triggered SURGE label fires only on the first bar of the spike, marking potential climax events where institutional-scale volume enters the market.
Exhaustion Index (Fatigue Meter)
When the Pressure Index dwells in an extreme zone (above upper or below lower boundary), a fatigue counter increments each bar. The fatigue percentage rises linearly toward 100% over a configurable horizon (default 20 bars). Fatigue is classified as NONE, MILD, BUILDING, or CRITICAL. Critical fatigue warns that momentum has been stretched for an extended period and reversal probability is elevated.
Fracture Detection (Divergence)
The indicator detects classic divergences between price and the Pressure Index:
Bullish Fracture: Price is falling (making lower lows) while the Pressure Index is rising — hidden buying pressure beneath falling prices.
Bearish Fracture: Price is rising (making higher highs) while the Pressure Index is falling — hidden selling pressure beneath rising prices.
Fracture signals are confirmed-bar only and placed outside the crucible boundaries to avoid overlapping with the main index plot.
Precursor Engine (Early Reversal Detection)
The precursor engine identifies conditions where the fast and slow flow lines cross while the main index is on the opposite side of zero:
IGNITION (Bullish Precursor): Fast flow crosses above slow flow while the Pressure Index is still negative — early bullish momentum building before the index turns positive.
QUENCH (Bearish Precursor): Fast flow crosses below slow flow while the Pressure Index is still positive — early bearish momentum building before the index turns negative.
These signals often lead the main index crossover by several bars, providing an early warning system.
Command Panel (Dashboard)
A 9-row monospace dashboard displays:
PRESSURE: Current Pressure Index value with color reflecting zone position
RESONANCE: Current signal line value
FLOW: Net flow delta (fast minus slow) — the raw momentum differential
FLUX: Volume ratio (short/long SMA) — values above 1.2 indicate elevated activity
CRUCIBLE: Current dynamic upper and lower zone boundaries
SURGE: Whether volume is currently in a climax state (ACTIVE / QUIET)
FATIGUE: Exhaustion classification with percentage (NONE / MILD / BUILDING / CRITICAL)
DELTA: Histogram value (index minus signal) — positive = bullish momentum, negative = bearish
Input Parameters
Fusion Reactor:
Ignition Cycle: Fast EMA period (default 8)
Sustain Cycle: Slow EMA period (default 21)
Flux Epoch: Volume SMA lookback (default 14)
Flux Amplifier: Volume impact scaling (default 1.5)
Forge Smoothing / Temper Pass: Composite and final smoothing
Resonance Layer:
Resonance Period: Signal line EMA (default 12)
Crucible Boundaries: Toggle dynamic zones
Boundary Lookback: Zone calculation window (default 50)
Volume Climax:
Enable Surge Detection / Surge Percentile / Surge Lookback
Exhaustion Index:
Enable Fatigue Meter / Fatigue Horizon: Bars in extreme zone before max fatigue
Fracture Detection:
Show Fractures / Fracture Lookback: Divergence detection parameters
Precursor Engine:
Show Precursors: Toggle early reversal signals
How to Use This Indicator
Use the Pressure Index crossing above/below the Resonance Line as a momentum confirmation signal — similar to MACD crossovers but volume-weighted.
Watch for IGNITION/QUENCH precursor signals — they often lead the main crossover by several bars and can provide earlier entries.
FRACTURE (divergence) signals are among the most reliable warnings of trend exhaustion. A bullish fracture during a downtrend suggests hidden accumulation.
Monitor the Fatigue meter when the index is in an extreme zone. CRITICAL fatigue combined with a fracture signal is a high-probability reversal setup.
SURGE markers highlight institutional-scale volume events. A surge occurring at a crucible boundary often marks a climax reversal point.
The 8-layer gradient provides instant visual feedback — dense, vivid fills indicate strong momentum conviction; thin, faded fills indicate weakening momentum.
Limitations
Like all momentum oscillators, FPG is lagging — it confirms momentum after it has begun, not before.
Divergence (fracture) signals can persist for extended periods before price reverses. They indicate weakening momentum, not guaranteed reversals.
Precursor signals are early by design and therefore have a higher false-positive rate than confirmed crossover signals.
Volume-weighted calculations are less reliable on instruments with inconsistent or unreported volume data.
The Fatigue meter is a heuristic based on time-in-zone, not a statistical probability. Extended trends can maintain extreme readings longer than expected.
Dynamic zones adapt to recent range but may lag during sudden regime changes.
Originality Statement
This indicator is original in its composite fusion approach. While MACD, RSI, and volume analysis are established concepts individually, FPG is justified because:
The logarithmic volume-weighted momentum calculation provides a unique fusion of price change and volume conviction that differs from standard MACD or OBV approaches.
Three independent sub-components (volume-weighted flow, velocity/acceleration, RSI pressure) are composited into a single index, providing multi-dimensional momentum measurement.
The 8-layer gradient fill between index and signal line creates a visual momentum density map not found in standard oscillators.
Dynamic non-repainting crucible boundaries adapt overbought/oversold levels to current conditions rather than using fixed thresholds.
The Exhaustion Index tracks time-in-extreme-zone as a fatigue metric, adding a temporal dimension to momentum analysis.
The Precursor Engine identifies early flow crossovers while the main index is on the opposite side, providing leading signals ahead of the main crossover.
Volume Climax detection via percentile ranking integrates institutional-scale volume event identification directly into the oscillator.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Momentum oscillators describe the current state of price momentum but do not predict future price direction. Overbought conditions can persist in strong trends, and oversold conditions can deepen in bear markets. Always use proper risk management and conduct your own analysis before making trading decisions. The author is not responsible for any losses incurred from using this tool.
-Made with passion by officialjackofalltrades
Indicator

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

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

Phantom Whale Hunter [JOAT]Phantom Whale Hunter
Introduction
The Phantom Whale Hunter is an advanced open-source institutional footprint tracking system that combines Chaikin Money Flow, Money Flow Index, On-Balance Volume, VWAP analysis, and Accumulation/Distribution to detect institutional buying and selling pressure. This indicator reveals when large institutional players (whales) are accumulating or distributing positions, providing traders with insights into smart money positioning before major price moves occur.
Unlike basic volume indicators, the Phantom Whale Hunter provides multi-dimensional institutional flow analysis through money flow calculations, volume-weighted analysis, cumulative volume tracking, and phase detection. The indicator is designed for traders who understand that institutional money moves markets and that detecting whale footprints early provides significant trading advantages.
Why This Indicator Exists
This indicator addresses the need for systematic institutional flow analysis. By combining five distinct money flow methodologies with phase detection, it reveals:
Chaikin Money Flow (CMF): Measures buying/selling pressure based on close position within range
Money Flow Index (MFI): Volume-weighted RSI showing money flow strength
On-Balance Volume (OBV): Cumulative volume indicator tracking institutional accumulation/distribution
VWAP Analysis: Volume-weighted average price with deviation bands
Accumulation/Distribution (A/D): Cumulative indicator measuring money flow into/out of security
Institutional Flow Index: Composite measure combining all five components
Phase Detection: Classifies market as Strong Accumulation, Accumulation, Neutral, Distribution, or Strong Distribution
Smart Money Divergence: Detects when price and flow move in opposite directions
Core Components Explained
1. Chaikin Money Flow (CMF)
CMF measures the relationship between close position and volume:
Money Flow Volume: ((Close - Low) - (High - Close)) / (High - Low) × Volume
CMF Calculation: Sum of MFV over period / Sum of volume over period
CMF Smoothing: 7-period EMA for noise reduction
Interpretation: CMF > 0 = buying pressure, CMF < 0 = selling pressure
CMF values above +0.1 indicate strong buying pressure, while values below -0.1 indicate strong selling pressure.
2. Money Flow Index (MFI)
MFI is a volume-weighted momentum indicator:
Typical Price: (High + Low + Close) / 3
Raw Money Flow: Typical Price × Volume
Positive Flow: Money flow when typical price rises
Negative Flow: Money flow when typical price falls
Money Ratio: Sum of positive flow / Sum of negative flow
MFI: 100 - (100 / (1 + Money Ratio))
MFI above 80 indicates overbought with high volume (potential distribution), while MFI below 20 indicates oversold with high volume (potential accumulation).
3. On-Balance Volume (OBV)
OBV tracks cumulative volume flow:
Calculation: Add volume on up days, subtract volume on down days
Cumulative: Running total from start of data
Normalization: Scaled to 0-100 range using 100-bar high/low
Zero-Centering: Subtract 50 for composite integration
Rising OBV with rising price confirms uptrend (accumulation). Falling OBV with rising price warns of distribution.
4. VWAP (Volume-Weighted Average Price)
VWAP calculates the average price weighted by volume:
Calculation: Sum(Typical Price × Volume) / Sum(Volume)
Daily Reset: VWAP resets at start of each trading day
Standard Deviation: Measures price dispersion from VWAP
Deviation Bands: VWAP ± (StdDev × Multiplier)
Price vs VWAP: Percentage distance from VWAP
Price above VWAP indicates bullish institutional positioning. Price below VWAP indicates bearish institutional positioning. Large deviations often mean-revert.
5. Accumulation/Distribution (A/D) Line
A/D measures cumulative money flow:
Money Flow Multiplier: ((Close - Low) - (High - Close)) / (High - Low)
Money Flow Volume: Multiplier × Volume
A/D Line: Cumulative sum of money flow volume
Smoothing: EMA smoothing (default 14) for trend identification
Normalization: Scaled to 0-100 range, then zero-centered
Rising A/D with rising price confirms accumulation. Falling A/D with rising price signals distribution (bearish divergence).
6. Institutional Flow Index Calculation
All five components are combined into a unified flow index:
Flow Index = (CMF × 50 + (MFI - 50) + (OBV - 50) + (A/D - 50)) / 4
This composite index ranges from approximately -50 to +50, with:
Flow Index > 30 = Strong institutional buying
Flow Index > 10 = Institutional buying
Flow Index -10 to +10 = Neutral/balanced
Flow Index < -10 = Institutional selling
Flow Index < -30 = Strong institutional selling
7. Phase Detection System
The indicator classifies institutional positioning into five phases:
Strong Accumulation (Phase 2): Flow Index > 30, CMF > 0.1, MFI > 50
Accumulation (Phase 1): Flow Index > 10, CMF > 0
Neutral (Phase 0): Flow Index between -10 and +10
Distribution (Phase -1): Flow Index < -10, CMF < 0
Strong Distribution (Phase -2): Flow Index < -30, CMF < -0.1, MFI < 50
Phase classification helps identify when institutions are actively positioning.
8. Smart Money Divergence Detection
Divergences occur when price and flow move in opposite directions:
Price Momentum: 14-period rate of change in price
Flow Momentum: 14-period rate of change in Flow Index
Bullish Divergence: Price falling (momentum < 0), Flow rising (momentum > 0)
Bearish Divergence: Price rising (momentum > 0), Flow falling (momentum < 0)
Smart money divergences indicate institutions positioning against current price trend, often preceding reversals.
9. Institutional Pressure Detection
The indicator identifies strong institutional buying/selling:
Buy Pressure: CMF > 0, MFI > 50, OBV > 50, Volume Surge
Sell Pressure: CMF < 0, MFI < 50, OBV < 50, Volume Surge
Volume Surge: Current volume > average volume × 2.25
Anti-Overlap: Minimum 25 bars between pressure signals
Institutional pressure with volume confirmation indicates significant whale activity.
10. Flow Velocity and Acceleration
The indicator tracks flow momentum:
Flow Velocity: Change in Flow Index (first derivative)
Flow Acceleration: Change in velocity (second derivative)
Accelerating flow indicates increasing institutional participation. Decelerating flow warns of waning institutional interest.
Visual Elements
Institutional Flow Line: Main line showing composite flow with phase-based coloring (green = accumulation, red = distribution, yellow = neutral)
Component Lines: Four thin lines showing CMF, MFI, OBV, and A/D (all normalized)
Zero Line: Horizontal line at zero
Threshold Lines: Dashed lines at +30 (strong accumulation), +10 (accumulation), -10 (distribution), -30 (strong distribution)
Zone Fills: Shaded areas above +30 (green) and below -30 (red)
Volume Surge Background: Purple background when volume surges occur
Smart Money Divergence Circles: Small circles marking divergence points
Institutional Pressure Triangles: Triangles marking strong buy/sell pressure
Flow Velocity Histogram: Shows rate of change in flow
Information Dashboard: Displays phase, flow index, CMF, MFI, OBV, A/D, volume ratio, price vs VWAP, flow velocity, and signal status
How to Use This Indicator
Step 1: Check Current Phase
Monitor the dashboard for institutional phase (Strong Accumulation, Accumulation, Neutral, Distribution, Strong Distribution).
Step 2: Analyze Flow Index
Flow Index > 20 = institutional buying, Flow Index < -20 = institutional selling. Trade in direction of institutional flow.
Step 3: Confirm with Components
Check CMF, MFI, OBV, and A/D for confirmation. All four positive = strongest accumulation signal.
Step 4: Monitor Volume Ratio
Volume surges (> 2x average) with positive flow confirm institutional buying. Volume surges with negative flow confirm institutional selling.
Step 5: Check Price vs VWAP
Price above VWAP with positive flow = bullish institutional positioning. Price below VWAP with negative flow = bearish institutional positioning.
Step 6: Watch for Smart Money Divergences
Divergences at extreme flow levels often precede reversals. Purple circles mark these critical points.
Step 7: Look for Institutional Pressure
Triangles mark strong institutional buy/sell pressure with volume confirmation. These are high-probability signals.
Best Practices
Trade in direction of institutional phase - don't fight whale positioning
Wait for Strong Accumulation/Distribution phases for highest conviction
Confirm flow signals with volume surges - flow without volume may be weak
Use smart money divergences as early reversal warnings
Monitor flow velocity - accelerating flow indicates increasing institutional participation
Combine with price action and support/resistance for entry timing
Be patient - institutional accumulation/distribution can take time
Use higher timeframe flow for stronger significance
Input Parameters
Chaikin Money Flow:
CMF Length: Period for CMF calculation (default: 20)
Money Flow Index:
MFI Length: Period for MFI calculation (default: 14)
MFI Overbought: Threshold for overbought (default: 80)
MFI Oversold: Threshold for oversold (default: 20)
Volume Configuration:
Volume MA Length: Period for average volume (default: 20)
Surge Threshold: Multiplier for volume surges (default: 2.0x)
Show Volume Profile: Toggle volume display (default: enabled)
VWAP Analysis:
VWAP Std Dev: Standard deviation multiplier (default: 2.0)
Accumulation/Distribution:
A/D Smoothing: EMA smoothing period (default: 14)
Phase Threshold: Threshold for phase classification (default: 0.5)
Visual Configuration:
Accumulation/Distribution/Neutral/Smart Money Colors: Customizable colors
Originality Statement
This indicator is original in its comprehensive institutional flow approach. While individual components (CMF, MFI, OBV, VWAP, A/D) are established concepts, this indicator is justified because:
It combines five distinct money flow methodologies into a unified institutional flow index
The phase detection system classifies institutional positioning systematically
Smart money divergence detection identifies when institutions position against price
Institutional pressure detection with volume confirmation reveals whale activity
Flow velocity and acceleration tracking predict institutional momentum changes
Integration of VWAP analysis provides institutional price positioning context
The comprehensive dashboard presents all institutional flow metrics simultaneously
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. Institutional flow analysis does not guarantee profitable trades. Whale activity does not guarantee price direction. Always use proper risk management and never risk more than you can afford to lose.
-Made with passion by officialjackofalltrades 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

Quantum Flux Oscillator [JOAT]Quantum Flux Oscillator
Introduction
The Quantum Flux Oscillator is an advanced open-source momentum detection system that synthesizes six distinct analytical methodologies into a unified institutional-grade oscillator. This indicator combines Volume Flux Indicator (VFI), Laguerre RSI, Fisher Transform, True Strength Index (TSI), Money Flow Index (MFI), and On-Balance Volume (OBV) with Accumulation/Distribution analysis to create a comprehensive momentum engine that reveals institutional positioning and market regime shifts.
Unlike traditional single-dimension oscillators, the Quantum Flux Oscillator provides multi-layered momentum intelligence through weighted composite calculations, regime classification, velocity tracking, and divergence detection. The indicator is designed for traders who understand that momentum precedes price and that institutional footprints can be detected through systematic multi-indicator confluence.
Why This Indicator Exists
This indicator addresses a critical gap in momentum analysis: the ability to detect institutional momentum shifts before they become obvious to retail traders. By combining multiple momentum methodologies with volume-weighted analysis, this indicator reveals:
Volume Flux Intelligence: Detects unusual volume-price relationships that signal institutional activity
Laguerre RSI: Zero-centered adaptive RSI that responds faster to price changes while filtering noise
Fisher Transform: Converts momentum into a Gaussian normal distribution for clearer extreme identification
True Strength Index: Double-smoothed momentum that separates genuine trends from noise
Money Flow Analysis: Tracks buying and selling pressure through volume-weighted price movements
Volume Confirmation: Integrates OBV and A/D Line to confirm momentum with volume flow
Regime Classification: Categorizes market conditions as Extreme Bull, Bullish, Neutral, Bearish, or Extreme Bear
Multi-Timeframe Alignment: Confirms momentum across higher timeframes for conviction measurement
Each component provides a different perspective on momentum. VFI shows volume-driven momentum, Laguerre RSI shows adaptive momentum, Fisher Transform shows statistical extremes, TSI shows smoothed directional momentum, MFI shows money flow momentum, and OBV/A/D show cumulative volume momentum. Together, they create a comprehensive view of institutional momentum positioning.
Core Components Explained
1. Volume Flux Indicator (VFI)
VFI measures the relationship between price movement and volume to identify institutional accumulation or distribution. The calculation uses logarithmic price changes and volume cutoffs to filter significant moves:
The indicator classifies volume-price relationships by comparing actual volume against average volume with a cutoff threshold. When price moves significantly with volume above the cutoff, it signals institutional participation. VFI is scaled and smoothed to create a momentum baseline that responds to volume-confirmed price movements.
2. Laguerre RSI (Zero-Centered)
Laguerre RSI applies a four-stage Laguerre filter to price data, creating an adaptive RSI that responds faster to recent price changes while maintaining smoothness. The zero-centered output ranges from -50 to +50, making it easier to identify bullish and bearish momentum:
The Laguerre filter uses a gamma parameter (default 0.4) to control responsiveness. Lower gamma values create faster response, while higher values create smoother output. The zero-centered format allows direct comparison with other momentum components.
3. Fisher Transform
The Fisher Transform converts the composite momentum into a Gaussian normal distribution, making extreme values more identifiable. This transformation compresses the middle range and expands the tails, creating clearer overbought and oversold signals:
The Fisher Transform output oscillates around zero with extreme values typically beyond +2 and -2. These extremes often precede reversals as momentum reaches unsustainable levels.
4. True Strength Index (TSI)
TSI applies double exponential smoothing to price momentum, creating a smooth oscillator that filters out short-term noise while preserving trend direction. The calculation uses two EMA periods (default 25 and 13) to separate signal from noise:
TSI values above zero indicate bullish momentum, while values below zero indicate bearish momentum. The double smoothing reduces whipsaws while maintaining responsiveness to genuine momentum shifts.
5. Money Flow Index (MFI)
MFI is a volume-weighted RSI that measures buying and selling pressure. It calculates the ratio of positive money flow (volume on up days) to negative money flow (volume on down days):
MFI values above 80 indicate overbought conditions with high volume, while values below 20 indicate oversold conditions with high volume. The indicator normalizes MFI to a zero-centered scale for integration with other components.
6. On-Balance Volume (OBV) and Accumulation/Distribution (A/D)
OBV and A/D track cumulative volume flow to confirm momentum direction. OBV adds volume on up days and subtracts on down days, while A/D weights volume by the close's position within the day's range:
Both indicators are normalized to a 0-100 scale and then zero-centered for composite integration. Rising OBV/A/D with rising momentum confirms institutional accumulation, while falling OBV/A/D with rising price warns of distribution.
Quantum Flux Core Calculation
The Quantum Flux Core combines all components using weighted averaging:
Quantum Flux = (VFI × 0.20) + (Laguerre RSI × 0.20) + (Fisher × 0.15) + (TSI × 0.15) + (MFI × 0.10) + (OBV × 0.10) + (A/D × 0.05) + (CMF × 0.05)
This weighted approach emphasizes volume-driven components (VFI, Laguerre) while incorporating smoothed momentum (Fisher, TSI) and volume confirmation (MFI, OBV, A/D, CMF). The result is smoothed with an EMA to create the final Quantum Flux line.
Regime Classification System
The indicator classifies market conditions into five regimes based on Quantum Flux levels:
Extreme Bull (QF > 35): Institutional buying pressure at extreme levels, potential exhaustion
Bullish (QF > 25): Strong bullish momentum with institutional participation
Neutral (-25 < QF < 25): Balanced conditions, no clear institutional bias
Bearish (QF < -25): Strong bearish momentum with institutional selling
Extreme Bear (QF < -35): Institutional selling pressure at extreme levels, potential capitulation
Regime shifts often precede significant price moves as institutional positioning changes. The indicator tracks regime changes and generates signals when momentum confirms directional bias.
Multi-Timeframe Alignment
The indicator requests Quantum Flux data from three customizable higher timeframes (default: 5m, 15m, 60m) and calculates alignment:
Strong Aligned (3/3): All timeframes show bullish/bearish momentum - high conviction
Aligned (2/3): Majority timeframes confirm - moderate conviction
Weak (1/3): Only one timeframe confirms - low conviction
No Alignment (0/3): No timeframe confirmation - conflicting signals
Strong alignment across multiple timeframes indicates institutional participation at scale, as large orders are often split across timeframes to minimize market impact.
Velocity and Acceleration Tracking
The indicator calculates momentum velocity (rate of change) and acceleration (change in velocity):
Velocity: Current Quantum Flux minus previous bar's value
Acceleration: Current velocity minus previous velocity (second derivative)
Accelerating momentum often precedes breakouts as institutional orders hit the market. Decelerating momentum warns of potential reversals or consolidation.
Visual Elements
Quantum Flux Line: Main oscillator with regime-based color coding (cyan = extreme bull, aqua = bullish, yellow = neutral, red = bearish, magenta = extreme bear)
Threshold Lines: Horizontal lines at +35 (extreme overbought), +25 (overbought), 0 (zero line), -25 (oversold), -35 (extreme oversold)
Velocity Histogram: Shows momentum velocity with color-coded bars (green = rising, red = falling)
Acceleration Columns: Displays momentum acceleration to identify momentum shifts early
Regime Strength Bars: Visual regime indicator showing current market condition strength
Gradient Glow Effect: Multiple layered fills create a glowing effect that emphasizes momentum intensity
Information Dashboard: Comprehensive table displaying all metrics in real-time with color-coded cells
The dashboard displays 10 key metrics: Regime, Flux Value, HTF Confirmation, MFI, CMF, Velocity, Divergence, Volume, and Signal status.
Signal Generation
The indicator generates two types of signals:
Primary Reversal Signals:
Bullish Reversal: Quantum Flux in extreme oversold (< -35), rising momentum, positive velocity acceleration, and HTF confirmation
Bearish Reversal: Quantum Flux in extreme overbought (> 35), falling momentum, negative velocity acceleration, and HTF confirmation
Momentum Crossover Signals:
Bullish Momentum: Quantum Flux crosses above -25 (oversold threshold) with positive velocity and volume confirmation
Bearish Momentum: Quantum Flux crosses below +25 (overbought threshold) with negative velocity and volume confirmation
Signals include anti-overlap logic to prevent signal clustering and ensure clean chart presentation.
Divergence Detection
The indicator detects both regular and hidden divergences between price and Quantum Flux:
Regular Bullish Divergence: Price makes lower low, Quantum Flux makes higher low (potential reversal up)
Regular Bearish Divergence: Price makes higher high, Quantum Flux makes lower high (potential reversal down)
Hidden Bullish Divergence: Price makes higher low, Quantum Flux makes lower low (trend continuation up)
Hidden Bearish Divergence: Price makes lower high, Quantum Flux makes higher high (trend continuation down)
Divergences are drawn with clean lines (solid for regular, dashed for hidden) without text clutter.
How to Use This Indicator
Step 1: Monitor Regime Classification
Watch for regime shifts between Extreme Bear, Bearish, Neutral, Bullish, and Extreme Bull. Regime changes often precede significant price moves.
Step 2: Check Multi-Timeframe Alignment
Strong alignment (3/3) across timeframes confirms institutional conviction. Weak or no alignment suggests retail-driven moves that may lack follow-through.
Step 3: Analyze Velocity and Acceleration
Accelerating momentum (positive acceleration) often precedes breakouts. Decelerating momentum (negative acceleration) warns of potential reversals.
Step 4: Look for Divergences
Regular divergences at extreme levels (QF > 35 or < -35) often signal reversals. Hidden divergences confirm trend continuation.
Step 5: Confirm with Volume Metrics
Check MFI, CMF, OBV, and A/D for confirmation. Rising volume metrics with rising Quantum Flux confirms institutional accumulation.
Step 6: Wait for Signal Confirmation
Primary reversal signals at extreme levels with HTF confirmation provide highest probability setups. Momentum crossover signals work best in trending markets.
Best Practices
Use on liquid instruments (major forex pairs, large-cap stocks, major crypto) for most reliable signals
Combine with price action analysis - momentum shows intent, price shows result
Pay attention to extreme levels (QF > 35 or < -35) as these often precede reversals
MTF alignment is most reliable in trending markets, less reliable in choppy conditions
Extreme momentum can persist longer than expected during strong trends - use stops
Look for momentum divergences at key support/resistance levels for highest probability setups
Monitor velocity and acceleration for early warning signs of momentum shifts
Use the dashboard to quickly assess overall market condition and signal status
Indicator Limitations
Momentum analysis works best on liquid instruments with consistent volume patterns
Low-volume instruments or off-market hours can produce unreliable readings
MTF alignment requires sufficient data on all timeframes - may not work on newly listed instruments
Momentum precedes price but doesn't guarantee direction - high momentum can occur on both breakouts and fakeouts
Extreme momentum levels can persist longer than expected during major news events or market dislocations
The indicator shows what is happening, not why - fundamental catalysts can override technical momentum patterns
Divergences are more reliable at extreme levels than in neutral zones
Multiple components mean the indicator can be slower to respond than single-component oscillators
Input Parameters
Core Engine:
Primary Length: Period for momentum calculations (default: 14)
Smoothing Period: EMA smoothing for final output (default: 7)
Sensitivity Factor: Multiplier for Fisher Transform input (default: 1.5)
Volume Flux Engine:
VFI Coefficient: Cutoff multiplier for significant moves (default: 0.2)
Volume Cutoff: Maximum volume multiplier (default: 2.5)
Scale Multiplier: VFI output scaling (default: 4.0)
Laguerre Transform:
Gamma: Responsiveness parameter (default: 0.4, lower = faster)
Threshold Zones:
Extreme Overbought: Upper extreme threshold (default: 35)
Overbought: Upper threshold (default: 25)
Oversold: Lower threshold (default: -25)
Extreme Oversold: Lower extreme threshold (default: -35)
Money Flow & Volume:
MFI Length: Period for Money Flow Index (default: 14)
OBV Smoothing: Smoothing period for OBV (default: 14)
A/D Smoothing: Smoothing period for A/D Line (default: 14)
Multi-Timeframe Analysis:
Enable Higher Timeframe: Toggle MTF calculations (default: enabled)
HTF Timeframe 1/2/3: Customizable timeframes (default: 5m, 15m, 60m)
Visual Configuration:
Color Theme: Choose from Gradient Glow, Professional Dark, Neon Spectrum, or Institutional Grey
Bullish/Bearish Spectrum: Customizable colors for momentum direction
Glow Layers: Number of gradient layers for glow effect (default: 20)
Show Divergence: Toggle divergence detection (default: enabled)
Show Volume Profile: Toggle volume profile histogram (default: enabled)
Technical Implementation
Built with Pine Script v6 using:
Custom VFI calculations with logarithmic price changes and volume cutoffs
Four-stage Laguerre filter for adaptive RSI
Fisher Transform for Gaussian distribution conversion
Double-smoothed TSI for noise filtering
Volume-weighted MFI calculations
Normalized OBV and A/D Line integration
Multi-timeframe security requests with proper lookahead settings
Velocity and acceleration calculations for momentum derivatives
Real-time regime classification system
Dynamic dashboard with 10 metrics and color-coded cells
Gradient glow effect with multiple layered fills
Divergence detection with pivot analysis
The code is fully open-source and can be modified to suit individual trading styles and preferences.
Originality Statement
This indicator is original in its comprehensive integration approach. While individual components (VFI, Laguerre RSI, Fisher Transform, TSI, MFI, OBV, A/D) are established concepts, this indicator is justified because:
It synthesizes six distinct momentum methodologies into a unified weighted composite system
The regime classification provides institutional momentum measurement not available in standard oscillators
Multi-timeframe alignment detection measures institutional conviction across timeframes
Velocity and acceleration calculations provide early warning of momentum shifts
The gradient glow visualization creates intuitive momentum intensity display
Integration of volume-weighted components (VFI, MFI) with smoothed momentum (Fisher, TSI) and cumulative volume (OBV, A/D) creates layered confirmation
The comprehensive dashboard presents 10 metrics simultaneously for holistic momentum analysis
Each component contributes unique information: VFI shows volume-driven momentum, Laguerre RSI shows adaptive momentum, Fisher Transform shows statistical extremes, TSI shows smoothed momentum, MFI shows money flow, OBV shows cumulative volume, and A/D shows distribution. The indicator's value lies in presenting these complementary perspectives simultaneously with a unified regime classification system.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss and is not suitable for all investors.
Momentum analysis is a tool for understanding market dynamics, not a crystal ball for predicting future price movement. High momentum does not guarantee profitable trades. Past momentum patterns do not guarantee future momentum patterns. Market conditions change, and strategies that worked historically may not work in the future.
The metrics displayed are mathematical calculations based on current market data, not predictions of future price movement. Extreme momentum levels, regime classifications, and signal generation do not guarantee profitable trades. Users must conduct their own analysis and risk assessment before making trading decisions.
Always use proper risk management, including stop losses and position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose. Consider consulting with a qualified financial advisor before making investment decisions.
The author is not responsible for any losses incurred from using this indicator. Users assume full responsibility for all trading decisions made using this tool.
-Made with passion by officialjackofalltrades Indicator

Vortex Confluence Protocol [JOAT]Vortex Confluence Protocol - Strategy
Introduction
The Vortex Confluence Protocol is an open-source strategy that combines market structure analysis, momentum filtering, volume confirmation, multi-timeframe alignment, session awareness, liquidity analysis, and smart money concepts into a multi-layer confluence scoring system. A trade is only taken when enough independent factors agree on direction, producing a confluence score that meets a configurable minimum threshold. The strategy includes ATR-based stop losses, risk-reward take profits, and an optional trailing stop, all designed around realistic risk management principles.
Built with Pine Script v6, the strategy uses custom types for trade state, confluence scoring, quantum state, liquidity state, smart money state, and market regime detection.
Why This Strategy Exists
Most strategies rely on one or two conditions for entry — a moving average crossover, an RSI level, or a pattern match. These single-factor approaches are fragile because they lack confirmation from other market dimensions. The Vortex Confluence Protocol takes the opposite approach: it requires agreement across multiple independent analytical layers before committing capital. This multi-factor design aims to:
Reduce false signals: By requiring confluence from structure, momentum, volume, and MTF analysis simultaneously, the strategy filters out low-conviction setups
Adapt to market conditions: The regime filter (ADX-based) prevents trend-following entries during ranging markets and vice versa
Enforce discipline: The confluence scoring system makes the entry criteria explicit and quantifiable, removing subjective judgment from the entry decision
Manage risk systematically: ATR-based stops, configurable risk-reward ratios, and trailing stops provide a structured risk management framework
Strategy Default Properties
The strategy is published with the following default properties, which are critical to understanding the backtesting results:
Initial Capital: $100,000
Position Size: 2% of equity per trade
Commission: 0.1% per trade (round-trip 0.2%)
Slippage: 2 ticks per order
Pyramiding: 0 (no adding to positions)
Risk Per Trade: 1.0% of account
Risk:Reward Ratio: 2.0 (target is 2x the stop distance)
These defaults are intentionally conservative. The commission and slippage settings are included to produce realistic results that account for real-world execution costs. The 2% position size and 1% risk per trade ensure that no single trade can significantly damage the account.
Core Components Explained
1. Market Structure Analysis
The strategy uses pivot-based swing detection to identify the market's structural direction. It tracks swing highs and swing lows, then classifies structural events:
Break of Structure (BOS): Price breaks above the last swing high (bullish BOS) or below the last swing low (bearish BOS), confirming the existing trend
Change of Character (CHoCH): Price breaks a previous swing point against the current trend direction, signaling a potential reversal
The structure direction variable tracks the prevailing bias. When `requireBOS` is enabled (default), the strategy requires a fresh BOS or CHoCH event for entry, ensuring trades are taken at structurally significant moments rather than during drift.
2. FVG Confluence
Fair Value Gaps are detected using the standard three-bar pattern, filtered by a minimum size of 0.3x ATR. The strategy maintains arrays of active FVGs and checks whether current price is inside any bullish or bearish FVG zone. When `requireFVG` is enabled (default), the strategy requires price to be within an FVG zone aligned with the trade direction, adding an imbalance-based confirmation layer.
bool bullFVG = low > high and close > open
bool bearFVG = high < low and close < open
FVG zones older than 30 bars are automatically cleaned up to prevent stale zones from influencing current decisions.
3. Momentum Analysis
The momentum layer uses RSI with configurable length (default 14) and overbought/oversold levels (default 70/30). The RSI is smoothed with a 3-period EMA, and its rate of change is calculated to determine momentum direction:
Bullish momentum: Smoothed RSI above 50, RSI rising, and not overbought
Bearish momentum: Smoothed RSI below 50, RSI falling, and not oversold
The strategy also detects RSI divergences as additional context, though divergences alone do not trigger entries.
4. Volume Analysis
Volume confirmation requires the current volume to exceed a configurable multiple (default 1.2x) of the volume moving average. Additionally, the strategy estimates buying and selling volume using candle structure and calculates cumulative delta over 10 bars:
Bullish volume: High relative volume + positive delta + positive cumulative delta
Bearish volume: High relative volume + negative delta + negative cumulative delta
Volume anomalies (Z-score > 2.0) receive a bonus point in the confluence scoring system.
5. Multi-Timeframe Filter
The MTF filter fetches close, EMA, and RSI from a configurable higher timeframe (default 60m) using `request.security()` with `barmerge.lookahead_off` to prevent repainting. The higher timeframe trend must agree with the trade direction:
int htfTrend = htfClose > htfEMA ? 1 : htfClose < htfEMA ? -1 : 0
bool mtfBullish = htfTrend > 0 and htfRSI > 50
This ensures trades are taken in the direction of the larger trend, filtering out counter-trend entries that have lower win rates.
6. Session and Regime Filters
The session filter restricts trading to a configurable active session (default 0800-1600 EST). Trading outside of liquid market hours often produces worse fills and more erratic price action.
The regime filter uses ADX to classify the market as trending (ADX > 25) or ranging. In a trending regime, the strategy only takes trades in the trend direction. In a ranging regime, both directions are allowed. This prevents the strategy from fighting strong trends.
Chart showing the Vortex Confluence Protocol with entry signals, stop loss and take profit levels drawn on the chart, FVG zones highlighted, and the dashboard displaying the confluence score breakdown
7. Confluence Scoring System
The heart of the strategy is the confluence scoring system. Each analytical layer contributes points to a total score:
Structure: 1 point for structural direction alignment, +1 bonus if price is in an aligned FVG
Momentum: 1 point for momentum alignment
Volume: 1 point for volume confirmation, +1 bonus for anomaly
MTF: 1 point for higher timeframe alignment
Session: 1 point if within active session
Liquidity: 1 point for medium+ liquidity level, +1 bonus for sweep
Quantum: 1 point for quantum collapse, +1 bonus for high coherence
Smart Money: 1 point for positive SM score, +1 bonus for clear accumulation/distribution
Harmonic: 1 point for harmonic alignment
The total score must meet the minimum confluence threshold (default 3) for an entry to be considered. Additionally, all directional filters must agree — structure, momentum, MTF, volume, session, quantum, and smart money must all either support the direction or be disabled.
8. Risk Management
Stop Loss: Calculated as the tighter of two values: the ATR-based stop (close minus ATR * SL multiplier) or the recent swing low minus a small ATR buffer (for longs). This ensures the stop is placed at a structurally meaningful level.
if isLong
sl := math.min(close - atrVal * slATRMult, _recentLow - atrVal * 0.2)
Take Profit: Calculated as the entry price plus the stop distance multiplied by the risk-reward ratio (default 2.0). A 2:1 RR means the strategy needs to win only 34% of trades to break even (before commissions).
Trailing Stop: When enabled, the trailing stop follows price at a distance of ATR * trail multiplier (default 2.0). It only moves in the favorable direction, locking in profits as the trade progresses. The trailing stop updates the exit order dynamically.
Entry Conditions Summary
A long entry requires ALL of the following:
Long trades enabled
Confluence score >= minimum threshold
Structure direction is bullish
Momentum is not bearish (or momentum filter disabled)
MTF is not bearish (or MTF filter disabled)
Volume is not bearish (or volume filter disabled)
Within active session (or session filter disabled)
Regime allows longs
Quantum superposition is positive (or quantum filter disabled)
Smart money score is non-negative (or SM filter disabled)
Price is in a bullish FVG (if requireFVG enabled)
A BOS or CHoCH has occurred (if requireBOS enabled)
No existing position
Short entries require the inverse conditions.
Backtesting Considerations
Important notes about the published results:
Results include 0.1% commission per trade and 2 ticks slippage to simulate realistic execution
The strategy uses 2% of equity per trade, not 100% — this significantly reduces both returns and drawdowns compared to full-equity strategies
Pyramiding is disabled (0), meaning only one position can be open at a time
The strategy does not use leverage beyond what the position size implies
Results will vary significantly across different instruments, timeframes, and market conditions
Past performance does not indicate future results
Parameter sensitivity: The minimum confluence score is the most impactful parameter. Lower values (2-3) produce more trades but with lower average quality. Higher values (4-5) produce fewer, higher-quality trades but may miss valid setups. The default of 3 represents a balance between trade frequency and quality.
Optimization warning: Over-optimizing parameters to fit historical data will produce misleading results. The default parameters are designed to be reasonable across a range of instruments rather than perfectly fitted to any single one. If you adjust parameters, test across multiple instruments and time periods to verify robustness.
Sample size: For meaningful statistical analysis, ensure the backtest produces at least 100 trades. On higher timeframes or with high confluence requirements, you may need to extend the backtest period to achieve sufficient sample size.
Strategy performance panel showing trade list, equity curve, and key metrics with the confluence dashboard visible on the chart
Input Parameters
Strategy Settings:
Enable Long/Short Trades independently
Minimum Confluence Score (default 3)
Use Regime Filter, Session Filter
Advanced Features:
Quantum Confluence, Liquidity Analysis, Smart Money Concepts, Harmonic Patterns toggles
Quantum Coherence Threshold (default 0.7)
Risk Management:
Risk Per Trade (default 1.0%)
Risk:Reward Ratio (default 2.0)
Trailing Stop toggle and ATR Multiplier (default 2.0)
Stop Loss ATR Multiplier (default 1.5)
Market Structure:
Pivot Strength (default 5)
Require BOS/CHoCH and Require FVG Confluence toggles
Momentum:
RSI Length (default 14), Overbought (70), Oversold (30)
Require Momentum Alignment toggle
Multi-Timeframe:
Higher Timeframe (default 60m)
MTF Trend Length (default 20)
Volume:
Volume MA Length (default 20) and Volume Threshold (default 1.2)
Session:
Active Trading Session (default 0800-1600)
Timezone selection
Visual:
Show Entry Signals, SL/TP Levels, Dashboard, FVG Zones
How to Use This Strategy
Step 1: Apply the strategy to your instrument and timeframe. Review the default settings and adjust the session times and timezone to match your market.
Step 2: Run the backtest and review the results. Check the total number of trades — if fewer than 100, consider lowering the minimum confluence score or extending the backtest period.
Step 3: Review the equity curve for consistency. A healthy equity curve shows steady growth without extreme drawdowns. Large drawdowns followed by recovery may indicate the strategy is taking excessive risk.
Step 4: Use the dashboard to understand why trades are being taken. The confluence score breakdown shows which factors are contributing to each entry.
Step 5: If adapting parameters, change one at a time and test across multiple instruments. Avoid optimizing all parameters simultaneously, as this leads to curve-fitting.
Step 6: Consider using the strategy's signals as a filter for manual trading rather than as a fully automated system. The confluence score provides a quantified measure of setup quality that can inform discretionary decisions.
Strategy Limitations
The strategy uses market orders for entry, which means execution price may differ from the signal price, especially on volatile instruments or during news events
Delta and volume analysis use candle-structure estimation, not actual order flow data. This is an approximation.
The multi-factor requirement means the strategy will miss valid moves that only satisfy some conditions. This is by design — it prioritizes quality over quantity.
Backtesting results assume orders are filled at the close of the signal bar. Real-world execution may differ.
The strategy does not account for overnight gaps, dividend adjustments, or corporate events that can cause sudden price changes
Higher confluence requirements reduce trade frequency, which may not suit traders who need frequent activity
The regime filter uses ADX, which has an inherent lag in detecting regime changes
Commission and slippage settings should be adjusted to match your actual broker costs for accurate backtesting
Originality Statement
This strategy is original in its multi-layer confluence scoring approach. While individual components (structure detection, RSI, volume analysis, MTF filtering) are established concepts, this strategy is justified because:
It synthesizes nine independent analytical layers into a quantified confluence scoring system, providing a structured framework for multi-factor trade evaluation
The regime-aware filtering automatically adjusts entry criteria based on ADX-detected market conditions
Liquidity analysis with sweep detection and absorption ratio adds an institutional activity layer not found in standard multi-factor strategies
The quantum coherence scoring provides a novel metric for measuring the consistency of agreement across all analytical layers
Smart money phase detection (accumulation/distribution) adds a Wyckoff-inspired context layer to the entry decision
The risk management system combines structural stop placement (recent swing + ATR buffer) with dynamic trailing, providing both initial protection and profit locking
All entry conditions are explicit and quantifiable, making the strategy fully transparent and reproducible
Disclaimer
This strategy is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss and is not suitable for all investors. Backtesting results are hypothetical and do not guarantee future performance. Past performance is not indicative of future results. The strategy's results depend heavily on the instrument, timeframe, and market conditions. Commission, slippage, and execution quality in live trading may differ significantly from backtesting assumptions. Always use proper risk management, including position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose. The author is not responsible for any losses incurred from using this strategy.
-Made with passion by officialjackofalltrades
Strategy

MTF-Auto-Triad SMT Engine [TradeSymmetry]MTF-Auto-Triad SMT Engine
This indicator puts institutional order flow front and center, featuring an automated Multi-Timeframe (MTF) liquidity divergence engine as its core, supported by built-in helper tools for higher timeframe market structure and momentum tracking.
Built to eliminate chart clutter while maximizing actionable data, this tool is engineered for traders executing high-probability, asymmetric setups on intraday execution timeframes.
🔥 Core Feature: The SMT Engine
Stop manually typing in comparison tickers every time you switch assets. The Auto-Triad system instantly detects the asset class you are viewing and automatically scans correlated markets for Smart Money Tool (SMT) divergences across multiple timeframes simultaneously.
Supported Triads: * Indices: NQ1!, ES1!, YM1!
Forex: EURUSD, GBPUSD, DXY
Metals: XAGUSD, XAUEUR, XAUGBP, GC1!
Oil: CL1!, RB1!, HO1!
🛠 Built-In Helper Tools
1. Dynamic HTF Boxes with Time stamping
Keep your higher timeframe narrative locked in while executing on the LTF.
Live-Tracking OHLC: Project custom Higher Timeframe boxes (e.g., 1H, 4H, Daily) directly onto your execution chart.
Open Time Anchors: The Open level of your HTF box automatically pulls the exact timestamp of when that session began (e.g., 09:30 4H-OPEN), giving you crucial temporal context right at the point of execution.
2. Time-Price Velocity (TPV) Candles
Traditional candlesticks only show price action. The TPV engine colors your candles based on mathematically smoothed, ATR-normalized momentum.
Identify exactly when momentum is accelerating or decelerating inside a move.
Built-in dashboard shows live velocity metrics, trend direction, and acceleration changes.
💡 How to Use This Tool (The TradeSymmetry Setup)
This indicator is built to execute a strict, structural trading workflow. Follow these core steps:
1. Identify Your POI & Wait for the Sweep/Tap
Frame your narrative and identify your draw on liquidity. Wait patiently for price to sweep a key structural extreme (Session, Daily, Weekly, Monthly Highs/Lows, or Equal Highs/Lows). Alternatively, wait for price to tap into a high-probability Fair Value Gap (FVG) or Order Block (OB).
2. Confirm Institutional Footprints (SMT)
Once price reaches your POI, look for an SMT Divergence to print via the Auto-Triad engine. This confirms that correlated assets are failing to make the same high or low—the ultimate footprint of smart money accumulation or distribution.
3. Wait for the Shift & Open Level Validation
Look for a clear Market Structure Shift (MSS) or Change in State of Delivery (CISD).
Crucial Rule: If you are taking a bullish setup, ensure your trigger candle closes cleanly above the Open level. For a bearish setup, the candle must close cleanly below the Open level.
4. Execute the Trade
Once all criteria are met, use the momentum color shift in the TPV candles as your final entry trigger. Target asymmetric risk-to-reward setups (1:3 or 1:5 R:R) based on the next structural draw on liquidity.
⚙️ Customization
Everything is modular. Don't want the TPV colors? Turn them off. Want to use a custom 4-asset comparison instead of the Auto-Triads? Switch to Manual mode. Every line and label size can be custom-colored to fit your exact visual style.
Trade with symmetry. Indicator

Adaptive Velocity Oscillator [UAlgo]Adaptive Velocity Oscillator is a momentum and reversal framework built around the rate of change of an Adaptive Moving Average. Instead of using a fixed smoothing engine, the script first creates a Kaufman style adaptive average whose responsiveness changes according to market efficiency, then measures how fast that adaptive baseline is moving from one bar to the next. That velocity becomes the core oscillator.
The main idea is straightforward. When the adaptive average starts accelerating upward, the oscillator rises above zero. When the adaptive average starts decelerating or turning lower, the oscillator falls below zero. This gives the user a direct view of directional pressure, but in a way that remains sensitive to changing market conditions because the underlying average itself is adaptive rather than static.
To make the oscillator more practical, the script surrounds the velocity with dynamic filter bands derived from the standard deviation of the AMA series. These bands act like a contextual noise threshold. Small fluctuations inside the band are treated as less important, while stronger moves through the band can be interpreted as meaningful directional expansion or reversal activity.
The script also supports two signal styles. Standard mode reacts to velocity transitions through the regular filter band. Extreme Reversal mode requires a deeper stretch into an expanded threshold before signaling a reversal style response. Optional price confirmation can then require bullish candle structure for buy signals and bearish candle structure for sell signals. A cooldown filter is added on top so the same type of signal cannot repeat too rapidly.
The result is an oscillator that can be used for trend context, reversal spotting, and momentum transition analysis. It is especially useful for traders who want something more adaptive than a traditional moving average crossover or a simple rate of change calculation.
🔹 Features
🔸 Adaptive AMA Core
The script uses an adaptive moving average whose smoothing constant changes according to the Efficiency Ratio. When price is moving efficiently in one direction, the average becomes more responsive. When price is noisy and directionless, the average becomes slower and more stable.
🔸 Velocity Based Oscillator
The oscillator is not built from price directly. It is built from the bar to bar change of the adaptive average. This means the indicator measures how quickly the smoothed baseline itself is moving, which creates a cleaner momentum signal than raw price change alone.
🔸 Dynamic Filter Bands
A statistical filter band is calculated from the standard deviation of the AMA series and then scaled by the user selected gamma value. This creates a noise threshold that expands and contracts with market conditions.
🔸 Standard and Extreme Reversal Modes
In Standard mode, signals are generated when velocity crosses back through the regular filter threshold. In Extreme Reversal mode, the script requires a deeper stretch using an expanded band before a signal can trigger. This gives the user a choice between more responsive and more selective behavior.
🔸 Optional Price Confirmation
Signals can require candle confirmation. Bullish signals may be restricted to bars where close is above open, and bearish signals may be restricted to bars where close is below open. This can help reduce signals that appear without supportive candle structure.
🔸 Cooldown Protection
A built in cooldown logic prevents repeated same side signals from firing too close together. This helps reduce clustering during noisy or oscillatory phases.
🔸 Trend State From Zero Crosses
The script also tracks velocity crosses through zero. These zero transitions can be interpreted as broader positive or negative momentum regime shifts.
🔸 Visual Context Through Color and Bands
The histogram and line coloring change according to whether velocity is strongly positive, strongly negative, or neutral relative to the filter zone. This makes the oscillator easy to read at a glance.
🔸 Signal Labels and Alerts
The indicator places buy and sell labels around qualifying signal bars and includes alert conditions for bullish signals, bearish signals, positive trend shifts, and negative trend shifts.
🔹 Calculations
1) AMA State Container
type AMACalculator
float value = na
float value_prev = na
float velocity = 0.0
float filterBand = 0.0
This object stores the internal state of the adaptive average engine.
value holds the latest AMA value.
value_prev stores the previous AMA value.
velocity stores the bar to bar change of that AMA.
filterBand stores the active dynamic threshold used later for signal filtering.
So before any signal logic begins, the script already has a dedicated structure for the adaptive average, its momentum, and its statistical band.
2) Efficiency Ratio Calculation
float change = math.abs(src - src )
float volatility = math.sum(math.abs(src - src ), lengthER)
float ER = volatility == 0 ? 0 : change / volatility
This is the first major step inside the AMA calculation.
The script compares two quantities.
change measures the net directional move from the current price back to the price lengthER bars ago.
volatility measures the total path traveled during that same interval by summing all absolute bar to bar changes.
The Efficiency Ratio is then:
ER = change / volatility
If price moved smoothly in one direction, net change will be large relative to total movement, and ER will be high. If price moved in a noisy back and forth way, total movement will be large but net change will be smaller, so ER will be low.
This ratio tells the AMA how efficiently price has been moving, which directly controls how responsive the adaptive average should become.
3) Building the Adaptive Smoothing Constant
float fastest = 2.0 / (fastLen + 1)
float slowest = 2.0 / (slowLen + 1)
float sc = math.pow(ER * (fastest - slowest) + slowest, 2)
This block converts the Efficiency Ratio into a smoothing constant.
First, the script computes the EMA style constants for the chosen fast and slow lengths. Then it blends between them using ER. When ER is high, the result moves closer to the fast setting. When ER is low, the result stays closer to the slow setting.
Finally, the blended value is squared. This is a classic AMA technique that makes the adaptive response more sensitive to efficiency changes.
So the smoothing constant automatically shifts between fast and slow behavior depending on market structure.
4) Updating the Adaptive Moving Average
this.value_prev := this.value
float prevAma = na(this.value_prev) ? src : this.value_prev
this.value := prevAma + sc * (src - prevAma)
This is the actual AMA update formula.
The script first stores the previous AMA value. If no previous value exists yet, it uses the current source as the starting point.
Then it updates the average using:
new AMA = previous AMA + smoothing constant × (source minus previous AMA)
So the adaptive average moves toward price, but the speed of that movement depends entirely on the previously calculated smoothing constant.
When the market is efficient, the average reacts more quickly. When the market is noisy, it reacts more slowly.
5) Computing Velocity
this.velocity := this.value - prevAma
This single line is the core of the oscillator.
Velocity here is simply the difference between the current AMA value and the previous AMA value.
If the adaptive average is rising, velocity is positive.
If the adaptive average is falling, velocity is negative.
If the adaptive average is barely moving, velocity stays close to zero.
So the oscillator is not measuring price change directly. It is measuring the momentum of the adaptive baseline itself.
6) Creating the Dynamic Filter Band
float amaGlobalSeries = amaObj.value
float sigma = ta.stdev(amaGlobalSeries, n)
amaObj.filterBand := gamma * sigma
After the AMA is calculated, the script builds a dynamic filter threshold from its standard deviation.
sigma measures how much the AMA has been varying over the selected period.
That value is then scaled by gamma to create the final filter band.
So the band expands when the adaptive average becomes more variable and contracts when the average becomes quieter.
This creates a context aware threshold that helps separate meaningful momentum movement from smaller background fluctuations.
7) Regular Band and Extreme Band
float currentVelocity = amaObj.velocity
float currentFilter = amaObj.filterBand
float extremeBand = currentFilter * extMulti
This block prepares the two signal thresholds used later.
currentFilter is the normal band.
extremeBand is a larger band created by multiplying the normal band by the user selected extreme multiplier.
So the script supports two layers of selectivity:
a regular threshold for Standard mode,
and a deeper threshold for Extreme Reversal mode.
8) Raw Signal Logic
bool rawBullSignal = sigMode == "Standard" ? ta.crossover(currentVelocity, -currentFilter) : ta.crossover(currentVelocity, -extremeBand)
bool rawBearSignal = sigMode == "Standard" ? ta.crossunder(currentVelocity, currentFilter) : ta.crossunder(currentVelocity, extremeBand)
This is the primary signal engine.
In Standard mode:
a bullish signal appears when velocity crosses upward through the negative regular filter level.
a bearish signal appears when velocity crosses downward through the positive regular filter level.
In Extreme Reversal mode:
a bullish signal requires velocity to recover upward through the deeper negative extreme band.
a bearish signal requires velocity to fall downward through the deeper positive extreme band.
The important idea is that signals are not based on zero line crosses alone. They are based on velocity reentering from stretched territory. That makes the logic more reversal oriented than a simple trend flip model.
9) Optional Price Confirmation
if reqPriceConf
rawBullSignal := rawBullSignal and close > open
rawBearSignal := rawBearSignal and close < open
This block adds an extra candle structure filter.
If price confirmation is enabled:
bullish signals are only allowed when the bar closes above its open.
bearish signals are only allowed when the bar closes below its open.
This can help reduce signals that occur mathematically in the oscillator but do not have supportive price behavior on the actual candle.
So the oscillator can be used either in pure indicator form or with a stricter candle aligned confirmation layer.
10) Cooldown Filter Logic
method filterSignal(array arr, bool cond, int waitBars) =>
bool isValid = false
if cond
int lastSignalBar = arr.size() > 0 ? arr.get(0) : -waitBars - 1
if (bar_index - lastSignalBar) >= waitBars
isValid := true
arr.unshift(bar_index)
if arr.size() > 2
arr.pop()
isValid
This method prevents signals from firing too frequently.
When a new raw signal appears, the script looks at the most recent stored signal bar for that direction. If enough bars have passed since the previous signal, the new one is accepted. Otherwise it is ignored.
The accepted signal bar index is then stored at the front of the array. Only a small recent history is kept.
So this method acts as a timing gate that stops repetitive same side signals during choppy conditions.
11) Final Signal Construction
var array lastBull = array.new()
var array lastBear = array.new()
bool finalBullSignal = lastBull.filterSignal(rawBullSignal, cooldown)
bool finalBearSignal = lastBear.filterSignal(rawBearSignal, cooldown)
This is where raw signals become final trade style signals.
Bullish signals are passed through the bullish cooldown array.
Bearish signals are passed through the bearish cooldown array.
That means buy and sell signals are filtered independently. A recent bullish signal only blocks another bullish signal, and a recent bearish signal only blocks another bearish signal.
So the script maintains clean directional spacing for both sides.
12) Histogram Coloring Logic
color histColor = currentVelocity > currentFilter ? color.new(colorUp, 20) :
currentVelocity < -currentFilter ? color.new(colorDn, 20) :
currentVelocity > 0 ? color.new(colorUp, 70) :
color.new(colorDn, 70)
This block assigns visual meaning to oscillator strength.
If velocity is above the upper regular filter, the histogram uses a stronger bullish color.
If velocity is below the lower regular filter, it uses a stronger bearish color.
If velocity is still positive but inside the filter region, it uses a softer bullish color.
If velocity is negative but inside the filter region, it uses a softer bearish color.
So the color logic tells the user both direction and intensity at the same time.
13) Drawing the Filter Bands
plot(currentFilter, "Upper Filter Band", color=color.new(colorDn, 40), linewidth=1, style=plot.style_line)
plot(-currentFilter, "Lower Filter Band", color=color.new(colorUp, 40), linewidth=1, style=plot.style_line)
plot(extremeBand, "Upper Extreme Band", color=color.new(colorDn, 60), linewidth=1, style=plot.style_line, display=sigMode == "Extreme Reversal" ? display.all : display.none)
plot(-extremeBand, "Lower Extreme Band", color=color.new(colorUp, 60), linewidth=1, style=plot.style_line, display=sigMode == "Extreme Reversal" ? display.all : display.none)
These plots create the visual threshold system.
The regular upper and lower filter bands are always shown.
The wider extreme bands are shown only when Extreme Reversal mode is selected.
This makes it easy to see whether current velocity is operating inside the neutral zone, beyond the regular band, or at deeper stretch levels.
14) Filling the Neutral Filter Region
p_upper = plot(currentFilter, display=display.none)
p_lower = plot(-currentFilter, display=display.none)
fill(p_upper, p_lower, color=color.new(colorNeu, 95), title="Filter Band Fill")
This block shades the area between the upper and lower regular filter bands.
The filled zone visually represents the neutral or lower conviction region. When velocity remains inside this zone, momentum is more muted relative to recent adaptive average behavior.
So the fill acts as a quick background cue for whether velocity is still inside normal fluctuation territory.
15) Plotting Velocity as Histogram and Line
plot(currentVelocity, "AMA Velocity", color=histColor, style=plot.style_columns)
plot(currentVelocity, "Velocity Line", color=histColor, linewidth=2)
The same velocity value is drawn in two forms.
The column plot gives a strong histogram style momentum read.
The line plot overlays the same data as a smoother continuous path.
Using both together makes the oscillator easier to read because the columns highlight amplitude while the line emphasizes turning points and transitions.
16) Signal Label Placement
if finalBullSignal
label.new(x=bar_index, y=math.min(0, currentVelocity) - math.abs(sigMode == "Extreme Reversal" ? extremeBand : currentFilter) - (math.abs(currentFilter) * 1.5),
text="▲ BUY",
color=color.new(color.white, 100),
textcolor=colorUp,
style=label.style_none,
size=size.small)
if finalBearSignal
label.new(x=bar_index, y=math.max(0, currentVelocity) + math.abs(sigMode == "Extreme Reversal" ? extremeBand : currentFilter) + (math.abs(currentFilter) * 1.5),
text="SELL ▼",
color=color.new(color.white, 100),
textcolor=colorDn,
style=label.style_none,
size=size.small)
These blocks place the signal labels outside the oscillator body rather than directly on top of the bars.
For bullish signals, the label is positioned below the relevant lower threshold area.
For bearish signals, the label is positioned above the relevant upper threshold area.
This helps keep the chart readable and visually separates the signal from the oscillator itself.
17) Alert Conditions
alertcondition(finalBullSignal, "Buy Signal", "AMA Velocity Buy Signal")
alertcondition(finalBearSignal, "Sell Signal", "AMA Velocity Sell Signal")
bool posTrend = ta.crossover(currentVelocity, 0)
bool negTrend = ta.crossunder(currentVelocity, 0)
alertcondition(posTrend, "Positive Trend", "AMA Velocity crossed above zero")
alertcondition(negTrend, "Negative Trend", "AMA Velocity crossed below zero")
The script provides four alert types.
The first two alert on final buy and sell signals after all filters and cooldown checks are applied.
The second two alert when velocity crosses the zero line, which can be interpreted as broader momentum regime shifts.
So the indicator supports both reversal style event monitoring and general trend transition monitoring. Indicator

Time-Price Velocity [QuantAlgo]🟢 Overview
The Time-Price Velocity indicator uses advanced velocity-based analysis to measure the rate of price change normalized against typical market movement, creating a dynamic momentum oscillator that identifies market acceleration patterns and momentum shifts. Unlike traditional momentum indicators that focus solely on price change magnitude, this indicator incorporates time-weighted displacement calculations and ATR normalization to create a sophisticated velocity measurement system that adapts to varying market volatility conditions.
This indicator displays a velocity signal line that oscillates around zero, with positive values indicating upward price velocity and negative values indicating downward price velocity. The signal incorporates acceleration background columns and statistical normalization to help traders identify momentum shifts and potential reversal or continuation opportunities across different timeframes and asset classes.
🟢 How It Works
The indicator's key insight lies in its time-price velocity calculation system, where velocity is measured using the fundamental physics formula:
velocity = priceChange / timeWeight
The system normalizes this raw velocity against typical price movement using Average True Range (ATR) to create market-adjusted readings:
normalizedVelocity = typicalMove > 0 ? velocity / typicalMove : 0
where "typicalMove = ta.atr(lookback)" provides the baseline for normal price movement over the specified lookback period.
The Time-Price Velocity indicator calculation combines multiple sophisticated components. First, it calculates acceleration as the change in velocity over time:
acceleration = normalizedVelocity - normalizedVelocity
Then, the signal generation applies EMA smoothing to reduce noise while preserving responsiveness:
signal = ta.ema(normalizedVelocity, smooth)
This creates a velocity-based momentum indicator that combines price displacement analysis with statistical normalization, providing traders with both directional signals and acceleration insights for enhanced market timing.
🟢 How to Use
1. Signal Interpretation and Threshold Zones
Positive Values (Above Zero): Time-price velocity indicating bullish momentum with upward price displacement relative to normalized baseline
Negative Values (Below Zero): Time-price velocity indicating bearish momentum with downward price displacement relative to normalized baseline
Zero Line Crosses: Velocity transitions between bullish and bearish regimes, indicating potential trend changes or momentum shifts
Upper Threshold Zone: Area above positive threshold (default 1.0) indicating strong bullish velocity and potential reversal point
Lower Threshold Zone: Area below negative threshold (default -1.0) indicating strong bearish velocity and potential reversal point
2. Acceleration Analysis and Visual Features
Acceleration Columns: Background histogram showing velocity acceleration (the rate of change of velocity), with green columns indicating accelerating velocity and red columns indicating decelerating velocity. The interpretation depends on trend context: red columns in downtrends indicate strengthening bearish momentum, while red columns in uptrends indicate weakening bullish momentum
Acceleration Column Height: The height of each column represents the magnitude of acceleration, with taller columns indicating stronger acceleration or deceleration forces
Bar Coloring: Optional price bar coloring matches velocity direction for immediate visual trend confirmation
Info Table: Real-time display of current velocity and acceleration values with trend arrows and change indicators
3. Additional Features:
Confirmed vs Live Data: Toggle between confirmed (closed) bar analysis for stable signals or current bar inclusion for real-time updates
Multi-timeframe Adaptability: Velocity normalization ensures consistent readings across different chart timeframes and asset volatilities
Alert System: Built-in alerts for threshold crossovers and direction changes
🟢 Examples with Preconfigured Settings
Default : Balanced configuration suitable for most timeframes and general trading applications, providing optimal balance between sensitivity and noise filtering for medium-term analysis.
Scalping : High sensitivity setup with shorter lookback period and reduced smoothing for ultra-short-term trades on 1-15 minute charts, optimized for capturing rapid momentum shifts and frequent trading opportunities.
Swing Trading : Extended lookback period with enhanced smoothing and higher threshold for multi-day positions, designed to filter market noise while capturing significant momentum moves on 1-4 hour and daily timeframes.
Indicator

PRO Investing - Apex EnginePRO Investing - Apex Engine
1. Core Concept: Why Does This Indicator Exist?
Traditional momentum oscillators like RSI or Stochastic use a fixed "lookback period" (e.g., 14). This creates a fundamental problem: a 14-period setting that works well in a fast, trending market will generate constant false signals in a slow, choppy market, and vice-versa. The market's character is dynamic, but most tools are static.
The Apex Engine was built to solve this problem. Its primary innovation is a self-optimizing core that continuously adapts to changing market conditions. Instead of relying on one fixed setting, it actively tests three different momentum profiles (Fast, Mid, and Slow) in real-time and selects the one that is most synchronized with the current price action.
This is not just a random combination of indicators; it's a deliberate synthesis designed to create a more robust momentum tool. It combines:
Volatility analysis (ATR) to generate adaptive lookback periods.
Momentum measurement (ROC) to gauge the speed of price changes.
Statistical analysis (Correlation) to validate which momentum measurement is most effective right now.
Classic trend filters (Moving Average, ADX) to ensure signals are only taken in favorable market conditions.
The result is an oscillator that aims to be more responsive in volatile trends and more stable in quiet periods, providing a more intelligent and adaptive signal.
2. How It Works: The Engine's Three-Stage Process
To be transparent, it's important to understand the step-by-step logic the indicator follows on every bar. It's a process of Adapt -> Validate -> Signal.
Stage 1: Adapt (Dynamic Length Calculation)
The engine first measures market volatility using the Average True Range (ATR) relative to its own long-term average. This creates a volatility_factor. In high-volatility environments, this factor causes the base calculation lengths to shorten. In low-volatility, they lengthen. This produces three potential Rate of Change (ROC) lengths: dynamic_fast_len, dynamic_mid_len, and dynamic_slow_len.
Stage 2: Validate (Self-Optimizing Mode Selection)
This is the core of the engine. It calculates the ROC for all three dynamic lengths. To determine which is best, it uses the ta.correlation() function to measure how well each ROC's movement has correlated with the actual bar-to-bar price changes over the "Optimization Lookback" period. The ROC length with the highest correlation score is chosen as the most effective profile for the current moment. This "active" mode is reflected in the oscillator's color and the dashboard.
Stage 3: Signal (Normalized Velocity Oscillator)
The winning ROC series is then normalized into a consistent oscillator (the Velocity line) that ranges from -100 (extreme oversold) to +100 (extreme overbought). This ensures signals are comparable across any asset or timeframe. Signals are only generated when this Velocity line crosses its signal line and the trend filters (explained below) give a green light.
3. How to Use the Indicator: A Practical Guide
Reading the Visuals:
Velocity Line (Blue/Yellow/Pink): The main oscillator line. Its color indicates which mode is active (Fast, Mid, or Slow).
Signal Line (White): A moving average of the Velocity line. Crossovers generate potential signals.
Buy/Sell Triangles (▲ / ▼): These are your primary entry signals. They are intentionally strict and only appear when momentum, trend, and price action align.
Background Color (Green/Red/Gray): This is your trend context.
Green: Bullish trend confirmed (e.g., price above a rising 200 EMA and ADX > 20). Only Buy signals (▲) can appear.
Red: Bearish trend confirmed. Only Sell signals (▼) can appear.
Gray: No clear trend. The market is likely choppy or consolidating. No signals will appear; it is best to stay out.
Trading Strategy Example:
Wait for a colored background. A green or red background indicates the market is in a tradable trend.
Look for a signal. For a green background, wait for a lime Buy triangle (▲) to appear.
Confirm the trade. Before entering, confirm the signal aligns with your own analysis (e.g., support/resistance levels, chart patterns).
Manage the trade. Set a stop-loss according to your risk management rules. An exit can be considered on a fixed target, a trailing stop, or when an opposing signal appears.
4. Settings and Customization
This script is open-source, and its settings are transparent. You are encouraged to understand them.
Synaptic Engine Group:
Volatility Period: The master control for the adaptive engine. Higher values are slower and more stable.
Optimization Lookback: How many bars to use for the correlation check.
Switch Sensitivity: A buffer to prevent frantic switching between modes.
Advanced Configuration & Filters Group:
Price Source: The data source for momentum calculation (default close).
Trend Filter MA Type & Length: Define your long-term trend.
Filter by MA Slope: A key feature. If ON, allows for "buy the dip" entries below a rising MA. If OFF, it's stricter, requiring price to be above the MA.
ADX Length & Threshold: Filters out non-trending, choppy markets. Signals will not fire if the ADX is below this threshold.
5. Important Disclaimer
This indicator is a decision-support tool for discretionary traders, not an automated trading system or financial advice. Past performance is not indicative of future results. All trading involves substantial risk. You should always use proper risk management, including setting stop-losses, and never risk more than you are prepared to lose. The signals generated by this script should be used as one component of a broader trading plan.
Indicator

Kalman Filter Trend BreakersThe Kalman filter is a recursive algorithm developed in 1960 by Rudolf E. Kálmán, a Hungarian-American engineer and mathematician, that provides optimal estimates of a system's state by combining noisy measurements with a predictive model. It is widely used in control systems, signal processing, and finance for tracking and forecasting.
In trading, KF might be a good replacement for a moving average, as it reacts to price changes in a different way. Not only it follows price direction, but can also track the velocity of price change. This specific behaviour of KF is used in this indicator to track changes in trends.
Trend is characterized by price moving directionally, however, any trend comes to pause or complete stop and reversal, as the price changes more slowly (a trend fades into a sideways movement for a while) or the price movement changes direction, thus making a reversal.
This indicator detects the points where such changes occur (trend breaker points), and produces signals, which serve as points of current trend pausing or reversing. By applying different settings for KF calculation, you can produce less or more signals that indicate change in trend character, and either detect only significant trends changes, or less and shorter trends changes as well.
The signals do not differentiate the exact type of a trend change (it can be a brief trend pause followed by a continuation, as well as a complete reversal). However, once you are in a trend, the significant velocity change indicates a change in trend structure. In this sense, trend breaker signals should not be followed blindly, and can be used only as trend (and subsequently, position) exit confirmations, but not the entry contrarian confirmations.
For better visual representation, you can use chart signals attached to bars, and additionally paint a vertical gradient at each signal which shows significant trend deceleration.
Kalman filter calculations used in this indicator are partially based on an open-source code from @loxx which was published in 2022 as Kalman filter overlay . Indicator

Glitch IndexGlitch Index is an oscillator from an unknown origin that is discovered in 2013 as a lua indicator taken from MetaStock days and we are not really sure how far back the original idea goes.
How it Works?
As I found this indicator and looking at it's code in different platform I can see it comes back from a basic idea of getting a price value, calculating it's smoothed average with a set multiplier and getting the difference then presenting it on a simplified scale. It appears to be another interpretation of figuring out price acceleration and velocity. The main logic is calculated as below:
price = priceSet(priceType)
_ma = getAverageName(price, MaMethod, MaPeriod)
rocma = ((_ma - _ma ) * 0.1) + 1
maMul = _ma * rocma
diff = price - maMul
gli_ind = (diff / price) * -10
How to Use?
Glitch Index can be used based on different implementations and along with your already existing trading system as a confirmation. Yoıu can use it as a Long signal when the histogram crosses inner levels or you can use it as an overbough and oversold signals when the histogram crosses above outter levels and gets back in the range between outter and inner levels.
You can customise the settings and set your prefered inner and outter levels in indicator settings along with gradient or static based coloring and modify the code as you see fit. The coloring code is set below:
gli_col = gli_ind > outterLevel ? color.green : gli_ind < -outterLevel ? color.red : gli_ind > innerLevel ? color.rgb(106, 185, 109, 57) : gli_ind < -innerLevel ? color.rgb(233, 111, 111, 40) : color.new(color.yellow, 60)
gradcol = color.from_gradient(gli_ind, -outterLevel, outterLevel, color.red, color.green)
colorSelect = colorType == "Gradient" ? gradcol : gli_col Indicator
