Photon Price Action Scanner [JOAT]Photon Price Action Scanner - Multi-Pattern Recognition with Adaptive Filtering
Introduction and Purpose
Photon Price Action Scanner is an open-source overlay indicator that automates the detection of 15+ candlestick patterns while filtering them through multiple confirmation layers. The core problem this indicator solves is pattern noise: raw candlestick pattern detection produces too many signals, most of which fail because they lack context. This indicator addresses that by combining pattern recognition with trend alignment, volume-weighted strength scoring, velocity confirmation, and an adaptive neural bias filter.
The combination of these components is not arbitrary. Each filter addresses a specific weakness in standalone pattern detection:
Trend alignment ensures patterns appear in favorable market structure
Volume-weighted strength filters out weak patterns with low conviction
Velocity confirmation identifies momentum behind the pattern
Neural bias filter adapts to recent price behavior to avoid counter-trend signals
What Makes This Indicator Original
While candlestick pattern scanners exist, this indicator's originality comes from:
1. Multi-Layer Filtering System - Patterns must pass through trend, strength, velocity, and neural bias filters before generating signals. This dramatically reduces false positives compared to simple pattern detection.
2. Adaptive Neural Bias Filter - A custom momentum-adjusted EMA that learns from recent price action using a configurable learning rate. This is not a standard moving average but an adaptive filter that accelerates during trends and smooths during consolidation.
3. Pattern Strength Scoring - Each pattern receives a strength score based on volume ratio and body size, allowing traders to focus on high-conviction setups rather than every pattern occurrence.
4. Smart Cooldown System - Prevents signal overlap by enforcing minimum bar spacing between pattern labels, keeping charts clean even when "Show All Patterns" is enabled.
How the Components Work Together
Step 1: Pattern Detection
The indicator scans for 15 candlestick patterns using precise mathematical definitions:
// Example: Bullish Engulfing requires the current bullish candle to completely
// engulf the previous bearish candle with a larger body
isBullishEngulfing() =>
bool pattern = close < open and close > open and
open <= close and close >= open and
close - open > open - close
pattern
// Example: Three White Soldiers requires three consecutive bullish candles
// with each opening within the previous body and closing higher
isThreeWhiteSoldiers() =>
bool pattern = close > open and close > open and close > open and
close < close and close < close and
open > open and open < close and
open > open and open < close
pattern
Step 2: Strength Calculation
Each detected pattern receives a strength score combining volume and body size:
float volRatio = avgVolume > 0 ? volume / avgVolume : 1.0
float bodySize = math.abs(close - open) / close
float baseStrength = (volRatio + bodySize * 100) / 2
This ensures patterns with above-average volume and large bodies score higher than weak patterns on low volume.
Step 3: Trend Alignment
Patterns are checked against the trend direction using an EMA:
float trendEMA = ta.ema(close, i_trendPeriod)
int trendDir = close > trendEMA ? 1 : close < trendEMA ? -1 : 0
Bullish patterns in uptrends and bearish patterns in downtrends receive priority.
Step 4: Neural Bias Filter
The adaptive filter uses a momentum-adjusted EMA that responds to price changes:
neuralEMA(series float src, simple int period, simple float lr) =>
var float neuralValue = na
var float momentum = 0.0
if na(neuralValue)
neuralValue := src
float error = src - neuralValue
float adjustment = error * lr
momentum := momentum * 0.9 + adjustment * 0.1
neuralValue := neuralValue + adjustment + momentum
neuralValue
The learning rate (lr) controls how quickly the filter adapts. Higher values make it more responsive; lower values make it smoother.
Step 5: Velocity Confirmation
Price velocity (rate of change) must exceed the average velocity for strong signals:
float velocity = ta.roc(close, i_trendPeriod)
float avgVelocity = ta.sma(velocity, i_trendPeriod)
bool velocityBull = velocity > avgVelocity * 1.5
Step 6: Signal Classification
Signals are classified based on how many filters they pass:
Strong Pattern : Pattern + strength threshold + trend alignment + neural bias + velocity
Ultra Pattern : Strong pattern + gap in same direction + velocity confirmation
Watch Pattern : Pattern detected but not all filters passed
Detected Patterns
Classic Reversal Patterns:
Bullish/Bearish Engulfing - Complete body engulfment with larger body
Hammer - Long lower wick (2x body), small upper wick, bullish context
Shooting Star - Long upper wick (2x body), small lower wick, bearish context
Morning Star - Three-bar bullish reversal with small middle body
Evening Star - Three-bar bearish reversal with small middle body
Piercing Line - Bullish candle closing above midpoint of previous bearish candle
Dark Cloud Cover - Bearish candle closing below midpoint of previous bullish candle
Bullish/Bearish Harami - Small body contained within previous larger body
Doji - Body less than 10% of total range (indecision)
Advanced Patterns (Optional):
Three White Soldiers - Three consecutive bullish candles with rising closes
Three Black Crows - Three consecutive bearish candles with falling closes
Tweezer Top - Equal highs with reversal candle structure
Tweezer Bottom - Equal lows with reversal candle structure
Island Reversal - Gap isolation creating reversal structure
Dashboard Information
The dashboard displays real-time analysis:
Pattern - Current detected pattern name or "SCANNING..."
Bull/Bear Strength - Volume-weighted strength scores
Trend - UPTREND, DOWNTREND, or SIDEWAYS based on EMA
RSI - 14-period RSI for momentum context
Momentum - 10-period momentum reading
Volatility - ATR as percentage of price
Neural Bias - BULLISH, BEARISH, or NEUTRAL from adaptive filter
Action - ULTRA BUY/SELL, BUY/SELL, WATCH BUY/SELL, or WAIT
Visual Elements
Pattern Labels - Abbreviated codes (BE=Engulfing, H=Hammer, MS=Morning Star, etc.)
Neural Bias Line - Adaptive trend line showing filter direction
Gap Boxes - Cyan boxes highlighting price gaps
Action Zones - Dashed boxes around strong pattern areas
Velocity Markers - Small circles when velocity confirms direction
Ultra Signals - Large labels for highest conviction setups
How to Use This Indicator
For Reversal Trading:
1. Wait for a pattern to appear at a key support/resistance level
2. Check that the Action shows "BUY" or "SELL" (not just "WATCH")
3. Confirm the Neural Bias aligns with your trade direction
4. Use the strength score to gauge conviction (higher is better)
For Trend Continuation:
1. Identify the trend using the Trend row in the dashboard
2. Look for patterns that align with the trend (bullish patterns in uptrends)
3. Ultra signals indicate the strongest continuation setups
For Filtering Noise:
1. Keep "Show All Patterns" disabled to see only filtered signals
2. Increase "Pattern Strength Filter" to see fewer, higher-quality patterns
3. Enable "Velocity Confirmation" to require momentum behind patterns
Input Parameters
Scan Sensitivity (1.0) - Overall detection sensitivity multiplier
Pattern Strength Filter (3) - Minimum strength score for strong signals
Trend Period (20) - EMA period for trend determination
Show All Patterns (false) - Display all patterns regardless of filters
Advanced Patterns (true) - Enable soldiers/crows/tweezer detection
Gap Analysis (true) - Enable gap detection and boxes
Velocity Confirmation (true) - Require velocity for strong signals
Neural Bias Filter (true) - Enable adaptive trend filter
Neural Period (50) - Lookback for neural bias calculation
Neural Learning Rate (0.12) - Adaptation speed (0.01-0.5)
Timeframe Recommendations
1H-4H: Best balance of signal frequency and reliability
Daily: Fewer but more significant patterns
15m-30m: More signals, requires tighter filtering (increase strength threshold)
Limitations
Pattern detection is mechanical and does not consider fundamental context
Neural bias filter may lag during rapid trend reversals
Gap detection requires clean price data without after-hours gaps
Strength scoring favors high-volume patterns, which may miss valid low-volume setups
- Made with passion by officialjackofalltrades
Indicators
Aurora Volatility Bands [JOAT]Aurora Volatility Bands - Dynamic ATR-Based Envelope System
Introduction and Purpose
Aurora Volatility Bands is an open-source overlay indicator that creates multi-layered volatility envelopes around price using ATR (Average True Range) calculations. The core problem this indicator solves is that static bands (like fixed percentage envelopes) fail to adapt to changing market conditions. During high volatility, static bands are too tight; during low volatility, they're too wide.
This indicator addresses that by using ATR-based dynamic bands that automatically expand during volatile periods and contract during quiet periods, providing contextually appropriate support/resistance levels at all times.
Why These Components Work Together
The indicator combines three analytical approaches:
1. Triple-Layer Band System - Inner (1x ATR), Outer (2x ATR), and Extreme (3x ATR) bands provide graduated levels of significance
2. Volatility State Detection - Compares current ATR to historical average to classify market regime
3. Multiple MA Types - Allows customization of the center line calculation method
These components complement each other:
The triple-layer system gives traders multiple reference points - inner bands for normal moves, outer for significant moves, extreme for rare events
Volatility state detection tells you WHEN bands are expanding or contracting, helping anticipate breakouts or mean-reversion
MA type selection lets you match the indicator to your trading style (faster EMA vs smoother SMA)
How the Calculation Works
The bands are calculated using ATR multiplied by configurable factors:
float atr = ta.atr(atrPeriod)
float innerUpper = centerMA + (atr * innerMult)
float outerUpper = centerMA + (atr * outerMult)
float extremeUpper = centerMA + (atr * extremeMult)
Volatility state is determined by comparing current ATR percentage to its historical average:
float atrPercent = (atr / close) * 100
float avgAtrPercent = ta.sma(atrPercent, volatilityLookback)
float volatilityRatio = atrPercent / avgAtrPercent
bool isExpanding = volatilityRatio > 1.2 // 20%+ above average
bool isContracting = volatilityRatio < 0.8 // 20%+ below average
Signal Types
Band Touch - Price reaches inner, outer, or extreme bands
Mean Reversion - Price returns to center after touching outer/extreme bands
Breakout - Sustained move beyond outer bands during volatility expansion
Dashboard Information
Volatility - Current state (EXPANDING/CONTRACTING/NORMAL)
Vol Ratio - Current volatility vs average (e.g., 1.5x = 50% above average)
ATR - Current ATR value
ATR % - ATR as percentage of price
Zone - Current price position (EXTREME HIGH/UPPER ZONE/CENTER ZONE/etc.)
Position - Price position as percentage within band structure
Width - Total band width as percentage of price
Using SMA in settings:
How to Use This Indicator
For Mean-Reversion Trading:
1. Wait for price to touch outer or extreme bands
2. Check that volatility state is NORMAL or CONTRACTING (not expanding)
3. Look for reversal candlestick patterns at the band
4. Enter toward center MA with stop beyond the band
For Breakout Trading:
1. Wait for volatility state to show EXPANDING
2. Look for price closing beyond outer bands
3. Enter in direction of breakout
4. Use the band as trailing stop reference
For Volatility Analysis:
1. Monitor volatility ratio for regime changes
2. CONTRACTING often precedes large moves (squeeze)
3. EXPANDING confirms trend strength
Using VWMA and Mean Reversion Signal/MR:
Input Parameters
ATR Period (14) - Period for ATR calculation
Inner/Outer/Extreme Multipliers (1.0/2.0/3.0) - Band distance from center
MA Type (EMA) - Center line calculation method
MA Period (20) - Period for center line
Volatility Comparison Period (20) - Lookback for volatility state
Timeframe Recommendations
15m-1H: Good for intraday mean-reversion
4H-Daily: Best for swing trading and breakout identification
Weekly: Useful for position trading and major level identification
Limitations
ATR-based bands lag during sudden volatility spikes
Mean-reversion signals can fail in strong trends
Breakout signals may whipsaw in ranging markets
Works best on liquid instruments with consistent volatility patterns
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. The source code is fully visible and can be studied to understand how each component works.
This indicator does not constitute financial advice. Band touches do not guarantee reversals. Past performance does not guarantee future results. Always use proper risk management, position sizing, and stop-losses.
- Made with passion by officialjackofalltrades
Eclipse Multi-Oscillator [JOAT]Eclipse Multi-Oscillator - Unified Momentum Confluence System
Introduction and Purpose
Eclipse Multi-Oscillator is an open-source indicator that combines four classic oscillators (RSI, Stochastic, CCI, and Williams %R) into a single unified view with confluence detection. The core problem this indicator solves is oscillator disagreement: traders often see RSI oversold while Stochastic is neutral, or CCI overbought while Williams %R is mid-range. This creates confusion about the true momentum state.
This indicator addresses that by displaying all four oscillators together and counting how many agree on overbought or oversold conditions, providing a clear confluence score that cuts through the noise.
Why These Four Oscillators Work Together
Each oscillator measures momentum differently, and their combination provides a more complete picture:
1. RSI (Relative Strength Index) - Measures the magnitude of recent price changes. Best at identifying momentum exhaustion.
2. Stochastic - Compares closing price to the high-low range. Best at identifying where price is within its recent range.
3. CCI (Commodity Channel Index) - Measures price deviation from statistical mean. Best at identifying unusual price movements.
4. Williams %R - Similar to Stochastic but inverted. Provides confirmation of Stochastic readings.
When 3 or more of these oscillators agree on overbought or oversold, the signal is significantly more reliable than any single oscillator alone.
How Confluence Scoring Works
The indicator counts how many oscillators are in extreme territory:
int obCount = 0
if rsi > rsiOB
obCount += 1
if stochK > stochOB
obCount += 1
if cci > cciOB
obCount += 1
if willRScaled > stochOB
obCount += 1
bool strongOverbought = obCount >= 3
bool strongOversold = osCount >= 3
The confluence score ranges from -4 (all oversold) to +4 (all overbought), with 0 being neutral.
Signal Types
Strong Oversold - 3+ oscillators below oversold threshold (potential bounce)
Strong Overbought - 3+ oscillators above overbought threshold (potential pullback)
OB/OS Exit - RSI leaving extreme zone with Stochastic confirmation (potential reversal)
Divergence - Price makes new high/low while RSI does not (potential reversal warning)
Dashboard Information
RSI/Stoch K/CCI/Will %R - Current values with zone status (OB/OS/MID)
Confluence - Overall bias (STRONG OS, STRONG OB, Lean Bull/Bear, Neutral)
OB Count - How many oscillators are overbought (0-4)
OS Count - How many oscillators are oversold (0-4)
How to Use This Indicator
For Reversal Trading:
1. Wait for Strong Oversold (3+ oscillators agree)
2. Look for bullish candlestick pattern or support level
3. Enter long with stop below recent low
4. Take profit when confluence returns to neutral or overbought
For Trend Confirmation:
1. Check confluence direction matches your trade bias
2. Avoid longs when confluence is strongly overbought
3. Avoid shorts when confluence is strongly oversold
For Divergence Trading:
1. Watch for "D" labels indicating RSI divergence
2. Bullish divergence at support = potential long
3. Bearish divergence at resistance = potential short
Input Parameters
RSI Length (14) - Period for RSI calculation
Stochastic K/D Length (14/3) - Periods for Stochastic
CCI Length (20) - Period for CCI
Williams %R Length (14) - Period for Williams %R
OB/OS Thresholds - Customizable levels for each oscillator
Timeframe Recommendations
15m-1H: Good for intraday momentum analysis
4H-Daily: Best for swing trading confluence
Very short timeframes may produce noisy signals
Limitations
All oscillators can remain in extreme territory during strong trends
Confluence does not predict direction, only identifies extremes
Divergence detection is simplified and may miss some patterns
Works best in ranging or moderately trending markets
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. The source code is fully visible and can be studied.
This indicator does not constitute financial advice. Oscillator confluence does not guarantee reversals. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Quantum Reversal Detector [JOAT]
Quantum Reversal Detector - Multi-Factor Reversal Probability Analysis
Introduction and Purpose
Quantum Reversal Detector is an open-source overlay indicator that combines multiple reversal detection methods into a unified probability-based framework. The core problem this indicator addresses is the unreliability of single-factor reversal signals. A price touching support means nothing without momentum confirmation; an RSI oversold reading means nothing without price structure context.
This indicator solves that by requiring multiple independent factors to align before generating reversal signals, then expressing the result as a probability score rather than a binary signal.
Why These Components Work Together
The indicator combines five analytical approaches, each addressing a different aspect of reversal detection:
1. RSI Extremes - Identifies momentum exhaustion (overbought/oversold)
2. MACD Crossovers - Confirms momentum direction change
3. Support/Resistance Proximity - Ensures price is at a significant level
4. Multi-Depth Momentum - Analyzes momentum across multiple timeframes
5. Statistical Probability - Quantifies reversal likelihood using Bayesian updating
These components are not randomly combined. Each filter catches reversals that others miss:
RSI catches momentum exhaustion but misses structural reversals
MACD catches momentum shifts but lags price action
S/R proximity catches structural levels but ignores momentum
Multi-depth momentum catches divergences across timeframes
Probability scoring combines all factors into actionable confidence levels
How the Detection System Works
Step 1: Pattern Detection
The indicator first identifies potential reversal conditions:
// Check if price is at support/resistance
float lowestLow = ta.lowest(low, period)
float highestHigh = ta.highest(high, period)
bool atSupport = low <= lowestLow * 1.002
bool atResistance = high >= highestHigh * 0.998
// Check RSI conditions
float rsi = ta.rsi(close, 14)
bool oversold = rsi < 30
bool overbought = rsi > 70
// Check MACD crossover
float macd = ta.ema(close, 12) - ta.ema(close, 26)
float signal = ta.ema(macd, 9)
bool macdBullish = ta.crossover(macd, signal)
bool macdBearish = ta.crossunder(macd, signal)
// Combine for reversal detection
if atSupport and oversold and macdBullish
bullishReversal := true
Step 2: Multi-Depth Momentum Analysis
The indicator calculates momentum across multiple periods to detect divergences:
calculateQuantumMomentum(series float price, simple int period, simple int depth) =>
float totalMomentum = 0.0
for i = 0 to depth - 1
int currentPeriod = period * (i + 1)
float momentum = ta.roc(price, currentPeriod)
totalMomentum += momentum
totalMomentum / depth
This creates a composite momentum reading that smooths out noise while preserving genuine momentum shifts.
Step 3: Bayesian Probability Calculation
The indicator uses Bayesian updating to calculate reversal probability:
bayesianProbability(series float priorProb, series float likelihood, series float evidence) =>
float posterior = evidence > 0 ? (likelihood * priorProb) / evidence : priorProb
math.min(math.max(posterior, 0.0), 1.0)
The prior probability starts at 50% and updates based on:
RSI extreme readings increase likelihood
MACD crossovers increase likelihood
S/R proximity increases likelihood
Momentum divergence increases likelihood
Step 4: Confidence Intervals
Using Monte Carlo simulation concepts, the indicator estimates price distribution:
monteCarloSimulation(series float price, series float volatility, simple int iterations) =>
float sumPrice = 0.0
float sumSqDiff = 0.0
for i = 0 to iterations - 1
float randomFactor = (i % 10 - 5) / 10.0
float simulatedPrice = price + volatility * randomFactor
sumPrice += simulatedPrice
float avgPrice = sumPrice / iterations
// Calculate standard deviation for confidence intervals
This provides 95% and 99% confidence bands around the current price.
Signal Classification
Signals are classified by confirmation level:
Confirmed Reversal : Pattern detected for N consecutive bars (default 3)
High Probability : Confirmed + Bayesian probability > 70%
Ultra High Probability : High probability + PDF above average
Dashboard Information
The dashboard displays:
Bayesian Probability - Updated reversal probability (0-100%)
Quantum Momentum - Multi-depth momentum average
RSI - Current RSI value with overbought/oversold status
Volatility - Current ATR as percentage of price
Reversal Signal - BULLISH, BEARISH, or NONE
Divergence - Momentum divergence detection
MACD - Current MACD histogram value
S/R Zone - AT SUPPORT, AT RESISTANCE, or NEUTRAL
95% Confidence - Price range with 95% probability
Bull/Bear Targets - ATR-based reversal targets
Visual Elements
Quantum Bands - ATR-based upper and lower channels
Probability Field - Circle layers showing probability distribution
Confidence Bands - 95% and 99% confidence interval circles
Reversal Labels - REV markers at confirmed reversals
High Probability Markers - Star diamonds at high probability setups
Reversal Zones - Boxes around confirmed reversal areas
Divergence Markers - Triangles at momentum divergences
How to Use This Indicator
For Reversal Trading:
1. Wait for Bayesian Probability to exceed 70%
2. Confirm price is at S/R zone (dashboard shows AT SUPPORT or AT RESISTANCE)
3. Check that RSI is in extreme territory (oversold for longs, overbought for shorts)
4. Enter when REV label appears with high probability marker
For Risk Management:
1. Use the 95% confidence band as a stop-loss reference
2. Use Bull/Bear Targets for take-profit levels
3. Higher probability readings warrant larger position sizes
For Filtering False Signals:
1. Increase Confirmation Bars to require more consecutive signals
2. Only trade when probability exceeds 70%
3. Require divergence confirmation for highest conviction
Input Parameters
Reversal Period (21) - Lookback for S/R and momentum calculations
Quantum Depth (5) - Number of momentum layers for multi-depth analysis
Confirmation Bars (3) - Consecutive bars required for confirmation
Detection Sensitivity (1.2) - Band width and target multiplier
Bayesian Probability (true) - Enable probability calculation
Monte Carlo Simulation (true) - Enable confidence interval calculation
Normal Distribution (true) - Enable PDF calculation
Confidence Intervals (true) - Enable confidence bands
Timeframe Recommendations
1H-4H: Best for swing trading reversals
Daily: Fewer but more significant reversal signals
15m-30m: More signals, requires higher probability threshold
Limitations
Statistical concepts are simplified implementations for Pine Script
Monte Carlo uses deterministic pseudo-random factors, not true randomness
Bayesian probability uses simplified prior/likelihood model
Reversal detection does not guarantee actual reversals will occur
Confirmation bars add lag to signal generation
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. The source code is fully visible and can be studied to understand how each component works.
This indicator does not constitute financial advice. Reversal detection is probabilistic, not predictive. The probability scores represent statistical likelihood based on historical patterns, not guaranteed outcomes. Past performance does not guarantee future results. Always use proper risk management, position sizing, and stop-losses.
- Made with passion by officialjackofalltrades
Hyper-Spectral Neural Flow [Pineify]Hyper-Spectral Neural Flow - Advanced Gaussian Kernel Trend Detection with Spectral Volatility Bands
Transform your chart analysis with a cutting-edge indicator that combines machine learning-inspired smoothing algorithms with stunning visual feedback systems for precise trend identification and market momentum visualization.
Overview
The Hyper-Spectral Neural Flow is a sophisticated technical analysis tool that implements Gaussian Kernel Regression smoothing to estimate the underlying price trend with minimal lag while providing dynamic volatility-based visual feedback through its signature "spectral aura" display. Unlike conventional moving averages or simple trend indicators, this tool adapts its smoothing characteristics based on localized price behavior, creating a neural-inspired pathway that represents the market's true trend direction.
The indicator's core calculation utilizes a 50-bar Gaussian window with customizable bandwidth parameters, allowing traders to balance between responsiveness and smoothness according to their trading style. Surrounding this core trend line are multi-layered spectral bands that expand and contract based on market volatility, measured through a combination of Mean Absolute Error (MAE) and user-defined multipliers.
Key Features
Gaussian Kernel Neural Core - A proprietary smoothing algorithm that calculates localized weighted averages using Gaussian distribution weights, providing superior noise reduction compared to traditional moving averages
Multi-Layered Spectral Aura - Four distinct volatility bands (inner/upper and inner/lower) that create a dynamic visual representation of market volatility and trend strength
Adaptive Gradient Fills - Color-gradient transparency that adjusts based on price position relative to the neural core, creating an energy field effect that visually communicates market momentum
Trend Pulse Markers - Automatic circular markers that appear precisely when the neural flow shifts direction, providing clear entry/exit signals
Dynamic Bar Coloring - Price bars that change color and transparency based on trend direction, enhancing visual pattern recognition
Real-Time Trend Calculation - Optimized 50-bar rolling window ensures responsive performance without excessive computational load
Customizable Alert System - Built-in alert conditions for neural flow direction changes
How It Works
The indicator's calculation engine operates on three distinct levels working in harmony:
Neural Core Calculation - For each bar, the algorithm computes a weighted average of the previous 50 bars using Gaussian kernel functions. The weight assigned to each historical bar follows a bell curve distribution, where more recent bars receive exponentially higher weights. The mathematical formula is: weight = exp(-(distance²) / (2 × bandwidth²)) , where the bandwidth parameter (default: 8.0) controls the smoothness sensitivity.
Volatility Band Derivation - The spectral bands are calculated using the Mean Absolute Error (MAE) between price and the neural core, smoothed over 50 periods and multiplied by a user-defined spectral range multiplier (default: 3.0). This creates four bands: outer upper (+1.0× MAE), inner upper (+0.5× MAE), inner lower (-0.5× MAE), and outer lower (-1.0× MAE).
Trend Direction Logic - The system determines trend direction by comparing the current neural core value to the previous bar's value. When the core rises, the bullish flow color activates; when it declines, the bearish flow color engages.
Trading Ideas and Insights
Trend Following - Use the neural core as your primary trend reference. When price is above the core with the bullish flow color active, look for long entry opportunities on pullbacks to the inner lower spectral band
Trend Reversal Detection - Watch for the trend pulse markers combined with price crossing the neural core. A bullish pulse appearing after a bearish phase, especially near the outer lower band, often signals a trend reversal
Volatility Contraction Plays - When the spectral bands narrow significantly (indicating low volatility), prepare for potential breakout trades as volatility expansion often follows consolidation periods
Support/Resistance Zones - The inner and outer spectral bands often act as dynamic support and resistance levels. Price rejection from these bands, combined with trend pulse markers, provides high-probability trade setups
Momentum Assessment - Strong trends show the spectral bands expanding in the direction of the move while maintaining consistent separation. Converging bands suggest momentum weakening
How Multiple Indicators Work Together
The true power of Hyper-Spectral Neural Flow lies in the synergistic integration of its components:
The Gaussian Kernel Core provides the foundational trend direction, eliminating noise while preserving genuine price movements
The Spectral Bands add context by showing volatility-adjusted price boundaries, preventing premature entries during low-volatility conditions
The Gradient Fill System offers immediate visual feedback about trend strength—wider, more opaque bands indicate stronger trends, while narrow, transparent bands suggest weakness
The Trend Pulse Markers serve as confirmation signals, ensuring traders don't act on minor core fluctuations but only on meaningful directional changes
This multi-component approach means each element validates the others: a trend pulse marker appearing while price is at an outer band and the spectral aura is expanding provides three independent confirmations of a significant trading opportunity .
Unique Aspects
Machine Learning Foundation - Unlike most TradingView indicators based on standard technical analysis formulas, this implements concepts from Gaussian Process Regression, a technique used in advanced machine learning applications
Visual Hierarchy - The layered design (core line → inner bands → outer bands) creates a natural visual priority system that guides the eye from the most important element (trend direction) to secondary context (volatility levels)
Adaptive Smoothing - The Gaussian bandwidth parameter allows traders to morph the indicator between a short-term scalping tool (lower values) and a long-term trend following system (higher values) without changing the underlying algorithm
Neuro-Aesthetic Design - The visual language mimics neural network imagery and spectrographic displays, making complex data intuitively understandable through association with familiar scientific visualization
How to Use
Add the indicator to your chart from the indicators library and overlay it on your price data
Begin with default settings (Neural Bandwidth: 8.0, Spectral Range: 3.0) to observe the indicator's behavior on your timeframe
For trend following: Only take long trades when the neural core is rising and showing the bullish flow color; only take short trades when the core is declining with bearish flow color
For entry timing: Use the inner spectral bands as pullback entry zones during strong trends—the inner lower band for longs, the inner upper band for shorts
For stop placement: Consider placing stops just beyond the outer spectral band opposite your trade direction
For trend confirmation: Wait for trend pulse markers to appear before entering positions, especially when trading counter-trend reversals
For exit signals: Consider partial profits when price reaches the outer band in the direction of your trade, or when a trend pulse marker signals a potential direction change
Customization
Neural Bandwidth (1.0 to 20.0) - Increase for smoother, slower signals suitable for swing trading (try 12.0-15.0 on daily charts); decrease for more responsive signals for scalping or day trading (try 3.0-5.0 on intraday timeframes)
Spectral Range (0.5 to 10.0) - Higher values widen the volatility bands, resulting in fewer signals but potentially larger winning trades; lower values create tighter bands for more frequent signals but increased false signals during volatility spikes
Bullish/Bearish Flow Colors - Customize to match your chart aesthetic or preference; consider using colors that contrast well with your background for optimal visibility
Aura Opacity (0 to 100) - Adjust to control the prominence of the spectral gradient fills; lower values make the chart less cluttered, higher values emphasize the volatility expansion/contraction cycles
Trend Pulse Marks - Disable if you prefer a cleaner visual and plan to rely solely on core direction and band relationships for signals
Conclusion
The Hyper-Spectral Neural Flow represents a paradigm shift in trend indicator design, bridging the gap between rigorous statistical methodology and intuitive visual communication. By implementing Gaussian kernel regression—typically found in advanced machine learning applications—within an accessible TradingView indicator, it offers traders a professional-grade trend detection tool that doesn't sacrifice usability for sophistication.
Whether you're a systematic trader who relies on objective, rule-based signals, a discretionary trader who values contextual market information, or a quantitative analyst seeking robust trend estimation, this indicator provides the flexibility to adapt to your methodology while maintaining mathematical rigor in its core calculations.
The integration of volatility-based spectral bands with the neural core creates a complete trading framework in a single indicator: trend identification, volatility assessment, entry timing guidance, and trend change signals—all unified through a cohesive visual language that makes complex data immediately actionable. By understanding how the Gaussian smoothing adapts to market conditions and how the spectral bands breathe with volatility, traders gain deeper insight into market structure beyond simple price movement.
Add the Hyper-Spectral Neural Flow to your chart analysis toolkit and experience the difference that machine learning-inspired indicators can make in your trading decisions.
Volume-Weighted Price Z-Score [QuantAlgo]🟢 Overview
The Volume-Weighted Price Z-Score indicator quantifies price deviations from volume-weighted equilibrium using statistical standardization. It combines volume-weighted moving average analysis with logarithmic deviation measurement and volatility normalization to identify when prices have moved to statistically extreme levels relative to their volume-weighted baseline, helping traders and investors spot potential mean reversion opportunities across multiple timeframes and asset classes.
🟢 How It Works
The indicator's core methodology lies in its volume-weighted statistical approach, where price displacement is measured through normalized deviations from volume-weighted price levels:
volumeWeightedAverage = ta.vwma(priceSource, lookbackPeriod)
logDeviation = math.log(priceSource / volumeWeightedAverage)
volatilityMeasure = ta.stdev(logDeviation, lookbackPeriod)
The script uses logarithmic transformation to capture proportional price changes rather than absolute differences, ensuring equal treatment of percentage moves regardless of price level:
rawZScore = logDeviation / volatilityMeasure
zScore = ta.ema(rawZScore, smoothingPeriod)
First, it establishes the volume-weighted baseline which gives greater weight to price levels where significant trading occurred, creating a more representative equilibrium point than simple moving averages.
Then, the logarithmic deviation measurement converts the price-to-average ratio into a normalized scale:
logDeviation = math.log(priceSource / volumeWeightedAverage)
Next, statistical normalization is achieved by dividing the deviation by its own historical volatility, creating a standardized z-score that measures how many standard deviations the current price sits from the volume-weighted mean.
Finally, EMA smoothing filters noise while preserving the signal's responsiveness to genuine market extremes:
rawZScore = logDeviation / volatilityMeasure
zScore = ta.ema(rawZScore, smoothingPeriod)
This creates a volume-anchored statistical oscillator that combines price-volume relationship analysis with volatility-adjusted normalization, providing traders with probabilistic insights into market extremes and mean reversion potential based on standard deviation thresholds.
🟢 Signal Interpretation
▶ Positive Values (Above Zero): Price trading above volume-weighted average indicating potential overvaluation relative to volume-weighted equilibrium = Caution on longs, potential mean reversion downward = Short/sell opportunities
▶ Negative Values (Below Zero): Price trading below volume-weighted average indicating potential undervaluation relative to volume-weighted equilibrium = Caution on shorts, potential mean reversion upward = Long/buy opportunities
▶ Zero Line Crosses: Mean reversion transitions where price crosses back through volume-weighted equilibrium, indicating shift from overvalued to undervalued (or vice versa) territory
▶ Extreme Positive Zone (Above +2.5σ default): Statistically rare overvaluation representing 98.8%+ confidence level deviation, indicating extremely stretched bullish conditions with high mean reversion probability = Strong correction warning/short signal
▶ Extreme Negative Zone (Below -2.5σ default): Statistically rare undervaluation representing 98.8%+ confidence level deviation, indicating extremely stretched bearish conditions with high mean reversion probability = Strong buying opportunity signal
▶ ±1σ Reference Levels: Moderate deviation zones (±1 standard deviation) marking common price fluctuation boundaries where approximately 68% of price action occurs under normal distribution
▶ ±2σ Reference Levels: Significant deviation zones (±2 standard deviations) marking unusual price extremes where approximately 95% of price action should be contained under normal conditions
🟢 Features
▶ Preconfigured Presets: Three optimized parameter sets accommodate different analytical approaches, instruments and timeframes. "Default" provides balanced statistical measurement suitable for swing trading and daily/4-hour analysis, offering deviation detection with moderate responsiveness to price dislocations. "Fast Response" delivers heightened sensitivity optimized for intraday trading and scalping on 15-minute to 1-hour charts, using shorter statistical windows and minimal smoothing to capture rapid mean reversion opportunities as they develop. "Smooth Trend" offers conservative extreme identification ideal for position trading on daily to weekly charts, employing extended statistical periods and heavy noise filtering to isolate only the most significant market extremes.
▶ Built-in Alerts: Seven alert conditions enable comprehensive automated monitoring of statistical extremes and mean reversion events. Extreme Overbought triggers when z-score crosses above the extreme threshold (default +2.5σ) signaling rare overvaluation, Extreme Oversold activates when z-score crosses below the negative extreme threshold (default -2.5σ) signaling rare undervaluation. Exit Extreme Overbought and Exit Extreme Oversold alert when prices begin reverting from these statistical extremes back toward the mean. Bullish Mean Reversion notifies when z-score crosses above zero indicating shift to overvalued territory, while Bearish Mean Reversion triggers on crosses below zero indicating shift to undervalued territory. Any Extreme Level provides a combined alert for any extreme threshold breach regardless of direction. These notifications allow you to capitalize on statistically significant price dislocations without continuous chart monitoring.
▶ Color Customization: Six visual themes (Classic, Aqua, Cosmic, Ember, Neon, plus Custom) accommodate different chart backgrounds and visual preferences, ensuring optimal contrast for identifying positive versus negative deviations across trading environments. The adjustable fill transparency control (0-100%) allows fine-tuning of the gradient area prominence between the z-score line and zero baseline, with higher opacity values creating subtle background context while lower values produce bold deviation emphasis. Optional bar coloring extends the z-score gradient directly to the indicator pane bars, providing immediate visual reinforcement of current deviation magnitude and direction without requiring reference to the plotted line itself.
*Note: This indicator requires volume data to function correctly, as it calculates deviations from a volume-weighted price average. Tickers with no volume data or extremely limited volume will not produce meaningful results, i.e., the indicator may display flat lines, erratic values, or fail to calculate properly. Using this indicator on assets without volume data (certain forex pairs, synthetic indices, or instruments with unreported/unavailable volume) will produce unreliable or no results at all. Additionally, ensure your chart has sufficient historical data to cover the selected lookback period, e.g., using a 100-bar lookback on a chart with only 50 bars of history will yield incomplete or inaccurate calculations. Always verify your chosen ticker has consistent, accurate volume information and adequate price history before applying this indicator.
Cosmic Volume Analyzer [JOAT]
Cosmic Volume Analyzer - Astrophysics Edition
Overview
Cosmic Volume Analyzer is an open-source oscillator indicator that applies astrophysics-inspired concepts to volume analysis. It classifies volume into buy/sell categories, calculates volume flow, detects accumulation/distribution phases, identifies climax volume events, and uses gravitational and stellar mass analogies to visualize volume dynamics.
What This Indicator Does
The indicator calculates and displays:
Volume Classification - Categorizes each bar as CLIMAX_BUY, CLIMAX_SELL, HIGH_BUY, HIGH_SELL, NORMAL_BUY, or NORMAL_SELL
Volume Flow - Percentage showing buy vs sell pressure over a lookback period
Buy/Sell Volume - Separated volume based on candle direction
Accumulation/Distribution - Phase detection using Money Flow Multiplier
Volume Oscillator - Fast vs slow volume EMA comparison
Gravitational Pull - Volume-weighted price attraction metric
Stellar Mass Index - Volume ratio combined with price momentum
Black Hole Detection - Identifies extremely low volume periods (liquidity voids)
Supernova Events - Detects extreme volume with extreme price movement
Orbital Cycles - Sine-wave based cyclical visualization
How It Works
Volume classification uses volume ratio and candle direction:
classifyVolume(series float vol, series float close, series float open) =>
float avgVol = ta.sma(vol, 20)
float volRatio = avgVol > 0 ? vol / avgVol : 1.0
if volRatio > 1.5
if close > open
classification := "CLIMAX_BUY"
else
classification := "CLIMAX_SELL"
else if volRatio > 1.2
// HIGH_BUY or HIGH_SELL
else
// NORMAL_BUY or NORMAL_SELL
Volume flow separates buy and sell volume over a period:
calculateVolumeFlow(series float vol, series float close, simple int period) =>
float currentBuyVol = close > open ? vol : 0.0
float currentSellVol = close < open ? vol : 0.0
// Accumulate in buffers
float flow = (buyVolume - sellVolume) / totalVol * 100
Accumulation/Distribution uses the Money Flow Multiplier:
float mfm = ((close - low) - (high - close)) / (high - low)
float mfv = mfm * vol
float adLine = ta.cum(mfv)
if adLine > adEMA and ta.rising(adLine, 3)
phase := "ACCUMULATION"
else if adLine < adEMA and ta.falling(adLine, 3)
phase := "DISTRIBUTION"
Gravitational pull uses volume-weighted price distance:
gravitationalPull(series float vol, series float price, simple int period) =>
float massCenter = ta.vwma(price, period)
float distance = math.abs(price - massCenter)
float mass = vol / ta.sma(vol, period)
float gravity = distance > 0 ? mass / (distance * distance) : 0.0
Signal Generation
Signals are generated based on volume conditions:
Buy Climax: Volume exceeds 2 standard deviations above average on bullish candle
Sell Climax: Volume exceeds 2 standard deviations above average on bearish candle
Strong Buy Flow: Volume flow exceeds positive threshold (default 45%)
Strong Sell Flow: Volume flow exceeds negative threshold (default -45%)
Supernova: Volume 3x average AND price change 3x average
Black Hole: Volume 2 standard deviations below average
Dashboard Panel (Top-Right)
Volume Class - Current volume classification
Volume Flow - Buy/sell flow percentage
Buy Volume - Accumulated buy volume
Sell Volume - Accumulated sell volume
A/D Phase - ACCUMULATION/DISTRIBUTION/NEUTRAL
Volume Strength - Normalized volume strength
Gravity Pull - Current gravitational metric
Stellar Mass - Current stellar mass index
Cosmic Field - Combined cosmic field strength
Black Hole - Detection status and void strength
Signal - Current actionable status
Visual Elements
Volume Ratio Columns - Colored bars showing normalized volume
Volume Flow Line - Main oscillator showing flow direction
Flow EMA - Smoothed flow for trend reference
Volume Oscillator - Area plot showing fast/slow comparison
Gravity Field - Area plot showing gravitational pull
Orbital Cycle - Circle plots showing cyclical pattern
Stellar Mass Line - Line showing mass index
Climax Markers - Fire emoji for buy climax, snowflake for sell climax
Supernova Markers - Diamond shapes for extreme events
Black Hole Markers - X-cross for liquidity voids
A/D Phase Background - Subtle background color based on phase
Input Parameters
Volume Period (default: 20) - Period for volume calculations
Distribution Levels (default: 5) - Granularity of distribution analysis
Flow Threshold (default: 1.5) - Multiplier for flow significance
Accumulation Period (default: 14) - Period for A/D calculation
Gravitational Analysis (default: true) - Enable gravity metrics
Black Hole Detection (default: true) - Enable void detection
Stellar Mass Calculation (default: true) - Enable mass index
Orbital Cycles (default: true) - Enable cyclical visualization
Supernova Detection (default: true) - Enable extreme event detection
Suggested Use Cases
Identify accumulation phases for potential long entries
Watch for distribution phases as potential exit signals
Use climax volume as potential exhaustion indicators
Monitor volume flow for directional bias
Avoid trading during black hole (low liquidity) periods
Watch for supernova events as potential trend acceleration
Timeframe Recommendations
Best on 15m to Daily charts. Volume analysis requires sufficient trading activity for meaningful readings.
Limitations
Volume data quality varies by exchange and instrument
Buy/sell separation is based on candle direction, not actual order flow
Astrophysics concepts are analogies, not literal physics
A/D phase detection may lag during rapid transitions
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Entropy Balance Oscillator [JOAT]
Entropy Balance Oscillator - Chaos Theory Edition
Overview
Entropy Balance Oscillator is an open-source oscillator indicator that applies chaos theory concepts to market analysis. It calculates market entropy (disorder/randomness), balance (price position within range), and various chaos metrics to identify whether the market is in an ordered, chaotic, or balanced state. This helps traders understand market regime and adjust their strategies accordingly.
What This Indicator Does
The indicator calculates and displays:
Entropy - Measures market disorder using return distribution analysis
Balance - Price position within the high-low range, normalized to -1 to +1
Lyapunov Exponent - Estimates sensitivity to initial conditions (chaos indicator)
Hurst Exponent - Measures long-term memory in price series (trend persistence)
Strange Attractor - Simulated attractor points for visualization
Bifurcation Detection - Identifies potential regime change points
Chaos Index - Combined entropy and volatility score
Market Phase - Classification as CHAOS, ORDER, or BALANCED
How It Works
Entropy is calculated using return distribution:
calculateEntropy(series float price, simple int period) =>
// Calculate returns and their absolute values
// Sum absolute returns for normalization
// Apply Shannon entropy formula: -sum(p * log(p))
float entropy = 0.0
for i = 0 to array.size(returns) - 1
float prob = math.abs(array.get(returns, i)) / sumAbs
if prob > 0
entropy -= prob * math.log(prob)
entropy
Balance measures price position within range:
calculateBalance(series float high, series float low, series float close, simple int period) =>
float range = high - low
float position = (close - low) / (range > 0 ? range : 1)
float balance = ta.ema(position, period)
(balance - 0.5) * 2 // Normalize to -1 to +1
Lyapunov Exponent estimates chaos sensitivity:
lyapunovExponent(series float price, simple int period) =>
float sumLog = 0.0
for i = 1 to period
float ratio = price > 0 ? math.abs(price / price ) : 1.0
if ratio > 0
sumLog += math.log(ratio)
lyapunov := sumLog / period
Hurst Exponent measures trend persistence:
H > 0.5: Trending/persistent behavior
H = 0.5: Random walk
H < 0.5: Mean-reverting behavior
Signal Generation
Phase changes and extreme conditions generate signals:
Chaos Phase: Normalized entropy exceeds chaos threshold (default 0.7)
Order Phase: Normalized entropy falls below order threshold (default 0.3)
Extreme Chaos: Entropy exceeds 1.5x chaos threshold
Extreme Order: Entropy falls below 0.5x order threshold
Bifurcation: Variance exceeds 2x average variance
Dashboard Panel (Top-Right)
Market Phase - Current phase (CHAOS/ORDER/BALANCED)
Entropy Level - Normalized entropy value
Balance - Current balance reading (-1 to +1)
Chaos Index - Combined chaos score percentage
Volatility - Current price volatility
Lyapunov Exp - Lyapunov exponent value
Hurst Exponent - Hurst exponent value
Chaos Score - Overall chaos assessment
Status - Current market status
Visual Elements
Entropy Line - Main oscillator showing normalized entropy
Entropy EMA - Smoothed entropy for trend reference
Balance Area - Filled area showing balance direction
Chaos/Order Thresholds - Horizontal dashed lines
Lyapunov Line - Step line showing Lyapunov exponent
Strange Attractor - Circle plots showing attractor points
Phase Space - Line showing phase space reconstruction
Phase Background - Background color based on current phase
Extreme Markers - X-cross for extreme chaos, diamond for extreme order
Bifurcation Markers - Circles at potential regime changes
Input Parameters
Entropy Period (default: 20) - Period for entropy calculation
Balance Period (default: 14) - Period for balance calculation
Chaos Threshold (default: 0.7) - Threshold for chaos phase
Order Threshold (default: 0.3) - Threshold for order phase
Lyapunov Exponent (default: true) - Enable Lyapunov calculation
Hurst Exponent (default: true) - Enable Hurst calculation
Strange Attractor (default: true) - Enable attractor visualization
Bifurcation Detection (default: true) - Enable bifurcation detection
Suggested Use Cases
Identify market regime for strategy selection (trend-following vs mean-reversion)
Watch for phase changes as potential trading environment shifts
Use Hurst exponent to assess trend persistence
Monitor chaos index for volatility regime awareness
Avoid trading during extreme chaos phases
Timeframe Recommendations
Best on 1H to Daily charts. Chaos metrics require sufficient data for meaningful calculations.
Limitations
Chaos theory concepts are applied as analogies, not rigorous mathematical implementations
Lyapunov and Hurst calculations are simplified approximations
Strange attractor visualization is conceptual
Bifurcation detection uses variance as proxy
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Velocity Divergence Radar [JOAT]
Velocity Divergence Radar - Momentum Physics Edition
Overview
Velocity Divergence Radar is an open-source oscillator indicator that applies physics concepts to market analysis. It calculates price velocity (rate of change), acceleration (rate of velocity change), and jerk (rate of acceleration change) to provide a multi-dimensional view of momentum. The indicator also includes divergence detection and force vector analysis.
What This Indicator Does
The indicator calculates and displays:
Velocity - Rate of price change over a configurable period, smoothed with EMA
Acceleration - Rate of velocity change, showing momentum shifts
Jerk (3rd Derivative) - Rate of acceleration change, indicating momentum stability
Force Vectors - Volume-weighted acceleration representing market force
Kinetic Energy - Calculated as 0.5 * mass (volume ratio) * velocity squared
Momentum Conservation - Tracks momentum relative to historical average
Divergence Detection - Identifies when price and velocity diverge at pivots
How It Works
Velocity is calculated as smoothed rate of change:
calculateVelocity(series float price, simple int period) =>
float roc = ta.roc(price, period)
float velocity = ta.ema(roc, period / 2)
velocity
Acceleration is the change in velocity:
calculateAcceleration(series float velocity, simple int period) =>
float accel = ta.change(velocity, period)
float smoothAccel = ta.ema(accel, period / 2)
smoothAccel
Jerk is the change in acceleration:
calculateJerk(series float acceleration, simple int period) =>
float jerk = ta.change(acceleration, period)
float smoothJerk = ta.ema(jerk, period / 2)
smoothJerk
Force is calculated using F = m * a (mass approximated by volume ratio):
calculateForceVector(series float mass, series float acceleration) =>
float force = mass * acceleration
float forceDirection = math.sign(force)
float forceMagnitude = math.abs(force)
Signal Generation
Signals are generated based on velocity behavior:
Bullish Divergence: Price makes lower low while velocity makes higher low
Bearish Divergence: Price makes higher high while velocity makes lower high
Velocity Cross: Velocity crosses above/below zero line
Extreme Velocity: Velocity exceeds 1.5x the upper/lower zone threshold
Jerk Extreme: Jerk exceeds 2x standard deviation
Force Extreme: Force magnitude exceeds 2x average
Dashboard Panel (Top-Right)
Velocity - Current velocity value
Acceleration - Current acceleration value
Momentum Strength - Combined velocity and acceleration strength
Radar Score - Composite score based on velocity and acceleration
Direction - STRONG UP/SLOWING UP/STRONG DOWN/SLOWING DOWN/FLAT
Jerk - Current jerk value
Force Vector - Current force magnitude
Kinetic Energy - Current kinetic energy value
Physics Score - Overall physics-based momentum score
Signal - Current actionable status
Visual Elements
Velocity Line - Main oscillator line with color based on direction
Velocity EMA - Smoothed velocity for trend reference
Acceleration Histogram - Bar chart showing acceleration direction
Jerk Area - Filled area showing jerk magnitude
Vector Magnitude - Line showing combined vector strength
Radar Scan - Oscillating pattern for visual effect
Zone Lines - Upper and lower threshold lines
Divergence Labels - BULL DIV / BEAR DIV markers
Extreme Markers - Triangles at velocity extremes
Input Parameters
Velocity Period (default: 14) - Period for velocity calculation
Acceleration Period (default: 7) - Period for acceleration calculation
Divergence Lookback (default: 10) - Bars to scan for divergence
Radar Sensitivity (default: 1.0) - Zone threshold multiplier
Jerk Analysis (default: true) - Enable 3rd derivative calculation
Force Vectors (default: true) - Enable force analysis
Kinetic Energy (default: true) - Enable energy calculation
Momentum Conservation (default: true) - Enable momentum tracking
Suggested Use Cases
Identify momentum direction using velocity sign and magnitude
Watch for divergences as potential reversal warnings
Use acceleration to detect momentum shifts before price confirms
Monitor jerk for momentum stability assessment
Combine force and kinetic energy for conviction analysis
Timeframe Recommendations
Works on all timeframes. Higher timeframes provide smoother readings; lower timeframes show more granular momentum changes.
Limitations
Physics analogies are conceptual and not literal market physics
Divergence detection uses pivot-based lookback and may lag
Force calculation uses volume ratio as mass proxy
Kinetic energy is a derived metric, not actual energy
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Harmonic Liquidity Waves [JOAT]Harmonic Liquidity Waves
Overview
Harmonic Liquidity Waves is an open-source oscillator indicator that combines multiple volume-based analysis techniques into a unified liquidity flow framework. It integrates VWAP calculations, Chaikin Money Flow (CMF), Money Flow Index (MFI), and Klinger Volume Oscillator (KVO) with custom harmonic wave calculations to provide a comprehensive view of volume dynamics and money flow.
What This Indicator Does
The indicator calculates and displays:
Liquidity Flow - Volume-weighted price movement accumulated over a lookback period
Harmonic Wave - Multi-depth smoothed oscillator derived from liquidity flow
Chaikin Money Flow (CMF) - Classic accumulation/distribution indicator
Money Flow Index (MFI) - Volume-weighted RSI showing buying/selling pressure
Klinger Volume Oscillator (KVO) - Trend-volume relationship indicator
Wave Interference - Combined constructive/destructive wave patterns
Volume Profile POC - Point of Control from simplified volume distribution
How It Works
The core liquidity flow calculation tracks volume-weighted price changes:
calculateLiquidityFlow(series float vol, series float price, simple int period) =>
float priceChange = ta.change(price)
float volumeFlow = vol * math.sign(priceChange)
// Accumulated over period using buffer array
float avgFlow = flowSum / period
avgFlow
The harmonic oscillator applies multi-depth smoothing:
harmonicOscillator(series float flow, simple int depth, simple int period) =>
float harmonic = 0.0
for i = 1 to depth
float wave = ta.ema(flow, period * i) / i
harmonic += wave
harmonic / depth
CMF measures accumulation/distribution using the Money Flow Multiplier:
float mfm = ((close - low) - (high - close)) / (high - low)
float mfv = mfm * vol
float cmf = ta.sum(mfv, period) / ta.sum(vol, period) * 100
Signal Generation
Liquidity shift signals occur when:
Bullish Shift: Smoothed wave crosses above signal line
Bearish Shift: Smoothed wave crosses below signal line
Strong signals require volume indicator confirmation:
Strong Bull: Bullish shift + CMF > 0 + MFI > 50 + KVO > 0
Strong Bear: Bearish shift + CMF < 0 + MFI < 50 + KVO < 0
Divergence detection compares price pivots with liquidity wave pivots to identify potential reversals.
Dashboard Panel (Bottom-Right)
Wave Strength - Normalized wave magnitude
Volume Pressure - Current volume vs average percentage
Flow Direction - BUYING or SELLING based on wave sign
Histogram - Wave minus signal line value
CMF - Chaikin Money Flow reading
MFI - Money Flow Index value (0-100)
KVO - Klinger oscillator value
Vol Confluence - Combined volume indicator score
Signal - Current actionable status
Visual Elements
Liquidity Wave - Main oscillator line
Wave Signal - Smoothed signal line for crossover detection
Wave Histogram - Difference between wave and signal
Wave Interference - Area plot showing combined wave patterns
CMF/KVO/MFI Lines - Individual volume indicator plots
Divergence Labels - BULL DIV / BEAR DIV markers
Shift Markers - Triangles for basic shifts, labels for strong shifts
Input Parameters
Wave Period (default: 21) - Base period for liquidity calculations
Volume Weight (default: 1.5) - Multiplier for volume emphasis
Harmonic Depth (default: 3) - Number of smoothing layers
Smoothing (default: 3) - Final wave smoothing period
Suggested Use Cases
Identify accumulation/distribution phases using CMF and wave direction
Confirm momentum with MFI overbought/oversold readings
Watch for divergences between price and liquidity flow
Use strong signals when multiple volume indicators align
Timeframe Recommendations
Best on 15m to Daily charts. Volume-based indicators require sufficient trading activity for meaningful readings.
Limitations
Volume data quality varies by exchange and instrument
Divergence detection uses pivot-based lookback and may lag
Volume Profile POC is simplified and not a full profile analysis
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Ocean Master [JOAT]Ocean Master QE - Advanced Oceanic Market Analysis with Quantum Flow Dynamics
Overview
Ocean Master QE is an open-source overlay indicator that combines multiple analytical techniques into a unified market analysis framework. It uses ATR-based dynamic channels, volume-weighted order flow analysis, multi-timeframe correlation (quantum entanglement concept), and harmonic oscillator calculations to provide traders with a comprehensive view of market conditions.
What This Indicator Does
The indicator calculates and displays several key components:
Dynamic Price Channels - ATR-adjusted upper, middle, and lower channels that adapt to current volatility conditions
Order Flow Analysis - Separates buying and selling volume pressure to calculate a directional delta
Smart Money Index - Volume-weighted order flow metric that highlights potential institutional activity
Harmonic Oscillator - Weighted combination of 10 Fibonacci-period EMAs (5, 8, 13, 21, 34, 55, 89, 144, 233, 377) to identify trend direction
Multi-Timeframe Correlation - Measures price correlation across 1H, 4H, and Daily timeframes
Wave Function Analysis - Momentum-based state detection that identifies when price action becomes decisive
How It Works
The core channel calculation uses ATR with a configurable quantum sensitivity factor:
float atr = ta.atr(i_atrLength)
float quantumFactor = 1.0 + (i_quantumSensitivity * 0.1)
float quantumATR = atr * quantumFactor
upperChannel := ta.highest(high, i_length) - (quantumATR * 0.5)
lowerChannel := ta.lowest(low, i_length) + (quantumATR * 0.5)
midChannel := (upperChannel + lowerChannel) * 0.5
Order flow is calculated by separating volume into buy and sell components based on candle direction:
The harmonic oscillator weights shorter EMAs more heavily using inverse weighting (1/1, 1/2, 1/3... 1/10), creating a responsive yet smooth trend indicator.
Signal Generation
Confluence signals require multiple conditions to align:
Bullish: Harmonic oscillator crosses above zero + positive Smart Money Index + positive Order Flow Delta
Bearish: Harmonic oscillator crosses below zero + negative Smart Money Index + negative Order Flow Delta
Dashboard Panel (Top-Right)
Bias - Current market direction based on price vs mid-channel
Entanglement - Multi-timeframe correlation score (0-100%)
Wave State - COLLAPSED (decisive) or SUPERPOSITION (uncertain)
Volume - Current volume relative to 20-period average
Volatility - ATR as percentage of price
Smart Money - Volume-weighted order flow reading
Visual Elements
Ocean Depth Layers - Gradient fills between channel levels representing different price zones
Channel Lines - Upper (surface), middle, and lower (seabed) dynamic levels
Divergence Markers - Triangle shapes when harmonic oscillator crosses zero
Confluence Labels - BULL/BEAR labels when multiple factors align
Suggested Use Cases
Identify trend direction using the harmonic oscillator and channel position
Monitor order flow for potential institutional activity
Use multi-timeframe correlation to confirm trade direction across timeframes
Watch for confluence signals where multiple factors align
Input Parameters
Length (default: 14) - Base period for channel and indicator calculations
ATR Length (default: 14) - Period for ATR calculation
Quantum Depth (default: 3) - Complexity factor for calculations
Quantum Sensitivity (default: 1.5) - Channel width multiplier
Timeframe Recommendations
Works on all timeframes. Higher timeframes (4H, Daily) provide smoother signals; lower timeframes require faster reaction times and may produce more noise.
Limitations
Multi-timeframe requests add processing overhead
Order flow estimation is based on candle direction, not actual order book data
Correlation calculations require sufficient historical data
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management and conduct your own analysis before trading.
- Made with passion by officialjackofalltrades
Trend Strength Matrix [JOAT]Trend Strength Matrix — Multi-Timeframe Confluence Analysis System
This indicator addresses a specific analytical challenge: how to efficiently compare multiple technical measurements across different timeframes while accounting for their varying scales and interpretations. Rather than managing separate indicator windows with different scales, this tool normalizes four distinct analytical approaches to a common -1 to +1 scale and presents them in a unified matrix format.
Why This Combination Adds Value
The core problem this indicator solves is analytical fragmentation. Traders often use multiple indicators but struggle with:
1. **Scale Inconsistency**: RSI ranges 0-100, MACD has no fixed range, ADX ranges 0-100 but measures strength not direction
2. **Timeframe Coordination**: Checking multiple timeframes requires switching between charts or cramming multiple indicators
3. **Cognitive Load**: Processing different indicator types simultaneously creates mental overhead
4. **Confluence Assessment**: Determining when multiple approaches agree requires manual comparison
This indicator specifically addresses these issues by creating a standardized analytical framework where different measurement approaches can be directly compared both within and across timeframes.
Originality and Technical Innovation
While the individual components (RSI, MACD, ADX, Moving Average) are standard, the originality lies in:
1. **Unified Normalization System**: Each component is mathematically transformed to a -1 to +1 scale using component-specific normalization that preserves the indicator's core characteristics
2. **Multi-Timeframe Weighting Algorithm**: Higher timeframes receive proportionally more weight (40% current, 25% next, 20% third, 15% fourth) based on the principle that longer timeframes provide more significant context
3. **Real-Time Confluence Scoring**: The composite calculation provides an instant assessment of how much the different analytical approaches agree
4. **Adaptive Visual Encoding**: The heatmap format allows immediate pattern recognition of agreement/disagreement across both indicators and timeframes
How the Components Work Together
Each component measures a different aspect of market behavior, and their combination provides a more complete analytical picture:
**Momentum Component (RSI-based)**: Measures the velocity of price changes by comparing average gains to losses
**Trend Component (MACD-based)**: Measures the relationship between fast and slow moving averages, indicating trend acceleration/deceleration
**Strength Component (ADX-based)**: Measures trend strength regardless of direction, then applies directional bias
**Position Component (MA-based)**: Measures price position relative to a reference average
The mathematical relationship between these components creates a comprehensive view:
- When all four agree (similar colors), it suggests multiple analytical approaches are aligned
- When they disagree (mixed colors), it highlights analytical uncertainty or transition periods
- The composite score quantifies the degree of agreement numerically
Detailed Component Analysis
**1. Momentum Oscillator Component**
This component transforms RSI into a centered oscillator by subtracting 50 and dividing by 50, creating a -1 to +1 range where 0 represents equilibrium between buying and selling pressure.
// Momentum calculation normalized to -1 to +1 scale
float rsi = ta.rsi(close, rsiLength)
float rsiScore = (rsi - 50) / 50
// Result: 0 at equilibrium, +1 at extreme overbought, -1 at extreme oversold
**2. Moving Average Convergence Component**
MACD is normalized by its own volatility (standard deviation) to create a bounded oscillator. This prevents the unbounded nature of MACD from dominating the composite calculation.
// MACD normalized by its historical volatility
= ta.macd(close, macdFast, macdSlow, macdSignal)
float macdStdev = ta.stdev(macdLine, 100)
float macdScore = macdStdev != 0 ? math.max(-1, math.min(1, macdLine / (macdStdev * 2))) : 0
**3. Directional Movement Component**
This combines ADX (strength) with directional movement (+DI vs -DI) to create a directional strength measurement. ADX alone shows strength but not direction; this component adds directional context.
// ADX-based directional strength
= calcADX(adxLength)
float adxStrength = math.min(adx / 50, 1) // Normalize ADX to 0-1
float adxDirection = plusDI > minusDI ? 1 : -1 // Direction bias
float adxScore = adxStrength * adxDirection // Combine strength and direction
**4. Price Position Component**
This measures price deviation from a moving average, weighted by the magnitude of deviation to distinguish between minor and significant displacements.
// Price position relative to moving average
float ma = ta.sma(close, maLength)
float maDirection = close > ma ? 1 : -1
float maDeviation = math.abs(close - ma) / ma * 10 // Percentage deviation scaled
float maScore = math.max(-1, math.min(1, maDirection * math.min(maDeviation, 1)))
Multi-Timeframe Integration Logic
The multi-timeframe system uses a weighted average that gives more influence to higher timeframes:
// Timeframe weighting system
float currentTF = composite * 0.40 // Current timeframe: 40%
float higherTF1 = composite_tf2 * 0.25 // Next higher: 25%
float higherTF2 = composite_tf3 * 0.20 // Third higher: 20%
float higherTF3 = composite_tf4 * 0.15 // Fourth higher: 15%
float multiTFComposite = currentTF + higherTF1 + higherTF2 + higherTF3
This weighting reflects the principle that higher timeframes provide more significant context for market direction, while lower timeframes provide timing precision.
What the Dashboard Shows
The heatmap displays a grid where:
Each row represents a timeframe
Each column shows one component's normalized reading
Colors indicate the value: green shades for positive, red shades for negative, gray for neutral
The rightmost column shows the composite average for that timeframe
Visual Elements
Moving Average Line — A simple moving average plotted on the price chart
Background Tint — Subtle coloring based on the composite score
Shift Labels — Markers when the composite crosses threshold values
Dashboard Table — The main heatmap display
Inputs
Calculation Parameters:
Momentum Length (default: 14)
MACD Fast/Slow/Signal (default: 12/26/9)
Directional Movement Length (default: 14)
Moving Average Length (default: 50)
Timeframe Settings:
Enable/disable multi-timeframe analysis
Select additional timeframes to display
How to Read the Display
Similar colors across a row indicate the components are showing similar readings
Mixed colors indicate the components are showing different readings
The composite percentage shows the average of all four components
Alerts
Composite crossed above/below threshold values
Strong readings (above 50% or below -50%)
Important Limitations and Realistic Expectations
This indicator displays current analytical conditions—it does not predict future price movements
Agreement between components indicates current analytical alignment, not future price direction
All four components are based on historical price data and inherently lag price action
Market conditions can change rapidly, making current readings irrelevant
Different parameter settings will produce different readings and interpretations
No combination of technical indicators can reliably predict future market behavior
Strong readings in one direction do not guarantee continued movement in that direction
The composite score reflects mathematical relationships, not market fundamentals or sentiment
This tool should be used as one input among many in a comprehensive analytical approach
Appropriate Use Cases
This indicator is designed for:
- Analytical organization and efficiency
- Multi-timeframe confluence assessment
- Pattern recognition in indicator relationships
- Educational study of how different analytical approaches relate
- Supplementary analysis alongside other methods
This indicator is NOT designed for:
- Standalone trading signals
- Guaranteed profit generation
- Market timing precision
- Replacement of fundamental analysis
- Automated trading systems
— Made with passion by officialjackofalltrades
Session Volume Analyzer [JOAT]
Session Volume Analyzer — Global Trading Session and Volume Intelligence System
This indicator addresses the analytical challenge of understanding market participation patterns across global trading sessions. It combines precise session detection with comprehensive volume analysis to provide insights into when and how different market participants are active. The tool recognizes that different trading sessions exhibit distinct characteristics in terms of participation, volatility, and volume patterns.
Why This Combination Provides Unique Analytical Value
Traditional session indicators typically only show time boundaries, while volume indicators show raw volume data without session context. This creates analytical gaps:
1. **Session Context Missing**: Volume spikes without session context provide incomplete information
2. **Participation Patterns Hidden**: Different sessions have different participant types (retail, institutional, algorithmic)
3. **Comparative Analysis Lacking**: No easy way to compare volume patterns across sessions
4. **Timing Intelligence Absent**: Understanding WHEN volume occurs is as important as HOW MUCH volume occurs
This indicator's originality lies in creating an integrated session-volume analysis system that:
**Provides Session-Aware Volume Analysis**: Volume data is contextualized within specific trading sessions
**Enables Cross-Session Comparison**: Compare volume patterns between Asian, London, and New York sessions
**Delivers Participation Intelligence**: Understand which sessions are showing above-normal participation
**Offers Real-Time Session Tracking**: Know exactly which session is active and how current volume compares
Technical Innovation and Originality
While session detection and volume analysis exist separately, the innovation lies in:
1. **Integrated Session-Volume Architecture**: Simultaneous tracking of session boundaries and volume statistics creates comprehensive market participation analysis
2. **Multi-Session Volume Comparison System**: Real-time calculation and comparison of volume statistics across different global sessions
3. **Adaptive Volume Threshold Detection**: Automatic identification of above-average volume periods within session context
4. **Comprehensive Visual Integration**: Session backgrounds, volume highlights, and statistical dashboards provide complete market participation picture
How Session Detection and Volume Analysis Work Together
The integration creates a sophisticated market participation analysis system:
**Session Detection Logic**: Uses Pine Script's time functions to identify active sessions
// Session detection based on exchange time
bool inAsian = not na(time(timeframe.period, asianSession))
bool inLondon = not na(time(timeframe.period, londonSession))
bool inNY = not na(time(timeframe.period, nySession))
// Session transition detection
bool asianStart = inAsian and not inAsian
bool londonStart = inLondon and not inLondon
bool nyStart = inNY and not inNY
**Volume Analysis Integration**: Volume statistics are calculated within session context
// Session-specific volume accumulation
if asianStart
asianVol := 0.0
asianBars := 0
if inAsian
asianVol += volume
asianBars += 1
// Real-time session volume analysis
float asianAvgVol = asianBars > 0 ? asianVol / asianBars : 0
**Relative Volume Assessment**: Current volume compared to session-specific averages
float volMA = ta.sma(volume, volLength)
float volRatio = volMA > 0 ? volume / volMA : 1
// Volume classification within session context
bool isHighVol = volRatio >= 1.5 and volRatio < 2.5
bool isVeryHighVol = volRatio >= 2.5
This creates a system where volume analysis is always contextualized within the appropriate trading session, providing more meaningful insights than raw volume data alone.
Comprehensive Session Analysis Framework
**Default Session Definitions** (customizable based on broker timezone):
- **Asian Session**: 1800-0300 (exchange time) - Represents Asian market participation including Tokyo, Hong Kong, Singapore
- **London Session**: 0300-1200 (exchange time) - Represents European market participation
- **New York Session**: 0800-1700 (exchange time) - Represents North American market participation
**Session Overlap Analysis**: The system recognizes and highlights overlap periods:
- **London/New York Overlap**: 0800-1200 - Typically the highest volume period
- **Asian/London Overlap**: 0300-0300 (brief) - Transition period
- **New York/Asian Overlap**: 1700-1800 (brief) - End of NY, start of Asian
**Volume Intelligence Features**:
1. **Session-Specific Volume Accumulation**: Tracks total volume within each session
2. **Cross-Session Volume Comparison**: Compare current session volume to other sessions
3. **Relative Volume Detection**: Identify when current volume exceeds historical averages
4. **Participation Pattern Analysis**: Understand which sessions show consistent high/low participation
Advanced Volume Analysis Methods
**Relative Volume Calculation**:
float volMA = ta.sma(volume, volLength) // Volume moving average
float volRatio = volMA > 0 ? volume / volMA : 1 // Current vs average ratio
// Multi-tier volume classification
bool isNormalVol = volRatio < 1.5
bool isHighVol = volRatio >= 1.5 and volRatio < 2.5
bool isVeryHighVol = volRatio >= 2.5
bool isExtremeVol = volRatio >= 4.0
**Session Volume Tracking**:
// Cumulative session volume with bar counting
if londonStart
londonVol := 0.0
londonBars := 0
if inLondon
londonVol += volume
londonBars += 1
// Average volume per bar calculation
float londonAvgVol = londonBars > 0 ? londonVol / londonBars : 0
**Cross-Session Volume Comparison**:
The system maintains running totals for each session, enabling real-time comparison of participation levels across different global markets.
What the Display Shows
Session Backgrounds — Colored backgrounds indicating which session is active
- Pink: Asian session
- Blue: London session
- Green: New York session
Session Open Lines — Horizontal lines at each session's opening price
Session Markers — Labels (AS, LN, NY) when sessions begin
Volume Highlights — Bar coloring when volume exceeds thresholds
- Orange: High volume (1.5x+ average)
- Red: Very high volume (2.5x+ average)
Dashboard — Current session, cumulative volume, and averages
Color Scheme
Asian — #E91E63 (pink)
London — #2196F3 (blue)
New York — #4CAF50 (green)
High Volume — #FF9800 (orange)
Very High Volume — #F44336 (red)
Inputs
Session Times:
Asian Session window (default: 1800-0300)
London Session window (default: 0300-1200)
New York Session window (default: 0800-1700)
Volume Settings:
Volume MA Length (default: 20)
High Volume threshold (default: 1.5x)
Very High Volume threshold (default: 2.5x)
Visual Settings:
Session colors (customizable)
Show/hide backgrounds, lines, markers
Background transparency
How to Read the Display
Background color shows which session is currently active
Session open lines show where each session started
Orange/red bars indicate above-average volume
Dashboard shows cumulative volume for each session today
Alerts
Session opened (Asian, London, New York)
High volume bar detected
Very high volume bar detected
Important Limitations and Realistic Expectations
Session times are approximate and depend on your broker's server timezone—manual adjustment may be required for accuracy
Volume data quality varies significantly by broker, instrument, and market type
Cryptocurrency and some forex markets trade continuously, making traditional session boundaries less meaningful
High volume indicates participation level only—it does not predict price direction or market outcomes
Session participation patterns can change over time due to market structure evolution, holidays, and economic conditions
This tool displays historical and current market participation data—it cannot predict future volume or price movements
Volume spikes can occur for numerous reasons unrelated to directional price movement (news, algorithmic trading, etc.)
Different instruments exhibit different session sensitivity and volume patterns
Market holidays and special events can significantly alter normal session patterns
Appropriate Use Cases
This indicator is designed for:
- Market participation pattern analysis
- Session-based trading schedule planning
- Volume context and comparison across sessions
- Educational study of global market structure
- Supplementary analysis for session-based strategies
This indicator is NOT designed for:
- Standalone trading signal generation
- Volume-based price direction prediction
- Automated trading system triggers
- Guaranteed session pattern repetition
- Replacement of fundamental or sentiment analysis
Understanding Session Analysis Limitations
Session analysis provides valuable context but has inherent limitations:
- Session patterns can change due to economic conditions, holidays, and market structure evolution
- Volume patterns may not repeat consistently across different market conditions
- Global events can override normal session characteristics
- Different asset classes respond differently to session boundaries
- Technology and algorithmic trading continue to blur traditional session distinctions
— Made with passion by officialjackofalltrades
Volatility Squeeze Pro [JOAT]
Volatility Squeeze Pro — Advanced Volatility Compression Analysis System
This indicator addresses a specific analytical challenge in volatility analysis: how to identify periods when different volatility measurements show compression relationships that may indicate potential energy buildup in the market. It combines two distinct volatility calculation methods—standard deviation-based bands and ATR-based channels—with a momentum oscillator to provide comprehensive volatility state analysis.
Why This Combination Provides Unique Analytical Value
Traditional volatility indicators typically focus on single measurements, but markets exhibit different types of volatility that require different analytical approaches:
1. **Closing Price Volatility** (Standard Deviation): Measures how much closing prices deviate from their average
2. **Trading Range Volatility** (ATR): Measures the actual high-to-low trading ranges
3. **Directional Momentum**: Measures where price sits within its recent range
The problem with using these individually:
- Standard deviation alone doesn't account for intraday volatility
- ATR alone doesn't consider closing price clustering
- Momentum alone doesn't provide volatility context
- No single measurement captures the complete volatility picture
This indicator's originality lies in creating a comprehensive volatility analysis system that:
**Identifies Volatility Compression**: When closing price volatility contracts inside trading range volatility, it suggests potential energy buildup
**Provides Momentum Context**: Shows directional bias during compression periods
**Offers Multi-Dimensional Analysis**: Combines three different analytical approaches into one coherent system
**Delivers Real-Time Assessment**: Continuously monitors the relationship between different volatility types
Technical Innovation and Originality
While individual components (Bollinger Bands, Keltner Channels, Linear Regression) are standard, the innovation lies in:
1. **Volatility Relationship Detection**: The mathematical comparison between standard deviation bands and ATR channels creates a unique compression identification system
2. **Integrated Momentum Analysis**: Linear regression-based momentum calculation provides directional context specifically during volatility compression periods
3. **Multi-State Visualization**: The indicator provides clear visual encoding of different volatility states (compressed vs. normal) with momentum direction
4. **Adaptive Threshold System**: The squeeze detection automatically adapts to different instruments and timeframes without manual calibration
How the Components Work Together Analytically
The three components create a comprehensive volatility analysis framework:
**Standard Deviation Component**: Measures closing price dispersion around the mean
float bbBasis = ta.sma(close, bbLength)
float bbDev = bbMult * ta.stdev(close, bbLength)
float bbUpper = bbBasis + bbDev
float bbLower = bbBasis - bbDev
**ATR Channel Component**: Measures actual trading range volatility
float kcBasis = ta.ema(close, kcLength)
float kcRange = ta.atr(atrLength)
float kcUpper = kcBasis + kcRange * kcMult
float kcLower = kcBasis - kcRange * kcMult
**Squeeze Detection Logic**: Identifies when closing price volatility compresses within trading range volatility
bool squeezeOn = bbLower > kcLower and bbUpper < kcUpper
// This condition indicates closing prices are clustering more tightly
// than the typical trading range would suggest
**Momentum Context Component**: Provides directional bias during compression
float highestHigh = ta.highest(high, momLength)
float lowestLow = ta.lowest(low, momLength)
float momentum = ta.linreg(close - math.avg(highestHigh, lowestLow), momLength, 0)
float momSmooth = ta.sma(momentum, smoothLength)
The analytical relationship creates a system where:
- Squeeze detection identifies WHEN volatility compression occurs
- Momentum analysis shows WHERE price is positioned during compression
- Combined analysis provides both timing and directional context
How the Volatility Comparison Works
The indicator compares two volatility measurements:
Standard Deviation Bands
These measure how much closing prices deviate from their average. When prices cluster tightly around the average, the bands contract.
// Standard deviation bands calculation
float bbBasis = ta.sma(close, bbLength)
float bbDev = bbMult * ta.stdev(close, bbLength)
float bbUpper = bbBasis + bbDev
float bbLower = bbBasis - bbDev
ATR-Based Channels
These measure volatility using Average True Range—the typical distance between high and low prices. They respond to the actual trading range rather than closing price dispersion.
// ATR-based channels calculation
float kcBasis = ta.ema(close, kcLength)
float kcRange = ta.atr(atrLength)
float kcUpper = kcBasis + kcRange * kcMult
float kcLower = kcBasis - kcRange * kcMult
The Squeeze Condition
A "squeeze" is detected when the standard deviation bands are completely contained within the ATR channels:
// Squeeze detection
bool squeezeOn = bbLower > kcLower and bbUpper < kcUpper
This condition indicates that closing price volatility has compressed relative to the overall trading range.
The Momentum Component
The momentum oscillator measures where price sits relative to its recent high-low range, using linear regression for smoothing:
// Momentum calculation
float highestHigh = ta.highest(high, momLength)
float lowestLow = ta.lowest(low, momLength)
float momentum = ta.linreg(close - math.avg(highestHigh, lowestLow), momLength, 0)
float momSmooth = ta.sma(momentum, smoothLength)
Positive values indicate price is above the midpoint of its recent range; negative values indicate below.
Why Display Both Together
The squeeze detection shows WHEN volatility is compressed. The momentum reading shows the current directional bias of price within that compression. Together, they provide two pieces of information:
1. Is volatility currently compressed? (squeeze status)
2. Where is price leaning within the current range? (momentum)
These are observations about current conditions, not predictions about future movement.
Visual Elements
Momentum Histogram — Bars showing momentum value
- Green shades: Positive momentum (price above range midpoint)
- Red shades: Negative momentum (price below range midpoint)
- Brighter colors: Momentum increasing
- Faded colors: Momentum decreasing
Squeeze Dots — Circles on the zero line
- Red: Squeeze condition active
- Green: No squeeze condition
Release Markers — Triangle markers when squeeze condition ends
Dashboard — Current readings and status
Color Scheme
Squeeze Active — #FF5252 (red)
No Squeeze — #4CAF50 (green)
Momentum Positive — #00E676 / #81C784 (green shades)
Momentum Negative — #FF5252 / #E57373 (red shades)
Inputs
Standard Deviation Bands:
Length (default: 20)
Multiplier (default: 2.0)
ATR Channels:
Length (default: 20)
Multiplier (default: 1.5)
ATR Period (default: 10)
Momentum:
Length (default: 12)
Smoothing (default: 3)
How to Read the Display
Red dots indicate the squeeze condition is present
Green dots indicate normal volatility relationship
Histogram direction shows current momentum bias
Histogram color brightness shows whether momentum is increasing or decreasing
Alerts
Squeeze condition started
Squeeze condition ended
Squeeze ended with positive momentum
Squeeze ended with negative momentum
Extended squeeze (8+ bars)
Important Limitations and Realistic Expectations
Volatility compression detection is a mathematical relationship between calculations—it does not predict future price movements
Many compression periods do not result in significant price expansion or directional moves
Momentum direction during compression does not reliably indicate future breakout direction
This indicator analyzes current and historical volatility conditions only—it cannot predict future volatility
False signals are common—not every squeeze leads to tradeable price movement
Different parameter settings will produce different compression detection sensitivity
Market conditions, news events, and fundamental factors often override technical volatility patterns
No volatility indicator can predict the timing, direction, or magnitude of future price movements
This tool should be used as one component of comprehensive market analysis
Appropriate Use Cases
This indicator is designed for:
- Volatility state analysis and monitoring
- Educational study of volatility relationships
- Multi-dimensional volatility assessment
- Supplementary analysis alongside other technical tools
- Understanding market compression/expansion cycles
This indicator is NOT designed for:
- Standalone trading signal generation
- Guaranteed breakout prediction
- Automated trading system triggers
- Market timing precision
- Replacement of fundamental analysis
Understanding Volatility Analysis Limitations
Volatility analysis, while useful for understanding market conditions, has inherent limitations:
- Past volatility patterns do not guarantee future patterns
- Compression periods can extend much longer than expected
- Expansion periods may be brief and insufficient for trading
- External factors (news, fundamentals) often override technical patterns
- Different markets and timeframes exhibit different volatility characteristics
— Made with passion by officialjackofalltrades
Pivot Point Zones [JOAT]Pivot Point Zones — Multi-Formula Pivot Levels with ATR Zones
Pivot Point Zones calculates and displays traditional pivot points with five formula options, enhanced with ATR-based zones around each level. This creates more practical trading zones that account for price noise around key levels—because price rarely reacts at exact mathematical levels.
What Makes This Indicator Unique
Unlike basic pivot point indicators, Pivot Point Zones:
Offers five different pivot calculation formulas in one indicator
Creates ATR-based zones around each level for realistic reaction areas
Pulls data from higher timeframes automatically
Displays clean labels with exact price values
Provides a comprehensive dashboard with all levels
What This Indicator Does
Calculates pivot points using Standard, Fibonacci, Camarilla, Woodie, and more formulas
Draws horizontal lines at Pivot, R1-R3, and S1-S3 levels
Creates ATR-based zones around each level for realistic price reaction areas
Displays labels with exact price values
Updates automatically based on higher timeframe closes
Provides fills between zone boundaries for visual clarity
Pivot Formulas Explained
// Standard Pivot - Classic (H+L+C)/3 calculation
pp := (pivotHigh + pivotLow + pivotClose) / 3
r1 := 2 * pp - pivotLow
s1 := 2 * pp - pivotHigh
r2 := pp + pivotRange
s2 := pp - pivotRange
// Fibonacci Pivot - Uses Fib ratios for level spacing
r1 := pp + 0.382 * pivotRange
r2 := pp + 0.618 * pivotRange
r3 := pp + 1.0 * pivotRange
// Camarilla Pivot - Tighter levels for intraday
r1 := pivotClose + pivotRange * 1.1 / 12
r2 := pivotClose + pivotRange * 1.1 / 6
r3 := pivotClose + pivotRange * 1.1 / 4
// Woodie Pivot - Weights current close more heavily
pp := (pivotHigh + pivotLow + 2 * close) / 4
// TD Pivot - Conditional based on open/close relationship
x = pivotClose < pivotOpen ? pivotHigh + 2*pivotLow + pivotClose :
pivotClose > pivotOpen ? 2*pivotHigh + pivotLow + pivotClose :
pivotHigh + pivotLow + 2*pivotClose
pp := x / 4
Formula Characteristics
Standard — Classic pivot calculation. Balanced levels, good for swing trading.
Fibonacci — Uses 0.382, 0.618, and 1.0 ratios. Popular with Fibonacci traders.
Camarilla — Tighter levels derived from range. Excellent for intraday mean-reversion.
Woodie — Weights current close more heavily. More responsive to recent price action.
TD — Conditional calculation based on open/close relationship. Adapts to bar type.
Zone System
Each pivot level includes an ATR-based zone that provides a more realistic area for potential price reactions:
// ATR-based zone width calculation
float atr = ta.atr(atrLength)
float zoneHalf = atr * zoneWidth / 2
// Zone boundaries around each level
zoneUpper = level + zoneHalf
zoneLower = level - zoneHalf
This accounts for market noise and helps avoid false breakout signals at exact level prices.
Visual Features
Pivot Lines — Horizontal lines at each calculated level
Zone Fills — Transparent fills between zone boundaries
Level Labels — Labels showing level name and exact price (e.g., "PP 45123.50")
Color Coding :
- Yellow: Pivot Point (PP)
- Red gradient: Resistance levels (R1, R2, R3) - darker = further from PP
- Green gradient: Support levels (S1, S2, S3) - darker = further from PP
Color Scheme
Pivot Color — Default: #FFEB3B (yellow) — Central pivot point
Resistance Color — Default: #FF5252 (red) — R1, R2, R3 levels
Support Color — Default: #4CAF50 (green) — S1, S2, S3 levels
Zone Transparency — 85-90% transparent fills around levels
Dashboard Information
The on-chart table (bottom-right corner) displays:
Selected pivot type (Standard, Fibonacci, etc.)
R3, R2, R1 resistance levels with exact prices
PP (Pivot Point) highlighted
S1, S2, S3 support levels with exact prices
Inputs Overview
Pivot Settings:
Pivot Type — Formula selection (Standard, Fibonacci, Camarilla, Woodie, TD)
Pivot Timeframe — Higher timeframe for OHLC data (default: D = Daily)
ATR Length — Period for zone width calculation (default: 14)
Zone Width — ATR multiplier for zone size (default: 0.5)
Level Display:
Show Pivot (P) — Toggle central pivot line
Show R1/S1 — Toggle first resistance/support levels
Show R2/S2 — Toggle second resistance/support levels
Show R3/S3 — Toggle third resistance/support levels
Show Zones — Toggle ATR-based zone fills
Show Labels — Toggle price labels at each level
Visual Settings:
Pivot/Resistance/Support Colors — Customizable color scheme
Line Width — Thickness of level lines (default: 2)
Extend Lines Right — Project lines forward on chart
Show Dashboard — Toggle the information table
How to Use It
For Intraday Trading:
Use Daily pivots on intraday charts (15m, 1H)
Pivot point often acts as the day's "fair value" reference
Camarilla levels work well for intraday mean-reversion
R1/S1 are the most commonly tested levels
For Swing Trading:
Use Weekly pivots on daily charts
Standard or Fibonacci formulas work well
R2/S2 and R3/S3 become more relevant
Zone boundaries provide realistic entry/exit areas
For Support/Resistance:
R levels above price act as resistance targets
S levels below price act as support targets
Zone boundaries are more realistic than exact lines
Multiple formula confluence adds significance
Alerts Available
DPZ Cross Above Pivot — Price crosses above central pivot
DPZ Cross Below Pivot — Price crosses below central pivot
DPZ Cross Above R1/R2 — Price breaks resistance levels
DPZ Cross Below S1/S2 — Price breaks support levels
Best Practices
Match pivot timeframe to your trading style (Daily for intraday, Weekly for swing)
Use zones instead of exact levels for more realistic expectations
Camarilla is best for mean-reversion; Standard/Fibonacci for breakouts
Combine with other indicators for confirmation
— Made with passion by officialjackofalltrades
Iridescent Liquidity Prism [JOAT]Iridescent Liquidity Prism | Peer Momentum HUD
A multi-layered order-flow indicator that combines microstructure analysis, smart-money footprint detection, and intermarket momentum signals. The script uses dynamic color-shifting themes to visualize liquidity patterns, structure, and peer momentum data directly on the chart.
There is so much to choose from inside the settings, if you think it's a mess on the chart it's because you have to personally customize it based on your needs...
Core Functionality
The indicator calculates and displays several analytical layers simultaneously:
Order-Flow Imbalance (OFI): Calculates buy vs. sell volume pressure using volume-weighted price distribution within each bar. Uses an EMA filter (default: 55 periods) to smooth the signal. Values are normalized using standard deviation to identify significant imbalances.
Smart Money Footprints: Detects accumulation and distribution zones by comparing volume rate of change (ROC) against price ROC. When volume ROC exceeds a threshold (default: 65%) and price ROC is positive, accumulation is detected. When volume ROC is high but price ROC is negative, distribution is detected.
Fractal Structure Mapping: Identifies pivot highs and lows using a fractal detection algorithm (default: 5-bar period). Maintains a rolling window of recent structure points (default: 4 levels) and draws connecting lines to show trend structure.
Fair Value Gap (FVG) Detection: Automatically detects price gaps where three consecutive candles create an imbalance. Bullish FVGs occur when the current low exceeds the high two bars ago. Bearish FVGs occur when the current high is below the low two bars ago. Gaps persist for a configurable duration (default: 320 bars) and fade when price fills the gap.
Liquidity Void Detection: Identifies candles where the high-low range exceeds an ATR threshold (default: 1.7x ATR) while volume is below average (default: 65% of 20-bar average). These conditions suggest areas where liquidity may be thin.
Price/Volume Divergence: Uses linear regression to detect when price trend direction disagrees with volume trend direction. A divergence alert appears when price is trending up while volume is trending down, or vice versa.
Peer Momentum Heatmap (PMH): Calculates composite momentum scores for up to 6 symbols across 4 timeframes. Each score combines RSI (default: 14 periods) and StochRSI (default: 14 periods, 3-bar smooth) to create a momentum composite between -1 and +1. The highest absolute momentum score across all combinations is displayed in the HUD.
Custom settings using Fractal Pivots, Skeleton Structure, Pulse Liquidity Voids, Bottom Colorful HeatMaps, and Iridescent Field.
---
Visual Components
Spectrum Aura Glow: ATR-weighted bands (default: 0.25x ATR) that expand and contract around price action, indicating volatility conditions. The thickness adapts to market volatility.
Chromatic Flow Trail: A blended line combining EMA and WMA of price (default: 8-period EMA blended with WMA at 65% ratio). The trail uses gradient colors that shift based on a phase oscillator, creating an iridescent effect.
Volume Heat Projection: Creates horizontal volume profile bands at price levels (default: 14 levels). Scans recent bars (default: 150 bars) to calculate volume concentration. Each level is colored based on its volume density relative to the maximum volume level.
Structure Skeleton: Dashed lines connecting fractal pivot points. Uses two layers: a primary line (2-3px width) and an optional glow overlay (4-5px width) for enhanced visibility.
Fractal Markers: Diamond shapes placed at pivot high and low points. Color-coded: primary color for highs, secondary color for lows.
Iridescent Color Themes: Five color themes available: Iridescent (default), Pearlescent, Prismatic, ColorShift, and Metallic. Colors shift dynamically using a phase oscillator that cycles through the color spectrum based on bar index and a speed multiplier (default: 0.35).
---
HUD Console Metrics
The right-side HUD displays seven key metrics:
Flow: Shows OFI status: ▲ FLOW BUY when normalized OFI exceeds imbalance threshold (default: 2.2), ▼ FLOW SELL when below -2.2, or ◆ FLOW BAL when balanced.
Struct: Structure trend bias: ▲ STRUCT BULL when microtrend > 2, ▼ STRUCT BEAR when < -2, or ◆ STRUCT RANGE when neutral.
Smart$: Institutional activity: ◈ ACCUM when smart money index = 1, ◈ DISTRIB when = -1, or ○ IDLE when inactive.
Liquid: Liquidity state: ⚡ VOID when a liquidity void is detected, or ● NORMAL otherwise.
Diverg: Divergence status: ⚠ ALERT when price/volume divergence detected, or ✓ CLEAR when aligned.
PMH: Peer Momentum Heatmap status: Shows dominant timeframe and momentum score. Displays 🪩 for bull surge (above 0.55 threshold) or 🧨 for bear surge (below -0.55).
FVG: Fair Value Gap status: Shows active gap count or CLEAR when no gaps exist. Displays GAP LONG when bullish gap detected, GAP SHORT when bearish gap detected.
Pearlscent Color with Volume Heatmap.
Parameters and Settings
Microstructure Engine:
Analysis Depth: 20-250 bars (default: 55) - Controls OFI smoothing period
Liquidity Threshold ATR: 1.0-4.0 (default: 1.7) - Multiplier for void detection
Imbalance Ratio: 1.5-6.0 (default: 2.2) - Standard deviations for OFI significance
Smart Money Layer:
Smart Money Window: 10-150 bars (default: 24) - Period for ROC calculations
Accumulation Threshold: 40-95% (default: 65%) - Volume ROC threshold
Structural Mapping:
Fractal Pivot Period: 3-15 bars (default: 5) - Period for pivot detection
Structure Memory: 2-8 levels (default: 4) - Number of structure points to track
Volume Heat Projection:
Heat Map Lookback: 60-400 bars (default: 150) - Bars to analyze for volume profile
Heat Map Levels: 5-30 levels (default: 14) - Number of price level bands
Heat Map Opacity: 40-100% (default: 92%) - Transparency of heat map boxes
Heat Map Width Limit: 6-80 bars (default: 26) - Maximum width of heat map boxes
Heat Map Visibility Threshold: 0.0-0.5 (default: 0.08) - Minimum density to display
Iridescent Enhancements:
Visual Theme: Iridescent, Pearlescent, Prismatic, ColorShift, or Metallic
Color Shift Speed: 0.05-1.00 (default: 0.35) - Speed of color phase oscillation
Aura Thickness (ATR): 0.05-1.0 (default: 0.25) - Multiplier for aura band width
Chromatic Trail Length: 2-50 bars (default: 8) - Period for trail calculation
Trail Blend Ratio: 0.1-0.95 (default: 0.65) - EMA/WMA blend percentage
FVG Persistence: 50-600 bars (default: 320) - Bars to keep FVG boxes active
Max Active FVG Boxes: 10-200 (default: 40) - Maximum boxes on chart
FVG Base Opacity: 20-95% (default: 80%) - Transparency of FVG boxes
Peer Momentum Heatmap:
Peer Symbols: Comma-separated list of up to 6 symbols (e.g., "BTCUSD,ETHUSD")
Peer Timeframes: Comma-separated list of up to 4 timeframes (default: "60,240,D")
PMH RSI Length: 5-50 periods (default: 14)
PMH StochRSI Length: 5-50 periods (default: 14)
PMH StochRSI Smooth: 1-10 periods (default: 3)
Super Momentum Threshold: 0.2-0.95 (default: 0.55) - Threshold for surge detection
Clarity & Readability:
Liquidity Void Opacity: 5-90% (default: 30%)
Smart Money Footprint Opacity: 5-90% (default: 35%)
HUD Background Opacity: 40-95% (default: 70%)
Iridescent Field:
Field Opacity: 20-100% (default: 86%) - Background color intensity
Field Smooth Length: 10-200 bars (default: 34) - Smoothing for background gradient
---
Alerts
The indicator provides seven alert conditions:
Liquidity Void Detected - Triggers when void conditions are met
Strong Order Flow - Triggers when normalized OFI exceeds imbalance ratio
Smart Money Activity - Triggers when accumulation or distribution detected
Price/Volume Divergence - Triggers when divergence conditions occur
Structure Shift - Triggers when structure polarity changes significantly
PMH Bull Surge - Triggers when PMH exceeds positive threshold (if enabled)
PMH Bear Surge - Triggers when PMH exceeds negative threshold (if enabled)
Bull/Bear Prismatic FVG - Triggers when new FVG is detected (if FVG display enabled)
---
Usage Considerations
Performance may vary on lower timeframes due to the volume heat map calculations scanning multiple bars. Consider reducing heat map lookback or levels if experiencing slowdowns.
The PMH feature requires data requests to other symbols/timeframes, which may impact performance. Limit the number of peer symbols and timeframes for optimal performance.
FVG boxes automatically expire after the persistence period to prevent chart clutter. The maximum box limit (default: 40) prevents excessive memory usage.
Color themes affect all visual elements. Choose a theme that provides good contrast with your chart background.
The indicator is designed for overlay display. All visual elements are positioned relative to price action.
Structure lines are drawn dynamically as new pivots form. On fast-moving markets, structure may update frequently.
Volume calculations assume typical volume data availability. Symbols without volume may show incomplete data for volume-dependent features.
---
Technical Notes
Built on Pine Script v6 with dynamic request capability for PMH functionality.
Uses exponential moving averages (EMA) and weighted moving averages (WMA) for trail calculations to balance responsiveness and smoothness.
Volume profile calculation uses price level buckets. Higher levels provide finer granularity but require more computation.
Iridescent color engine uses a phase oscillator with sine wave calculations for smooth color transitions.
Box management includes automatic cleanup of expired boxes to maintain performance.
All visual elements use color gradients and transparency for smooth blending with price action.
---
Customization Examples
Intraday Scalping Setup:
Analysis Depth: 30 bars
Heat Map Lookback: 100 bars
FVG Persistence: 150 bars
PMH Window: 15 bars
Fast color shift speed: 0.5+
Macro Structure Tracking:
Analysis Depth: 100+ bars
Heat Map Lookback: 300+ bars
FVG Persistence: 500+ bars
Structure Memory: 6-8 levels
Slower color shift speed: 0.2
---
Limitations
Volume heat map calculations may be computationally intensive on lower timeframes with high lookback values.
PMH requires valid symbol names and accessible timeframes. Invalid symbols or timeframes will return no data.
FVG detection requires at least 3 bars of history. Early bars may not show FVG boxes.
Structure lines connect points but do not predict future structure. They reflect historical pivot relationships.
Color themes are aesthetic choices and do not affect calculation logic.
The indicator does not provide trading signals. All visual elements are analytical tools that require interpretation in context of market conditions.
Open Source
This indicator is open source and available for modification and distribution. The code is published with Pine Script v6 compliance. Users are free to customize parameters, modify calculations, and adapt the visual elements to their trading needs.
For questions, suggestions, or anything please talk to me in private messages or comments below!
Would love to help!
- officialjackofalltrades
Adaptive Z-Score Oscillator [QuantAlgo]🟢 Overview
The Adaptive Z-Score Oscillator transforms price action into statistical significance measurements by calculating how many standard deviations the current price deviates from its moving average baseline, then dynamically adjusting threshold levels based on historical distribution patterns. Unlike traditional oscillators that rely on fixed overbought/oversold levels, this indicator employs percentile-based adaptive thresholds that automatically calibrate to changing market volatility regimes and statistical characteristics. By offering both adaptive and fixed threshold modes alongside multiple moving average types and customizable smoothing, the indicator provides traders and investors with a robust framework for identifying extreme price deviations, mean reversion opportunities, and underlying trend conditions through the visualization of price behavior within a statistical distribution context.
🟢 How It Works
The indicator begins by establishing a dynamic baseline using a user-selected moving average type applied to closing prices over the specified length period, then calculates the standard deviation to measure price dispersion:
basis = ma(close, length, maType)
stdev = ta.stdev(close, length)
The core Z-Score calculation quantifies how many standard deviations the current price sits above or below the moving average basis, creating a normalized oscillator that facilitates cross-asset and cross-timeframe comparisons:
zScore = stdev != 0 ? (close - basis) / stdev : 0
smoothedZ = ma(zScore, smooth, maType)
The adaptive threshold mechanism employs percentile calculations over a historical lookback period to determine statistically significant extreme zones. Rather than using fixed levels like ±2.0, the indicator identifies where a specified percentage of historical Z-Score readings have fallen, automatically adjusting to market regime changes:
upperThreshold = adaptive ? ta.percentile_linear_interpolation(smoothedZ, percentilePeriod, upperPercentile) : fixedUpper
lowerThreshold = adaptive ? ta.percentile_linear_interpolation(smoothedZ, percentilePeriod, lowerPercentile) : fixedLower
The visualization architecture creates a four-tier coloring system that distinguishes between extreme conditions (beyond the adaptive thresholds) and moderate conditions (between the midpoint and threshold levels), providing visual gradation of statistical significance through opacity variations and immediate recognition of distribution extremes.
🟢 How to Use This Indicator
▶ Overbought and Oversold Identification:
The indicator identifies potential overbought conditions when the smoothed Z-Score crosses above the upper threshold, indicating that price has deviated to a statistically extreme level above its mean. Conversely, oversold conditions emerge when the Z-Score crosses below the lower threshold, signaling statistically significant downward deviation. In adaptive mode (default), these thresholds automatically adjust to the asset's historical behavior, i.e., during high volatility periods, the thresholds expand to accommodate wider price swings, while during low volatility regimes, they contract to capture smaller deviations as significant. This dynamic calibration reduce false signals that plague fixed-level oscillators when market character shifts between volatile and ranging conditions.
▶ Mean Reversion Trading Applications:
The Z-Score framework excels at identifying mean reversion opportunities by highlighting when price has stretched too far from its statistical equilibrium. When the oscillator reaches extreme bearish levels (below the lower threshold with deep red coloring), it suggests price has become statistically oversold and may snap back toward the mean, presenting potential long entry opportunities for mean reversion traders. Symmetrically, extreme bullish readings (above the upper threshold with bright green coloring) indicate potential short opportunities or long exit points as price becomes statistically overbought. The moderate zones (lighter colors between midpoint and threshold) serve as early warning areas where traders can prepare for potential reversals, while exits from extreme zones (crossing back inside the thresholds) often provide confirmation that mean reversion is underway.
▶ Trend and Distribution Analysis:
Beyond discrete overbought/oversold signals, the histogram's color pattern and shape reveal the underlying trend structure and distribution characteristics. Sustained periods where the Z-Score oscillates primarily in positive territory (green bars) indicate a bullish trend where price consistently trades above its moving average baseline, even if not reaching extreme levels. Conversely, predominant negative readings (red bars) suggest bearish trend conditions. The distribution shape itself provides insight into market behavior, e.g., a narrow, centered distribution clustering near zero indicates tight ranging conditions with price respecting the mean, while a wide distribution with frequent extreme readings reveals volatile trending or choppy conditions. Asymmetric distributions skewed heavily toward one side demonstrate persistent directional bias, whereas balanced distributions suggest equilibrium between bulls and bears.
▶ Built-in Alerts:
Seven alert conditions enable automated monitoring of statistical extremes and trend transitions. Enter Overbought and Enter Oversold alerts trigger when the Z-Score crosses into extreme zones, providing early warnings of potential reversal setups. Exit Overbought and Exit Oversold alerts signal when price begins reverting from extremes, offering confirmation that mean reversion has initiated. Zero Cross Up and Zero Cross Down alerts identify transitions through the neutral line, indicating shifts between above-mean and below-mean price action that can signal trend changes. The Extreme Zone Entry alert fires on any extreme threshold penetration regardless of direction, allowing unified monitoring of both overbought and oversold opportunities.
▶ Color Customization:
Six visual themes (Classic, Aqua, Cosmic, Ember, Neon, plus Custom) accommodate different chart backgrounds and aesthetic preferences, ensuring optimal contrast and readability across trading platforms. The bar transparency control (0-90%) allows fine-tuning of visual prominence, with minimal transparency creating bold, attention-grabbing bars for primary analysis, while higher transparency values produce subtle background context when using the oscillator alongside other indicators. The extreme and moderate zone coloring system uses automatic opacity variation to create instant visual hierarchy, with darkest colors highlight the most statistically significant deviations demanding immediate attention, while lighter shades mark developing conditions that warrant monitoring but may not yet justify action. Optional candle coloring extends the Z-Score color scheme directly to the price candles on the main chart, enabling traders to instantly recognize statistical extremes and trend conditions without needing to reference the oscillator panel, creating a unified visual experience where both price action and statistical analysis share the same color language.
Volume-Gated Trend Ribbon [QuantAlgo]🟢 Overview
The Volume-Gated Trend Ribbon employs a selective price-updating mechanism that filters market noise through volume validation, creating a trend-following system that responds exclusively to significant price movements. The indicator gates price updates to moving average calculations based on volume threshold crossovers, ensuring that only bars with significant participation influence the trend direction. By interpolating between fast and slow moving averages to create a multi-layered visual ribbon, the indicator provides traders and investors with an adaptive trend identification framework that distinguishes between volume-backed directional shifts and low-conviction price fluctuations across multiple timeframes and asset classes.
🟢 How It Works
The indicator first establishes a dynamic baseline by calculating the simple moving average of volume over a configurable lookback period, then applies a user-defined multiplier to determine the significance threshold:
avgVol = ta.sma(volume, volPeriod)
highVol = volume >= avgVol * volMult
The gated price mechanism employs conditional updating where the close price is only captured and stored when volume exceeds the threshold. During low-volume periods, the indicator maintains the last qualified price level rather than tracking every minor fluctuation:
var float gatedClose = close
if highVol
gatedClose := close
Dual moving averages are calculated using the gated price input, with the indicator supporting various MA types. The fast and slow periods create the outer boundaries of the trend ribbon:
fastMA = volMA(gatedClose, close, fastPeriod)
slowMA = volMA(gatedClose, close, slowPeriod)
Ribbon interpolation creates intermediate layers by blending the fast and slow moving averages using weighted combinations, establishing a gradient effect that visually represents trend strength and momentum distribution:
midFastMA = fastMA * 0.67 + slowMA * 0.33
midSlowMA = fastMA * 0.33 + slowMA * 0.67
Trend state determination compares the fast MA against the slow MA, establishing bullish regimes when the faster average trades above the slower average and bearish regimes during the inverse relationship. Signal generation triggers on state transitions, producing alerts when the directional bias shifts:
bullish = fastMA > slowMA
longSignal = trendState == 1 and trendState != 1
shortSignal = trendState == -1 and trendState != -1
The visualization architecture constructs a three-tiered opacity gradient where the ribbon's core (between mid-slow and slow MAs) displays the highest opacity, the inner layer (between mid-fast and mid-slow) shows medium opacity, and the outer layer (between fast and mid-fast) presents the lightest fill, creating depth perception that emphasizes the trend center while acknowledging edge uncertainty.
🟢 How to Use This Indicator
▶ Long and Short Signals: The indicator generates long/buy signals when the trend state transitions to bullish (fast MA crosses above slow MA) and short/sell signals when transitioning to bearish (fast MA crosses below slow MA). Because these crossovers only reflect volume-validated price movements, they represent significant level of participation rather than random noise, providing higher-conviction entry signals that filter out false breakouts occurring on thin volume.
▶ Ribbon Width Dynamics: The spacing between the fast and slow moving averages creates the ribbon width, which serves as a visual proxy for trend strength and volatility. Expanding ribbons indicate accelerating directional movement with increasing separation between short-term and long-term momentum, suggesting robust trend development. Conversely, contracting ribbons signal momentum deceleration, potential trend exhaustion, or impending consolidation as the fast MA converges toward the slow MA.
▶ Preconfigured Presets: Three optimized parameter sets accommodate different trading styles and market conditions. Default provides balanced trend identification suitable for swing trading on daily timeframes with moderate volume filtering and responsiveness. Fast Response delivers aggressive signal generation optimized for intraday scalping on 1-15 minute charts, using lower volume thresholds and shorter moving average periods to capture rapid momentum shifts. Smooth Trend offers conservative trend confirmation ideal for position trading on 4-hour to weekly charts, employing stricter volume requirements and extended periods to filter noise and identify only the most robust directional moves.
▶ Built-in Alerts: Three alert conditions enable automated monitoring: Bullish Trend Signal triggers when the fast MA crosses above the slow MA confirming uptrend initiation, Bearish Trend Signal activates when the fast MA crosses below the slow MA confirming downtrend initiation, and Trend Change alerts on any directional transition regardless of direction. These notifications allow you to respond to volume-validated regime shifts without continuous chart monitoring.
▶ Color Customization: Six visual themes (Classic, Aqua, Cosmic, Ember, Neon, plus Custom) accommodate different chart backgrounds and display preferences, ensuring optimal contrast and visual clarity across trading environments. The adjustable fill opacity control (0-100%) allows fine-tuning of ribbon prominence, with lower opacity values create subtle background context while higher values produce bold trend emphasis. Optional bar coloring extends the trend indication directly to the price bars, providing immediate directional reference without requiring visual cross-reference to the ribbon itself.
VWAP Flow ParmezanThe "Official Bank Flow VWAP" is a comprehensive trading suite designed for institutional Forex traders.
This indicator solves the problem of chart clutter by combining two critical components of liquidity: Price (Value) and Time (Sessions). It is specifically optimized for EUR/USD and GBP/USD on intraday timeframes (M5, M15), helping you identify high-probability setups where "Fair Value" meets "Volatility."
Key Features
1. Multi-Timeframe VWAP Hierarchy Unlike standard indicators, this tool visualizes the interaction between three distinct timeframes:
Daily VWAP (Dynamic Color): Your primary trend filter. Green when Bullish (Price > VWAP), Red when Bearish (Price < VWAP).
Weekly VWAP (Orange Dots): Represents the medium-term balance. Acts as a magnet for mean reversion mid-week.
Monthly VWAP (Purple Line): The institutional "line in the sand." Major support/resistance level.
2. Standard Deviation Bands (Market Balance) The indicator plots SD1 and SD2 bands around the Daily VWAP:
Inner Zone (SD1): Represents the "Fair Value" area.
Outer Bands (SD2): Represents overbought/oversold conditions. Useful for identifying mean reversion plays back to the center.
3. Official Exchange Sessions (Time) Forget confusing "killzones." This tool highlights the Official Open times for major exchanges, adjusted for Daylight Savings via New York time:
London Open (08:00 LDN): The start of European volume.
New York Open (08:00 NY): The injection of US liquidity.
London Close/Fix: The daily overlap close, often marking trend reversals.
Note: Sessions are visualized with non-intrusive black "shadow" backgrounds to keep your chart clean.
4. "Ghost" Levels (Previous VWAP) A unique feature that plots the closing VWAP level of the previous day. Institutional algorithms often target these "untested" levels as Take Profit targets or liquidity pools.
How to Use
Trend Following: If Price is above the Daily VWAP (Green) during the London Open, look for Long entries targeting the SD1/SD2 upper bands.
Mean Reversion: If Price hits the SD2 Band while far away from the Weekly VWAP, look for a reversal back to the mean.
Confluence: The strongest signals occur when price touches a key VWAP level (e.g., Weekly VWAP) specifically during the highlighted Session Start times.
Settings
Timezone: Defaults to America/New_York to automatically handle DST shifts for London/NY opens.
Visuals: Fully customizable colors and transparency. Default is set to a "Dark Mode" friendly professional palette.
Liquidity Entry Triggers (4-Model System) | WarRoomXYZLiquidity Entry Triggers is an open-source, price-action-based analytical framework designed to highlight recurring institutional liquidity behaviors that appear across all liquid markets.
The script focuses on how and where liquidity is taken, rather than attempting to predict direction using oscillators or lagging indicators.
It is optimized for XAUUSD, FX pairs, indices, and crypto , particularly on 1m–15m timeframes where session behavior and liquidity reactions are most visible.
This tool is not a buy/sell signal generator .
It provides contextual entry zones based on structural liquidity logic, allowing traders to apply their own execution rules.
Core Philosophy
Markets move because of:
•Trapped traders
•Forced liquidations
•Session-based liquidity cycles
•Reactions at prior institutional participation zones
This script visualizes four repeatable entry triggers that emerge from those mechanisms.
🔹 1. Failed Breakout / Trapped Trader Model
When price breaks a clearly defined range high or low, breakout traders often enter expecting continuation.
If price fails to hold outside the range and closes back inside, those traders become trapped.
The script detects:
•Breaks beyond recent highs/lows
•Immediate rejection back into the range
•Structural failure of momentum
These conditions frequently lead to mean reversion or reversal moves as trapped traders exit and fuel movement in the opposite direction.
Markers are plotted at the point of failure to highlight potential trap zones.
🔹 2. Liquidation Flush Detection
Sharp impulsive candles with abnormally large wicks often represent liquidation cascades rather than healthy trend continuation.
The script identifies liquidation behavior by measuring:
•Wick-to-body imbalance
•Sudden expansion followed by rejection
•Temporary price inefficiencies
These flushes commonly occur near:
•Session highs/lows
•Range extremes
•Trend exhaustion points
Such events often lead to rebalance moves , where price partially or fully fills the wick.
🔹 3. Orderblock Reaction Zones
Orderblocks represent areas where heavy participation occurred before a strong displacement move.
The script highlights:
•Clean bullish and bearish orderblock structures
•Zones formed during consolidation prior to expansion
•Areas likely to be defended when revisited
Orderblocks with minimal noise and clean departure are prioritized, as they often reflect institutional positioning rather than retail activity.
These zones are intended as reaction areas , not automatic entry signals.
🔹 4. London Session Liquidity Sweep Model
The London session frequently establishes the initial daily high or low.
Later in the session or during New York, price often:
•Sweeps internal liquidity around that level
•Rejects after the sweep
•Continues with the higher-timeframe bias
The script monitors London session behavior and marks:
•Liquidity runs above/below London highs and lows
•Rejections back inside the prior structure
This model is especially effective when combined with broader daily context.
🔹4. How the Components Work Together
The framework is designed as a context stack , not a checklist of signals:
Liquidity Event → Location → Timing → Trader Execution
Each model reinforces the others:
•Failed breakouts often occur after liquidity sweeps
•Liquidation wicks frequently form near orderblocks
•London sweeps often trigger failed momentum moves
•Confluence increases probability, not certainty
🔹 Practical Usage Guide
✔ Identify context
Determine whether price is approaching a range extreme, session level, or prior participation zone.
✔ Wait for a liquidity event
Look for a sweep, failed breakout, or liquidation wick.
✔ Observe reaction
Rejection, displacement, or reclaim behavior provides confirmation.
✔ Execute manually
Stops are commonly placed beyond the liquidity extreme.
Targets are typically internal liquidity, prior highs/lows, or imbalance zones.
The indicator does not manage trades or enforce rules.
Execution and risk management remain the trader’s responsibility.
🔹 5. Originality & Design Notes
This script does not replicate or bundle existing indicators.
It introduces:
•A multi-model liquidity entry framework
•Structural failed breakout detection
•Wick-based liquidation imbalance logic
•Session-aware liquidity sweep visualization
•A unified, minimal, non-lagging design
All concepts are based on observable market behavior and integrated into a single analytical tool.
🔹 6. Suitable Markets & Timeframes
Works best on:
•XAUUSD
•Major FX pairs
•Indices
•Liquid crypto markets
Recommended timeframes:
•1m
•5m
•15m
•30m
🔹7. Limitations & Notes
•This is an analytical framework , not a trading system
•All markings are confirmed at candle close (non-repainting)
•No open interest or order flow data is used
•Results depend on user interpretation and execution
•Best used alongside session bias and higher-timeframe structure
Disclaimer
This script is provided for educational and informational purposes only.
It does not constitute financial advice, investment advice, or a recommendation to buy or sell any instrument.
Trading involves risk, and losses can exceed initial deposits.
The author assumes no responsibility for trading decisions made using this tool.
Users are strongly encouraged to test this script in demo or simulation environments and to apply proper risk management, position sizing, and personal discretion at all times.
By using this script, you acknowledge and accept all associated risks.
2 Dip/Tepe + Destek/Direnç + Tek Sinyal Stratejisi⭐ A Brief Summary of What the Strategy Does
🎯 1) Market analysis is being released (bottom-top analysis)
It automatically finds pivot bottoms and pivot tops on the strategic chart. Then:
If the bottoms are rising (HL – High Low): the trend is upward
If the tops are falling (LH – Lower High): the trend is downward
it interprets this.
🎯 2) Support and resistance lines are formed
Last pivot top = resistance line
Last pivot bottom = support line
These lines are automatically drawn on the chart.
🎯 3) Breakout is expected according to the trend structure
For LONG:
The last two bottoms will be rising bottoms
The price will rise above the last resistance line
This gives a single LONG signal.
For SHORT:
The last two peaks will be falling peaks
The price will fall below the support line
This gives a single SHORT signal.
MorphWave Bands [JOAT]MorphWave Bands - Adaptive Volatility Envelope System
MorphWave Bands create a dynamic price envelope that automatically adjusts its width based on current market conditions. Unlike static Bollinger Bands, this indicator blends ATR and standard deviation with an efficiency ratio to expand during trending conditions and contract during consolidation.
What This Indicator Does
Plots adaptive upper and lower bands around a customizable moving average basis
Automatically adjusts band width using a blend of ATR and standard deviation
Detects volatility squeezes when bands contract to historical lows
Highlights breakouts when price moves beyond the bands
Provides squeeze alerts for anticipating volatility expansion
Adaptive Mechanism
The bands adapt through a multi-step process:
// Blend ATR and Standard Deviation
blendedVol = useAtrBlend ? (atrVal * 0.6 + stdVal * 0.4) : stdVal
// Normalize volatility to its historical range
volNorm = (blendedVol - volLow) / (volHigh - volLow)
// Create adaptive multiplier
adaptMult = baseMult * (0.5 + volNorm * adaptSens)
This creates bands that respond to market regime changes while maintaining stability.
Squeeze Detection
A squeeze is identified when band width drops below a specified percentile of its historical range:
Background highlighting indicates active squeeze conditions
Low percentile readings suggest compressed volatility
Squeeze exits often precede directional moves
Inputs Overview
Band Length — Period for basis calculation (default: 20)
Base Multiplier — Starting band width multiplier (default: 2.0)
MA Type — Choose from SMA, EMA, WMA, VWMA, or HMA
Adaptation Lookback — Historical period for normalization (default: 50)
Adaptation Sensitivity — How much bands respond to volatility changes
Squeeze Threshold — Percentile below which squeeze is detected
Dashboard Information
Current trend direction relative to basis and bands
Band width percentage
Squeeze status (Active or None)
Efficiency ratio
Current adaptive multiplier value
How to Use It
Look for squeeze conditions as potential precursors to breakouts
Use band touches as dynamic support/resistance references
Monitor breakout signals when price closes beyond bands
Combine with momentum indicators for directional confirmation
Alerts
Upper/Lower Breakout — Price exceeds band boundaries
Squeeze Entry/Exit — Volatility compression begins or ends
Basis Crosses — Price crosses the center line
This indicator is provided for educational purposes. It does not constitute financial advice.
— Made with passion by officialjackofalltrades
Bollinger Bands + VWAP + 4-State MACD BackgroundBollinger Bands + VWAP + 4-State MACD Background
An all-in-one technical analysis indicator combining three proven tools with an intelligent momentum-based background visualization system.
📊 FEATURES
Bollinger Bands
Standard Bollinger Bands implementation with full customization options:
Adjustable period length (default: 20)
Multiple moving average types: SMA, EMA, SMMA (RMA), WMA, VWMA
Configurable standard deviation multiplier (default: 2.0)
Visual fill between bands to highlight volatility zones
Offset capability for forward/backward display
Session VWAP (Volume Weighted Average Price)
Automatically resets at the start of each trading session:
Calculates true volume-weighted average price
Resets daily to provide fresh reference levels
Customizable source input (default: HLC3)
Adjustable line appearance (color and width)
Can be toggled on/off as needed
4-State MACD Background System
This is the unique feature of this indicator. The chart background dynamically changes based on MACD momentum analysis, providing instant visual feedback on trend strength and direction:
🟢 Strong Bullish (Bright Green)
MACD line is above signal line
Histogram is growing (momentum accelerating upward)
Indicates strong upward momentum
🟢 Weak Bullish (Pale Green)
MACD line is above signal line
Histogram is shrinking (momentum decelerating)
Early warning signal that uptrend may be weakening
🔴 Strong Bearish (Bright Red)
MACD line is below signal line
Histogram is falling (momentum accelerating downward)
Indicates strong downward momentum
🔴 Weak Bearish (Pale Red)
MACD line is below signal line
Histogram is rising (momentum decelerating)
Early warning signal that downtrend may be weakening
🎯 HOW TO USE
For Trend Trading:
Strong colored backgrounds indicate confirmed momentum in that direction - consider staying with the trend
Weak colored backgrounds signal potential momentum exhaustion - watch for possible reversals
Use VWAP as a dynamic support/resistance level
Bollinger Band breakouts combined with strong MACD backgrounds can confirm trend strength
Price above VWAP + strong bullish background = bullish bias
Price below VWAP + strong bearish background = bearish bias
For Mean Reversion:
Price touching upper/lower Bollinger Bands with weak MACD background may suggest potential reversal
VWAP acts as a mean reversion anchor during range-bound sessions
Background color shifts from strong to weak often precede price direction changes
Look for price return to VWAP when extended beyond bands with weakening momentum
Signal Confirmation:
Strongest signals occur when multiple indicators align:
BB breakout + MACD strong color + price above/below VWAP
Price rejection at BB bands + MACD color weakening
VWAP support/resistance hold + MACD color change
⚙️ SETTINGS
All components are fully customizable through organized input groups:
Bollinger Bands Group:
Period length
Moving average type (SMA/EMA/SMMA/WMA/VWMA)
Source (close/open/high/low/etc.)
Standard deviation multiplier
Offset
VWAP Group:
Toggle show/hide
Source calculation method
Line color
Line width
MACD Group:
Toggle background on/off
Fast length (default: 12)
Slow length (default: 26)
Signal length (default: 9)
Source
Four separate color settings for each momentum state
All colors include transparency controls
💡 EDUCATIONAL VALUE
This indicator teaches important concepts:
How volatility (Bollinger Bands) relates to price movement
The importance of volume-weighted pricing (VWAP)
Momentum analysis through MACD
How combining multiple timeframes and indicators can provide confluence
The difference between trend strength and trend direction
⚠️ IMPORTANT NOTES
This indicator is for educational and informational purposes only
No indicator is perfect - always use proper risk management
Past performance does not guarantee future results
Combine with your own analysis and risk tolerance
Test thoroughly on historical data before live trading
This is not financial advice - use at your own risk
🔧 TECHNICAL DETAILS
Pine Script Version 6
Overlay indicator (displays on price chart)
All calculations use standard, well-documented formulas
Minimal lag due to efficient coding
Compatible with all timeframes and instruments
No repainting - all signals are confirmed on bar close
📝 CHANGELOG
Version 1.0
Initial release
Bollinger Bands with multiple MA types
Session VWAP with daily reset
4-state MACD background system
Full customization options
Developed for traders who want multiple confirmation signals in a clean, organized format without cluttering their charts with separate indicator panels.






















