RSI Fibonacci Flow [JOAT]RSI Fibonacci Flow - Advanced Fibonacci Retracement with RSI Confluence
Introduction
RSI Fibonacci Flow is an open-source overlay indicator that combines automatic Fibonacci retracement levels with RSI momentum analysis to identify high-probability trading zones. The indicator automatically detects swing highs and lows, draws Fibonacci levels, and generates confluence signals when RSI conditions align with key Fibonacci zones.
This indicator is designed for traders who use Fibonacci retracements but want additional confirmation from momentum analysis before entering trades.
Originality and Purpose
This indicator is NOT a simple mashup of RSI and Fibonacci tools. It is an original implementation that creates a synergistic relationship between two complementary analysis methods:
Why Combine RSI with Fibonacci? Fibonacci retracements identify WHERE price might reverse, but they don't tell you WHEN. RSI provides the timing component by showing momentum exhaustion. When price reaches the Golden Zone (50%-61.8%) AND RSI shows oversold conditions, the probability of a successful bounce increases significantly.
Original Confluence Scoring System: The indicator calculates a 0-5 confluence score that weights multiple factors: Golden Zone presence (+2), entry zone presence (+1), RSI extreme alignment (+1), RSI divergence (+1), and strong RSI momentum (+1). This scoring system is original to this indicator.
Automatic Pivot Detection: Unlike manual Fibonacci tools, this indicator automatically detects swing highs and lows using a configurable pivot algorithm, then draws Fibonacci levels accordingly. The pivot detection uses a center-bar comparison method that checks if a bar's high/low is the highest/lowest within the specified depth on both sides.
Dynamic Trend Awareness: The indicator determines trend direction based on pivot sequence (last pivot was high or low) and adjusts Fibonacci orientation accordingly. In uptrends, 0% is at swing low; in downtrends, 0% is at swing high.
Each component serves a specific purpose:
Fibonacci levels identify potential reversal zones based on natural price ratios
RSI provides momentum context to filter out low-probability setups
Confluence scoring quantifies setup quality for position sizing decisions
Automatic pivot detection removes subjectivity from level placement
Core Concept: RSI-Fibonacci Confluence
The most powerful trading setups occur when multiple factors align. RSI Fibonacci Flow identifies these moments by:
Automatically detecting price pivots and drawing Fibonacci levels
Tracking which Fibonacci zone the current price occupies
Monitoring RSI for overbought/oversold conditions
Generating signals when RSI extremes coincide with key Fibonacci levels
Scoring confluence strength on a 0-5 scale
When price reaches the Golden Zone (50%-61.8%) while RSI shows oversold conditions in an uptrend, the probability of a bounce increases significantly.
Fibonacci Levels Explained
The indicator draws nine Fibonacci levels based on the most recent swing:
0% (Swing Low/High): The starting point of the move
23.6%: Shallow retracement - often seen in strong trends
38.2%: First significant support/resistance level
50%: Psychological midpoint of the move
61.8% (Golden Ratio): The most important Fibonacci level
78.6%: Deep retracement - last defense before trend failure
100% (Swing High/Low): The end point of the move
127.2% (TP1): First extension target for take profit
161.8% (TP2): Second extension target for take profit
The Golden Zone
The area between 50% and 61.8% is highlighted as the "Golden Zone" because:
It represents the optimal retracement depth for trend continuation
Institutional traders often place orders in this zone
It offers favorable risk-to-reward ratios
Price frequently bounces from this area in healthy trends
When price enters the Golden Zone, the indicator highlights it with a semi-transparent box and optional background coloring.
Pivot Detection System
The indicator uses a configurable pivot detection algorithm:
pivotDetect(float src, int len, bool isHigh) =>
int halfLen = len / 2
float centerVal = nz(src , src)
bool isPivot = true
for i = 0 to len - 1
if isHigh
if nz(src , src) > centerVal
isPivot := false
break
else
if nz(src , src) < centerVal
isPivot := false
break
isPivot ? centerVal : float(na)
This identifies swing highs and lows by checking if a bar's high/low is the highest/lowest within the specified depth on both sides.
Visual Components
1. Fibonacci Lines
Horizontal lines at each Fibonacci level:
Solid lines for major levels (0%, 50%, 61.8%, 100%)
Dashed lines for secondary levels (23.6%, 38.2%, 78.6%)
Dotted lines for extension levels (127.2%, 161.8%)
Color-coded for easy identification
Configurable line width
2. Fibonacci Labels
Price labels at each level showing:
Fibonacci percentage
Actual price at that level
Golden Zone label highlighted
TP1 and TP2 labels for targets
3. Golden Zone Box
A semi-transparent box highlighting the 50%-61.8% zone:
Gold colored border and fill
Extends from swing start to current bar (or beyond if extended)
Provides clear visual of the optimal entry zone
4. ZigZag Lines
Connecting lines between detected pivots:
Cyan for moves from low to high
Orange for moves from high to low
Helps visualize market structure
Configurable line width
5. Pivot Markers
Small labels at detected swing points:
"HH" (Higher High) at swing highs
"LL" (Lower Low) at swing lows
Helps track market structure
6. Entry Signals
BUY and SELL labels when confluence conditions are met:
BUY: RSI oversold + price in entry zone + uptrend + positive momentum
SELL: RSI overbought + price in entry zone + downtrend + negative momentum
Labels include "RSI+FIB" to indicate confluence
Confluence Scoring System
The indicator calculates a confluence score from 0 to 5:
+2 points: Price is in the Golden Zone (50%-61.8%)
+1 point: Price is in the entry zone (38.2%-61.8%)
+1 point: RSI is oversold in uptrend OR overbought in downtrend
+1 point: RSI divergence detected (bullish or bearish)
+1 point: Strong RSI momentum (change > 2 points)
Confluence ratings:
STRONG (4-5): Multiple factors align - high probability setup
MODERATE (2-3): Some factors align - proceed with caution
WEAK (0-1): Few factors align - wait for better setup
Dashboard Panel
The 10-row dashboard provides comprehensive analysis:
RSI Value: Current RSI reading (large text)
RSI State: OVERBOUGHT, OVERSOLD, BULLISH, BEARISH, or NEUTRAL
Fib Trend: UPTREND or DOWNTREND based on last pivot sequence
Price Zone: Current Fibonacci zone (e.g., "GOLDEN ZONE", "38.2% - 50%")
Price: Current close price (large text)
Confluence: Score rating with numeric value (e.g., "STRONG (4/5)")
Nearest Fib: Closest key Fibonacci level with price
TP1 (127.2%): First take profit target price
TP2 (161.8%): Second take profit target price
Input Parameters
Pivot Detection:
Pivot Depth: Bars to look back for swing detection (default: 10)
Min Deviation %: Minimum price move to confirm pivot (default: 1.0)
RSI Settings:
RSI Length: Period for RSI calculation (default: 14)
Source: Price source (default: close)
Overbought: Upper threshold (default: 70)
Oversold: Lower threshold (default: 30)
Fibonacci Display:
Show Fib Lines: Toggle Fibonacci lines (default: enabled)
Show Fib Labels: Toggle price labels (default: enabled)
Show Golden Zone Box: Toggle zone highlight (default: enabled)
Line Width: Thickness of Fibonacci lines (default: 2)
Extend Fib Lines: Extend lines into future (default: enabled)
ZigZag:
Show ZigZag: Toggle connecting lines (default: enabled)
ZigZag Width: Line thickness (default: 2)
Signals:
Show Entry Signals: Toggle BUY/SELL labels (default: enabled)
Show TP Levels: Toggle take profit in dashboard (default: enabled)
Show RSI-Fib Confluence: Toggle confluence analysis (default: enabled)
Dashboard:
Show Dashboard: Toggle information panel (default: enabled)
Position: Choose corner placement
Colors:
Bullish: Color for bullish elements (default: cyan)
Bearish: Color for bearish elements (default: orange)
Neutral: Color for neutral elements (default: gray)
Golden Zone: Color for Golden Zone highlight (default: gold)
How to Use RSI Fibonacci Flow
Identifying Entry Zones:
Wait for price to retrace to the 38.2%-61.8% zone
Check if RSI is approaching oversold (for longs) or overbought (for shorts)
Look for STRONG confluence rating in the dashboard
Enter when BUY or SELL signal appears
Setting Take Profit Targets:
TP1 at 127.2% extension for conservative target
TP2 at 161.8% extension for aggressive target
Consider scaling out at each level
Using the Price Zone:
"BELOW 23.6%" - Price hasn't retraced much; wait for deeper pullback
"23.6% - 38.2%" - Shallow retracement; strong trend continuation possible
"38.2% - 50%" - Good entry zone for trend trades
"GOLDEN ZONE" - Optimal entry zone; highest probability
"61.8% - 78.6%" - Deep retracement; trend may be weakening
"78.6% - 100%" - Very deep; trend reversal possible
"ABOVE/BELOW 100%" - Trend has likely reversed
Confluence Trading Strategy:
Only take trades with confluence score of 3 or higher
STRONG confluence (4-5) warrants larger position size
MODERATE confluence (2-3) warrants smaller position size
WEAK confluence (0-1) - wait for better setup
Alert Conditions
Ten alert conditions are available:
RSI-Fib BUY Signal: Strong bullish confluence detected
RSI-Fib SELL Signal: Strong bearish confluence detected
Price in Golden Zone: Price enters 50%-61.8% zone
New Pivot High: Swing high detected
New Pivot Low: Swing low detected
RSI Overbought: RSI crosses above overbought threshold
RSI Oversold: RSI crosses below oversold threshold
Bullish Divergence: Potential bullish RSI divergence
Bearish Divergence: Potential bearish RSI divergence
Strong Confluence: Confluence score reaches 4 or higher
Understanding Trend Direction
The indicator determines trend based on pivot sequence:
UPTREND: Last pivot was a low after a high (expecting move up)
DOWNTREND: Last pivot was a high after a low (expecting move down)
Fibonacci levels are drawn accordingly:
In uptrend: 0% at swing low, 100% at swing high
In downtrend: 0% at swing high, 100% at swing low
Bar Coloring
When confluence features are enabled:
Cyan bars on strong bullish signals
Orange bars on strong bearish signals
Gold-tinted bars when price is in Golden Zone
Best Practices
Use on 1H timeframe or higher for more reliable pivots
Adjust Pivot Depth based on timeframe (higher for longer timeframes)
Wait for price to enter Golden Zone before considering entries
Confirm RSI is in favorable territory before trading
Use extension levels (127.2%, 161.8%) for realistic profit targets
Combine with support/resistance and candlestick patterns
Higher confluence scores indicate higher probability setups
Limitations
Pivot detection has inherent lag (must wait for confirmation)
Fibonacci levels are subjective - different swings produce different levels
Works best in trending markets with clear swings
RSI can remain overbought/oversold in strong trends
Not all Golden Zone entries will be successful
The source code is open and available for review and modification.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. Past performance does not guarantee future results. Fibonacci levels are not guaranteed support/resistance - they are probability zones based on historical price behavior. Always conduct your own analysis and use proper risk management.
- Made with passion by officialjackofalltrades :D
Indicators
RSI Trend Authority [JOAT]RSI Trend Authority - VAR-RSI with OTT Trend Detection System
Introduction
RSI Trend Authority is an open-source overlay indicator that combines Variable Index Dynamic Average (VAR) smoothed RSI with the Optimized Trend Tracker (OTT) to create a complete trend detection and signal generation system. Unlike traditional RSI which oscillates in a separate pane, this indicator scales the RSI to price and overlays it directly on your chart, making trend analysis more intuitive.
The indicator generates clear BUY and SELL signals when the smoothed RSI crosses the OTT trailing stop line, providing actionable entry points with trend confirmation.
Originality and Purpose
This indicator is NOT a simple mashup of RSI and moving averages. It is an original implementation that transforms RSI into a trend-following overlay system:
Why VAR Smoothing? Traditional RSI is noisy and produces many false signals. The Variable Index Dynamic Average (VAR) is an adaptive smoothing algorithm based on the Chande Momentum Oscillator principle. It adjusts its smoothing factor based on market conditions - responding quickly during trends and smoothing out during choppy markets. This creates an RSI that filters noise while preserving genuine momentum shifts.
Why OTT Trailing Stop? The Optimized Trend Tracker (OTT) is a percentage-based trailing stop mechanism that only moves in the direction of the trend. When VAR-RSI crosses above OTT, a bullish trend is confirmed; when it crosses below, a bearish trend is confirmed. This provides clear, actionable signals rather than subjective interpretation.
Price Scaling Innovation: By scaling RSI (0-100) to price using the formula (RSI * close / 50), the indicator overlays directly on the price chart. This allows traders to see how momentum relates to actual price levels, making trend analysis more intuitive than a separate oscillator pane.
ATR Boundaries: Optional volatility-based boundaries show when price is extended relative to its normal range, helping identify potential reversal zones.
How the components work together:
VAR smoothing removes RSI noise while preserving trend information
OTT provides a dynamic trailing stop that generates clear crossover signals
Price scaling allows direct overlay on the chart for intuitive analysis
ATR boundaries add volatility context for profit target estimation
Core Components
1. VAR-RSI (Variable Index Dynamic Average RSI)
The foundation of this indicator is the VAR smoothing algorithm applied to RSI. VAR is an adaptive moving average that adjusts its smoothing factor based on the Chande Momentum Oscillator principle:
f_var_calc(float data, int length) =>
int a = 9
float b = data > nz(data ) ? data - nz(data ) : 0.0
float c = data < nz(data ) ? nz(data ) - data : 0.0
float d = math.sum(b, a)
float e = math.sum(c, a)
float f = nz((d - e) / (d + e))
float g = math.abs(f)
float h = 2.0 / (length + 1)
float x = ta.sma(data, length)
This creates an RSI that:
Responds quickly during trending conditions
Smooths out during choppy, sideways markets
Reduces false signals compared to raw RSI
2. OTT (Optimized Trend Tracker)
The OTT acts as a dynamic trailing stop that follows the VAR-RSI:
In uptrends, OTT trails below the VAR-RSI line
In downtrends, OTT trails above the VAR-RSI line
The OTT Percent parameter controls how closely it follows
When VAR-RSI crosses above OTT, a bullish trend is confirmed. When VAR-RSI crosses below OTT, a bearish trend is confirmed.
3. Price Scaling
The RSI (0-100 scale) is converted to price scale using:
float scaleFactor = close / 50.0
float varRSIScaled = varRSI * scaleFactor
This allows the indicator to overlay directly on price, showing how momentum relates to actual price levels.
Visual Components
VAR-RSI Line (Cyan/Magenta)
The main indicator line with gradient coloring:
Cyan gradient when RSI is above 50 (bullish)
Magenta gradient when RSI is below 50 (bearish)
Line thickness of 3 for clear visibility
OTT Line (Yellow Circles)
The trailing stop line displayed as circles:
Acts as dynamic support in uptrends
Acts as dynamic resistance in downtrends
Crossovers generate trading signals
Trend Fill
The area between VAR-RSI and OTT is filled:
Cyan fill during bullish trends
Magenta fill during bearish trends
Fill transparency allows price visibility
Buy position and LONG on Dashboard with a Uptrend:
ATR Boundaries (Optional)
Dotted lines showing volatility-based price boundaries:
Upper band: Close + (ATR x Multiplier)
Lower band: Close - (ATR x Multiplier)
Color matches current trend direction
Buy/Sell Signals
Clear labels appear at signal points:
BUY label below bar when VAR-RSI crosses above OTT
SELL label above bar when VAR-RSI crosses below OTT
Additional glow circles highlight signal bars
Bar Coloring
Optional feature that colors price bars:
Cyan bars during bullish trend
Magenta bars during bearish trend
Dashboard Panel
The 8-row dashboard provides comprehensive status information:
Signal: Current position - LONG or SHORT (large text)
VAR-RSI: Current smoothed RSI value (large text)
RSI State: OVERBOUGHT, OVERSOLD, BULLISH, or BEARISH
OTT Trend: UPTREND or DOWNTREND based on OTT direction
Bars Since: Number of bars since last signal
Price: Current close price (large text)
OTT Level: Current OTT trailing stop value
Input Parameters
RSI Settings:
RSI Length: Period for RSI calculation (default: 100)
Source: Price source (default: close)
VAR Settings:
VAR Length: Adaptive smoothing period (default: 50)
OTT Settings:
OTT Period: Trailing stop calculation period (default: 30)
OTT Percent: Distance percentage for trailing stop (default: 0.2)
ATR Trend Boundaries:
Show ATR Boundaries: Toggle visibility (default: enabled)
ATR Length: Period for ATR calculation (default: 14)
ATR Multiplier: Distance multiplier (default: 2.0)
Display Options:
Show Buy/Sell Signals: Toggle signal labels (default: enabled)
Show Status Table: Toggle dashboard (default: enabled)
Table Position: Choose corner placement
Color Bars by Trend: Toggle bar coloring (default: enabled)
Color Scheme:
Bullish Color: Main bullish color (default: cyan)
Bearish Color: Main bearish color (default: magenta)
OTT Line: Trailing stop color (default: yellow)
VAR-RSI Line: Main line color (default: teal)
ATR colors for boundaries
How to Use RSI Trend Authority
Signal-Based Trading:
Enter LONG when BUY signal appears (VAR-RSI crosses above OTT)
Enter SHORT when SELL signal appears (VAR-RSI crosses below OTT)
Use the OTT line as a trailing stop reference
Trend Confirmation:
Cyan fill indicates bullish trend - favor long positions
Magenta fill indicates bearish trend - favor short positions
Check RSI State in dashboard for momentum context
Using the Dashboard:
Monitor "Bars Since" to assess signal freshness
Check RSI State for overbought/oversold warnings
Use OTT Level as a reference for stop placement
ATR Boundaries:
Price near upper ATR band in uptrend suggests extension
Price near lower ATR band in downtrend suggests extension
Boundaries help identify potential reversal zones
Parameter Optimization
For Faster Signals:
Decrease RSI Length (try 50-80)
Decrease VAR Length (try 30-40)
Decrease OTT Period (try 15-25)
For Smoother Signals:
Increase RSI Length (try 120-150)
Increase VAR Length (try 60-80)
Increase OTT Period (try 40-50)
For Tighter Stops:
Decrease OTT Percent (try 0.1-0.15)
For Wider Stops:
Increase OTT Percent (try 0.3-0.5)
Alert Conditions
Three alert conditions are available:
Buy Signal: VAR-RSI crosses above OTT
Sell Signal: VAR-RSI crosses below OTT
Trend Change: OTT direction changes
Understanding the OTT Calculation
The OTT uses a percentage-based trailing mechanism:
float farkOTT = mavgOTT * ottPercent * 0.01
float longStopCalc = mavgOTT - farkOTT
float shortStopCalc = mavgOTT + farkOTT
longStop := mavgOTT > nz(longStop ) ? math.max(longStopCalc, nz(longStop )) : longStopCalc
shortStop := mavgOTT < nz(shortStop ) ? math.min(shortStopCalc, nz(shortStop )) : shortStopCalc
This ensures the trailing stop only moves in the direction of the trend, never against it.
Best Practices
Use on 1H timeframe or higher for more reliable signals
Wait for signal confirmation before entering trades
Consider RSI State when evaluating signal quality
Use ATR boundaries for profit target estimation
The longer RSI length (100) provides smoother trend detection
Combine with support/resistance analysis for better entries
Limitations
Signals may lag during rapid price movements due to smoothing
Works best in trending markets; may whipsaw in ranges
The overlay nature means RSI values are scaled, not absolute
Default parameters are optimized for crypto and forex; adjust for other markets
Technical Notes
This indicator is written in Pine Script v6 and uses:
VAR (Variable Index Dynamic Average) for adaptive smoothing
OTT (Optimized Trend Tracker) for trailing stop calculation
ATR for volatility-based boundaries
Gradient coloring for intuitive trend visualization
The source code is open and available for review and modification.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. Past performance does not guarantee future results. Always conduct your own analysis and use proper risk management.
-Made with passion by officialjackofalltrades
RED BULL WINGS [JOAT]RED BULL WINGS - Bullish-Only Institutional Overlay
Introduction and Purpose
RED BULL WINGS is an open-source overlay indicator that combines five distinct bullish detection methods into a single composite scoring system. The core problem this indicator solves is that individual bullish signals (patterns, volume, zones, trendlines) often disagree or fire in isolation. A bullish engulfing pattern means little if volume is weak and price is far from support. Traders need confluence across multiple dimensions to identify high-probability setups.
This indicator addresses that by scoring each bullish component separately, then combining them into a weighted WINGS score (0-100) that reflects overall bullish conviction. When multiple components align, the score rises; when they disagree, the score stays low.
Why These Five Modules Work Together
Each module measures a different aspect of bullish market structure:
1. Module A - Bullish Candlestick Engine - Detects classic reversal patterns (engulfing, marubozu, hammer, 3-bar cluster). These patterns identify WHERE buyers are stepping in.
2. Module B - PVSRA Volume Climax - Measures spread x volume to detect institutional participation. This tells you WHETHER smart money is involved.
3. Module C - Demand Zone Detection - Identifies and tracks order block zones where buyers previously overwhelmed sellers. This shows you WHERE institutional support exists.
4. Module D - Trendline Channel - Builds dynamic support/resistance from pivot points. This reveals the STRUCTURE of the current trend.
5. Module E - Ichimoku Assist - Optional filter using Tenkan/Kijun cross, cloud position, and Chikou confirmation. This provides TREND PERMISSION context.
The combination works because:
Patterns alone can fail without volume confirmation
Volume alone means nothing without price structure context
Zones alone are static without pattern/volume triggers
Trendlines alone miss the micro-level entry timing
When 3+ modules agree, the probability of a valid bullish setup increases significantly
How the Calculations Work
Module A - Pattern Detection:
Bullish Engulfing - Current bullish bar completely engulfs prior bearish bar:
bool engulfingCond = isBullish() and
isBearish() and
open <= close and
close >= open and
bodySize() > bodySize()
Marubozu - Strong body with minimal wicks (body >= 1.8x average, wick ratio < 20%):
float wickRatio = candleRange() > 0 ? (upperWick() + lowerWick()) / candleRange() : 0
bool marubozuCond = isBullish() and
bodySize() >= bodySizeAvg * i_maruMult and
wickRatio < i_wickRatioMax
Hammer - Long lower wick (>= 2.5x body), close in upper third, volume confirmation:
bool hammerWick = lowerWick() >= i_hammerWickMult * bodySize()
bool hammerClose = close >= low + (candleRange() * 0.66)
bool hammerVol = volume >= i_pvsraRisingMult * volAvg
3-Bar Cluster - Three consecutive bullish closes with increasing prices and volume spike:
bool threeBarBullish = isBullish() and isBullish() and isBullish()
bool increasingCloses = close > close and close > close
bool volSpike3Bar = volume >= i_pvsraRisingMult * volAvg or
volume >= i_pvsraRisingMult * volAvg
Module B - PVSRA Volume Analysis:
Uses spread x volume to detect climax conditions:
float spreadVol = candleRange() * volume
float maxSpreadVol = ta.highest(spreadVol, ADJ_PVSRA_LOOKBACK)
bool volClimax = volume >= i_pvsraClimaxMult * volAvg or spreadVol >= maxSpreadVol
bool volRising = volume >= i_pvsraRisingMult * volAvg and volume < i_pvsraClimaxMult * volAvg
Volume only scores when the candle is bullish, preventing false signals on bearish volume spikes.
Module C - Demand Zone Detection:
Identifies zones using a two-candle structure:
// Small bearish candle A followed by larger bullish candle B
bool candleA_bearish = isBearish()
bool candleB_bullish = isBullish()
bool newZoneCond = candleA_bearish and candleB_bullish and
candleB_size >= i_zoneSizeMult * candleA_size
Zones are drawn as rectangles and tracked for retests. Score increases when price is near or inside an active zone, with bonus points for rejection candles.
Module D - Trendline Channel:
Builds dynamic channel from confirmed pivot points:
float ph = ta.pivothigh(high, i_pivotLeft, i_pivotRight)
float pl = ta.pivotlow(low, i_pivotLeft, i_pivotRight)
Pivots are stored and connected to form upper/lower channel lines. The indicator detects breakouts when price closes beyond the channel with volume confirmation.
Module E - Ichimoku Assist:
Standard Ichimoku calculations with bullish scoring:
float tenkan = (ta.highest(high, i_tenkanLen) + ta.lowest(low, i_tenkanLen)) / 2
float kijun = (ta.highest(high, i_kijunLen) + ta.lowest(low, i_kijunLen)) / 2
bool tkCross = ta.crossover(tenkan, kijun)
bool priceAboveCloud = close > cloudTop
bool chikouAbovePrice = chikou > close
Module F - WINGS Composite Score:
All module scores are combined using adjustable weights:
float WINGS_score = 100 * (nW_pattern * S_pattern +
nW_volume * S_vol +
nW_zone * S_zone +
nW_trend * S_trend +
nW_ichi * S_ichi)
Default weights: Pattern 30%, Volume 25%, Zone 20%, Trend 15%, Ichimoku 10%.
Signal Thresholds
WATCH (30-49) - Interesting bullish context forming, not yet actionable
MOMENTUM (50-74) - Strong bullish conditions, multiple modules agreeing
LIFT-OFF (75+) - High-confidence bullish confluence across most modules
WINGS Badge (Dashboard)
The right-side panel displays:
WINGS Score - Current composite score (0-100)
Pattern - Active pattern name and strength, or neutral placeholder
Volume - Normal / Rising / CLIMAX status
Zone - ACTIVE if price is near a demand zone
Trend - Channel position or BREAK status
Ichimoku - OFF / Weak / Bullish / STRONG
Status - Overall signal level (Neutral / WATCH / MOMENTUM / LIFT-OFF)
Input Parameters
Module Toggles:
Enable Bullish Patterns (true) - Toggle pattern detection
Enable PVSRA Volume (true) - Toggle volume analysis
Enable Order Blocks (true) - Toggle demand zone detection
Enable Trendlines (true) - Toggle pivot channel
Enable Ichimoku Assist (false) - Toggle Ichimoku filter (off by default for performance)
Enable Visual Effects (false) - Toggle labels, trails, and visual elements
LIVE MODE (false) - Enable intrabar signals (WARNING: signals may repaint)
Pattern Engine:
Pattern Lookback (5) - Bars for body size averaging
Marubozu Body Multiplier (1.8) - Minimum body size vs average
Hammer Wick Multiplier (2.5) - Minimum lower wick vs body
Max Wick Ratio (0.2) - Maximum wick percentage for marubozu
Volume / PVSRA:
PVSRA Lookback (10) - Period for volume averaging
Climax Multiplier (2.0) - Volume threshold for climax detection
Rising Volume Multiplier (1.5) - Volume threshold for rising detection
Order Blocks:
Zone Size Multiplier (2.0) - Minimum bullish candle size vs bearish
Zone Extend Bars (200) - How far zones project forward
Max Zones (12) - Maximum active zones displayed
Remove Zone on Close Below (true) - Delete broken zones
Trendlines:
Pivot Left/Right Bars (3/3) - Pivot detection sensitivity
Min Slope % (0.25) - Minimum trendline angle
Max Trendlines (5) - Maximum pivot points stored
Trendline Projection Bars (60) - Forward projection distance
Ichimoku:
Tenkan Length (9) - Conversion line period
Kijun Length (26) - Base line period
Senkou B Length (52) - Leading span B period
Displacement (26) - Cloud displacement
WINGS Score:
Weight: Pattern (0.30) - Pattern contribution to score
Weight: Volume (0.25) - Volume contribution to score
Weight: Zone (0.20) - Zone contribution to score
Weight: Trend (0.15) - Trendline contribution to score
Weight: Ichimoku (0.10) - Ichimoku contribution to score
Lift-Off Threshold (75) - Score required for LIFT-OFF signal
Momentum Watch Threshold (50) - Score required for MOMENTUM signal
Visuals:
Signal Cooldown (8) - Minimum bars between labels
Show WINGS Score Badge (true) - Toggle dashboard
Show Wing Combos (true) - Show DOUBLE/MEGA WINGS streaks
Red Background Wash (true) - Tint chart background
Show Lift-Off Trails (false) - Toggle golden trail visuals
How to Use This Indicator
For Bullish Entry Identification:
1. Monitor the WINGS badge for score changes
2. Wait for MOMENTUM (50+) or LIFT-OFF (75+) signals
3. Check which modules are contributing (Pattern + Volume + Zone = stronger)
4. Use demand zones and trendlines as structural reference for entries
For Confluence Confirmation:
1. Use alongside your existing analysis
2. LIFT-OFF signals indicate multiple bullish factors aligning
3. Low scores (< 30) suggest weak bullish context even if one factor looks good
For Zone-Based Trading:
1. Watch for price approaching active demand zones
2. Look for pattern + volume confirmation at zone retests
3. Zone score increases with successful retests
For Trendline Analysis:
1. Monitor the pivot-based channel for trend structure
2. Breakouts with volume confirmation trigger TREND BREAK alerts
3. Price inside channel with bullish patterns = trend continuation setup
1M and lower timeframes:
Alerts Available
LIFT-OFF - High-confidence bullish confluence
MOMENTUM - Strong bullish conditions
Zone Retest - Bullish rejection from demand zone
Trendline Break - Breakout with volume confirmation
Individual patterns (Engulfing, Marubozu, Hammer, 3-Bar Cluster)
Volume Climax - Institutional volume spike
DOUBLE WINGS / MEGA WINGS - Consecutive lift-off signals
Repainting Behavior
By default, the indicator uses confirmed bars only (barstate.isconfirmed), meaning signals appear after the bar closes and do not repaint. However:
LIVE MODE - When enabled, signals can appear intrabar but may disappear if conditions change before bar close. A warning label displays when LIVE MODE is active.
Trendlines - Pivot detection requires lookback bars, so the most recent trendline segments may adjust as new pivots confirm. This is inherent to pivot-based analysis.
Demand Zones - Zones are created on confirmed bars and do not repaint, but they can be removed if price closes below the zone bottom (configurable).
Live Mode with 'Enable Visual Effect' turned off in settings:
Limitations
This is a bullish-only indicator. It does not detect bearish setups or provide short signals.
The WINGS score is a confluence measure, not a prediction. High scores indicate favorable conditions, not guaranteed outcomes.
Pattern detection uses simplified logic. Not all candlestick nuances are captured.
Volume analysis requires reliable volume data. Results may vary on instruments with inconsistent volume reporting.
Ichimoku calculations add processing overhead. Disable if not needed.
Demand zones are based on a specific two-candle structure. Other valid zones may not be detected.
Trendlines use linear regression between pivots. Curved or complex channels are not supported.
Timeframe Recommendations
15m-1H: More frequent signals, useful for intraday analysis. Higher noise.
4H-Daily: Best balance of signal quality and frequency for swing trading.
Weekly: Fewer but more significant signals for position trading.
Adjust lookback periods and thresholds based on your timeframe. Shorter timeframes may benefit from shorter lookbacks.
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. The source code is fully visible and can be studied to understand how each module works.
This indicator does not constitute financial advice. The WINGS score and signals do not guarantee profitable trades. Past performance does not guarantee future results. Always use proper risk management, position sizing, and stop-losses. Test thoroughly on your preferred instruments and timeframes before using in live trading.
- Made with passion by officialjackofalltrades
Support Resistance-Session Box Breakout Support Resistance-Session Box Breakout สามารถใช้แนวรับแนวต้านจากSupport Resistance-Session Box หาจุกลับตัวหรือหาจุดเข้าเทรดได้
Zenith MACD Evolution [JOAT]
Zenith MACD Evolution - Volatility-Normalized Momentum Oscillator
Introduction and Purpose
Zenith MACD Evolution is an open-source oscillator indicator that takes the classic MACD and normalizes it by ATR (Average True Range) to create consistent overbought/oversold levels across different market conditions. The core problem this indicator solves is that traditional MACD values are incomparable across different volatility regimes. A MACD reading of 50 might be extreme in a quiet market but normal in a volatile one.
This indicator addresses that by dividing MACD by ATR and scaling to a consistent range, allowing traders to use fixed overbought/oversold levels that work across all market conditions.
Why ATR Normalization Works
Traditional MACD problems:
- Values vary wildly based on price and volatility
- No consistent overbought/oversold levels
- Hard to compare across different instruments
- Extreme readings in one period may be normal in another
ATR-normalized MACD (Zenith) solves these:
- Values scaled to consistent range
- Fixed overbought/oversold levels work across all conditions
- Comparable across different instruments
- Extreme readings are truly extreme regardless of volatility
How the Normalization Works
// Classic MACD
= ta.macd(close, fastLength, slowLength, signalLength)
// ATR for normalization
float atrValue = ta.atr(atrNormLength)
// Volatility-Normalized MACD
float zenithMACD = atrValue != 0 ? (histLine / atrValue) * 100 : 0
float zenithSignal = ta.ema(zenithMACD, signalLength)
The result is a MACD that typically ranges from -200 to +200, with consistent levels:
- Above +150 = Overbought
- Below -150 = Oversold
- Above +200 = Extreme overbought
- Below -200 = Extreme oversold
Signal Types
Zero Cross Up/Down - Zenith crosses zero line (trend change)
Overbought/Oversold Entry - Zenith enters extreme zones
Overbought/Oversold Exit - Zenith leaves extreme zones (potential reversal)
Momentum Shift - Histogram direction changes (early warning)
Divergence - Price makes new high/low but Zenith does not
Histogram Coloring
The histogram uses four colors to show momentum state:
- Strong Bull (Teal) - Positive and rising
- Weak Bull (Light Teal) - Positive but falling
- Strong Bear (Red) - Negative and falling
- Weak Bear (Light Red) - Negative but rising
This helps identify momentum shifts before crossovers occur.
Dashboard Information
Zenith - Current normalized MACD value with signal line
Zone - Current zone (EXTREME OB/OVERBOUGHT/NORMAL/OVERSOLD/EXTREME OS)
Momentum - Direction (RISING/FALLING/FLAT)
Histogram - Current histogram value
ATR Norm - Current ATR value used for normalization
Classic - Traditional MACD value for reference
How to Use This Indicator
For Mean-Reversion:
1. Wait for Zenith to reach extreme zones (+200/-200)
2. Look for momentum shift (histogram color change)
3. Enter counter-trend when exiting extreme zone
For Trend Following:
1. Enter long on zero cross up
2. Enter short on zero cross down
3. Use histogram color to gauge momentum strength
For Divergence Trading:
1. Watch for DIV labels (price vs Zenith divergence)
2. Bullish divergence at support = potential long
3. Bearish divergence at resistance = potential short
Input Parameters
Fast/Slow/Signal Length (12/26/9) - Standard MACD parameters
ATR Normalization Period (26) - Period for ATR calculation
Overbought/Oversold Zone (150/-150) - Zone thresholds
Extreme Level (200) - Extreme threshold
Show Classic MACD Lines (false) - Toggle traditional lines
Show Divergence Detection (true) - Toggle divergence signals
Divergence Lookback (14) - Bars to scan for divergence
Timeframe Recommendations
All timeframes work due to normalization
Higher timeframes provide smoother signals
Normalization makes cross-timeframe comparison meaningful
Limitations
ATR normalization adds slight lag
Divergence detection is simplified
Extreme zones can persist in strong trends
Works best when combined with price action analysis
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes.
This indicator does not constitute financial advice. Momentum analysis does not guarantee profitable trades. Always use proper risk management.
- Made with passion by officialjackofalltrades
Vortex Trend Matrix [JOAT]Vortex Trend Matrix - Multi-Factor Trend Confluence System
Introduction and Purpose
Vortex Trend Matrix is an open-source overlay indicator that combines Ichimoku-style equilibrium analysis with the Vortex Indicator to create a comprehensive trend confluence system. The core problem this indicator solves is that single trend indicators often give conflicting signals. Price might be above a moving average but momentum might be weakening.
This indicator addresses that by combining five different trend factors into a single composite score, making it easy to identify when multiple factors align for high-probability trend trades.
Why These Components Work Together
Each component measures trend from a different perspective:
1. Cloud Position - Price above/below the equilibrium cloud indicates overall trend bias. The cloud acts as dynamic support/resistance.
2. TK Relationship - Conversion line vs Base line (like Tenkan/Kijun in Ichimoku). Conversion above Base = bullish momentum.
3. Lagging Span - Current price compared to price N bars ago. Confirms whether current move has follow-through.
4. Vortex Indicator - VI+ vs VI- measures directional movement strength. Provides momentum confirmation.
5. Base Direction - Whether the base line is rising or falling. Indicates medium-term trend direction.
How the Trend Score Works
float trendScore = 0.0
// Cloud position (+2/-2)
trendScore += aboveCloud ? 2.0 : belowCloud ? -2.0 : 0.0
// TK relationship (+1/-1)
trendScore += conversionLine > baseLine ? 1.0 : conversionLine < baseLine ? -1.0 : 0.0
// Lagging span (+1/-1)
trendScore += laggingBull ? 1.0 : laggingBear ? -1.0 : 0.0
// Vortex (+1.5/-1.5)
trendScore += vortexBull ? 1.5 : vortexBear ? -1.5 : 0.0
// Base direction (+0.5/-0.5)
trendScore += baseDirection * 0.5
Score ranges from approximately -6 to +6:
- +4 or higher = STRONG BULL
- +2 to +4 = BULL
- -2 to +2 = NEUTRAL
- -4 to -2 = BEAR
- -4 or lower = STRONG BEAR
Signal Types
TK Cross Up/Down - Conversion line crosses Base line (momentum shift)
Base Direction Change - Base line changes direction (medium-term shift)
Strong Bull/Bear Trend - Score reaches +4/-4 (high confluence)
Dashboard Information
Trend - Overall status with composite score
Cloud - Price position (ABOVE/BELOW/INSIDE)
TK Cross - Conversion vs Base relationship
Lagging - Lagging span bias
Vortex - VI+/VI- relationship
VI+/VI- - Individual vortex values
How to Use This Indicator
For Trend Following:
1. Enter long when trend score reaches +4 or higher (STRONG BULL)
2. Enter short when trend score reaches -4 or lower (STRONG BEAR)
3. Use cloud as dynamic support/resistance for entries
For Momentum Timing:
1. Watch for TK Cross signals for entry timing
2. Base direction changes indicate medium-term shifts
3. Vortex confirmation adds conviction
For Risk Management:
1. Exit when trend score drops to neutral
2. Use cloud edges as stop-loss references
3. Reduce position when score weakens
Input Parameters
Conversion Period (9) - Fast equilibrium line
Base Period (26) - Slow equilibrium line
Lead Span Period (52) - Cloud projection period
Displacement (26) - Cloud and lagging span offset
Vortex Period (14) - Period for vortex calculation
VI+ Strength (1.10) - Threshold for strong bullish vortex
VI- Strength (0.90) - Threshold for strong bearish vortex
Timeframe Recommendations
4H-Daily: Best for equilibrium-based analysis
1H: Good for intraday trend following
Lower timeframes may require adjusted periods
Limitations
Equilibrium calculations have inherent lag
Cloud displacement means signals are delayed
Works best in trending markets
May whipsaw in ranging conditions
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes.
This indicator does not constitute financial advice. Trend analysis does not guarantee profitable trades. Always use proper risk management.
- Made with passion by officialjackofalltrades
Sentinel Market Structure [JOAT]
Sentinel Market Structure - Smart Money Structure Analysis
Introduction and Purpose
Sentinel Market Structure is an open-source overlay indicator that identifies swing highs/lows, tracks market structure (HH/HL/LH/LL), detects Break of Structure (BOS) and Change of Character (CHoCH) signals, and marks order blocks. The core problem this indicator solves is that retail traders often miss structural shifts that smart money traders use to identify trend changes.
This indicator addresses that by automatically tracking market structure and alerting traders to key structural breaks that often precede significant moves.
Why These Components Work Together
Each component provides different structural information:
1. Swing Detection - Identifies significant pivot highs and lows. These are the building blocks of market structure.
2. Structure Labels (HH/HL/LH/LL) - Classifies each swing relative to the previous swing. Higher Highs + Higher Lows = uptrend. Lower Highs + Lower Lows = downtrend.
3. Break of Structure (BOS) - Identifies when price breaks a swing level in the direction of the trend. This is a continuation signal.
4. Change of Character (CHoCH) - Identifies when price breaks a swing level against the trend. This is a potential reversal signal.
5. Order Blocks - Marks the last opposing candle before an impulse move. These zones often act as future support/resistance.
How the Detection Works
Swing Detection:
bool swingHighDetected = high == ta.highest(high, swingLength * 2 + 1)
bool swingLowDetected = low == ta.lowest(low, swingLength * 2 + 1)
BOS vs CHoCH Logic:
// BOS: Break in direction of trend (continuation)
bool bullishBOS = close > lastSwingHigh and marketTrend >= 0
// CHoCH: Break against trend (reversal signal)
bool bullishCHOCH = close > lastSwingHigh and marketTrend < 0
Order Block Detection:
bool bullOB = close < open and // Previous candle bearish
close > open and // Current candle bullish
close > high and // Breaking above
(high - low) > ta.atr(14) * 1.5 // Strong impulse
Signal Types
HH (Higher High) - Swing high above previous swing high (bullish structure)
HL (Higher Low) - Swing low above previous swing low (bullish structure)
LH (Lower High) - Swing high below previous swing high (bearish structure)
LL (Lower Low) - Swing low below previous swing low (bearish structure)
BOS↑/BOS↓ - Break of structure in trend direction (continuation)
CHoCH↑/CHoCH↓ - Change of character against trend (potential reversal)
Dashboard Information
Trend - Current market bias (BULLISH/BEARISH/NEUTRAL)
Swing High - Last swing high price with HH/LH label
Swing Low - Last swing low price with HL/LL label
Structure - Current structure state (HH+HL, LH+LL, etc.)
Price - Price position relative to structure
How to Use This Indicator
For Trend Following:
1. Identify trend using structure (HH+HL = uptrend, LH+LL = downtrend)
2. Enter on BOS signals in trend direction
3. Use swing levels for stop placement
For Reversal Trading:
1. Watch for CHoCH signals (break against trend)
2. Confirm with order block formation
3. Enter on retest of order block zone
For Risk Management:
1. Place stops beyond swing highs/lows
2. Use structure lines as trailing stop references
3. Exit when CHoCH signals against your position
Input Parameters
Swing Detection Length (5) - Bars on each side for pivot detection
Show Swing High/Low Points (true) - Toggle swing markers
Show BOS/CHoCH (true) - Toggle structural break signals
Show Structure Lines (true) - Toggle horizontal swing lines
Show Order Blocks (true) - Toggle order block zones
Zone Extension (50) - How far order block boxes extend
Timeframe Recommendations
15m-1H: Good for intraday structure analysis
4H-Daily: Best for swing trading structure
Lower timeframes require smaller swing detection length
Limitations
Swing detection has inherent lag (needs confirmation bars)
Not all BOS/CHoCH signals lead to continuation/reversal
Order block zones are simplified (not full ICT methodology)
Structure analysis is subjective - different traders see different swings
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes.
This indicator does not constitute financial advice. Market structure analysis does not guarantee trade outcomes. Always use proper risk management.
- Made with passion by officialjackofalltrades
Quantum Candle Scanner [JOAT]
Quantum Candle Scanner - Advanced Multi-Pattern Recognition System
Introduction and Purpose
Quantum Candle Scanner is an open-source overlay indicator that detects multiple candlestick patterns including engulfing patterns, kicker patterns, inside bar setups, momentum candles, and higher-high/lower-low sequences. The core problem this indicator solves is that traders often miss patterns because they're looking for only one type. Different patterns work better in different market conditions.
This indicator addresses that by scanning for five distinct pattern types simultaneously, giving traders a comprehensive view of price action signals.
Why These Five Pattern Types Work Together
Each pattern type identifies different market behavior:
1. Engulfing Patterns - Classic reversal signals where current candle completely engulfs the previous candle. Best for identifying potential turning points.
2. Kicker Patterns - Strong reversal signals with gap confirmation. The current candle opens beyond the previous candle's open with opposite direction. Best for identifying high-momentum reversals.
3. Inside Bar Patterns - Consolidation breakout signals where a candle's range is contained within the previous candle, followed by a breakout. Best for identifying compression before expansion.
4. Momentum Candles - Identifies the largest body candle over a lookback period. Best for spotting institutional activity.
5. HH/HL and LH/LL Sequences - Three-bar structure patterns showing trend continuation. Best for confirming trend direction.
How the Detection Works
Engulfing Pattern:
bool engulfBullBase = open <= math.min(close , open ) and
close >= math.max(close , open ) and
isBullish(0) and
getBodyPct(0) > bodyMinPct
Kicker Pattern:
bool kickerBull = isBearish(1) and isBullish(0) and
open > open and low > low and
getBodyPct(0) > 40 and getBodyPct(1) > 40
Inside Bar:
bool insideBarSetup = low < low and high > high
bool insideBarBull = insideBarSetup and isBullish(0)
HH/HL Sequence:
bool hhhlSeq = high > high and low > low and
high > high and low > low and
close > close
Optional Filters
ATR Filter - Only shows patterns where candle body exceeds ATR (strong candles only)
Body Minimum % - Requires minimum body percentage for engulfing patterns
Close Beyond Prior H/L - Requires engulfing candle to close beyond prior high/low
Dashboard Information
Engulfing - Total engulfing patterns detected
Kicker - Kicker pattern count
Inside Bar - Inside bar breakout count
HH/LL Seq - Structure sequence count
Total - Combined pattern count
How to Use This Indicator
For Reversal Trading:
1. Look for engulfing or kicker patterns at key support/resistance
2. Confirm with HH/HL or LH/LL sequence breaking
3. Enter with stop beyond the pattern
For Breakout Trading:
1. Identify inside bar setups (consolidation)
2. Enter on breakout candle in direction of break
3. Use the inside bar range for stop placement
For Trend Confirmation:
1. Use HH/HL sequences to confirm uptrend structure
2. Use LH/LL sequences to confirm downtrend structure
3. Momentum candles indicate institutional participation
Input Parameters
Detect Engulfing/Kicker/Inside Bar/Momentum/HHLL (all true) - Toggle each pattern type
Min Body % for Engulfing (0) - Minimum body percentage
ATR Filter (false) - Only show strong candles
Engulf Must Close Beyond Prior H/L (true) - Stricter engulfing definition
Compact Mode (false) - Shorter labels for cleaner charts
Timeframe Recommendations
1H-Daily: Best for reliable pattern detection
15m-30m: More patterns but higher noise
Use Compact Mode on lower timeframes
Limitations
Pattern detection is mechanical and does not consider context
Not all patterns lead to successful trades
Kicker patterns are rare but powerful
Inside bar breakouts can fail (false breakouts)
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes.
This indicator does not constitute financial advice. Pattern detection does not guarantee trade outcomes. Always use proper risk management.
- Made with passion by officialjackofalltrades
Pulse Volume Commitment [JOAT]
Pulse Volume Commitment - Three-Dimensional Momentum Analysis
Introduction and Purpose
Pulse Volume Commitment is an open-source oscillator indicator that analyzes price action through three distinct dimensions: Quantity (candle count), Quality (body structure), and Commitment (volume-weighted quality). The core problem this indicator solves is that simple bullish/bearish candle counts miss important context. A market can have more green candles but still be weak if those candles have small bodies and low volume.
This indicator addresses that by requiring all three dimensions to align before generating strong signals, filtering out weak moves that lack conviction.
Why These Three Dimensions Work Together
Each dimension measures a different aspect of market conviction:
1. Quantity - Counts bullish vs bearish candles over the lookback period. Tells you WHO is winning the candle count battle.
2. Quality - Scores candles by body size relative to total range. Full-bodied candles (small wicks) indicate stronger conviction than doji-like candles. Tells you HOW decisively price is moving.
3. Commitment - Weights quality scores by volume. High-quality candles on high volume indicate institutional participation. Tells you WHETHER smart money is involved.
When all three align (e.g., more bullish candles + bullish quality + bullish commitment), the signal is significantly more reliable.
How the Calculations Work
Quantity Analysis:
int greenCount = 0
int redCount = 0
for i = 0 to lookbackPeriod - 1
if close > open
greenCount += 1
if close < open
redCount += 1
bool quantityBull = greenCount > redCount
Quality Analysis (body-to-range scoring):
for i = 0 to lookbackPeriod - 1
float candleBody = close - open // Signed (positive = bull)
float candleRange = high - low
float bodyQuality = candleRange > 0 ? (candleBody / candleRange * 100) * candleRange : 0.0
sumBodyQuality += bodyQuality
bool qualityBull = sumBodyQuality > 0
Signal Types
FULL BULL - All three dimensions bullish (Quantity + Quality + Commitment)
FULL BEAR - All three dimensions bearish
LEAN BULL/BEAR - 2 of 3 dimensions agree
MIXED - No clear consensus
STRONG BUY/SELL - Full confluence + ADX confirms trending market
ADX Integration
The indicator includes ADX (Average Directional Index) to filter signals:
- ADX >= 20 = TRENDING market (signals more reliable)
- ADX < 20 = RANGING market (signals may whipsaw)
Strong signals only trigger when full confluence occurs in a trending environment.
Dashboard Information
Quantity - BULL/BEAR/FLAT with green/red candle ratio
Quality - Directional bias based on body quality scoring
Commit - Volume-weighted commitment reading
ADX - Trend strength (TRENDING/RANGING)
Signal - Confluence status (FULL BULL/FULL BEAR/LEAN/MIXED)
Action - STRONG BUY/STRONG SELL/WAIT
How to Use This Indicator
For High-Conviction Entries:
1. Wait for FULL BULL or FULL BEAR confluence
2. Confirm ADX shows TRENDING
3. Enter when Action shows STRONG BUY or STRONG SELL
For Filtering Weak Setups:
1. Avoid entries when signal shows MIXED
2. Be cautious when ADX shows RANGING
3. Require at least 2 of 3 dimensions to agree
For Divergence Analysis:
1. Watch for Quantity bullish but Commitment bearish (distribution)
2. Watch for Quantity bearish but Commitment bullish (accumulation)
Input Parameters
Lookback Period (9) - Bars to analyze for all three dimensions
ADX Smoothing (14) - Period for ADX calculation
ADX DI Length (14) - Period for directional indicators
Timeframe Recommendations
15m-1H: Good for intraday momentum analysis
4H-Daily: Best for swing trading confluence
Lookback period may need adjustment for different timeframes
Limitations
Lookback period affects signal responsiveness vs reliability tradeoff
Volume data quality varies by exchange
ADX filter may cause missed entries in early trends
Works best on liquid instruments with consistent volume
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes.
This indicator does not constitute financial advice. Confluence signals do not guarantee profitable trades. Always use proper risk management.
- Made with passion by officialjackofalltrades
Prism Band Dynamics [JOAT]Prism Band Dynamics - Bollinger-Style Bands with Force Detection
Introduction and Purpose
Prism Band Dynamics is an open-source overlay indicator that creates dynamic Bollinger-style bands with an innovative "force detection" system. The core problem this indicator solves is that standard Bollinger Bands show volatility but don't indicate directional momentum. When all three band components (upper, lower, basis) move in the same direction, it indicates strong directional force that standard bands don't highlight.
This indicator addresses that by detecting when all band components align directionally, providing a clear signal of market force.
Why Force Detection Matters
Standard Bollinger Bands expand and contract based on volatility, but they don't tell you about directional momentum. Force detection adds this dimension:
1. Bullish Force - Upper band, lower band, AND basis all moving up together. This indicates strong upward momentum where even the lower support level is rising.
2. Bearish Force - Upper band, lower band, AND basis all moving down together. This indicates strong downward momentum where even the upper resistance level is falling.
3. Neutral - Mixed movement indicates consolidation or uncertainty.
How Force Detection Works
bool upperUp = upper > upper
bool lowerUp = lower > lower
bool basisUp = basis > basis
int forceFull = if upperUp and lowerUp and basisUp
1 // Bullish force
else if upperDn and lowerDn and basisDn
-1 // Bearish force
else
0 // Neutral
Additional Features
Squeeze Detection - Identifies when band width contracts below threshold, often preceding large moves
Gradient Fills - Color intensity reflects force strength
Direction Change Arrows - Visual markers when force direction shifts
Dashboard Information
Force - Current force status (BULLISH/BEARISH/NEUTRAL)
Position - Price location within bands (Upper/Mid/Lower Zone)
Band Width - Current width percentage with expansion/contraction label
Volatility - Squeeze status (SQUEEZE/NORMAL)
Force Count - Bars since last force change
How to Use This Indicator
For Trend Following:
1. Enter long when force turns BULLISH
2. Enter short when force turns BEARISH
3. Exit or reduce when force turns NEUTRAL
For Squeeze Breakouts:
1. Watch for SQUEEZE status in dashboard
2. Prepare for breakout in either direction
3. Enter when force confirms direction after squeeze
For Mean Reversion:
1. Only trade mean-reversion when force is NEUTRAL
2. Avoid fading moves when force is active
3. Use band touches as entry points during neutral force
Input Parameters
Length (20) - Period for basis and standard deviation
Multiplier (2.0) - Standard deviation multiplier for bands
MA Type (SMA) - Basis calculation method
Squeeze Threshold (0.5) - Band width percentage for squeeze detection
Timeframe Recommendations
4H-Daily: Cleanest force signals
1H: Good balance of signals and reliability
15m: More signals but more noise
Limitations
Force detection can lag during rapid reversals
Squeeze breakouts can fail (false breakouts)
Works best in markets with clear trending/ranging phases
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes.
This indicator does not constitute financial advice. Force detection does not guarantee trend continuation. Always use proper risk management.
- Made with passion by officialjackofalltrades
Nexus Momentum Flow [JOAT]
Nexus Momentum Flow - ADX-Based Trend Strength Analysis
Introduction and Purpose
Nexus Momentum Flow is an open-source oscillator indicator that combines the ADX (Average Directional Index) with directional movement indicators (+DI/-DI) to create a comprehensive trend strength and direction analysis tool. The core problem this indicator solves is that ADX alone tells you trend strength but not direction, while +DI/-DI alone tells you direction but not strength. Traders need both pieces of information together.
This indicator addresses that by combining ADX strength classification with directional bias into a single confluence score, making it easy to identify when strong trends exist and which direction they favor.
Why These Components Work Together
1. ADX (Average Directional Index) - Measures trend strength regardless of direction. Values above 25 indicate trending; below 20 indicate ranging.
2. +DI (Positive Directional Indicator) - Measures upward price movement strength.
3. -DI (Negative Directional Indicator) - Measures downward price movement strength.
4. Confluence Score - Combines ADX strength with DI bias to create a single actionable metric.
The combination works because:
ADX filters out ranging markets where DI crossovers produce whipsaws
DI relationship provides direction when ADX confirms trend
Confluence score simplifies the analysis into one number
How the Calculation Works
float directionBias = diPlus - diMinus
float confluenceScore = (adx / 100) * directionBias
The confluence score is positive when +DI > -DI (bullish) and negative when -DI > +DI (bearish), with magnitude scaled by ADX strength.
Trend State Classification
EXTREME - ADX > 50 (very strong trend)
STRONG - ADX 35-50 (strong trend)
TRENDING - ADX 25-35 (moderate trend)
RANGING - ADX < 25 (no clear trend)
Dashboard Information
Status - Current trend state (EXTREME/STRONG/TRENDING/RANGING)
Direction - BULLISH or BEARISH based on DI relationship
ADX - Current ADX value
DI Bias - Difference between +DI and -DI
Confluence - Combined score with directional context
How to Use This Indicator
For Trend Following:
1. Wait for ADX to show TRENDING or higher
2. Check direction matches your trade bias
3. Enter on pullbacks when confluence remains positive/negative
4. Exit when ADX drops to RANGING
For Avoiding Whipsaws:
1. Do not trade DI crossovers when ADX shows RANGING
2. Only trust directional signals when ADX confirms trend
3. Use RANGING periods for mean-reversion strategies instead
For Trend Exhaustion:
1. Watch for EXTREME ADX readings
2. Extreme trends often precede reversals
3. Consider taking profits when ADX reaches extreme levels
Input Parameters
ADX Length (14) - Period for ADX calculation
DI Length (14) - Period for directional indicators
ADX Smoothing (14) - Smoothing period for ADX
Trend Threshold (25) - ADX level for trend confirmation
Strong Threshold (35) - ADX level for strong trend
Extreme Threshold (50) - ADX level for extreme trend
Timeframe Recommendations
Daily/4H: Best for swing trading trend analysis
1H: Good for intraday trend following
15m: More signals but requires faster reaction
Limitations
ADX is a lagging indicator - trends are confirmed after they start
DI crossovers can whipsaw even with ADX filter
Works best in markets that trend clearly
May miss early trend entries due to confirmation requirement
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes.
This indicator does not constitute financial advice. Trend analysis does not guarantee profitable trades. Always use proper risk management.
- Made with passion by officialjackofalltrades
Fractal Wave Hunter [JOAT]
Fractal Wave Hunter - Multi-Method Fractal Detection System
Introduction and Purpose
Fractal Wave Hunter is an open-source overlay indicator that identifies key reversal patterns using multiple fractal detection methods. The core problem this indicator solves is that different fractal methods catch different types of reversals. Williams' classic 5-bar fractal is reliable but slow; Hougaard's 4-bar method is faster but noisier. Using only one method means missing valid signals that the other would catch.
This indicator addresses that by combining both methods plus HOLP/LOHP detection, giving traders a comprehensive view of potential reversal points.
Why These Methods Work Together
Each fractal method has different characteristics:
1. 4-Bar Fractal (Hougaard Method) - Faster detection, identifies momentum shifts when close exceeds recent highs/lows. Best for catching early reversals.
2. Classic 5-Bar Fractal (Williams) - Traditional pivot detection requiring the middle bar to be the highest/lowest of 5 bars. Best for identifying significant swing points.
3. HOLP/LOHP - High of Low Period and Low of High Period signals identify when price makes a new extreme within a defined lookback. Best for trend exhaustion detection.
By combining these methods, traders can:
Use 4-bar fractals for early entry signals
Use 5-bar fractals for confirmation and stop placement
Use HOLP/LOHP for trend exhaustion warnings
How the Detection Works
4-Bar Fractal (Hougaard):
bool fractal4BuyBase = close > high and close > high
bool fractal4SellBase = close < low and close < low
Classic 5-Bar Fractal:
bool fractalHigh = high > high and high > high and high > high and high > high
bool fractalLow = low < low and low < low and low < low and low < low
Signal Types
4B (4-Bar Buy) - Close exceeds high and high - early bullish signal
4S (4-Bar Sell) - Close below low and low - early bearish signal
FH (Fractal High) - Classic 5-bar swing high - confirmed resistance
FL (Fractal Low) - Classic 5-bar swing low - confirmed support
HOLP - High of low period - potential bullish exhaustion
LOHP - Low of high period - potential bearish exhaustion
Dashboard Information
4-Bar Fractal - Count of bullish/bearish 4-bar fractals
Classic Fractal - Count of 5-bar fractal highs/lows
HOLP/LOHP - Reversal signal counts
Total Signals - Combined pattern count
How to Use This Indicator
For Counter-Trend Entries:
1. Wait for 4-bar fractal signal at key support/resistance
2. Confirm with 5-bar fractal forming nearby
3. Enter with stop beyond the fractal point
For Stop Placement:
1. Use 5-bar fractal highs/lows as stop-loss references
2. These represent confirmed swing points that should hold if trend continues
For Trend Analysis:
1. Track swing structure using fractal highs and lows
2. Higher fractal lows = uptrend structure
3. Lower fractal highs = downtrend structure
Input Parameters
Show 4-Bar Fractals (true) - Toggle Hougaard method signals
Show Classic Fractals (true) - Toggle Williams method signals
Show HOLP/LOHP (true) - Toggle exhaustion signals
ATR Filter (false) - Only show signals during volatile conditions
Swing Lines (true) - Connect significant swing points
Timeframe Recommendations
1H-Daily: Best for reliable fractal detection
15m-30m: More signals but higher noise
Weekly: Fewer but more significant fractals
Limitations
5-bar fractals have inherent 2-bar lag (need confirmation)
4-bar fractals can produce false signals in choppy markets
HOLP/LOHP signals work best at trend extremes
Not all fractals lead to significant reversals
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes.
This indicator does not constitute financial advice. Fractal detection does not guarantee reversals. Always use proper risk management.
- Made with passion by officialjackofalltrades
Hyper-Spectral Neural Flow [Pineify]Hyper-Spectral Neural Flow - Advanced Gaussian Kernel Trend Detection with Spectral Volatility Bands
Transform your chart analysis with a cutting-edge indicator that combines machine learning-inspired smoothing algorithms with stunning visual feedback systems for precise trend identification and market momentum visualization.
Overview
The Hyper-Spectral Neural Flow is a sophisticated technical analysis tool that implements Gaussian Kernel Regression smoothing to estimate the underlying price trend with minimal lag while providing dynamic volatility-based visual feedback through its signature "spectral aura" display. Unlike conventional moving averages or simple trend indicators, this tool adapts its smoothing characteristics based on localized price behavior, creating a neural-inspired pathway that represents the market's true trend direction.
The indicator's core calculation utilizes a 50-bar Gaussian window with customizable bandwidth parameters, allowing traders to balance between responsiveness and smoothness according to their trading style. Surrounding this core trend line are multi-layered spectral bands that expand and contract based on market volatility, measured through a combination of Mean Absolute Error (MAE) and user-defined multipliers.
Key Features
Gaussian Kernel Neural Core - A proprietary smoothing algorithm that calculates localized weighted averages using Gaussian distribution weights, providing superior noise reduction compared to traditional moving averages
Multi-Layered Spectral Aura - Four distinct volatility bands (inner/upper and inner/lower) that create a dynamic visual representation of market volatility and trend strength
Adaptive Gradient Fills - Color-gradient transparency that adjusts based on price position relative to the neural core, creating an energy field effect that visually communicates market momentum
Trend Pulse Markers - Automatic circular markers that appear precisely when the neural flow shifts direction, providing clear entry/exit signals
Dynamic Bar Coloring - Price bars that change color and transparency based on trend direction, enhancing visual pattern recognition
Real-Time Trend Calculation - Optimized 50-bar rolling window ensures responsive performance without excessive computational load
Customizable Alert System - Built-in alert conditions for neural flow direction changes
How It Works
The indicator's calculation engine operates on three distinct levels working in harmony:
Neural Core Calculation - For each bar, the algorithm computes a weighted average of the previous 50 bars using Gaussian kernel functions. The weight assigned to each historical bar follows a bell curve distribution, where more recent bars receive exponentially higher weights. The mathematical formula is: weight = exp(-(distance²) / (2 × bandwidth²)) , where the bandwidth parameter (default: 8.0) controls the smoothness sensitivity.
Volatility Band Derivation - The spectral bands are calculated using the Mean Absolute Error (MAE) between price and the neural core, smoothed over 50 periods and multiplied by a user-defined spectral range multiplier (default: 3.0). This creates four bands: outer upper (+1.0× MAE), inner upper (+0.5× MAE), inner lower (-0.5× MAE), and outer lower (-1.0× MAE).
Trend Direction Logic - The system determines trend direction by comparing the current neural core value to the previous bar's value. When the core rises, the bullish flow color activates; when it declines, the bearish flow color engages.
Trading Ideas and Insights
Trend Following - Use the neural core as your primary trend reference. When price is above the core with the bullish flow color active, look for long entry opportunities on pullbacks to the inner lower spectral band
Trend Reversal Detection - Watch for the trend pulse markers combined with price crossing the neural core. A bullish pulse appearing after a bearish phase, especially near the outer lower band, often signals a trend reversal
Volatility Contraction Plays - When the spectral bands narrow significantly (indicating low volatility), prepare for potential breakout trades as volatility expansion often follows consolidation periods
Support/Resistance Zones - The inner and outer spectral bands often act as dynamic support and resistance levels. Price rejection from these bands, combined with trend pulse markers, provides high-probability trade setups
Momentum Assessment - Strong trends show the spectral bands expanding in the direction of the move while maintaining consistent separation. Converging bands suggest momentum weakening
How Multiple Indicators Work Together
The true power of Hyper-Spectral Neural Flow lies in the synergistic integration of its components:
The Gaussian Kernel Core provides the foundational trend direction, eliminating noise while preserving genuine price movements
The Spectral Bands add context by showing volatility-adjusted price boundaries, preventing premature entries during low-volatility conditions
The Gradient Fill System offers immediate visual feedback about trend strength—wider, more opaque bands indicate stronger trends, while narrow, transparent bands suggest weakness
The Trend Pulse Markers serve as confirmation signals, ensuring traders don't act on minor core fluctuations but only on meaningful directional changes
This multi-component approach means each element validates the others: a trend pulse marker appearing while price is at an outer band and the spectral aura is expanding provides three independent confirmations of a significant trading opportunity .
Unique Aspects
Machine Learning Foundation - Unlike most TradingView indicators based on standard technical analysis formulas, this implements concepts from Gaussian Process Regression, a technique used in advanced machine learning applications
Visual Hierarchy - The layered design (core line → inner bands → outer bands) creates a natural visual priority system that guides the eye from the most important element (trend direction) to secondary context (volatility levels)
Adaptive Smoothing - The Gaussian bandwidth parameter allows traders to morph the indicator between a short-term scalping tool (lower values) and a long-term trend following system (higher values) without changing the underlying algorithm
Neuro-Aesthetic Design - The visual language mimics neural network imagery and spectrographic displays, making complex data intuitively understandable through association with familiar scientific visualization
How to Use
Add the indicator to your chart from the indicators library and overlay it on your price data
Begin with default settings (Neural Bandwidth: 8.0, Spectral Range: 3.0) to observe the indicator's behavior on your timeframe
For trend following: Only take long trades when the neural core is rising and showing the bullish flow color; only take short trades when the core is declining with bearish flow color
For entry timing: Use the inner spectral bands as pullback entry zones during strong trends—the inner lower band for longs, the inner upper band for shorts
For stop placement: Consider placing stops just beyond the outer spectral band opposite your trade direction
For trend confirmation: Wait for trend pulse markers to appear before entering positions, especially when trading counter-trend reversals
For exit signals: Consider partial profits when price reaches the outer band in the direction of your trade, or when a trend pulse marker signals a potential direction change
Customization
Neural Bandwidth (1.0 to 20.0) - Increase for smoother, slower signals suitable for swing trading (try 12.0-15.0 on daily charts); decrease for more responsive signals for scalping or day trading (try 3.0-5.0 on intraday timeframes)
Spectral Range (0.5 to 10.0) - Higher values widen the volatility bands, resulting in fewer signals but potentially larger winning trades; lower values create tighter bands for more frequent signals but increased false signals during volatility spikes
Bullish/Bearish Flow Colors - Customize to match your chart aesthetic or preference; consider using colors that contrast well with your background for optimal visibility
Aura Opacity (0 to 100) - Adjust to control the prominence of the spectral gradient fills; lower values make the chart less cluttered, higher values emphasize the volatility expansion/contraction cycles
Trend Pulse Marks - Disable if you prefer a cleaner visual and plan to rely solely on core direction and band relationships for signals
Conclusion
The Hyper-Spectral Neural Flow represents a paradigm shift in trend indicator design, bridging the gap between rigorous statistical methodology and intuitive visual communication. By implementing Gaussian kernel regression—typically found in advanced machine learning applications—within an accessible TradingView indicator, it offers traders a professional-grade trend detection tool that doesn't sacrifice usability for sophistication.
Whether you're a systematic trader who relies on objective, rule-based signals, a discretionary trader who values contextual market information, or a quantitative analyst seeking robust trend estimation, this indicator provides the flexibility to adapt to your methodology while maintaining mathematical rigor in its core calculations.
The integration of volatility-based spectral bands with the neural core creates a complete trading framework in a single indicator: trend identification, volatility assessment, entry timing guidance, and trend change signals—all unified through a cohesive visual language that makes complex data immediately actionable. By understanding how the Gaussian smoothing adapts to market conditions and how the spectral bands breathe with volatility, traders gain deeper insight into market structure beyond simple price movement.
Add the Hyper-Spectral Neural Flow to your chart analysis toolkit and experience the difference that machine learning-inspired indicators can make in your trading decisions.
Eclipse Multi-Oscillator [JOAT]Eclipse Multi-Oscillator - Unified Momentum Confluence System
Introduction and Purpose
Eclipse Multi-Oscillator is an open-source indicator that combines four classic oscillators (RSI, Stochastic, CCI, and Williams %R) into a single unified view with confluence detection. The core problem this indicator solves is oscillator disagreement: traders often see RSI oversold while Stochastic is neutral, or CCI overbought while Williams %R is mid-range. This creates confusion about the true momentum state.
This indicator addresses that by displaying all four oscillators together and counting how many agree on overbought or oversold conditions, providing a clear confluence score that cuts through the noise.
Why These Four Oscillators Work Together
Each oscillator measures momentum differently, and their combination provides a more complete picture:
1. RSI (Relative Strength Index) - Measures the magnitude of recent price changes. Best at identifying momentum exhaustion.
2. Stochastic - Compares closing price to the high-low range. Best at identifying where price is within its recent range.
3. CCI (Commodity Channel Index) - Measures price deviation from statistical mean. Best at identifying unusual price movements.
4. Williams %R - Similar to Stochastic but inverted. Provides confirmation of Stochastic readings.
When 3 or more of these oscillators agree on overbought or oversold, the signal is significantly more reliable than any single oscillator alone.
How Confluence Scoring Works
The indicator counts how many oscillators are in extreme territory:
int obCount = 0
if rsi > rsiOB
obCount += 1
if stochK > stochOB
obCount += 1
if cci > cciOB
obCount += 1
if willRScaled > stochOB
obCount += 1
bool strongOverbought = obCount >= 3
bool strongOversold = osCount >= 3
The confluence score ranges from -4 (all oversold) to +4 (all overbought), with 0 being neutral.
Signal Types
Strong Oversold - 3+ oscillators below oversold threshold (potential bounce)
Strong Overbought - 3+ oscillators above overbought threshold (potential pullback)
OB/OS Exit - RSI leaving extreme zone with Stochastic confirmation (potential reversal)
Divergence - Price makes new high/low while RSI does not (potential reversal warning)
Dashboard Information
RSI/Stoch K/CCI/Will %R - Current values with zone status (OB/OS/MID)
Confluence - Overall bias (STRONG OS, STRONG OB, Lean Bull/Bear, Neutral)
OB Count - How many oscillators are overbought (0-4)
OS Count - How many oscillators are oversold (0-4)
How to Use This Indicator
For Reversal Trading:
1. Wait for Strong Oversold (3+ oscillators agree)
2. Look for bullish candlestick pattern or support level
3. Enter long with stop below recent low
4. Take profit when confluence returns to neutral or overbought
For Trend Confirmation:
1. Check confluence direction matches your trade bias
2. Avoid longs when confluence is strongly overbought
3. Avoid shorts when confluence is strongly oversold
For Divergence Trading:
1. Watch for "D" labels indicating RSI divergence
2. Bullish divergence at support = potential long
3. Bearish divergence at resistance = potential short
Input Parameters
RSI Length (14) - Period for RSI calculation
Stochastic K/D Length (14/3) - Periods for Stochastic
CCI Length (20) - Period for CCI
Williams %R Length (14) - Period for Williams %R
OB/OS Thresholds - Customizable levels for each oscillator
Timeframe Recommendations
15m-1H: Good for intraday momentum analysis
4H-Daily: Best for swing trading confluence
Very short timeframes may produce noisy signals
Limitations
All oscillators can remain in extreme territory during strong trends
Confluence does not predict direction, only identifies extremes
Divergence detection is simplified and may miss some patterns
Works best in ranging or moderately trending markets
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. The source code is fully visible and can be studied.
This indicator does not constitute financial advice. Oscillator confluence does not guarantee reversals. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Aurora Volatility Bands [JOAT]Aurora Volatility Bands - Dynamic ATR-Based Envelope System
Introduction and Purpose
Aurora Volatility Bands is an open-source overlay indicator that creates multi-layered volatility envelopes around price using ATR (Average True Range) calculations. The core problem this indicator solves is that static bands (like fixed percentage envelopes) fail to adapt to changing market conditions. During high volatility, static bands are too tight; during low volatility, they're too wide.
This indicator addresses that by using ATR-based dynamic bands that automatically expand during volatile periods and contract during quiet periods, providing contextually appropriate support/resistance levels at all times.
Why These Components Work Together
The indicator combines three analytical approaches:
1. Triple-Layer Band System - Inner (1x ATR), Outer (2x ATR), and Extreme (3x ATR) bands provide graduated levels of significance
2. Volatility State Detection - Compares current ATR to historical average to classify market regime
3. Multiple MA Types - Allows customization of the center line calculation method
These components complement each other:
The triple-layer system gives traders multiple reference points - inner bands for normal moves, outer for significant moves, extreme for rare events
Volatility state detection tells you WHEN bands are expanding or contracting, helping anticipate breakouts or mean-reversion
MA type selection lets you match the indicator to your trading style (faster EMA vs smoother SMA)
How the Calculation Works
The bands are calculated using ATR multiplied by configurable factors:
float atr = ta.atr(atrPeriod)
float innerUpper = centerMA + (atr * innerMult)
float outerUpper = centerMA + (atr * outerMult)
float extremeUpper = centerMA + (atr * extremeMult)
Volatility state is determined by comparing current ATR percentage to its historical average:
float atrPercent = (atr / close) * 100
float avgAtrPercent = ta.sma(atrPercent, volatilityLookback)
float volatilityRatio = atrPercent / avgAtrPercent
bool isExpanding = volatilityRatio > 1.2 // 20%+ above average
bool isContracting = volatilityRatio < 0.8 // 20%+ below average
Signal Types
Band Touch - Price reaches inner, outer, or extreme bands
Mean Reversion - Price returns to center after touching outer/extreme bands
Breakout - Sustained move beyond outer bands during volatility expansion
Dashboard Information
Volatility - Current state (EXPANDING/CONTRACTING/NORMAL)
Vol Ratio - Current volatility vs average (e.g., 1.5x = 50% above average)
ATR - Current ATR value
ATR % - ATR as percentage of price
Zone - Current price position (EXTREME HIGH/UPPER ZONE/CENTER ZONE/etc.)
Position - Price position as percentage within band structure
Width - Total band width as percentage of price
Using SMA in settings:
How to Use This Indicator
For Mean-Reversion Trading:
1. Wait for price to touch outer or extreme bands
2. Check that volatility state is NORMAL or CONTRACTING (not expanding)
3. Look for reversal candlestick patterns at the band
4. Enter toward center MA with stop beyond the band
For Breakout Trading:
1. Wait for volatility state to show EXPANDING
2. Look for price closing beyond outer bands
3. Enter in direction of breakout
4. Use the band as trailing stop reference
For Volatility Analysis:
1. Monitor volatility ratio for regime changes
2. CONTRACTING often precedes large moves (squeeze)
3. EXPANDING confirms trend strength
Using VWMA and Mean Reversion Signal/MR:
Input Parameters
ATR Period (14) - Period for ATR calculation
Inner/Outer/Extreme Multipliers (1.0/2.0/3.0) - Band distance from center
MA Type (EMA) - Center line calculation method
MA Period (20) - Period for center line
Volatility Comparison Period (20) - Lookback for volatility state
Timeframe Recommendations
15m-1H: Good for intraday mean-reversion
4H-Daily: Best for swing trading and breakout identification
Weekly: Useful for position trading and major level identification
Limitations
ATR-based bands lag during sudden volatility spikes
Mean-reversion signals can fail in strong trends
Breakout signals may whipsaw in ranging markets
Works best on liquid instruments with consistent volatility patterns
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. The source code is fully visible and can be studied to understand how each component works.
This indicator does not constitute financial advice. Band touches do not guarantee reversals. Past performance does not guarantee future results. Always use proper risk management, position sizing, and stop-losses.
- Made with passion by officialjackofalltrades
Quantum Reversal Detector [JOAT]
Quantum Reversal Detector - Multi-Factor Reversal Probability Analysis
Introduction and Purpose
Quantum Reversal Detector is an open-source overlay indicator that combines multiple reversal detection methods into a unified probability-based framework. The core problem this indicator addresses is the unreliability of single-factor reversal signals. A price touching support means nothing without momentum confirmation; an RSI oversold reading means nothing without price structure context.
This indicator solves that by requiring multiple independent factors to align before generating reversal signals, then expressing the result as a probability score rather than a binary signal.
Why These Components Work Together
The indicator combines five analytical approaches, each addressing a different aspect of reversal detection:
1. RSI Extremes - Identifies momentum exhaustion (overbought/oversold)
2. MACD Crossovers - Confirms momentum direction change
3. Support/Resistance Proximity - Ensures price is at a significant level
4. Multi-Depth Momentum - Analyzes momentum across multiple timeframes
5. Statistical Probability - Quantifies reversal likelihood using Bayesian updating
These components are not randomly combined. Each filter catches reversals that others miss:
RSI catches momentum exhaustion but misses structural reversals
MACD catches momentum shifts but lags price action
S/R proximity catches structural levels but ignores momentum
Multi-depth momentum catches divergences across timeframes
Probability scoring combines all factors into actionable confidence levels
How the Detection System Works
Step 1: Pattern Detection
The indicator first identifies potential reversal conditions:
// Check if price is at support/resistance
float lowestLow = ta.lowest(low, period)
float highestHigh = ta.highest(high, period)
bool atSupport = low <= lowestLow * 1.002
bool atResistance = high >= highestHigh * 0.998
// Check RSI conditions
float rsi = ta.rsi(close, 14)
bool oversold = rsi < 30
bool overbought = rsi > 70
// Check MACD crossover
float macd = ta.ema(close, 12) - ta.ema(close, 26)
float signal = ta.ema(macd, 9)
bool macdBullish = ta.crossover(macd, signal)
bool macdBearish = ta.crossunder(macd, signal)
// Combine for reversal detection
if atSupport and oversold and macdBullish
bullishReversal := true
Step 2: Multi-Depth Momentum Analysis
The indicator calculates momentum across multiple periods to detect divergences:
calculateQuantumMomentum(series float price, simple int period, simple int depth) =>
float totalMomentum = 0.0
for i = 0 to depth - 1
int currentPeriod = period * (i + 1)
float momentum = ta.roc(price, currentPeriod)
totalMomentum += momentum
totalMomentum / depth
This creates a composite momentum reading that smooths out noise while preserving genuine momentum shifts.
Step 3: Bayesian Probability Calculation
The indicator uses Bayesian updating to calculate reversal probability:
bayesianProbability(series float priorProb, series float likelihood, series float evidence) =>
float posterior = evidence > 0 ? (likelihood * priorProb) / evidence : priorProb
math.min(math.max(posterior, 0.0), 1.0)
The prior probability starts at 50% and updates based on:
RSI extreme readings increase likelihood
MACD crossovers increase likelihood
S/R proximity increases likelihood
Momentum divergence increases likelihood
Step 4: Confidence Intervals
Using Monte Carlo simulation concepts, the indicator estimates price distribution:
monteCarloSimulation(series float price, series float volatility, simple int iterations) =>
float sumPrice = 0.0
float sumSqDiff = 0.0
for i = 0 to iterations - 1
float randomFactor = (i % 10 - 5) / 10.0
float simulatedPrice = price + volatility * randomFactor
sumPrice += simulatedPrice
float avgPrice = sumPrice / iterations
// Calculate standard deviation for confidence intervals
This provides 95% and 99% confidence bands around the current price.
Signal Classification
Signals are classified by confirmation level:
Confirmed Reversal : Pattern detected for N consecutive bars (default 3)
High Probability : Confirmed + Bayesian probability > 70%
Ultra High Probability : High probability + PDF above average
Dashboard Information
The dashboard displays:
Bayesian Probability - Updated reversal probability (0-100%)
Quantum Momentum - Multi-depth momentum average
RSI - Current RSI value with overbought/oversold status
Volatility - Current ATR as percentage of price
Reversal Signal - BULLISH, BEARISH, or NONE
Divergence - Momentum divergence detection
MACD - Current MACD histogram value
S/R Zone - AT SUPPORT, AT RESISTANCE, or NEUTRAL
95% Confidence - Price range with 95% probability
Bull/Bear Targets - ATR-based reversal targets
Visual Elements
Quantum Bands - ATR-based upper and lower channels
Probability Field - Circle layers showing probability distribution
Confidence Bands - 95% and 99% confidence interval circles
Reversal Labels - REV markers at confirmed reversals
High Probability Markers - Star diamonds at high probability setups
Reversal Zones - Boxes around confirmed reversal areas
Divergence Markers - Triangles at momentum divergences
How to Use This Indicator
For Reversal Trading:
1. Wait for Bayesian Probability to exceed 70%
2. Confirm price is at S/R zone (dashboard shows AT SUPPORT or AT RESISTANCE)
3. Check that RSI is in extreme territory (oversold for longs, overbought for shorts)
4. Enter when REV label appears with high probability marker
For Risk Management:
1. Use the 95% confidence band as a stop-loss reference
2. Use Bull/Bear Targets for take-profit levels
3. Higher probability readings warrant larger position sizes
For Filtering False Signals:
1. Increase Confirmation Bars to require more consecutive signals
2. Only trade when probability exceeds 70%
3. Require divergence confirmation for highest conviction
Input Parameters
Reversal Period (21) - Lookback for S/R and momentum calculations
Quantum Depth (5) - Number of momentum layers for multi-depth analysis
Confirmation Bars (3) - Consecutive bars required for confirmation
Detection Sensitivity (1.2) - Band width and target multiplier
Bayesian Probability (true) - Enable probability calculation
Monte Carlo Simulation (true) - Enable confidence interval calculation
Normal Distribution (true) - Enable PDF calculation
Confidence Intervals (true) - Enable confidence bands
Timeframe Recommendations
1H-4H: Best for swing trading reversals
Daily: Fewer but more significant reversal signals
15m-30m: More signals, requires higher probability threshold
Limitations
Statistical concepts are simplified implementations for Pine Script
Monte Carlo uses deterministic pseudo-random factors, not true randomness
Bayesian probability uses simplified prior/likelihood model
Reversal detection does not guarantee actual reversals will occur
Confirmation bars add lag to signal generation
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. The source code is fully visible and can be studied to understand how each component works.
This indicator does not constitute financial advice. Reversal detection is probabilistic, not predictive. The probability scores represent statistical likelihood based on historical patterns, not guaranteed outcomes. Past performance does not guarantee future results. Always use proper risk management, position sizing, and stop-losses.
- Made with passion by officialjackofalltrades
Photon Price Action Scanner [JOAT]Photon Price Action Scanner - Multi-Pattern Recognition with Adaptive Filtering
Introduction and Purpose
Photon Price Action Scanner is an open-source overlay indicator that automates the detection of 15+ candlestick patterns while filtering them through multiple confirmation layers. The core problem this indicator solves is pattern noise: raw candlestick pattern detection produces too many signals, most of which fail because they lack context. This indicator addresses that by combining pattern recognition with trend alignment, volume-weighted strength scoring, velocity confirmation, and an adaptive neural bias filter.
The combination of these components is not arbitrary. Each filter addresses a specific weakness in standalone pattern detection:
Trend alignment ensures patterns appear in favorable market structure
Volume-weighted strength filters out weak patterns with low conviction
Velocity confirmation identifies momentum behind the pattern
Neural bias filter adapts to recent price behavior to avoid counter-trend signals
What Makes This Indicator Original
While candlestick pattern scanners exist, this indicator's originality comes from:
1. Multi-Layer Filtering System - Patterns must pass through trend, strength, velocity, and neural bias filters before generating signals. This dramatically reduces false positives compared to simple pattern detection.
2. Adaptive Neural Bias Filter - A custom momentum-adjusted EMA that learns from recent price action using a configurable learning rate. This is not a standard moving average but an adaptive filter that accelerates during trends and smooths during consolidation.
3. Pattern Strength Scoring - Each pattern receives a strength score based on volume ratio and body size, allowing traders to focus on high-conviction setups rather than every pattern occurrence.
4. Smart Cooldown System - Prevents signal overlap by enforcing minimum bar spacing between pattern labels, keeping charts clean even when "Show All Patterns" is enabled.
How the Components Work Together
Step 1: Pattern Detection
The indicator scans for 15 candlestick patterns using precise mathematical definitions:
// Example: Bullish Engulfing requires the current bullish candle to completely
// engulf the previous bearish candle with a larger body
isBullishEngulfing() =>
bool pattern = close < open and close > open and
open <= close and close >= open and
close - open > open - close
pattern
// Example: Three White Soldiers requires three consecutive bullish candles
// with each opening within the previous body and closing higher
isThreeWhiteSoldiers() =>
bool pattern = close > open and close > open and close > open and
close < close and close < close and
open > open and open < close and
open > open and open < close
pattern
Step 2: Strength Calculation
Each detected pattern receives a strength score combining volume and body size:
float volRatio = avgVolume > 0 ? volume / avgVolume : 1.0
float bodySize = math.abs(close - open) / close
float baseStrength = (volRatio + bodySize * 100) / 2
This ensures patterns with above-average volume and large bodies score higher than weak patterns on low volume.
Step 3: Trend Alignment
Patterns are checked against the trend direction using an EMA:
float trendEMA = ta.ema(close, i_trendPeriod)
int trendDir = close > trendEMA ? 1 : close < trendEMA ? -1 : 0
Bullish patterns in uptrends and bearish patterns in downtrends receive priority.
Step 4: Neural Bias Filter
The adaptive filter uses a momentum-adjusted EMA that responds to price changes:
neuralEMA(series float src, simple int period, simple float lr) =>
var float neuralValue = na
var float momentum = 0.0
if na(neuralValue)
neuralValue := src
float error = src - neuralValue
float adjustment = error * lr
momentum := momentum * 0.9 + adjustment * 0.1
neuralValue := neuralValue + adjustment + momentum
neuralValue
The learning rate (lr) controls how quickly the filter adapts. Higher values make it more responsive; lower values make it smoother.
Step 5: Velocity Confirmation
Price velocity (rate of change) must exceed the average velocity for strong signals:
float velocity = ta.roc(close, i_trendPeriod)
float avgVelocity = ta.sma(velocity, i_trendPeriod)
bool velocityBull = velocity > avgVelocity * 1.5
Step 6: Signal Classification
Signals are classified based on how many filters they pass:
Strong Pattern : Pattern + strength threshold + trend alignment + neural bias + velocity
Ultra Pattern : Strong pattern + gap in same direction + velocity confirmation
Watch Pattern : Pattern detected but not all filters passed
Detected Patterns
Classic Reversal Patterns:
Bullish/Bearish Engulfing - Complete body engulfment with larger body
Hammer - Long lower wick (2x body), small upper wick, bullish context
Shooting Star - Long upper wick (2x body), small lower wick, bearish context
Morning Star - Three-bar bullish reversal with small middle body
Evening Star - Three-bar bearish reversal with small middle body
Piercing Line - Bullish candle closing above midpoint of previous bearish candle
Dark Cloud Cover - Bearish candle closing below midpoint of previous bullish candle
Bullish/Bearish Harami - Small body contained within previous larger body
Doji - Body less than 10% of total range (indecision)
Advanced Patterns (Optional):
Three White Soldiers - Three consecutive bullish candles with rising closes
Three Black Crows - Three consecutive bearish candles with falling closes
Tweezer Top - Equal highs with reversal candle structure
Tweezer Bottom - Equal lows with reversal candle structure
Island Reversal - Gap isolation creating reversal structure
Dashboard Information
The dashboard displays real-time analysis:
Pattern - Current detected pattern name or "SCANNING..."
Bull/Bear Strength - Volume-weighted strength scores
Trend - UPTREND, DOWNTREND, or SIDEWAYS based on EMA
RSI - 14-period RSI for momentum context
Momentum - 10-period momentum reading
Volatility - ATR as percentage of price
Neural Bias - BULLISH, BEARISH, or NEUTRAL from adaptive filter
Action - ULTRA BUY/SELL, BUY/SELL, WATCH BUY/SELL, or WAIT
Visual Elements
Pattern Labels - Abbreviated codes (BE=Engulfing, H=Hammer, MS=Morning Star, etc.)
Neural Bias Line - Adaptive trend line showing filter direction
Gap Boxes - Cyan boxes highlighting price gaps
Action Zones - Dashed boxes around strong pattern areas
Velocity Markers - Small circles when velocity confirms direction
Ultra Signals - Large labels for highest conviction setups
How to Use This Indicator
For Reversal Trading:
1. Wait for a pattern to appear at a key support/resistance level
2. Check that the Action shows "BUY" or "SELL" (not just "WATCH")
3. Confirm the Neural Bias aligns with your trade direction
4. Use the strength score to gauge conviction (higher is better)
For Trend Continuation:
1. Identify the trend using the Trend row in the dashboard
2. Look for patterns that align with the trend (bullish patterns in uptrends)
3. Ultra signals indicate the strongest continuation setups
For Filtering Noise:
1. Keep "Show All Patterns" disabled to see only filtered signals
2. Increase "Pattern Strength Filter" to see fewer, higher-quality patterns
3. Enable "Velocity Confirmation" to require momentum behind patterns
Input Parameters
Scan Sensitivity (1.0) - Overall detection sensitivity multiplier
Pattern Strength Filter (3) - Minimum strength score for strong signals
Trend Period (20) - EMA period for trend determination
Show All Patterns (false) - Display all patterns regardless of filters
Advanced Patterns (true) - Enable soldiers/crows/tweezer detection
Gap Analysis (true) - Enable gap detection and boxes
Velocity Confirmation (true) - Require velocity for strong signals
Neural Bias Filter (true) - Enable adaptive trend filter
Neural Period (50) - Lookback for neural bias calculation
Neural Learning Rate (0.12) - Adaptation speed (0.01-0.5)
Timeframe Recommendations
1H-4H: Best balance of signal frequency and reliability
Daily: Fewer but more significant patterns
15m-30m: More signals, requires tighter filtering (increase strength threshold)
Limitations
Pattern detection is mechanical and does not consider fundamental context
Neural bias filter may lag during rapid trend reversals
Gap detection requires clean price data without after-hours gaps
Strength scoring favors high-volume patterns, which may miss valid low-volume setups
- Made with passion by officialjackofalltrades
Volume-Weighted Price Z-Score [QuantAlgo]🟢 Overview
The Volume-Weighted Price Z-Score indicator quantifies price deviations from volume-weighted equilibrium using statistical standardization. It combines volume-weighted moving average analysis with logarithmic deviation measurement and volatility normalization to identify when prices have moved to statistically extreme levels relative to their volume-weighted baseline, helping traders and investors spot potential mean reversion opportunities across multiple timeframes and asset classes.
🟢 How It Works
The indicator's core methodology lies in its volume-weighted statistical approach, where price displacement is measured through normalized deviations from volume-weighted price levels:
volumeWeightedAverage = ta.vwma(priceSource, lookbackPeriod)
logDeviation = math.log(priceSource / volumeWeightedAverage)
volatilityMeasure = ta.stdev(logDeviation, lookbackPeriod)
The script uses logarithmic transformation to capture proportional price changes rather than absolute differences, ensuring equal treatment of percentage moves regardless of price level:
rawZScore = logDeviation / volatilityMeasure
zScore = ta.ema(rawZScore, smoothingPeriod)
First, it establishes the volume-weighted baseline which gives greater weight to price levels where significant trading occurred, creating a more representative equilibrium point than simple moving averages.
Then, the logarithmic deviation measurement converts the price-to-average ratio into a normalized scale:
logDeviation = math.log(priceSource / volumeWeightedAverage)
Next, statistical normalization is achieved by dividing the deviation by its own historical volatility, creating a standardized z-score that measures how many standard deviations the current price sits from the volume-weighted mean.
Finally, EMA smoothing filters noise while preserving the signal's responsiveness to genuine market extremes:
rawZScore = logDeviation / volatilityMeasure
zScore = ta.ema(rawZScore, smoothingPeriod)
This creates a volume-anchored statistical oscillator that combines price-volume relationship analysis with volatility-adjusted normalization, providing traders with probabilistic insights into market extremes and mean reversion potential based on standard deviation thresholds.
🟢 Signal Interpretation
▶ Positive Values (Above Zero): Price trading above volume-weighted average indicating potential overvaluation relative to volume-weighted equilibrium = Caution on longs, potential mean reversion downward = Short/sell opportunities
▶ Negative Values (Below Zero): Price trading below volume-weighted average indicating potential undervaluation relative to volume-weighted equilibrium = Caution on shorts, potential mean reversion upward = Long/buy opportunities
▶ Zero Line Crosses: Mean reversion transitions where price crosses back through volume-weighted equilibrium, indicating shift from overvalued to undervalued (or vice versa) territory
▶ Extreme Positive Zone (Above +2.5σ default): Statistically rare overvaluation representing 98.8%+ confidence level deviation, indicating extremely stretched bullish conditions with high mean reversion probability = Strong correction warning/short signal
▶ Extreme Negative Zone (Below -2.5σ default): Statistically rare undervaluation representing 98.8%+ confidence level deviation, indicating extremely stretched bearish conditions with high mean reversion probability = Strong buying opportunity signal
▶ ±1σ Reference Levels: Moderate deviation zones (±1 standard deviation) marking common price fluctuation boundaries where approximately 68% of price action occurs under normal distribution
▶ ±2σ Reference Levels: Significant deviation zones (±2 standard deviations) marking unusual price extremes where approximately 95% of price action should be contained under normal conditions
🟢 Features
▶ Preconfigured Presets: Three optimized parameter sets accommodate different analytical approaches, instruments and timeframes. "Default" provides balanced statistical measurement suitable for swing trading and daily/4-hour analysis, offering deviation detection with moderate responsiveness to price dislocations. "Fast Response" delivers heightened sensitivity optimized for intraday trading and scalping on 15-minute to 1-hour charts, using shorter statistical windows and minimal smoothing to capture rapid mean reversion opportunities as they develop. "Smooth Trend" offers conservative extreme identification ideal for position trading on daily to weekly charts, employing extended statistical periods and heavy noise filtering to isolate only the most significant market extremes.
▶ Built-in Alerts: Seven alert conditions enable comprehensive automated monitoring of statistical extremes and mean reversion events. Extreme Overbought triggers when z-score crosses above the extreme threshold (default +2.5σ) signaling rare overvaluation, Extreme Oversold activates when z-score crosses below the negative extreme threshold (default -2.5σ) signaling rare undervaluation. Exit Extreme Overbought and Exit Extreme Oversold alert when prices begin reverting from these statistical extremes back toward the mean. Bullish Mean Reversion notifies when z-score crosses above zero indicating shift to overvalued territory, while Bearish Mean Reversion triggers on crosses below zero indicating shift to undervalued territory. Any Extreme Level provides a combined alert for any extreme threshold breach regardless of direction. These notifications allow you to capitalize on statistically significant price dislocations without continuous chart monitoring.
▶ Color Customization: Six visual themes (Classic, Aqua, Cosmic, Ember, Neon, plus Custom) accommodate different chart backgrounds and visual preferences, ensuring optimal contrast for identifying positive versus negative deviations across trading environments. The adjustable fill transparency control (0-100%) allows fine-tuning of the gradient area prominence between the z-score line and zero baseline, with higher opacity values creating subtle background context while lower values produce bold deviation emphasis. Optional bar coloring extends the z-score gradient directly to the indicator pane bars, providing immediate visual reinforcement of current deviation magnitude and direction without requiring reference to the plotted line itself.
*Note: This indicator requires volume data to function correctly, as it calculates deviations from a volume-weighted price average. Tickers with no volume data or extremely limited volume will not produce meaningful results, i.e., the indicator may display flat lines, erratic values, or fail to calculate properly. Using this indicator on assets without volume data (certain forex pairs, synthetic indices, or instruments with unreported/unavailable volume) will produce unreliable or no results at all. Additionally, ensure your chart has sufficient historical data to cover the selected lookback period, e.g., using a 100-bar lookback on a chart with only 50 bars of history will yield incomplete or inaccurate calculations. Always verify your chosen ticker has consistent, accurate volume information and adequate price history before applying this indicator.
Cosmic Volume Analyzer [JOAT]
Cosmic Volume Analyzer - Astrophysics Edition
Overview
Cosmic Volume Analyzer is an open-source oscillator indicator that applies astrophysics-inspired concepts to volume analysis. It classifies volume into buy/sell categories, calculates volume flow, detects accumulation/distribution phases, identifies climax volume events, and uses gravitational and stellar mass analogies to visualize volume dynamics.
What This Indicator Does
The indicator calculates and displays:
Volume Classification - Categorizes each bar as CLIMAX_BUY, CLIMAX_SELL, HIGH_BUY, HIGH_SELL, NORMAL_BUY, or NORMAL_SELL
Volume Flow - Percentage showing buy vs sell pressure over a lookback period
Buy/Sell Volume - Separated volume based on candle direction
Accumulation/Distribution - Phase detection using Money Flow Multiplier
Volume Oscillator - Fast vs slow volume EMA comparison
Gravitational Pull - Volume-weighted price attraction metric
Stellar Mass Index - Volume ratio combined with price momentum
Black Hole Detection - Identifies extremely low volume periods (liquidity voids)
Supernova Events - Detects extreme volume with extreme price movement
Orbital Cycles - Sine-wave based cyclical visualization
How It Works
Volume classification uses volume ratio and candle direction:
classifyVolume(series float vol, series float close, series float open) =>
float avgVol = ta.sma(vol, 20)
float volRatio = avgVol > 0 ? vol / avgVol : 1.0
if volRatio > 1.5
if close > open
classification := "CLIMAX_BUY"
else
classification := "CLIMAX_SELL"
else if volRatio > 1.2
// HIGH_BUY or HIGH_SELL
else
// NORMAL_BUY or NORMAL_SELL
Volume flow separates buy and sell volume over a period:
calculateVolumeFlow(series float vol, series float close, simple int period) =>
float currentBuyVol = close > open ? vol : 0.0
float currentSellVol = close < open ? vol : 0.0
// Accumulate in buffers
float flow = (buyVolume - sellVolume) / totalVol * 100
Accumulation/Distribution uses the Money Flow Multiplier:
float mfm = ((close - low) - (high - close)) / (high - low)
float mfv = mfm * vol
float adLine = ta.cum(mfv)
if adLine > adEMA and ta.rising(adLine, 3)
phase := "ACCUMULATION"
else if adLine < adEMA and ta.falling(adLine, 3)
phase := "DISTRIBUTION"
Gravitational pull uses volume-weighted price distance:
gravitationalPull(series float vol, series float price, simple int period) =>
float massCenter = ta.vwma(price, period)
float distance = math.abs(price - massCenter)
float mass = vol / ta.sma(vol, period)
float gravity = distance > 0 ? mass / (distance * distance) : 0.0
Signal Generation
Signals are generated based on volume conditions:
Buy Climax: Volume exceeds 2 standard deviations above average on bullish candle
Sell Climax: Volume exceeds 2 standard deviations above average on bearish candle
Strong Buy Flow: Volume flow exceeds positive threshold (default 45%)
Strong Sell Flow: Volume flow exceeds negative threshold (default -45%)
Supernova: Volume 3x average AND price change 3x average
Black Hole: Volume 2 standard deviations below average
Dashboard Panel (Top-Right)
Volume Class - Current volume classification
Volume Flow - Buy/sell flow percentage
Buy Volume - Accumulated buy volume
Sell Volume - Accumulated sell volume
A/D Phase - ACCUMULATION/DISTRIBUTION/NEUTRAL
Volume Strength - Normalized volume strength
Gravity Pull - Current gravitational metric
Stellar Mass - Current stellar mass index
Cosmic Field - Combined cosmic field strength
Black Hole - Detection status and void strength
Signal - Current actionable status
Visual Elements
Volume Ratio Columns - Colored bars showing normalized volume
Volume Flow Line - Main oscillator showing flow direction
Flow EMA - Smoothed flow for trend reference
Volume Oscillator - Area plot showing fast/slow comparison
Gravity Field - Area plot showing gravitational pull
Orbital Cycle - Circle plots showing cyclical pattern
Stellar Mass Line - Line showing mass index
Climax Markers - Fire emoji for buy climax, snowflake for sell climax
Supernova Markers - Diamond shapes for extreme events
Black Hole Markers - X-cross for liquidity voids
A/D Phase Background - Subtle background color based on phase
Input Parameters
Volume Period (default: 20) - Period for volume calculations
Distribution Levels (default: 5) - Granularity of distribution analysis
Flow Threshold (default: 1.5) - Multiplier for flow significance
Accumulation Period (default: 14) - Period for A/D calculation
Gravitational Analysis (default: true) - Enable gravity metrics
Black Hole Detection (default: true) - Enable void detection
Stellar Mass Calculation (default: true) - Enable mass index
Orbital Cycles (default: true) - Enable cyclical visualization
Supernova Detection (default: true) - Enable extreme event detection
Suggested Use Cases
Identify accumulation phases for potential long entries
Watch for distribution phases as potential exit signals
Use climax volume as potential exhaustion indicators
Monitor volume flow for directional bias
Avoid trading during black hole (low liquidity) periods
Watch for supernova events as potential trend acceleration
Timeframe Recommendations
Best on 15m to Daily charts. Volume analysis requires sufficient trading activity for meaningful readings.
Limitations
Volume data quality varies by exchange and instrument
Buy/sell separation is based on candle direction, not actual order flow
Astrophysics concepts are analogies, not literal physics
A/D phase detection may lag during rapid transitions
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Entropy Balance Oscillator [JOAT]
Entropy Balance Oscillator - Chaos Theory Edition
Overview
Entropy Balance Oscillator is an open-source oscillator indicator that applies chaos theory concepts to market analysis. It calculates market entropy (disorder/randomness), balance (price position within range), and various chaos metrics to identify whether the market is in an ordered, chaotic, or balanced state. This helps traders understand market regime and adjust their strategies accordingly.
What This Indicator Does
The indicator calculates and displays:
Entropy - Measures market disorder using return distribution analysis
Balance - Price position within the high-low range, normalized to -1 to +1
Lyapunov Exponent - Estimates sensitivity to initial conditions (chaos indicator)
Hurst Exponent - Measures long-term memory in price series (trend persistence)
Strange Attractor - Simulated attractor points for visualization
Bifurcation Detection - Identifies potential regime change points
Chaos Index - Combined entropy and volatility score
Market Phase - Classification as CHAOS, ORDER, or BALANCED
How It Works
Entropy is calculated using return distribution:
calculateEntropy(series float price, simple int period) =>
// Calculate returns and their absolute values
// Sum absolute returns for normalization
// Apply Shannon entropy formula: -sum(p * log(p))
float entropy = 0.0
for i = 0 to array.size(returns) - 1
float prob = math.abs(array.get(returns, i)) / sumAbs
if prob > 0
entropy -= prob * math.log(prob)
entropy
Balance measures price position within range:
calculateBalance(series float high, series float low, series float close, simple int period) =>
float range = high - low
float position = (close - low) / (range > 0 ? range : 1)
float balance = ta.ema(position, period)
(balance - 0.5) * 2 // Normalize to -1 to +1
Lyapunov Exponent estimates chaos sensitivity:
lyapunovExponent(series float price, simple int period) =>
float sumLog = 0.0
for i = 1 to period
float ratio = price > 0 ? math.abs(price / price ) : 1.0
if ratio > 0
sumLog += math.log(ratio)
lyapunov := sumLog / period
Hurst Exponent measures trend persistence:
H > 0.5: Trending/persistent behavior
H = 0.5: Random walk
H < 0.5: Mean-reverting behavior
Signal Generation
Phase changes and extreme conditions generate signals:
Chaos Phase: Normalized entropy exceeds chaos threshold (default 0.7)
Order Phase: Normalized entropy falls below order threshold (default 0.3)
Extreme Chaos: Entropy exceeds 1.5x chaos threshold
Extreme Order: Entropy falls below 0.5x order threshold
Bifurcation: Variance exceeds 2x average variance
Dashboard Panel (Top-Right)
Market Phase - Current phase (CHAOS/ORDER/BALANCED)
Entropy Level - Normalized entropy value
Balance - Current balance reading (-1 to +1)
Chaos Index - Combined chaos score percentage
Volatility - Current price volatility
Lyapunov Exp - Lyapunov exponent value
Hurst Exponent - Hurst exponent value
Chaos Score - Overall chaos assessment
Status - Current market status
Visual Elements
Entropy Line - Main oscillator showing normalized entropy
Entropy EMA - Smoothed entropy for trend reference
Balance Area - Filled area showing balance direction
Chaos/Order Thresholds - Horizontal dashed lines
Lyapunov Line - Step line showing Lyapunov exponent
Strange Attractor - Circle plots showing attractor points
Phase Space - Line showing phase space reconstruction
Phase Background - Background color based on current phase
Extreme Markers - X-cross for extreme chaos, diamond for extreme order
Bifurcation Markers - Circles at potential regime changes
Input Parameters
Entropy Period (default: 20) - Period for entropy calculation
Balance Period (default: 14) - Period for balance calculation
Chaos Threshold (default: 0.7) - Threshold for chaos phase
Order Threshold (default: 0.3) - Threshold for order phase
Lyapunov Exponent (default: true) - Enable Lyapunov calculation
Hurst Exponent (default: true) - Enable Hurst calculation
Strange Attractor (default: true) - Enable attractor visualization
Bifurcation Detection (default: true) - Enable bifurcation detection
Suggested Use Cases
Identify market regime for strategy selection (trend-following vs mean-reversion)
Watch for phase changes as potential trading environment shifts
Use Hurst exponent to assess trend persistence
Monitor chaos index for volatility regime awareness
Avoid trading during extreme chaos phases
Timeframe Recommendations
Best on 1H to Daily charts. Chaos metrics require sufficient data for meaningful calculations.
Limitations
Chaos theory concepts are applied as analogies, not rigorous mathematical implementations
Lyapunov and Hurst calculations are simplified approximations
Strange attractor visualization is conceptual
Bifurcation detection uses variance as proxy
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Velocity Divergence Radar [JOAT]
Velocity Divergence Radar - Momentum Physics Edition
Overview
Velocity Divergence Radar is an open-source oscillator indicator that applies physics concepts to market analysis. It calculates price velocity (rate of change), acceleration (rate of velocity change), and jerk (rate of acceleration change) to provide a multi-dimensional view of momentum. The indicator also includes divergence detection and force vector analysis.
What This Indicator Does
The indicator calculates and displays:
Velocity - Rate of price change over a configurable period, smoothed with EMA
Acceleration - Rate of velocity change, showing momentum shifts
Jerk (3rd Derivative) - Rate of acceleration change, indicating momentum stability
Force Vectors - Volume-weighted acceleration representing market force
Kinetic Energy - Calculated as 0.5 * mass (volume ratio) * velocity squared
Momentum Conservation - Tracks momentum relative to historical average
Divergence Detection - Identifies when price and velocity diverge at pivots
How It Works
Velocity is calculated as smoothed rate of change:
calculateVelocity(series float price, simple int period) =>
float roc = ta.roc(price, period)
float velocity = ta.ema(roc, period / 2)
velocity
Acceleration is the change in velocity:
calculateAcceleration(series float velocity, simple int period) =>
float accel = ta.change(velocity, period)
float smoothAccel = ta.ema(accel, period / 2)
smoothAccel
Jerk is the change in acceleration:
calculateJerk(series float acceleration, simple int period) =>
float jerk = ta.change(acceleration, period)
float smoothJerk = ta.ema(jerk, period / 2)
smoothJerk
Force is calculated using F = m * a (mass approximated by volume ratio):
calculateForceVector(series float mass, series float acceleration) =>
float force = mass * acceleration
float forceDirection = math.sign(force)
float forceMagnitude = math.abs(force)
Signal Generation
Signals are generated based on velocity behavior:
Bullish Divergence: Price makes lower low while velocity makes higher low
Bearish Divergence: Price makes higher high while velocity makes lower high
Velocity Cross: Velocity crosses above/below zero line
Extreme Velocity: Velocity exceeds 1.5x the upper/lower zone threshold
Jerk Extreme: Jerk exceeds 2x standard deviation
Force Extreme: Force magnitude exceeds 2x average
Dashboard Panel (Top-Right)
Velocity - Current velocity value
Acceleration - Current acceleration value
Momentum Strength - Combined velocity and acceleration strength
Radar Score - Composite score based on velocity and acceleration
Direction - STRONG UP/SLOWING UP/STRONG DOWN/SLOWING DOWN/FLAT
Jerk - Current jerk value
Force Vector - Current force magnitude
Kinetic Energy - Current kinetic energy value
Physics Score - Overall physics-based momentum score
Signal - Current actionable status
Visual Elements
Velocity Line - Main oscillator line with color based on direction
Velocity EMA - Smoothed velocity for trend reference
Acceleration Histogram - Bar chart showing acceleration direction
Jerk Area - Filled area showing jerk magnitude
Vector Magnitude - Line showing combined vector strength
Radar Scan - Oscillating pattern for visual effect
Zone Lines - Upper and lower threshold lines
Divergence Labels - BULL DIV / BEAR DIV markers
Extreme Markers - Triangles at velocity extremes
Input Parameters
Velocity Period (default: 14) - Period for velocity calculation
Acceleration Period (default: 7) - Period for acceleration calculation
Divergence Lookback (default: 10) - Bars to scan for divergence
Radar Sensitivity (default: 1.0) - Zone threshold multiplier
Jerk Analysis (default: true) - Enable 3rd derivative calculation
Force Vectors (default: true) - Enable force analysis
Kinetic Energy (default: true) - Enable energy calculation
Momentum Conservation (default: true) - Enable momentum tracking
Suggested Use Cases
Identify momentum direction using velocity sign and magnitude
Watch for divergences as potential reversal warnings
Use acceleration to detect momentum shifts before price confirms
Monitor jerk for momentum stability assessment
Combine force and kinetic energy for conviction analysis
Timeframe Recommendations
Works on all timeframes. Higher timeframes provide smoother readings; lower timeframes show more granular momentum changes.
Limitations
Physics analogies are conceptual and not literal market physics
Divergence detection uses pivot-based lookback and may lag
Force calculation uses volume ratio as mass proxy
Kinetic energy is a derived metric, not actual energy
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Harmonic Liquidity Waves [JOAT]Harmonic Liquidity Waves
Overview
Harmonic Liquidity Waves is an open-source oscillator indicator that combines multiple volume-based analysis techniques into a unified liquidity flow framework. It integrates VWAP calculations, Chaikin Money Flow (CMF), Money Flow Index (MFI), and Klinger Volume Oscillator (KVO) with custom harmonic wave calculations to provide a comprehensive view of volume dynamics and money flow.
What This Indicator Does
The indicator calculates and displays:
Liquidity Flow - Volume-weighted price movement accumulated over a lookback period
Harmonic Wave - Multi-depth smoothed oscillator derived from liquidity flow
Chaikin Money Flow (CMF) - Classic accumulation/distribution indicator
Money Flow Index (MFI) - Volume-weighted RSI showing buying/selling pressure
Klinger Volume Oscillator (KVO) - Trend-volume relationship indicator
Wave Interference - Combined constructive/destructive wave patterns
Volume Profile POC - Point of Control from simplified volume distribution
How It Works
The core liquidity flow calculation tracks volume-weighted price changes:
calculateLiquidityFlow(series float vol, series float price, simple int period) =>
float priceChange = ta.change(price)
float volumeFlow = vol * math.sign(priceChange)
// Accumulated over period using buffer array
float avgFlow = flowSum / period
avgFlow
The harmonic oscillator applies multi-depth smoothing:
harmonicOscillator(series float flow, simple int depth, simple int period) =>
float harmonic = 0.0
for i = 1 to depth
float wave = ta.ema(flow, period * i) / i
harmonic += wave
harmonic / depth
CMF measures accumulation/distribution using the Money Flow Multiplier:
float mfm = ((close - low) - (high - close)) / (high - low)
float mfv = mfm * vol
float cmf = ta.sum(mfv, period) / ta.sum(vol, period) * 100
Signal Generation
Liquidity shift signals occur when:
Bullish Shift: Smoothed wave crosses above signal line
Bearish Shift: Smoothed wave crosses below signal line
Strong signals require volume indicator confirmation:
Strong Bull: Bullish shift + CMF > 0 + MFI > 50 + KVO > 0
Strong Bear: Bearish shift + CMF < 0 + MFI < 50 + KVO < 0
Divergence detection compares price pivots with liquidity wave pivots to identify potential reversals.
Dashboard Panel (Bottom-Right)
Wave Strength - Normalized wave magnitude
Volume Pressure - Current volume vs average percentage
Flow Direction - BUYING or SELLING based on wave sign
Histogram - Wave minus signal line value
CMF - Chaikin Money Flow reading
MFI - Money Flow Index value (0-100)
KVO - Klinger oscillator value
Vol Confluence - Combined volume indicator score
Signal - Current actionable status
Visual Elements
Liquidity Wave - Main oscillator line
Wave Signal - Smoothed signal line for crossover detection
Wave Histogram - Difference between wave and signal
Wave Interference - Area plot showing combined wave patterns
CMF/KVO/MFI Lines - Individual volume indicator plots
Divergence Labels - BULL DIV / BEAR DIV markers
Shift Markers - Triangles for basic shifts, labels for strong shifts
Input Parameters
Wave Period (default: 21) - Base period for liquidity calculations
Volume Weight (default: 1.5) - Multiplier for volume emphasis
Harmonic Depth (default: 3) - Number of smoothing layers
Smoothing (default: 3) - Final wave smoothing period
Suggested Use Cases
Identify accumulation/distribution phases using CMF and wave direction
Confirm momentum with MFI overbought/oversold readings
Watch for divergences between price and liquidity flow
Use strong signals when multiple volume indicators align
Timeframe Recommendations
Best on 15m to Daily charts. Volume-based indicators require sufficient trading activity for meaningful readings.
Limitations
Volume data quality varies by exchange and instrument
Divergence detection uses pivot-based lookback and may lag
Volume Profile POC is simplified and not a full profile analysis
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Ocean Master [JOAT]Ocean Master QE - Advanced Oceanic Market Analysis with Quantum Flow Dynamics
Overview
Ocean Master QE is an open-source overlay indicator that combines multiple analytical techniques into a unified market analysis framework. It uses ATR-based dynamic channels, volume-weighted order flow analysis, multi-timeframe correlation (quantum entanglement concept), and harmonic oscillator calculations to provide traders with a comprehensive view of market conditions.
What This Indicator Does
The indicator calculates and displays several key components:
Dynamic Price Channels - ATR-adjusted upper, middle, and lower channels that adapt to current volatility conditions
Order Flow Analysis - Separates buying and selling volume pressure to calculate a directional delta
Smart Money Index - Volume-weighted order flow metric that highlights potential institutional activity
Harmonic Oscillator - Weighted combination of 10 Fibonacci-period EMAs (5, 8, 13, 21, 34, 55, 89, 144, 233, 377) to identify trend direction
Multi-Timeframe Correlation - Measures price correlation across 1H, 4H, and Daily timeframes
Wave Function Analysis - Momentum-based state detection that identifies when price action becomes decisive
How It Works
The core channel calculation uses ATR with a configurable quantum sensitivity factor:
float atr = ta.atr(i_atrLength)
float quantumFactor = 1.0 + (i_quantumSensitivity * 0.1)
float quantumATR = atr * quantumFactor
upperChannel := ta.highest(high, i_length) - (quantumATR * 0.5)
lowerChannel := ta.lowest(low, i_length) + (quantumATR * 0.5)
midChannel := (upperChannel + lowerChannel) * 0.5
Order flow is calculated by separating volume into buy and sell components based on candle direction:
The harmonic oscillator weights shorter EMAs more heavily using inverse weighting (1/1, 1/2, 1/3... 1/10), creating a responsive yet smooth trend indicator.
Signal Generation
Confluence signals require multiple conditions to align:
Bullish: Harmonic oscillator crosses above zero + positive Smart Money Index + positive Order Flow Delta
Bearish: Harmonic oscillator crosses below zero + negative Smart Money Index + negative Order Flow Delta
Dashboard Panel (Top-Right)
Bias - Current market direction based on price vs mid-channel
Entanglement - Multi-timeframe correlation score (0-100%)
Wave State - COLLAPSED (decisive) or SUPERPOSITION (uncertain)
Volume - Current volume relative to 20-period average
Volatility - ATR as percentage of price
Smart Money - Volume-weighted order flow reading
Visual Elements
Ocean Depth Layers - Gradient fills between channel levels representing different price zones
Channel Lines - Upper (surface), middle, and lower (seabed) dynamic levels
Divergence Markers - Triangle shapes when harmonic oscillator crosses zero
Confluence Labels - BULL/BEAR labels when multiple factors align
Suggested Use Cases
Identify trend direction using the harmonic oscillator and channel position
Monitor order flow for potential institutional activity
Use multi-timeframe correlation to confirm trade direction across timeframes
Watch for confluence signals where multiple factors align
Input Parameters
Length (default: 14) - Base period for channel and indicator calculations
ATR Length (default: 14) - Period for ATR calculation
Quantum Depth (default: 3) - Complexity factor for calculations
Quantum Sensitivity (default: 1.5) - Channel width multiplier
Timeframe Recommendations
Works on all timeframes. Higher timeframes (4H, Daily) provide smoother signals; lower timeframes require faster reaction times and may produce more noise.
Limitations
Multi-timeframe requests add processing overhead
Order flow estimation is based on candle direction, not actual order book data
Correlation calculations require sufficient historical data
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management and conduct your own analysis before trading.
- Made with passion by officialjackofalltrades






















