Photon Price Action Scanner [JOAT]
Photon Price Action Scanner - Light Speed Edition
Overview
Photon Price Action Scanner is an open-source overlay indicator that detects and displays over 15 candlestick patterns with strength filtering, trend confirmation, and velocity analysis. It combines classic pattern recognition (engulfing, hammer, doji, morning/evening star) with advanced patterns (three soldiers/crows, tweezer tops/bottoms, island reversals) and gap analysis to provide comprehensive price action insights.
What This Indicator Does
The indicator detects and displays:
Classic Patterns - Bullish/Bearish Engulfing, Hammer, Shooting Star, Doji, Morning Star, Evening Star, Piercing Line, Dark Cloud Cover, Bullish/Bearish Harami
Advanced Patterns - Three White Soldiers, Three Black Crows, Tweezer Top/Bottom, Island Reversals
Gap Analysis - Detects gap up and gap down conditions
Velocity Confirmation - Filters signals by price velocity (rate of change)
Neural Bias Filter - Adaptive EMA-based trend filter with momentum adjustment
Pattern Strength - Volume and body size weighted strength calculation
How It Works
Each pattern has specific detection logic. For example, Bullish Engulfing:
isBullishEngulfing() =>
bool pattern = close < open and close > open and
open <= close and close >= open and
close - open > open - close
pattern
Three White Soldiers detection:
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
Pattern strength is calculated using volume and body size:
calculatePatternStrength(bool pattern, series float volume, simple int period) =>
float strength = 0.0
if pattern
float avgVol = ta.sma(volume, period)
float volRatio = avgVol > 0 ? volume / avgVol : 1.0
float bodySize = math.abs(close - open) / close
strength := (volRatio + bodySize * 100) / 2
strength
Neural bias filter uses adaptive EMA with momentum adjustment:
neuralEMA(series float src, simple int period, simple float lr) =>
var float neuralValue = na
var float momentum = 0.0
float error = src - neuralValue
float adjustment = error * lr
momentum := momentum * 0.9 + adjustment * 0.1
neuralValue := neuralValue + adjustment + momentum
neuralValue
Signal Generation
Signals are filtered by multiple criteria:
Strong Pattern: Pattern detected + strength exceeds threshold + trend alignment + neural bias confirmation + velocity confirmation (if enabled)
Ultra Pattern: Strong pattern + gap in same direction + velocity confirmation
Dashboard Panel (Bottom-Right)
Current Pattern - Name of detected pattern or NONE
Bull Strength - Bullish pattern strength score
Bear Strength - Bearish pattern strength score
Trend - Current trend direction (UPTREND/DOWNTREND/SIDEWAYS)
Signal Quality - STRONG BULL/STRONG BEAR/BULL/BEAR/NONE
Velocity - FAST BULL/FAST BEAR/NORMAL
Gap Status - GAP UP/GAP DOWN/NO GAP
Light Beam - Scanning intensity percentage
Action - Recommended action (ULTRA BUY/BUY/WATCH BUY/WAIT etc.)
Visual Elements
Pattern Labels - Abbreviated labels at pattern locations (BE, H, MS, SS, ES, etc.)
Neural Bias Line - Adaptive trend line
Gap Boxes - Cyan boxes highlighting gap zones
Action Zones - Dashed boxes around strong pattern areas
Light Beam - Oscillating area plot for visual scanning effect
Velocity Markers - Small circles indicating velocity confirmation
Ultra Signals - Large labels for highest conviction signals
Input Parameters
Scan Sensitivity (default: 1.0) - Overall detection sensitivity
Pattern Strength Filter (default: 3) - Minimum strength for strong signals
Trend Period (default: 20) - Period for trend determination
Show All Patterns (default: false) - Show all patterns regardless of strength
Advanced Patterns (default: true) - Enable soldiers/crows/tweezer detection
Gap Analysis (default: true) - Enable gap detection
Velocity Confirmation (default: true) - Require velocity confirmation
Neural Bias Filter (default: true) - Enable adaptive trend filter
Neural Period (default: 50) - Period for neural bias calculation
Neural Learning Rate (default: 0.12) - Adaptation speed for neural filter
Suggested Use Cases
Identify reversal patterns at key support/resistance levels
Use pattern strength to filter high-quality setups
Combine with trend direction for higher probability trades
Watch for ultra signals as highest conviction opportunities
Use gap analysis for momentum continuation or reversal setups
Timeframe Recommendations
Effective on 1H to Daily charts. Lower timeframes produce more patterns but with potentially lower reliability.
Limitations
Pattern detection is mechanical and does not consider broader context
Strength calculation is based on volume and body size, not pattern quality
Neural bias filter may lag during rapid trend changes
Gap detection requires clean price 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. Pattern detection does not guarantee trade outcomes. Always use proper risk management.
- Made with passion by officialjackofalltrades
Indicators
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
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
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
Crandall CrossThe Crandall Cross indicator is an Exponential Moving Average (EMA) and Stop And Reverse (SAR) combination indicator. It uses the EMA200, EMA20, and a unique SAR Projection. Typically, SAR indicators are represented as dots, but this SAR is a line that projects Parabolic Strength based on 3 time-period groupings. The indicator essentially implements a simple EMA cross strategy while using an SAR Projection as confirmation.
How to Use
A Buy Signal will most likely appear when the EMA20 (pink) crosses over the EMA200 (yellow) and the price is above the SAR Projection (blue).
A Sell Signal will most likely appear when the EMA20 (pink) crosses under the EMA200 (yellow) and the price is below the SAR Projection (blue).
The Buy/Sell Signals can appear later because they require SAR confirmation.
Note This indicator neither gives financial advice nor does it guarantee investment success. Invest at your own discretion.
Gamma Adaptive Regime Engine - CoreGamma Adaptive Regime Engine – Core
The Gamma Adaptive Regime Engine (GARO) is a visualization tool designed to help identify how market conditions are currently behaving — whether price is moving directionally or fluctuating within a range. Many indicators apply the same logic in all environments; GARO instead focuses on displaying the surrounding context so users can better understand what type of environment they are looking at.
Why the Source Is Protected
This script uses Protected Source to prevent accidental edits and keep calculations consistent across all users. The study combines several technical concepts — adaptive moving averages, volatility filters, and context-based visuals — inside one framework. Protection is used strictly for stability and maintenance, not as a claim of performance.
How to Use: Visual Overview
GARO highlights the chart with colors and overlays to help illustrate the current environment. These visuals are intended as context only and should always be combined with independent analysis.
1) Market Regimes
Expansion (Green background / bands)
Represents conditions where price movement appears more directional and trends can develop.
Contraction (Blue background / bands)
Represents conditions where price behavior is more range-like, often moving back and forth within boundaries.
Spike (Red background)
Represents periods of elevated volatility where price behavior can become fast and irregular.
These categories describe conditions — they are not trade instructions.
2) Visual Elements
Orange Dots (Range Anchor)
Displayed primarily during Contraction.
They represent a smoothed “fair-value” anchor that price frequently fluctuates around in sideways environments.
Green / Fuchsia Line (Expansion Core)
A smoothed directional line showing the current bias during Expansion phases.
Green indicates upward bias; Fuchsia indicates downward bias.
Cloud Bands (Shaded Areas)
Adaptive volatility boundaries.
In range-type conditions, touches near the edges may indicate stretched behavior.
During directional movement, they may function visually like trailing boundaries.
Yellow Dashed Line (Zero Gamma Proxy)
A calculated reference level that sometimes aligns with areas where price pauses, consolidates, or rotates.
It is intended purely as a contextual reference.
Table (Top-Right)
The table summarizes what the engine is currently reading:
Regime Status — Expansion, Contraction, or Spike
Context Label — Examples include:
Trend Context
Mean-Reversion Context
Range — Trend Bias Intact
These labels describe the environment only and do not generate signals.
Educational Disclaimer
This script is for visualization and educational purposes only.
It does not provide trading signals, guarantees, or advice. All decisions should be based on independent analysis, personal judgment, and appropriate risk management.
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
SterlCore FX [JOATSterlCore FX Matrix is a multi-timeframe forex indicator that integrates market structure analysis, central bank policy proxies, currency strength correlation, session-based liquidity tracking, and volatility diagnostics into a single overlay system.
Note: This script is published as an invite-only INDICATOR. It does not generate backtesting results or automated trade execution. Access requires authorization through the script's access control settings.
## Why This Script Merits Invite-Only Protection
This indicator combines multiple analytical dimensions that individually exist as separate tools across the trading community. The value proposition lies in the specific integration methodology and composite scoring system that synthesizes:
Multi-timeframe EMA lattice with adaptive ATR channels for structure analysis
Central bank policy pressure assessment using normalized currency index calculations
Real-time currency strength matrix across eight major currencies with correlation intelligence
Session-specific VWAP calculations with drift metrics and range analysis
Composite macro confluence scoring that weights and combines all analytical modules
The proprietary elements include the mathematical weighting system for the macro confluence score, the specific normalization methods for currency strength calculations, and the integration logic that prevents conflicting signals across modules. While individual components like EMAs and RSI are standard, their specific combination, the composite scoring methodology, and the multi-module integration represent original development work that justifies source code protection.
---
## How Components Work Together
The indicator's value comes from how its modules interact, not from any single component:
Data Flow:
1. Multi-timeframe EMAs establish directional bias across strategic, tactical, and execution timeframes
2. Currency strength matrix identifies which currencies are strengthening/weakening across the broader market
3. Policy proxies assess central bank pressure differentials between base and quote currencies
4. Session VWAPs track intraday institutional positioning and drift
5. Correlation grid monitors whether related pairs confirm or contradict the current pair's signals
6. Momentum and volatility filters ensure signals only fire during favorable market conditions
Integration Logic:
Each module produces a normalized score (-1 to +1). These scores are weighted and combined into the macroConfluence composite:
Structure score receives highest weight (50%) as the primary trend filter
Carry composite (30%) captures policy-driven flows
Currency strength spread (20%) validates pair-specific momentum
Momentum, liquidity, session drift, and correlation act as modifiers that can dampen or amplify signals
Why This Integration Matters:
A standard EMA crossover might signal "buy" while currency strength shows the base currency weakening, session VWAP shows price below fair value, and correlation pairs are diverging. The composite scoring system catches these conflicts and reduces signal confidence accordingly. This multi-dimensional validation is what separates this indicator from simple mashups that display multiple indicators without integration.
---
## Core Functionality
This indicator addresses the challenge of synthesizing multiple analytical dimensions in forex trading. Currency markets operate across multiple timeframes simultaneously, with central bank policy shifts, cross-pair correlations, and session-specific liquidity patterns all influencing price action. Most indicators focus on a single dimension; this script attempts to integrate several.
What This Script Does:
Multi-timeframe structure analysis using synchronized EMAs across strategic (daily), tactical (4-hour), and execution (hourly) timeframes
Central bank policy pressure assessment through normalized currency index proxies
Real-time currency strength matrix tracking eight major currencies (USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD)
Cross-pair correlation monitoring using configurable reference pairs
Session-based VWAP calculations with drift and range metrics for Asia, Europe, and US trading windows
Market structure detection including break-of-structure (BOS) confirmation, liquidity sweep identification, and RSI-based divergence alerts
Composite macro confluence score combining all modules with configurable weights
---
## Technical Architecture
### Multi-Timeframe Structure Lattice
The indicator calculates exponential moving averages (EMAs) across three timeframes:
Strategic EMA (default: Daily timeframe, 96-period EMA) — Anchors to longer-term monetary drift and macro flows
Tactical EMA (default: 4-hour timeframe, 55-period EMA) — Captures rotational pressure during positioning for economic data or policy events
Execution EMA (default: 1-hour timeframe, 21-period EMA) — Tracks microstructure in real time
An adaptive ATR-based channel surrounds the execution EMA to define a "value corridor" for entry consideration. Break-of-structure (BOS) logic requires price to close beyond prior swing highs/lows by a configurable ATR percentage threshold to reduce false breakouts.
### Policy Gradient & Carry Intelligence
The script uses currency index proxies (defaults: FX_IDC:EURUSD and FX_IDC:USDJPY ) to approximate central bank policy pressure. These proxies are smoothed via EMA and normalized over a lookback period.
The carryComposite calculation blends:
Normalized policy spread between base and quote currency proxies
Policy drift (difference between tactical and macro timeframe policy spreads)
Carry acceleration (rate of change in policy spread)
Carry opportunity signals appear when the composite exceeds a threshold and aligns with structure bias and currency strength dispersion.
### Currency Strength Matrix
Eight currency baskets are tracked using configurable symbol inputs (defaults use $FX_IDC pairs). Each currency's strength is normalized to a -1 to +1 scale relative to its lookback range. The heatmap table displays which currencies are dominating, allowing quick assessment of broad market moves before they appear in individual pair price action.
### Correlation Intelligence Grid
Three reference pairs (defaults: FX_IDC:EURUSD , FX_IDC:GBPUSD , FX_IDC:USDJPY ) are monitored on a higher timeframe. The script calculates correlation coefficients and assigns qualitative descriptors: "Lockstep +", "Aligned +", "Loose", "Aligned -", or "Lockstep -". A correlation consensus value feeds into the macro confluence calculation, dampening signals when reference pairs show conflicting behavior.
### Momentum, Volatility & Liquidity Stack
Dual ROC momentum — Fast and slow rate-of-change calculations prevent whipsaw from single-length oscillators
Volatility pulse — Compares current ATR to a slower baseline; signals require volatility above a floor threshold
Volatility forecast slope — Uses linear regression to project ATR 21 bars ahead, warning of imminent expansion or contraction
Liquidity pulse — Compares current volume to smoothed average; low participation is visually indicated via background tinting
### Session Awareness & Performance Console
Asia, Europe, and US trading sessions are tracked with configurable UTC windows. Each session maintains:
Live VWAP that resets at session open
Drift score quantifying price deviation from VWAP in ATR terms
Range percentage showing session expansion relative to VWAP
Session bias composite feeds into macro confluence to reduce signal aggression when all sessions are mean-reverting.
### Liquidity & Market Structure Suite
Liquidity sweeps — Detects stop hunts above prior highs or below prior lows within a configurable lookback
RSI divergence — Identifies momentum divergences using confirmed pivot points only
Supply/demand zones — Automatically generated from pivot highs/lows and projected forward for a set number of bars
### Macro Alignment Engine
The macroConfluence score combines:
Structure score (weighted average of strategic/tactical/execution EMAs)
Carry composite
Currency strength spread (base minus quote)
Momentum score
Liquidity modifier
Session bias composite
Correlation consensus
Long/short alignment signals require:
Macro confluence exceeding configurable threshold (default: 0.55)
Volatility pulse above floor threshold
Optional: Price above/below tactical EMA (execution filter toggle)
---
## Visual Elements
Candle Coloring: Candles are recolored based on macro confluence: teal for bullish alignment, magenta for bearish alignment, neutral gray for distribution phases.
Background Tint: Volatility intensity modulates chart background; bold colors indicate elevated ATR, washed-out tones suggest choppy conditions.
Labels:
Macro Align Long/Short — Primary entry signals when confluence exceeds threshold
BOS↑/↓ — Break-of-structure confirmation
Sweep↑/↓ — Liquidity sweep detection
RSI Bull/Bear Div — Momentum divergence alerts
Carry Bias± — Policy-strength alignment flags
Session Overlays: Transparent background shading indicates active trading sessions (Asia, Europe, US) with configurable opacity.
Session VWAPs: Each region's VWAP is plotted in a distinct color (teal for Asia, blue for Europe, purple for US).
---
## Dashboard Tables
The indicator includes several configurable information tables:
Intelligence Dashboard (top-right, default) — Displays strategic/tactical/execution bias, policy pressure, currency spread, volatility pulse, policy impulse, session drift, correlation, and macro state
Currency Heatmap (bottom-right, default) — Shows normalized strength values for all tracked currencies
Correlation Grid (bottom-left, default) — Lists reference pairs with correlation coefficients and qualitative states
Session Performance Panel (bottom-center, default) — Displays drift scores and range percentages for each session
Diagnostics Table (top-left, optional) — Additional session range metrics and liquidity pulse values
All table positions are configurable via input settings to avoid overlap with TradingView UI elements.
---
## Configuration Parameters
Multi-Timeframe Structure: All EMA timeframes and lengths are adjustable. Default strategic timeframe is Daily; tactical is 4-hour; execution is 1-hour.
Policy Proxies: Base and quote currency policy proxy symbols are user-configurable. Defaults use $FX_IDC pairs for broad compatibility.
Currency Strength: Each currency's tracking can be toggled on/off. Symbol inputs allow substitution of alternative data sources if default indices are unavailable.
Correlation References: Three reference pair symbols, timeframe, and lookback period are all configurable.
Signal Thresholds: Macro alignment trigger, volatility pulse floor, and carry opportunity threshold are adjustable to match different trading styles.
Visual Controls: Label visibility, zone display, session overlays, VWAP plotting, and all dashboard tables can be toggled independently.
---
## Technical Implementation Notes
Pine Script v6 compliant
All request.security calls use lookahead_off to prevent historical repainting
BOS, divergence, and sweep detection rely on confirmed pivot points only
Session VWAP calculations reset strictly on session boundaries
Zone objects are automatically capped and managed to respect TradingView resource limits
All calculations include division-by-zero guards and NA handling for real-time stability
---
## Usage Considerations
Timeframe Selection: The indicator is designed for forex pairs. Default timeframes (D/4H/1H) are optimized for swing and intraday trading. Scalpers may prefer shorter execution timeframes; position traders may extend strategic to weekly.
Pair Compatibility: Tested on major pairs ( FX:EURUSD , FX:GBPUSD , FX:USDJPY , OANDA:USDCHF , OANDA:AUDUSD , OANDA:USDCAD , OANDA:NZDUSD ), cross-pairs, and FX-derived CFDs. Policy proxy symbols should be adjusted to match your data feed availability.
Session Windows: Default UTC windows (Asia: 22:00-06:00, Europe: 06:00-13:00, US: 13:00-21:00) can be customized. Adjust for daylight saving time transitions as needed.
Signal Interpretation: Macro alignment signals indicate confluence across multiple dimensions but do not guarantee profitable outcomes. Use in conjunction with risk management and market context. The indicator is a tool for analysis, not a standalone trading system.
Resource Usage: With all features enabled, the script operates within TradingView's resource budgets. Disable unused modules (currency tracking, correlation grid, diagnostics) if running multiple instances on a single layout.
---
## Limitations & Compromises
Policy proxies are approximations using currency indices; actual central bank policy requires external economic analysis
Correlation calculations use price-based correlation, which may lag during regime shifts
Session VWAPs reset at session boundaries; overlapping sessions (e.g., London/NY) may show conflicting signals
Supply/demand zones are generated from pivots; false zones may appear during ranging markets
Macro confluence is a composite score; individual components may conflict, requiring discretionary interpretation
The indicator is optimized for trending and rotational markets. Performance may degrade during extended consolidation or during major economic event volatility when multiple central banks act simultaneously.
---
## Alert System
The script includes four alert conditions:
SterlCore FX Bullish Alignment — Fires when macro confluence exceeds threshold with volatility and EMA filters satisfied
SterlCore FX Bearish Alignment — Mirror of bullish logic
SterlCore FX Carry Long — Fires when carry composite, currency spread, and structure align for long bias
SterlCore FX Carry Short — Mirror of carry long logic
All alerts fire once per bar at bar close.
-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
RSI Forecast [QuantAlgo]🟢 Overview
While standard RSI excels at measuring current momentum and identifying overbought or oversold conditions, it only reflects what has already happened in the market. The RSI Forecast indicator builds upon this foundation by projecting potential RSI trajectories into future bars, giving traders a framework to consider where momentum might head next. Three analytical models power these projections: a market structure approach that reads swing highs and lows, a volume analysis method that weighs accumulation and distribution patterns, and a linear regression model that extrapolates recent trend behavior. Each model processes market data differently, allowing traders to choose the approach that best fits their analytical style and the asset they're trading.
🟢 How It Works
At its foundation, the indicator calculates RSI using the standard methodology: comparing average upward price movements against average downward movements over a specified period, producing an oscillator that ranges from 0 to 100. Traders can apply an optional signal line using various moving average types (e.g., SMA, EMA, SMMA/RMA, WMA, or VWMA), and when SMA smoothing is selected, Bollinger Bands can be added to visualize RSI volatility ranges.
The forecasting mechanism operates by first estimating future price levels using the chosen projection method. These estimated prices then pass through a simulated RSI engine that mirrors the actual indicator's mathematics. The simulation updates the internal gain and loss averages bar by bar, applying the same RMA smoothing that powers real RSI calculations, to produce authentic projected values.
Since RSI characteristically moves in waves rather than straight lines, the projection system incorporates dynamic oscillation. This draws from stored patterns of recent RSI movements, factors in the tendency for RSI to pull back from extreme readings, and applies mathematical wave functions tied to current momentum conditions. The Oscillation Intensity control lets traders adjust how much waviness appears in projections. Signal line (RSI-based MA) projections follow the same logic, advancing the chosen moving average type forward using its proper mathematical formula. The complete system generates 15 bars of projected RSI and signal line values, displayed as dashed lines extending beyond current price action.
🟢 Key Features
1. Market Structure Model
This projection method reads price action through swing point analysis. It scans for pivot highs and pivot lows within a defined lookback range, then evaluates whether the market is building bullish patterns (successive higher highs and higher lows) or bearish patterns (successive lower highs and lower lows). The algorithm recognizes structural shifts when price violates previous swing levels in either direction.
Price projections under this model factor in proximity to key swing levels and overall trend strength, measured by tallying trend-confirming swings over recent history. When bullish structure prevails and price hovers near support, upward price bias enters the projection, pushing forecasted RSI higher. Bearish structure near resistance creates the opposite effect. The model scales its projections using ATR to keep them proportional to current volatility conditions.
▶ Practical Implications for Traders:
Aligns well with traders who focus on support, resistance, and swing-based entries
Provides context for where RSI might travel as price interacts with structural levels
Tends to perform better when markets display clear directional swings
May produce less useful output during consolidation phases with overlapping swings
Offers early visualization of potential divergence setups
Swing traders can use structure-based projections to time entries around key pivot zones
Position traders could benefit from the trend strength component when holding through larger moves
On lower timeframes, it helps scalpers identify micro-structure shifts for quick momentum plays
Useful for mapping out potential RSI behavior around breakout and breakdown levels
Day traders can combine structural projections with session highs and lows for intraday context
2. Volume-Weighted Model
This method blends multiple volume indicators to inform its price projections. It tracks On-Balance Volume to gauge cumulative buying and selling pressure, monitors the Accumulation/Distribution Line to assess where price closes relative to its range on each bar, and calculates volume-weighted returns to give heavier influence to high-volume price movements. The model examines the directional slope of these metrics to assess whether volume confirms or contradicts price direction.
Unusually high volume bars receive special attention, with their directional bias factored into projections. When all volume metrics point the same direction, the model produces more aggressive price forecasts and consequently stronger RSI movements. Conflicting volume signals lead to more muted projections, suggesting RSI may move sideways rather than trending.
▶ Practical Implications for Traders:
Suited for traders who incorporate volume confirmation into their analysis
Works best with instruments that report accurate, meaningful volume data
Useful for identifying situations where momentum lacks volume support
Less applicable to instruments with sparse or unreliable volume information
Scalpers on liquid markets can spot volume-backed momentum for quick entries and exits
Helps intraday traders distinguish between genuine moves and low-volume fakeouts
Position traders can assess whether institutional participation supports longer-term trends
Effective during news events or market opens when volume spikes often drive directional moves
Swing traders can use volume divergence in projections to anticipate potential reversals
3. Linear Regression Model
The simplest of the three methods, linear regression fits a straight line through recent price data using least-squares mathematics and extends that line forward. These projected prices then generate corresponding RSI forecasts. This creates a clean momentum projection without conditional logic or interpretation of market characteristics. The forecast simply asks: if the recent price trend continues at its current rate of change, where would RSI be in the coming bars?
▶ Practical Implications for Traders:
Delivers a clean, mathematically neutral projection baseline
Functions well during sustained, orderly trends
Involves fewer parameters and produces consistent, reproducible output
Responds more slowly when trend direction shifts
Works best in trending environments rather than ranging markets
Ideal for position traders who want to ride established trends
Useful for swing traders to gauge trend exhaustion when actual RSI deviates from linear projections
Scalpers can use the smooth output as a reference point to measure short-term momentum deviations
Effective baseline for comparing against structure or volume models to measure market complexity
Works particularly well on higher timeframes where trends develop more gradually
🟢 Universal Applications Across All Models
Regardless of which forecasting method you select, the indicator projects future RSI positions that may help with:
▶ Overbought/Oversold Planning: See whether RSI trajectories point toward extreme zones, giving you time to prepare responses before conditions develop
▶ Entry and Exit Timing: Factor projected RSI levels into your timing decisions for opening or closing positions
▶ Crossover Anticipation: Watch for projected crossings between RSI and its signal line (RSI-based MA) that might indicate upcoming momentum shifts
▶ Mean Reversion Context: When RSI sits at extremes, projections can illustrate potential paths back toward the midline
▶ Momentum Evaluation: Assess whether current directional strength appears likely to continue or fade based on projection direction
▶ Divergence Awareness: Use forecast trajectories alongside price action to spot potential divergence formations earlier
▶ Comparative Analysis: Run different projection methods and note where they agree or disagree, using alignment as an additional filter, for instance
▶ Multi-Timeframe Context: Compare RSI projections across different timeframes to identify alignment or conflict in momentum outlook
▶ Trade Management: Reference projected RSI levels when adjusting stops, scaling positions, or setting profit targets
▶ Rule-Based Systems: Incorporate projected RSI conditions into systematic trading approaches for more forward-looking signal generation
Note: It is essential to recognize that these forecasts derive from mathematical analysis of recent price behavior. Markets are dynamic environments shaped by innumerable factors that no technical tool can fully capture or foresee. The projected RSI values represent potential scenarios for how momentum might develop, and actual readings can take different paths than those visualized. Historical tendencies and past patterns offer no guarantee of future behavior. Consider these projections as one element within a comprehensive trading approach that encompasses disciplined risk management, appropriate position sizing, and diverse analytical methods. The true benefit lies not in expecting precise forecasts but in developing a forward-thinking perspective on possible market conditions and planning your responses accordingly.
Fractal Support & Resistance [JOAT]
Fractal Support & Resistance — Automatic Level Detection with Volume Weighting
Fractal Support & Resistance automatically identifies key price levels using a proprietary combination of fractal detection, volume analysis, and dynamic touch counting. Levels are intelligently styled based on their strength and how many times they have been tested, giving you instant visual feedback on level importance.
Why This Script is Protected
This script is published as closed-source to protect the proprietary level management algorithm and the unique volume-weighted strength calculation methodology from unauthorized republishing. The specific implementation of touch detection, level merging logic, and dynamic opacity calculations represents original work that differentiates this from standard fractal indicators.
What Makes This Indicator Unique
Unlike basic fractal indicators that simply mark pivot points, this system:
Tracks how many times each level has been tested (touch counting)
Weights level importance by volume at the fractal point
Merges nearby fractals into single levels instead of cluttering the chart
Dynamically adjusts visual opacity based on level strength
Provides zone boxes around levels for realistic price reaction areas
What This Indicator Does
Detects fractal pivot highs and lows to establish support and resistance levels
Tracks how many times each level has been touched or tested
Weights level importance by volume at the fractal point
Draws extending lines and zone boxes for each level
Dynamically adjusts level opacity based on touch count for visual strength indication
Provides a dashboard with nearest levels and counts
Core Methodology
The indicator uses Williams Fractal concepts as a foundation but extends them with proprietary enhancements:
Fractal Detection — Identifies pivot highs and lows where price creates local extremes with confirmation bars on each side. A fractal high requires the highest point with lower highs on both sides; a fractal low requires the lowest point with higher lows on both sides.
Level Clustering — New fractals within a tolerance zone (based on Zone Padding %) update existing levels rather than creating duplicates. This keeps the chart clean and focuses on significant price areas.
Volume Integration — Volume at each fractal point is accumulated to weight level significance. Higher volume fractals are considered more important.
Touch Tracking — The system monitors when price approaches existing levels and increments touch counts. More touches indicate stronger, more significant levels.
Visual Strength System
Level appearance changes dynamically based on market interaction:
Newer or less-tested levels appear more transparent (up to 80% transparency)
Each additional touch reduces transparency by 15%
Heavily tested levels become more prominent and opaque (minimum 20% transparency)
Labels display level number and touch count (e.g., "R1 (3)" = Resistance 1 with 3 touches)
Zone boxes provide visual areas around each level
Color Scheme
Resistance Color — Default: #FF5252 (red) — Used for resistance levels and zones
Support Color — Default: #4CAF50 (green) — Used for support levels and zones
Zone Fill — 90% transparent version of level color
Zone Border — 70% transparent version of level color
Labels — 30% transparent background with white text
Dashboard Information
The on-chart table (bottom-left corner) displays:
Number of active resistance levels meeting minimum touch requirement
Number of active support levels meeting minimum touch requirement
Nearest resistance level above current price
Nearest support level below current price
Inputs Overview
Fractal Settings:
Fractal Period — Bars on each side for fractal confirmation (default: 2, range: 1-10)
Max Levels Per Side — Maximum resistance and support levels to track (default: 5, range: 1-20)
Zone Padding (%) — Level zone width as percentage of price (default: 0.2%, range: 0-2%)
Filtering:
Volume Weight Levels — Toggle volume-weighted level importance (default: on)
Min Touches to Show — Filter out levels with fewer touches (default: 1, range: 1-10)
Lookback Period — Historical bars to analyze for level detection (default: 200, range: 50-500)
Visual Settings:
Resistance/Support Colors — Customizable color scheme
Show Zone Boxes — Toggle filled zone areas around levels
Show Level Labels — Toggle level labels with touch counts
Show Fractal Markers — Toggle small triangles at fractal points
Show Dashboard — Toggle the information table
Line Width — Thickness of level lines (default: 2, range: 1-5)
How to Use It
For Support/Resistance Trading:
Use levels with higher touch counts as stronger support/resistance references
More opaque levels have been tested more times and are more significant
Watch for price reactions at zone boundaries, not just exact level prices
Combine with candlestick patterns at levels for entry signals
For Breakout Trading:
Watch for breakouts when price closes beyond a level
Levels with many touches that finally break often produce strong moves
Use the zone box—a close beyond the zone is more significant than just touching the level
Set alerts for resistance/support breaks
For Target Setting:
Use the nearest resistance as a profit target for long positions
Use the nearest support as a profit target for short positions
Dashboard shows these levels for quick reference
Alerts Available
FSR Resistance Break — Price closes above a resistance level
FSR Support Break — Price closes below a support level
FSR New Fractal High — Fresh fractal high detected
FSR New Fractal Low — Fresh fractal low detected
Best Practices
Increase Fractal Period for fewer but more significant levels
Use Min Touches filter to show only well-tested levels
Volume weighting helps identify institutionally significant levels
Combine with trend indicators—trade with the trend at levels
This indicator is provided for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always conduct your own analysis and use proper risk management before making trading decisions.
— Made with passion by officialjackofalltrades
Adoptive Conditional range High/Low MA Crossover StrategyDeveloped from the doctoral research of Abu-Kadunagra at ****** University's in Australia, this strategy implements a "Campaign-Based Adaptive Execution" framework. It moves beyond simple entries and exits by treating each market engagement as a multi-phase campaign with distinct operational states. The system intelligently identifies cyclical turning points, then employs a feedback-driven approach to capital allocation—reinforcing successful momentum with pyramiding while deploying controlled defensive averaging during temporary setbacks. By anchoring its exit mechanism to dynamically updated market structure rather than static profit targets, the algorithm seeks to capture cyclical momentum while maintaining disciplined risk parameters. This research-driven approach represents an evolution toward state-aware algorithmic systems that adapt their tactics in real-time based on market phase recognition.
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.
Trend Core Strategy v1.0 - GUMROADLog Regression Channel Pro Strategy
This is a trend-following pullback strategy built for TradingView (Pine Script v6).
It uses logarithmic regression channels to define the market’s primary trend, and looks for low-risk pullback entries within strong trending conditions.
Momentum and trend strength filters are applied to avoid ranging or weak markets.
This strategy is designed to be used when the market is clearly trending, not during choppy or sideways price action.
Best Used When
Strong uptrend or downtrend is present
Price is pulling back toward the regression channel
Volatility is sufficient (ADX confirms trend strength)
Suitable for 1H / 4H timeframes
Commonly used on BTC, ETH, and major crypto pairs
Key Characteristics
Non-repainting logic
Volatility-based risk management (ATR)
Designed for realistic backtesting
No martingale, no grid, no over-optimization
Gumroad Disclaimer (3 Lines)
This strategy is provided for educational purposes only and is not financial advice.
Trading involves risk, and losses may occur.
You are fully responsible for your own trading decisions.
Ace Algo [Anson5129]🏆 Exclusive Indicator: Ace Algo
📈 Works for stocks, forex, crypto, indices
📈 Easy to use, real-time alerts, no repaint
📈 No grid, no martingale, no hedging
📈 One position at a time
----------------------------------------------------------------------------------------
Ace Algo
A trend-following TradingView strategy using a confluence of technical indicators and time-based rules for structured long/short entries and exits:
----------------------------------------------------------------------------------------
Parameters Explanation
Moving Average Length
Indicates the number of historical data points used for the average price calculation.
Shorter = volatile (short-term trends); longer = smoother (long-term trends, less noise).
Default: 20
Entry delay in bars
After a trade is closed, delay the next entry in bars. The lower the number, the more trades you will get.
Default: 4
Take Profit delay in bars
After a trade is opened, delay the take profit in bars. The lower the number, the more trades you will get.
Default: 3
Enable ADX Filter
No order will be placed when ADX < 20
Default: Uncheck
Block Period
Set a block period during which no trading will take place.
----------------------------------------------------------------------------------------
Entry Condition:
Only Long when the price is above the moving average (Orange line).
Only Short when the price is below the moving average (Orange line).
* Also, with some hidden parameter that I set in the backend.
Exit Condition:
When getting profit:
Trailing Stop Activates after a position has been open for a set number of bars (to avoid premature exits).
When losing money:
In a long position, when the price falls below the moving average, and the conditions for a short position are met, the long position will be closed, and the short position will be opened.
In a short position, when the price rises above the moving average, and the conditions for a long position are met, the short position will be closed, and the long position will be opened.
----------------------------------------------------------------------------------------
How to get access to the strategy
Read the author's instructions on the right to learn how to get access to the strategy.
ADX CornerShows the current ADX value along with the average ADX over the last N candles in a small table on the chart.
It’s meant as a quick reference to see whether the market is generally trending or stuck in chop, without needing a separate indicator pane.
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.
NY Session Vol Entries (RB Trading)NY Session Vol Entries (RB Trading)
NY Session Vol Entries is an intraday analysis script designed to evaluate price behavior during U.S. market hours on the one hour chart. It focuses on the interaction between relative volume expansion, adaptive volatility structure, and directional momentum alignment to help users interpret active market conditions.
The script is intended specifically for liquid U.S. equities during the New York session and is not designed for use outside this context.
Intended Usage and Scope
• Timeframe: 1 hour only
• Market hours: New York session
• Asset class: U.S. equities with consistent volume
• Style: Intraday structure and momentum evaluation
• Alerts: Available for all signal types
Core Framework
The script evaluates market behavior through three interdependent components that must align before a setup is displayed:
Relative volume behavior
Volatility expansion and contraction
Directional momentum context
This structure helps filter low-participation periods and reduce noise.
Relative Volume Analysis
The script compares current volume to a rolling 14-period average to identify periods where participation meaningfully deviates from typical conditions.
Elevated volume often occurs during session opens or active repricing phases. When volume remains muted, the script suppresses signals to avoid low-quality environments.
Adaptive Volatility Structure
Volatility bands are calculated using an 8-period true range measurement. These bands adjust dynamically based on recent volatility rather than remaining static.
During elevated participation, the bands compress to reflect tighter price acceptance. As volatility expands, the bands trail price to help visualize directional structure.
Directional Momentum Context
Directional context is determined using a dual moving average relationship.
• When short-term momentum is above longer-term momentum, the script allows only bullish evaluations
• When short-term momentum is below longer-term momentum, the script allows only bearish evaluations
This alignment reduces counter-directional signals and helps maintain structural consistency. The filter can be disabled if users wish to study range behavior.
Signal Classification
The script displays two types of informational labels:
Volume-Aligned Signals
These appear only when directional momentum and relative volume expansion align at candle close.
Momentum Rotation Signals
These indicate directional shifts regardless of volume and are intended to provide context rather than standalone triggers.
All signals are confirmed only after the candle closes. No intrabar logic is used.
Stop and Target Reference Plotting
When conditions align, the script plots visual reference levels:
• A stop reference positioned beyond the momentum structure
• A projected target reference calculated using a fixed 2R multiple relative to the stop distance
These levels are provided for consistency and planning. They are not forecasts or guarantees.
Session and Timing Considerations
The script is designed specifically for New York market hours. Liquidity and participation outside this window often distort volume and volatility behavior.
Earnings sessions should be treated with caution, as event-driven price action can override normal structural behavior.
Opening Range Consideration
The first one hour candle of the New York session can display elevated volatility due to initial repricing. Allowing additional candles to form may provide clearer structural information before evaluating signals.
Why One Hour and New York Session
The one hour timeframe balances structure and responsiveness while reducing lower-timeframe noise. New York trading hours provide the most reliable volume profile for U.S. equities, making relative volume analysis more meaningful.
Settings Overview
• Volatility period: 8
• Volatility multiplier: 3.0
• Volume average period: 14
• Momentum averages: 8 and 21
• Trend filter: Enabled by default
• Alerts available for all signal types
Chart Usage Guidelines
• Use the script on a clean chart
• Avoid stacking additional momentum or volume indicators
• Drawings should only be used when they help interpret structure
Important Notes
This script analyzes historical price and volume behavior. It does not predict future price movement or ensure outcomes. Users should test the tool, understand its logic, and apply independent risk management.
4HR JRSX Swing Bias (RB Trading)4HR JRSX Swing Bias (RB Trading)
The 4HR JRSX Swing Bias is a higher timeframe swing analysis script designed to evaluate directional pressure, momentum decay, and price acceptance on the four hour chart. It is built specifically for GBPUSD and EURUSD and is not intended for use on other markets or timeframes.
It highlights conditions where directional pressure weakens, rotates, and is then confirmed by price behavior.
Intended Use and Scope
• Timeframe: 4 hour only
• Markets: GBPUSD and EURUSD
• Style: Swing bias and rotation analysis
• Signal frequency: Intentionally low, typically 10 to 15 setups per year per pair
• Alerts: Available for confirmed setups
• Not designed for Asia session conditions
Core Framework
The script operates through a sequential three-stage process. A setup can only appear when all stages align.
Directional pressure evaluation
Momentum exhaustion and rotation
Candle-based price confirmation
This structure prevents signals from appearing during noise or low-quality market conditions.
Directional Pressure Evaluation
The first stage measures directional pressure across multiple four hour candles using a smoothed strength calculation. This step evaluates whether bullish or bearish participation is dominant over time rather than reacting to isolated price spikes.
When directional pressure is unclear or neutral, the script remains inactive.
Momentum Exhaustion and Rotation
Once directional pressure is established, the script monitors for loss of momentum. Exhaustion is identified when pressure fails to expand despite continued price movement.
This decay often appears near the later stages of a directional move and signals increased probability of rotation rather than continuation.
Price Acceptance and Confirmation
The final stage requires price to confirm the rotation through candle behavior. No intrabar logic is used.
• Buy confirmation requires either
– a bullish candle close following downside pressure exhaustion
– or a pinbar showing strong rejection of lower prices
• Sell confirmation requires either
– a bearish candle close following upside pressure exhaustion
– or a pinbar showing strong rejection of higher prices
A setup is only confirmed after the four hour candle has fully closed.
Stop and Target Reference Plotting
When a setup is confirmed, the script plots visual reference levels:
• A stop reference beyond the exhaustion zone where the setup would be invalidated
• A projected target reference calculated using a fixed 4R multiple relative to the stop distance
These levels are provided for structural planning and consistency. They do not represent predictions or guarantees.
Why the Four Hour Chart Is Required
The pressure and exhaustion calculations are tuned to higher-timeframe behavior. On lower timeframes, momentum cycles occur too rapidly and lead to frequent false rotations.
The four hour chart provides the balance required for meaningful pressure, decay, and acceptance to develop.
Session Considerations
The script is not intended for Asia session evaluation. Reduced liquidity during those hours can distort momentum behavior and reduce signal quality. Best evaluation occurs during or after London and New York participation.
Chart Presentation Guidelines
• Use the script on a clean chart
• Avoid stacking other oscillators or momentum tools
• If drawings are used, they should be limited to swing structure or key price levels
All visual elements should support understanding of the script output.
Important Notes
This script analyzes historical price behavior to identify structural swing conditions. It does not predict future price movement or ensure outcomes. Users should test the tool, understand its confirmation rules, and apply independent risk management.






















