Pro Stage (Weekly 30W) + Pro Trade Rating + RS/Volume + DebugA professional, multi-factor trend assessment tool built for swing traders and position traders who rely on Weinstein Stage Analysis, IBD-style relative strength, and institutional volume signals. Designed to give you a complete regime read + daily execution rating in one compact table.
Provides a multi-timeframe trend assessment for improved swing-trading decisions.
Identifies higher-timeframe trend conditions and presents a simplified classification.
Displays current trend state, prior trend state, and time in state.
Includes a proprietary Trade Quality Score designed for internal decision-making.
Score incorporates a combination of factors across multiple timeframes.
All calculations use a custom weighting model tailored for advanced users.
This indicator is not intended for reverse engineering or redistribution.
Indicators and strategies
CCI/RSI + Smoothed Heiken Ashi Filter + SMA Exit (paired)Logic Summary (English Version)
Long Condition (Blue)
• CCI(34) > 0
• CCI(174) > 0
• RSI > 55
→ As long as all three conditions remain true, display blue continuously.
→ If any one of the conditions fails, the blue signal disappears.
⸻
Short Condition (Red)
• CCI(34) < 0
• CCI(174) < 0
• RSI < 45
→ As long as all three conditions remain true, display red continuously.
→ If any one of the conditions fails, the red signal disappears.
Stop Hunt / Liquidity Sweep Detector with Momentum Ratingdetects liquidity sweeps as they happen then gives you a rating on how much momentum the reversal has.
Session VWAPs [cryptalent]This indicator provides a more granular and timely analysis of market structure compared to traditional daily Volume Weighted Average Price (VWAP). It splits the 24-hour trading day into four distinct, customizable sessions (T1, T2, T3, T4), calculating an independent Session VWAP and Standard Deviation Bands for each segment.
🌟 Key Features and Functionality
1. Segmented VWAP Calculation
Purpose: To track the true Volume Weighted Average Price (Fair Value) specific to the participants and trading activities within different global market sessions (e.g., Asian, European, US sessions).
Design: By default, the 24 hours (based on UTC time) are divided into T1 (00:00-06:00), T2 (06:00-12:00), T3 (12:00-20:00), and T4 (20:00-00:00).
Mechanism: The VWAP calculation resets at the start of each designated session, offering a clearer, segment-specific view of market consensus and volume absorption.
2. Standard Deviation Bands
Calculation: Each Session VWAP line is accompanied by upper and lower standard deviation bands.
Control: The width of these bands is controlled by the user input "Band Multiplier" (default is 1.0, representing one standard deviation).
Application: These bands measure the Volume-Weighted Volatility and define the expected "normal" trading range for the current session.
- Price within the bands suggests consolidation or a normal auction process.
- Price breaking out of the bands indicates strong directional momentum or an extreme/overbought/oversold condition for that specific session.
3. High Customization (User Inputs)
Session Timing: All four session start and end times (in UTC) are customizable, allowing traders to align the indicator with specific market hours or individual trading strategies.
Price Source: The source price used for the VWAP calculation is selectable (default is close).
💡 Trading Applications
1. Fair Value Identification: The VWAP line serves as the "Fair Value" or "Volume-Weighted Consensus Cost" for the active session.
Price above VWAP: Buyers are in control during that session.
Price below VWAP: Sellers are in control during that session.
2. Dynamic Support & Resistance: Both the VWAP and the Standard Deviation Bands often act as reliable dynamic support and resistance levels.
3. Volatility Assessment: The width of the bands reflects the volume-weighted volatility of the current session. Narrow bands suggest range-bound trading; wide bands imply strong directional activity.
4. Trend Strength: Sustained price action outside of the standard deviation bands is a key measure of the strength and commitment behind a current trend.
T-DOW-FLOW: Final Edition
T-DOW-FLOW: Market Structure & Smart Pivot Zones
This indicator is a comprehensive technical analysis tool designed to visualize "Market Structure" based on Dow Theory and precise Supply/Demand Zones. It helps traders identify the true market trend and high-probability reaction levels by analyzing raw price action (ZigZag Pivots) rather than lagging indicators.
The script integrates three core systems:
ZigZag Trend Cloud: Visualizes the market bias (Uptrend/Downtrend).
Smart Pivot Zones (Type 1): Highlights the specific "Wick-to-Body" area of recent pivots.
Auto Density Channels (Type 2): Detects historical support/resistance clusters.
1. ZigZag Trend Identification
Logic: The script utilizes ta.highestbars and ta.lowestbars to detect Swing Highs and Swing Lows.
Trend Cloud:
If the structure creates a Higher High, the background cloud turns Green (Uptrend).
If the structure creates a Lower Low, the background cloud turns Red (Downtrend).
This provides an instant visual filter for "Trend Flow," encouraging traders to trade only in the direction of the dominant market structure.
2. SR Type 1: Smart Pivot Zones (Wick-to-Body)
Unlike standard indicators that draw thin lines at the absolute High/Low, this script focuses on the "Imbalance Zone".
It calculates the price range between the Pivot's Wick and the Pivot's Body (Open/Close) and fills this area with a colored zone.
Why? The area between the wick and body often represents the precise zone where institutional orders were filled, acting as a more reliable support/resistance level than a single price point.
3. SR Type 2: Auto Density Channels
This module scans a significant amount of historical data (default: 300 bars) to find clusters of pivot points.
Areas where multiple pivots align within a specific width are drawn as Channels. These represent strong, long-term psychological levels.
Trend Filter: Check the Trend Cloud color.
Green: Look for Long opportunities.
Red: Look for Short opportunities.
Entry Trigger: Wait for the price to retrace into a Smart Pivot Zone (Type 1) or an Auto Channel (Type 2).
Look for price rejection (wicks) at these zones in the direction of the Trend Cloud.
Structure Confirmation: Use the ZigZag lines and labels (HH, HL, etc.) to confirm that the market structure is still intact before entering.
ZigZag Settings: Adjust the sensitivity of the trend detection.
SR Type 1: Toggle the "Wick-to-Body" fill and choose between Wicks or Bodies as the primary source.
SR Type 2: Adjust the historical loopback period and channel width sensitivity.
This script is for educational and technical analysis purposes only. Past performance does not guarantee future results.
(以下、日本語説明 / Japanese Description)
このインジケーターは、「ダウ理論」に基づくトレンド判定と、精密な「需給ゾーン(Supply/Demand)」を可視化するための市場構造分析ツールです。 遅行指標を使わず、純粋なプライスアクション(ZigZagピボット)に基づいて、機関投資家の意識する価格帯を特定します。
1. ZigZagトレンドクラウド
ロジック: 一定期間の高値・安値を検出し、ダウ理論に基づいてトレンドを判定します。
視覚化: 高値切り上げ(上昇トレンド)なら「緑」、安値切り下げ(下落トレンド)なら「赤」の背景色を表示します。これにより、トレードすべき方向(順張り)を一目で判断できます。
2. SR Type 1: スマートピボットゾーン (Wick-to-Body)
単なる水平線ではなく、ローソク足の**「ヒゲ先」から「実体」までの価格差**をゾーンとして塗りつぶして表示します。
理由: ヒゲと実体の間の領域は、大口の注文が執行された(需給の不均衡が発生した)重要なエリアであることが多く、ピンポイントのラインよりも信頼性の高い反発ゾーンとして機能します。
3. SR Type 2: オート・デンシティ・チャネル
過去の長期間(デフォルト300本)のデータをスキャンし、ピボットが密集している価格帯を自動で「チャネル」として描画します。長期的に意識される強力なレジサポ帯です。
環境認識: 背景のトレンドクラウドの色に従い、目線を固定します。
エントリー: 価格がSRゾーン(Type 1)やチャネル(Type 2)に引きつけて、反発する動きを確認してエントリーします。
構造確認: ZigZagラインとラベル(HH/HLなど)を見て、トレンドが崩れていないことを確認します。
FVG Maxing - Fair Value Gaps, Equilibrium, and Candle Patterns
What this script does
This open-source indicator highlights 3-candle fair value gaps (FVGs) on the active chart timeframe, draws their midpoint ("equilibrium") line, tracks when each gap is mitigated, and optionally marks simple candle patterns (engulfing and doji) for confluence. It is intended as an educational tool to study how price interacts with imbalances.
3-candle bullish and bearish FVG zones drawn as forward-extending boxes.
Equilibrium line at 50% of each gap.
Different styling for mitigated vs unmitigated gaps.
Compact statistics panel showing how many gaps are currently active and filled.
Optional overlays for bullish/bearish engulfing patterns and doji candles.
1. FVG logic (3-candle gaps)
The script focuses on a strict 3-candle definition of a fair value gap:
Three consecutive candles with the same body direction.
The wick of candle 3 is separated from the wick of candle 1 (no overlap).
A bullish gap is created when price moves up fast enough to leave a gap between candle 1 and 3. A bearish gap is the mirror case to the downside.
In Pine, the core detection looks like this:
// Three candles with the same body direction
bull_seq = close > open and close > open and close > open
bear_seq = close < open and close < open and close < open
// Wick gap between candle 1 and candle 3
bull_gap = bull_seq and low > high
bear_gap = bear_seq and high < low
// Final FVG flags
is_bull_fvg = bull_gap
is_bear_fvg = bear_gap
For each detected FVG:
Bullish FVG range: from high up to low (gap below current price).
Bearish FVG range: from low down to high (gap above current price).
Each zone is stored in a custom FVGData structure so it can be updated when price later trades back inside it.
2. Equilibrium line (0.5 of the gap)
Every FVG box gets an optional equilibrium line plotted at the midpoint between its top and bottom:
eq_level = (top + bottom) / 2.0
right_index = extend_boxes ? bar_index + extend_length_bars : bar_index
bx = box.new(bar_index - 2, top, right_index, bottom)
eq_ln = line.new(bar_index - 2, eq_level, right_index, eq_level)
line.set_style(eq_ln, line.style_dashed)
line.set_color(eq_ln, eq_color)
You can use this line as a neutral “fair value” reference inside the zone, or as a simple way to think in terms of premium/discount within each gap.
3. Mitigation rules and styling
Each FVG stays active until price trades back into the gap:
Bullish FVG is considered mitigated when the low touches or moves below the top of the gap.
Bearish FVG is considered mitigated when the high touches or moves above the bottom of the gap.
When that happens, the script:
Marks the internal FVGData entry as mitigated.
Softens the box fill and border colors.
Optionally updates the label text from "BULL EQ / BEAR EQ" to "BULL FILLED / BEAR FILLED".
Can hide mitigated zones almost completely if you only want to see unfilled imbalances.
This allows you to distinguish between current areas of interest and zones that have already been traded through.
4. Candle pattern overlays (engulfing and doji)
For additional confluence, the script can mark simple candle patterns on top of the FVG view:
Bullish engulfing — current candle body fully wraps the previous bearish body and is larger in size.
Bearish engulfing — current candle body fully wraps the previous bullish body and is larger in size.
Doji — candles where the real body is small relative to the full range (high–low).
The detection is based on basic body and range geometry:
curr_body = math.abs(close - open)
prev_body = math.abs(close - open )
curr_range = high - low
body_ratio = curr_range > 0 ? curr_body / curr_range : 1.0
bull_engulfing = close > open and close < open and open <= close and close >= open and curr_body > prev_body
bear_engulfing = close < open and close > open and open >= close and close <= open and curr_body > prev_body
is_doji = curr_range > 0 and body_ratio <= doji_body_ratio
On the chart, they appear as:
Small triangle markers below bullish engulfing candles.
Small triangle markers above bearish engulfing candles.
Small circles above doji candles.
All three overlays are optional and can be turned on or off and recolored in the CANDLE PATTERNS group of inputs.
5. Inputs overview
The script organizes settings into clear groups:
DISPLAY SETTINGS : Show bullish/bearish FVGs, show/hide mitigated zones, box extension length, box border width, and maximum number of boxes.
EQUILIBRIUM : Toggle equilibrium lines, color, and line width.
LABELS : Enable labels, choose whether to label unmitigated and/or mitigated zones, and select label size.
BULLISH COLORS / BEARISH COLORS : Separate fill and border colors for bullish and bearish gaps.
MITIGATED STYLE : Opacity used when a gap is marked as mitigated.
STATISTICS : Toggle the on-chart FVG statistics panel.
CANDLE PATTERNS : Show engulfing patterns, show dojis, colors, and the body-to-range threshold that defines a doji.
6. Statistics panel
An optional table in the corner of the chart summarizes the current state of all tracked gaps:
Total number of FVGs still being tracked.
Number of bullish vs bearish FVGs.
Number of unfilled vs mitigated FVGs.
Simple fill rate: percentage of tracked FVGs that have been marked as mitigated.
This can help you study how a particular market tends to treat gaps over time.
7. How you might use it (examples)
These are usage ideas only, not recommendations:
Study how often your symbol mitigates gaps and where inside the zone price tends to react.
Use higher-timeframe context and then refine entries near the equilibrium line on your trading timeframe.
Combine FVG zones with basic candle patterns (engulfing/doji) as an extra visual anchor, if that fits your process.
Hope you enjoy, give your feedback in the comments!
- officialjackofalltrades
MeanReversion_tradeALERTOverview The Apex Reversal Predictor v2.5 is a specialized mean reversion strategy designed for scalping high-volatility assets like NQ (Nasdaq), ES (S&P 500), and Crypto. While most indicators chase breakouts, this system hunts for "Liquidity Sweeps"—moments where the market briefly breaks a key level to trap retail traders before snapping back to the true value (VWAP).
This is not just a signal indicator; it is a full Trade Manager that calculates your Entry, Stop Loss, and Take Profit levels automatically based on volatility (ATR).
The Logic: Why This Works Markets act like a rubber band. They can only stretch so far from their average price before snapping back. This script combines three layers of logic to identify these snap-back points:
The Stretch (Sigma Score): Measures how far price is from the VWAP relative to ATR. If the score > 2.0, the "rubber band" is overextended.
The Trap (Liquidity Sweep): Identifies Pivot Highs/Lows. It waits for price to break a pivot (luring in breakout traders) and then immediately reverse (trapping them).
The Exhaustion (RSI): Confirms that momentum is Overbought/Oversold to prevent trading against a strong trend.
Key Features
Dynamic Lines: Automatically draws Blue (Entry), Red (SL), and Green (TP) lines on the chart for active trades.
Smart Targets: Two modes for taking profit:
Mean Reversion: Targets the VWAP line (High Win Rate).
Fixed Ratio: Targets a specific Risk:Reward (e.g., 1:2).
Live Dashboard: Tracks Win Rate, Net Points, and the live "Stretch Score" in the bottom right corner.
Alert Ready: Formatted JSON alerts for easy integration with Discord or trading bots.
How & When to Use (User Guide)
1. Best Timeframes
5-Minute (5m): Best for NQ and volatile stocks (TSLA, NVDA). Filters out 1-minute noise but catches the intraday reversals.
15-Minute (15m): Best for Forex or slower-moving indices (ES).
2. The Setup Checklist Before taking a trade, look at the Dashboard in the bottom right:
Step 1: Check the "Stretch (Sigma)". Is it Orange or Red? This means price is extended and ripe for a reversal. If it's Green, the market is calm—be careful.
Step 2: Wait for the Signal.
"Apex BUY" (Green Label): Price swept a low and closed green.
"Apex SELL" (Red Label): Price swept a high and closed red.
Step 3: Execute. Enter at the close of the signal candle. Set your stop loss at the Red Line provided by the script.
3. Warning / When NOT to Use
Strong Trending Days: If the market is trending heavily (e.g., creating higher highs all day without looking back), do not fight the trend.
News Events: Avoid using this during CPI, FOMC, or NFP releases. The "rubber band" logic breaks during news because volatility expands indefinitely.
EMA Market Structure [BOSWaves]// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// Join our channel for more free tools: t.me
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © BOSWaves
//@version=6
indicator("EMA Market Structure ", overlay=true, max_lines_count=500, max_labels_count=500, max_boxes_count=500)
// ============================================================================
// Inputs
// ============================================================================
// Ema settings
emaLength = input.int(50, "EMA Length", minval=1, tooltip="Period for the Exponential Moving Average calculation")
emaSource = input.source(close, "EMA Source", tooltip="Price source for EMA calculation (close, open, high, low, etc.)")
colorSmooth = input.int(3, "Color Smoothing", minval=1, group="EMA Style", tooltip="Smoothing period for the EMA color gradient transition")
showEmaGlow = input.bool(true, "EMA Glow Effect", group="EMA Style", tooltip="Display glowing halo effect around the EMA line for enhanced visibility")
// Structure settings
swingLength = input.int(5, "Swing Detection Length", minval=2, group="Structure", tooltip="Number of bars to the left and right to identify swing highs and lows")
swingCooloff = input.int(10, "Swing Marker Cooloff (Bars)", minval=1, group="Structure", tooltip="Minimum number of bars between consecutive swing point markers to reduce visual clutter")
showSwingLines = input.bool(true, "Show Structure Lines", group="Structure", tooltip="Display lines connecting swing highs and swing lows")
showSwingZones = input.bool(true, "Show Structure Zones", group="Structure", tooltip="Display shaded zones between consecutive swing points")
showBOS = input.bool(true, "Show Break of Structure", group="Structure", tooltip="Display BOS labels and stop loss levels when price breaks structure")
bosCooloff = input.int(15, "BOS Cooloff (Bars)", minval=5, maxval=50, group="Structure", tooltip="Minimum number of bars required between consecutive BOS signals to avoid signal spam")
slExtension = input.int(20, "SL Line Extension (Bars)", minval=5, maxval=100, group="Structure", tooltip="Number of bars to extend the stop loss line into the future for visibility")
slBuffer = input.float(0.1, "SL Buffer %", minval=0, maxval=2, step=0.05, group="Structure", tooltip="Additional buffer percentage to add to stop loss level for safety margin")
// Background settings
showBG = input.bool(true, "Show Trend Background", group="EMA Style", tooltip="Display background color based on EMA trend direction")
bgBullColor = input.color(color.new(#00ff88, 96), "Bullish BG", group="EMA Style", tooltip="Background color when EMA is in bullish trend")
bgBearColor = input.color(color.new(#ff3366, 96), "Bearish BG", group="EMA Style", tooltip="Background color when EMA is in bearish trend")
// ============================================================================
// Ema trend filter with gradient color
// ============================================================================
ema = ta.ema(emaSource, emaLength)
// Calculate EMA acceleration for gradient color
emaChange = ema - ema
emaAccel = ta.ema(emaChange, colorSmooth)
// Manual tanh function for normalization
tanh(x) =>
ex = math.exp(2 * x)
(ex - 1) / (ex + 1)
accelNorm = tanh(emaAccel / (ta.atr(14) * 0.01))
// Map normalized accel to hue (60 = green, 120 = yellow/red)
hueRaw = 60 + accelNorm * 60
hue = na(hueRaw ) ? hueRaw : (hueRaw + hueRaw ) / 2
sat = 1.0
val = 1.0
// HSV to RGB conversion
hsv_to_rgb(h, s, v) =>
c = v * s
x = c * (1 - math.abs((h / 60) % 2 - 1))
m = v - c
r = 0.0
g = 0.0
b = 0.0
if (h < 60)
r := c
g := x
b := 0
else if (h < 120)
r := x
g := c
b := 0
else if (h < 180)
r := 0
g := c
b := x
else if (h < 240)
r := 0
g := x
b := c
else if (h < 300)
r := x
g := 0
b := c
else
r := c
g := 0
b := x
color.rgb(int((r + m) * 255), int((g + m) * 255), int((b + m) * 255))
emaColor = hsv_to_rgb(hue, sat, val)
emaTrend = ema > ema ? 1 : ema < ema ? -1 : 0
// EMA with enhanced glow effect using fills
glowOffset = ta.atr(14) * 0.25
emaGlow8 = plot(showEmaGlow ? ema + glowOffset * 8 : na, "EMA Glow 8", color.new(emaColor, 100), 1, display=display.none)
emaGlow7 = plot(showEmaGlow ? ema + glowOffset * 7 : na, "EMA Glow 7", color.new(emaColor, 100), 1, display=display.none)
emaGlow6 = plot(showEmaGlow ? ema + glowOffset * 6 : na, "EMA Glow 6", color.new(emaColor, 100), 1, display=display.none)
emaGlow5 = plot(showEmaGlow ? ema + glowOffset * 5 : na, "EMA Glow 5", color.new(emaColor, 100), 1, display=display.none)
emaGlow4 = plot(showEmaGlow ? ema + glowOffset * 4 : na, "EMA Glow 4", color.new(emaColor, 100), 1, display=display.none)
emaGlow3 = plot(showEmaGlow ? ema + glowOffset * 3 : na, "EMA Glow 3", color.new(emaColor, 100), 1, display=display.none)
emaGlow2 = plot(showEmaGlow ? ema + glowOffset * 2 : na, "EMA Glow 2", color.new(emaColor, 100), 1, display=display.none)
emaGlow1 = plot(showEmaGlow ? ema + glowOffset * 1 : na, "EMA Glow 1", color.new(emaColor, 100), 1, display=display.none)
emaCore = plot(ema, "EMA Core", emaColor, 3)
emaGlow1b = plot(showEmaGlow ? ema - glowOffset * 1 : na, "EMA Glow 1b", color.new(emaColor, 100), 1, display=display.none)
emaGlow2b = plot(showEmaGlow ? ema - glowOffset * 2 : na, "EMA Glow 2b", color.new(emaColor, 100), 1, display=display.none)
emaGlow3b = plot(showEmaGlow ? ema - glowOffset * 3 : na, "EMA Glow 3b", color.new(emaColor, 100), 1, display=display.none)
emaGlow4b = plot(showEmaGlow ? ema - glowOffset * 4 : na, "EMA Glow 4b", color.new(emaColor, 100), 1, display=display.none)
emaGlow5b = plot(showEmaGlow ? ema - glowOffset * 5 : na, "EMA Glow 5b", color.new(emaColor, 100), 1, display=display.none)
emaGlow6b = plot(showEmaGlow ? ema - glowOffset * 6 : na, "EMA Glow 6b", color.new(emaColor, 100), 1, display=display.none)
emaGlow7b = plot(showEmaGlow ? ema - glowOffset * 7 : na, "EMA Glow 7b", color.new(emaColor, 100), 1, display=display.none)
emaGlow8b = plot(showEmaGlow ? ema - glowOffset * 8 : na, "EMA Glow 8b", color.new(emaColor, 100), 1, display=display.none)
// Create glow layers with fills (from outermost to innermost)
fill(emaGlow8, emaGlow7, showEmaGlow ? color.new(emaColor, 97) : na)
fill(emaGlow7, emaGlow6, showEmaGlow ? color.new(emaColor, 95) : na)
fill(emaGlow6, emaGlow5, showEmaGlow ? color.new(emaColor, 93) : na)
fill(emaGlow5, emaGlow4, showEmaGlow ? color.new(emaColor, 90) : na)
fill(emaGlow4, emaGlow3, showEmaGlow ? color.new(emaColor, 87) : na)
fill(emaGlow3, emaGlow2, showEmaGlow ? color.new(emaColor, 83) : na)
fill(emaGlow2, emaGlow1, showEmaGlow ? color.new(emaColor, 78) : na)
fill(emaGlow1, emaCore, showEmaGlow ? color.new(emaColor, 70) : na)
fill(emaCore, emaGlow1b, showEmaGlow ? color.new(emaColor, 70) : na)
fill(emaGlow1b, emaGlow2b, showEmaGlow ? color.new(emaColor, 78) : na)
fill(emaGlow2b, emaGlow3b, showEmaGlow ? color.new(emaColor, 83) : na)
fill(emaGlow3b, emaGlow4b, showEmaGlow ? color.new(emaColor, 87) : na)
fill(emaGlow4b, emaGlow5b, showEmaGlow ? color.new(emaColor, 90) : na)
fill(emaGlow5b, emaGlow6b, showEmaGlow ? color.new(emaColor, 93) : na)
fill(emaGlow6b, emaGlow7b, showEmaGlow ? color.new(emaColor, 95) : na)
fill(emaGlow7b, emaGlow8b, showEmaGlow ? color.new(emaColor, 97) : na)
// ============================================================================
// Swing high/low detection
// ============================================================================
// Swing High/Low Detection
swingHigh = ta.pivothigh(high, swingLength, swingLength)
swingLow = ta.pivotlow(low, swingLength, swingLength)
// Cooloff tracking
var int lastSwingHighPlot = na
var int lastSwingLowPlot = na
// Check if cooloff period has passed
canPlotHigh = na(lastSwingHighPlot) or (bar_index - lastSwingHighPlot) >= swingCooloff
canPlotLow = na(lastSwingLowPlot) or (bar_index - lastSwingLowPlot) >= swingCooloff
// Store swing points
var float lastSwingHigh = na
var int lastSwingHighBar = na
var float lastSwingLow = na
var int lastSwingLowBar = na
// Track previous swing for BOS detection
var float prevSwingHigh = na
var float prevSwingLow = na
// Update swing highs with cooloff
if not na(swingHigh) and canPlotHigh
prevSwingHigh := lastSwingHigh
lastSwingHigh := swingHigh
lastSwingHighBar := bar_index - swingLength
lastSwingHighPlot := bar_index
// Update swing lows with cooloff
if not na(swingLow) and canPlotLow
prevSwingLow := lastSwingLow
lastSwingLow := swingLow
lastSwingLowBar := bar_index - swingLength
lastSwingLowPlot := bar_index
// ============================================================================
// Structure lines & zones
// ============================================================================
var line swingHighLine = na
var line swingLowLine = na
var box swingHighZone = na
var box swingLowZone = na
if showSwingLines
// Draw line connecting swing highs with zones
if not na(swingHigh) and canPlotHigh and not na(prevSwingHigh)
if not na(lastSwingHighBar)
line.delete(swingHighLine)
swingHighLine := line.new(lastSwingHighBar, lastSwingHigh, bar_index - swingLength, swingHigh, color=color.new(#ff3366, 0), width=2, style=line.style_solid)
// Create resistance zone
if showSwingZones
box.delete(swingHighZone)
zoneTop = math.max(lastSwingHigh, swingHigh)
zoneBottom = math.min(lastSwingHigh, swingHigh)
swingHighZone := box.new(lastSwingHighBar, zoneTop, bar_index - swingLength, zoneBottom, border_color=color.new(#ff3366, 80), bgcolor=color.new(#ff3366, 92))
// Draw line connecting swing lows with zones
if not na(swingLow) and canPlotLow and not na(prevSwingLow)
if not na(lastSwingLowBar)
line.delete(swingLowLine)
swingLowLine := line.new(lastSwingLowBar, lastSwingLow, bar_index - swingLength, swingLow, color=color.new(#00ff88, 0), width=2, style=line.style_solid)
// Create support zone
if showSwingZones
box.delete(swingLowZone)
zoneTop = math.max(lastSwingLow, swingLow)
zoneBottom = math.min(lastSwingLow, swingLow)
swingLowZone := box.new(lastSwingLowBar, zoneTop, bar_index - swingLength, zoneBottom, border_color=color.new(#00ff88, 80), bgcolor=color.new(#00ff88, 92))
// ============================================================================
// Break of structure (bos)
// ============================================================================
// Track last BOS bar for cooloff
var int lastBullishBOS = na
var int lastBearishBOS = na
// Check if cooloff period has passed
canPlotBullishBOS = na(lastBullishBOS) or (bar_index - lastBullishBOS) >= bosCooloff
canPlotBearishBOS = na(lastBearishBOS) or (bar_index - lastBearishBOS) >= bosCooloff
// Bullish BOS: Price breaks above previous swing high while EMA is bullish
bullishBOS = showBOS and canPlotBullishBOS and emaTrend == 1 and not na(prevSwingHigh) and close > prevSwingHigh and close <= prevSwingHigh
// Bearish BOS: Price breaks below previous swing low while EMA is bearish
bearishBOS = showBOS and canPlotBearishBOS and emaTrend == -1 and not na(prevSwingLow) and close < prevSwingLow and close >= prevSwingLow
// Update last BOS bars
if bullishBOS
lastBullishBOS := bar_index
if bearishBOS
lastBearishBOS := bar_index
// Plot BOS with enhanced visuals and SL at the candle wick
if bullishBOS
// Calculate SL at the low of the current candle (bottom of wick) with buffer
slLevel = low * (1 - slBuffer/100)
// BOS Label with shadow effect
label.new(bar_index, low, "BOS", style=label.style_label_up, color=color.new(#00ff88, 0), textcolor=color.black, size=size.normal, tooltip="Bullish Break of Structure SL: " + str.tostring(slLevel))
// Main SL line at candle low
line.new(bar_index, slLevel, bar_index + slExtension, slLevel, color=color.new(#00ff88, 0), width=2, style=line.style_dashed, extend=extend.none)
// SL zone box for visual emphasis
box.new(bar_index, slLevel + (slLevel * 0.002), bar_index + slExtension, slLevel - (slLevel * 0.002), border_color=color.new(#00ff88, 60), bgcolor=color.new(#00ff88, 85))
// S/R label
label.new(bar_index + slExtension, slLevel, "S/R", style=label.style_label_left, color=color.new(#00ff88, 0), textcolor=color.black, size=size.tiny)
if bearishBOS
// Calculate SL at the high of the current candle (top of wick) with buffer
slLevel = high * (1 + slBuffer/100)
// BOS Label with shadow effect
label.new(bar_index, high, "BOS", style=label.style_label_down, color=color.new(#ff3366, 0), textcolor=color.white, size=size.normal, tooltip="Bearish Break of Structure SL: " + str.tostring(slLevel))
// Main SL line at candle high
line.new(bar_index, slLevel, bar_index + slExtension, slLevel, color=color.new(#ff3366, 0), width=2, style=line.style_dashed, extend=extend.none)
// SL zone box for visual emphasis
box.new(bar_index, slLevel + (slLevel * 0.002), bar_index + slExtension, slLevel - (slLevel * 0.002), border_color=color.new(#ff3366, 60), bgcolor=color.new(#ff3366, 85))
// S/R label
label.new(bar_index + slExtension, slLevel, "S/R", style=label.style_label_left, color=color.new(#ff3366, 0), textcolor=color.white, size=size.tiny)
// ============================================================================
// Dynamic background zones
// ============================================================================
bgcolor(showBG and emaTrend == 1 ? bgBullColor : showBG and emaTrend == -1 ? bgBearColor : na)
// ============================================================================
// Alerts
// ============================================================================
alertcondition(bullishBOS, "Bullish BOS", "Bullish Break of Structure detected!")
alertcondition(bearishBOS, "Bearish BOS", "Bearish Break of Structure detected!")
alertcondition(emaTrend == 1 and emaTrend != 1, "EMA Bullish", "EMA turned bullish")
alertcondition(emaTrend == -1 and emaTrend != -1, "EMA Bearish", "EMA turned bearish")
// ╔════════════════════════════════╗
// ║ Download at ║
// ╚════════════════════════════════╝
// ███████╗██╗███╗ ███╗██████╗ ██╗ ███████╗
// ██╔════╝██║████╗ ████║██╔══██╗██║ ██╔════╝
// ███████╗██║██╔████╔██║██████╔╝██║ █████╗
// ╚════██║██║██║╚██╔╝██║██╔═══╝ ██║ ██╔══╝
// ███████║██║██║ ╚═╝ ██║██║ ███████╗███████╗
// ╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚══════╝╚══════╝
// ███████╗ ██████╗ ██████╗ ███████╗██╗ ██╗
// ██╔════╝██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝
// █████╗ ██║ ██║██████╔╝█████╗ ╚███╔╝
// ██╔══╝ ██║ ██║██╔══██╗██╔══╝ ██╔██╗
// ██║ ╚██████╔╝██║ ██║███████╗██╔╝ ██╗
// ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
// ████████╗ ██████╗ ██████╗ ██╗ ███████╗
// ╚══██╔══╝██╔═══██╗██╔═══██╗██║ ██╔════╝
// ██║ ██║ ██║██║ ██║██║ ███████╗
// ██║ ██║ ██║██║ ██║██║ ╚════██║
// ██║ ╚██████╔╝╚██████╔╝███████╗███████║
// ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝
// ==========================================================================================
SMC + OB + FVG + Reversal + UT Bot + Hull Suite – by Fatich.id🎯 7 INTEGRATED SYSTEMS:
✓ Mxwll Suite (SMC + Auto Fibs + CHoCH/BOS)
✓ UT Bot (Trend Signals + Label Management)
✓ Hull Suite (Momentum Analysis)
✓ LuxAlgo FVG (Fair Value Gaps)
✓ LuxAlgo Order Blocks (Volume Pivots) ⭐ NEW
✓ Three Bar Reversal (Pattern Recognition)
✓ Reversal Signals (Momentum Count Style)
⚡ KEY FEATURES:
• Smart Money Structure (CHoCH/BOS/I-CHoCH/I-BoS)
• Auto Fibonacci (10 customizable levels)
• Order Block Detection (Auto mitigation)
• Fair Value Gap Tracking
• Session Highlights (NY/London/Asia)
• Volume Activity Dashboard
• Multi-Timeframe Support
• Clean Label Management
🎨 PERFECT FOR:
• Smart Money Concept Traders
• Order Flow & Liquidity Analysis
• Support/Resistance Trading
• Trend Following & Reversals
• Multi-Timeframe Analysis
💡 RECOMMENDED SETTINGS:
Clean Charts: OB Count 3, UT Signals 3, FVG 5
Detailed Analysis: OB Count 5-10, All Signals
Scalping: Low sensitivity, Hull 20-30
Swing Trading: High sensitivity, Hull 55-100
VIX/VXV Ratio (TitsNany)This script plots the VXV/VIX ratio, which compares medium-term volatility (90-day fear) to short-term volatility (30-day fear). When the ratio rises above key levels like 1.16 or 1.24, it signals that traders expect future stress, often preceding market pullbacks. When the ratio falls toward or below 1.0, short-term fear is spiking, which typically occurs during active selloffs or volatility events. In short, elevated readings warn of potential market drops ahead, while sharp declines in the ratio reflect panic already hitting the market.
VectorCoresAI SMA + Bollinger Fusion v1VectorCoresAI — SMA + Bollinger Fusion (Free)
A clean, modern visual tool combining four key SMAs with an adaptive Bollinger structure.
This script merges two of the most widely used charting concepts into one simple, readable view:
Included
✔ SMA 21
✔ SMA 50
✔ SMA 100
✔ SMA 200
✔ Bollinger Bands with adjustable length + multiplier
✔ Adaptive “Fusion Squeeze” shading to highlight compression phases
✔ Optional visibility toggles for each SMA
✔ Lightweight, non-intrusive overlay
What this indicator is designed for
This tool helps traders quickly understand:
Trend alignment using the 21/50/100/200 SMAs
Volatility conditions around the Bollinger midline
Price compression and expansion
Early awareness of breakout environments
Clean visual structure without clutter
Everything is intentionally simple and transparent.
No predictions, no signals, no trading advice — just clean chart structure.
Why this version is unique
Instead of using standard Bollinger visuals, this Fusion edition uses subtle adaptive shading to show when the bands contract.
This makes compression zones instantly visible without overwhelming the chart.
The SMAs are fixed to widely-used trend levels, giving consistent readings across all markets and timeframes.
Who this is for
Newer traders who want a clear introduction to SMAs + Bollinger Bands
Experienced traders who want a lightweight visual tool
Anyone building structure-based strategies
Users of the VectorCoresAI suite who want a simple companion tool
Notes
This indicator is part of the VectorCoresAI Free Tools collection.
All logic is open-source and educational only.
More tools coming soon.
Multi-Timeframe Fair Value Gap by Vigna📊 Multi-Timeframe Fair Value Gap (FVG) Indicator
This indicator displays Fair Value Gaps (FVGs) from multiple timeframes simultaneously on your chart. FVGs are price gaps that occur when the market moves quickly and skips certain price levels. These gaps tend to be "filled" later and often serve as important support and resistance zones.
🎯 What are Fair Value Gaps?
A Fair Value Gap occurs when:
Bullish FVG: The current low is higher than the high from 2 candles ago (gap upward)
Bearish FVG: The current high is lower than the low from 2 candles ago (gap downward)
⏱️ Supported Timeframes:
1 Hour (1H)
2 Hours (2H)
3 Hours (3H)
4 Hours (4H)
1 Day (1D)
1 Week (1W)
🎨 Features:
✅ All timeframes visible simultaneously
✅ Each timeframe has its own color (bullish & bearish)
✅ Labels show the timeframe of each gap
✅ Automatic deletion when gap is filled
✅ Optional: MidPoint Fill (gap marked as filled at 50%)
✅ Extend right: Gaps extend to the right until filled
✅ All colors fully customizable
⚙️ Settings:
Timeframes: Enable/disable individual timeframes as needed
MidPoint Fill: Mark gap as filled when 50% is reached
Delete On Fill: Automatically remove filled gaps from chart
Label Timeframes: Show labels with timeframe names
Colors: Customize all colors to your preferences
💡 Application:
FVGs often serve as magnetic attraction points for price
Higher timeframe FVGs (4H, 1D, 1W) are typically more significant
Use FVGs as potential entry/exit zones
Combine with other indicators for better confirmation
📈 Recommended Use:
Works best on timeframes from 15min to 1H
Ideal for Forex, Crypto, and Stocks
Especially useful for Swing Trading and Day Trading
🔧 Technical Details:
Uses optimized request.security() calls (12 total, under the 40 limit)
Employs tuple syntax for efficient data fetching
Real-time gap detection and filling mechanism
Memory-efficient array management with var keyword
KC/BB Squeeze Scanner (10/20>50 EMA, $10–$500, Vol > 1M)High volume, up trending, and compression occurring.
Volatility Aurora [The_lurker]█░░░░░░░░░░░░░░░░░░░ VOLATILITY AURORA ░░░░░░░░░░░░░░░░░░░░█
█░░░░░░░░░░░░░░░ Where Market Energy Meets Visual Poetry ░░░░░░░░░░░░░░░░█
📖 INTRODUCTION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The Aurora Borealis occurs when charged particles from the sun collide with gases in Earth's atmosphere, creating mesmerizing waves of colorful light.
𝗩𝗼𝗹𝗮𝘁𝗶𝗹𝗶𝘁𝘆 𝗔𝘂𝗿𝗼𝗿𝗮 applies this elegant concept to financial markets:
⚡ Price Momentum = Charged Particles
🌌 ATR Layers = Atmospheric Layers
🎨 Color Intensity = Energy Magnitude
📐 Layer Expansion = Volatility State
When momentum "collides" with volatility layers, the Aurora illuminates potential market regime changes — often before they fully manifest in price action.
🔬 THE SCIENCE BEHIND IT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Unlike traditional volatility indicators that provide a single value, Volatility Aurora creates a 𝗺𝘂𝗹𝘁𝗶-𝗱𝗶𝗺𝗲𝗻𝘀𝗶𝗼𝗻𝗮𝗹 𝘃𝗼𝗹𝗮𝘁𝗶𝗹𝗶𝘁𝘆 𝗳𝗶𝗲𝗹𝗱 using five distinct ATR layers based on Fibonacci periods:
│ Layer │ Period │ Atmospheric │ Function │
├──────────────────────┼─────────────────┼─────────────────┤
│ Layer 1 │ 5 │ Ionosphere │ Captures immediate vol shifts
│ Layer 2 │ 13 │ Mesosphere │ Medium-term vol response
│ Layer 3 │ 34 │ Stratosphere │ Intermediate vol structure
│ Layer 4 │ 55 │ Troposphere │ Foundational vol baseline
│ Layer 5 │ 89 │ Surface │ Structural, long-term vol
⚡ CORE CONCEPTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
𝟭. 𝗟𝗮𝘆𝗲𝗿 𝗘𝘅𝗽𝗮𝗻𝘀𝗶𝗼𝗻 & 𝗖𝗼𝗻𝘁𝗿𝗮𝗰𝘁𝗶𝗼𝗻
Each layer dynamically expands or contracts based on its normalized ATR value:
• 𝗘𝘅𝗽𝗮𝗻𝗱𝗶𝗻𝗴 𝗟𝗮𝘆𝗲𝗿𝘀 → Increasing volatility regime
• 𝗖𝗼𝗻𝘁𝗿𝗮𝗰𝘁𝗶𝗻𝗴 𝗟𝗮𝘆𝗲𝗿𝘀 → Decreasing volatility / Consolidation
• 𝗕𝗿𝗲𝗮𝘁𝗵𝗶𝗻𝗴 𝗘𝗳𝗳𝗲𝗰𝘁 → Natural market rhythm visualization
𝟮. 𝗛𝗮𝗿𝗺𝗼𝗻𝘆 𝗦𝗰𝗼𝗿𝗲
Measures alignment between all five layers:
• 𝗛𝗶𝗴𝗵 𝗛𝗮𝗿𝗺𝗼𝗻𝘆 (>70%) → All timeframes agree → Strong, reliable trends
• 𝗟𝗼𝘄 𝗛𝗮𝗿𝗺𝗼𝗻𝘆 (<30%) → Timeframe divergence → Choppy conditions
𝟯. 𝗘𝗻𝗲𝗿𝗴𝘆 𝗜𝗻𝘁𝗲𝗻𝘀𝗶𝘁𝘆
Quantifies how strongly momentum is "hitting" the volatility layers:
• 𝗛𝗶𝗴𝗵 𝗜𝗻𝘁𝗲𝗻𝘀𝗶𝘁𝘆 → Strong directional conviction
• 𝗟𝗼𝘄 𝗜𝗻𝘁𝗲𝗻𝘀𝗶𝘁𝘆 → Weak momentum, potential reversal
𝟰. 𝗥𝗲𝗴𝗶𝗺𝗲 𝗖𝗹𝗮𝘀𝘀𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻
Based on aggregate layer states:
🟢 𝗖𝗔𝗟𝗠 → Low volatility across all layers
🟡 𝗡𝗢𝗥𝗠𝗔𝗟 → Balanced market conditions
🟠 𝗩𝗢𝗟𝗔𝗧𝗜𝗟𝗘 → Elevated activity
🔴 𝗘𝗫𝗧𝗥𝗘𝗠𝗘 → Maximum volatility state
🎨 VISUAL COMPONENTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🌈 𝗔𝘂𝗿𝗼𝗿𝗮 𝗟𝗮𝘆𝗲𝗿𝘀 (𝗚𝗿𝗮𝗱𝗶𝗲𝗻𝘁 𝗕𝗮𝗻𝗱𝘀)
• Five pairs of symmetrical bands around the price core
• Color gradient from core (bright) to outer (dim)
• Expansion reflects current volatility state
💠 𝗖𝗼𝗿𝗲 𝗟𝗶𝗻𝗲
• Central EMA-based trend line
• Color changes with momentum direction:
🟢 Cyan/Teal = Bullish
🔴 Pink/Magenta = Bearish
🟣 Purple = Neutral
💫 𝗘𝗻𝗲𝗿𝗴𝘆 𝗣𝘂𝗹𝘀𝗲 𝗟𝗶𝗻𝗲𝘀
• Diagonal flow lines showing momentum trajectory
• Thicker lines = Higher energy
• Direction indicates momentum flow
🎵 𝗛𝗮𝗿𝗺𝗼𝗻𝘆 𝗪𝗮𝘃𝗲𝘀
• Vertical dotted lines appear when harmony exceeds 70%
• Signals timeframe alignment — high-probability zones
📊 HOW TO USE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 𝗧𝗿𝗲𝗻𝗱 𝗙𝗼𝗹𝗹𝗼𝘄𝗶𝗻𝗴
• Enter when Aurora expands in your direction
• Core line color confirms bias
• High harmony = Higher confidence
💥 𝗩𝗼𝗹𝗮𝘁𝗶𝗹𝗶𝘁𝘆 𝗕𝗿𝗲𝗮𝗸𝗼𝘂𝘁𝘀
• Watch for regime shift from CALM to VOLATILE
• Expanding layers signal incoming movement
• Intensity spike confirms breakout strength
↩️ 𝗠𝗲𝗮𝗻 𝗥𝗲𝘃𝗲𝗿𝘀𝗶𝗼𝗻
• EXTREME regime often precedes reversals
• Contracting layers after expansion = Potential pullback
• Low harmony during trends = Weakening momentum
🛡️ 𝗥𝗶𝘀𝗸 𝗠𝗮𝗻𝗮𝗴𝗲𝗺𝗲𝗻𝘁
• Use outer layers as dynamic support/resistance
• Wider Aurora = Wider stops required
• Contracting Aurora = Tighter risk parameters
⚙️ SETTINGS GUIDE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🌌 𝗔𝘂𝗿𝗼𝗿𝗮 𝗖𝗼𝗿𝗲
│ Setting │Default │ Description
│ Layer 1-5 │ Fib │ ATR periods (5,13,34,55,89)
│ Expansion Factor │ 2.5 │ Controls layer width multiplier
│ Smoothing │ 5 │ EMA smoothing for visual clarity
⚡ 𝗘𝗻𝗲𝗿𝗴𝘆 𝗙𝗶𝗲𝗹𝗱
│ Setting │ Default │ Description
│ Momentum Length │ 14 │ Period for momentum calculation
│ Energy Lookback │ 21 │ Normalization window
│ Energy Multiplier │ 1.5 │ Amplifies energy display
🎨 𝗩𝗶𝘀𝘂𝗮𝗹
│ Setting │ Default │ Description
│ Language │ EN │ Interface language (EN/AR)
│ Show Aurora │ ✓ │ Toggle layer visibility
│ Show Core Line │ ✓ │ Toggle center line
│ Show Energy Pulse │ ✓ │ Toggle flow lines
│ Show Harmony Waves │ ✓ │ Toggle alignment indicators
🔔 ALERTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚡ 𝗥𝗲𝗴𝗶𝗺𝗲 𝗦𝗵𝗶𝗳𝘁 — Volatility regime changed
🎵 𝗛𝗶𝗴𝗵 𝗛𝗮𝗿𝗺𝗼𝗻𝘆 — All layers aligned (>85%)
↕️ 𝗗𝗶𝗿𝗲𝗰𝘁𝗶𝗼𝗻 𝗖𝗵𝗮𝗻𝗴𝗲 — Momentum direction reversed
🔥 𝗜𝗻𝘁𝗲𝗻𝘀𝗶𝘁𝘆 𝗦𝗽𝗶𝗸𝗲 — Energy exceeded 80% threshold
💡 TIPS FOR BEST RESULTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1️⃣ 𝗛𝗶𝗴𝗵𝗲𝗿 𝗧𝗶𝗺𝗲𝗳𝗿𝗮𝗺𝗲𝘀 — Aurora works best on 1H+ charts
2️⃣ 𝗖𝗼𝗺𝗯𝗶𝗻𝗲 𝘄𝗶𝘁𝗵 𝗣𝗔 — Use Aurora as context, not signals
3️⃣ 𝗪𝗮𝘁𝗰𝗵 𝗛𝗮𝗿𝗺𝗼𝗻𝘆 — High harmony setups win more
4️⃣ 𝗥𝗲𝘀𝗽𝗲𝗰𝘁 𝗥𝗲𝗴𝗶𝗺𝗲 — Don't fight EXTREME volatility
5️⃣ 𝗟𝗮𝘆𝗲𝗿 𝗖𝗼𝗻𝗳𝗹𝘂𝗲𝗻𝗰𝗲 — Multi-layer bounces = Strong S/R
⚠️ DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This indicator is for educational purposes only. Past performance does not
guarantee future results. Always use proper risk management and conduct your
own analysis before making trading decisions.
█████████████████████████████████████████████████████████████
█░░░░░░░░░░░░░░░░░░░░░ شفق التقلب ░░░░░░░░░░░░░░░░░░░░░░█
█░░░░░░░░░░░░░░░ حيث تلتقي طاقة السوق بالشعور البصري ░░░░░░░░░░░░░░░░█
📖 المقدمة
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
يحدث الشفق القطبي عندما تصطدم الجسيمات المشحونة القادمة من الشمس بالغازات في الغلاف الجوي للأرض، مما يخلق موجات ساحرة من الضوء الملون.
يطبق نفس المفهوم الأنيق على الأسواق المالية
⚡ زخم السعر = الجسيمات المشحونة
🌌 طبقات ATR = طبقات الغلاف الجوي
🎨 شدة اللون = حجم الطاقة
📐 توسع الطبقات = حالة التقلب
عندما "يصطدم" الزخم بطبقات التقلب، يُضيء الشفق التغيرات المحتملة في نظام السوق — غالباً قبل أن تتجلى بالكامل في حركة السعر.
🔬 العلم وراء المؤشر
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
على عكس مؤشرات التقلب التقليدية التي تقدم قيمة واحدة، يُنشئ شفق التقلب 𝗽𝗮𝗾𝗹 𝘁𝗮𝗾𝗮𝗹𝗹𝘂𝗯 𝗺𝘂𝘁𝗮'𝗮𝗱𝗱𝗶𝗱 𝗮𝗹-𝗮𝗯'𝗮𝗱 باستخدام خمس طبقات ATR مميزة مبنية على أرقام فيبوناتشي:
│ الطبقة │ الفترة │ المعادل الجوي │ الوظيفة
│ الطبقة١ │ 5 │ الأيونوسفير │ تلتقط تحولات التقلب الفورية
│ الطبقة٢ │ 13 │ الميزوسفير │ استجابة التقلب متوسطة المدى
│ الطبقة٣ │ 34 │ الستراتوسفير │ هيكل التقلب المتوسط
│ الطبقة٤ │ 55 │ التروبوسفير │ خط الأساس للتقلب
│ الطبقة٥ │ 89 │ السطح │ التقلب الهيكلي طويل المدى
⚡ المفاهيم الأساسية
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
𝟭. توسع وانكماش الطبقات
تتوسع أو تنكمش كل طبقة ديناميكياً بناءً على قيمة ATR المعيارية:
• طبقات متوسعة ← نظام تقلب متزايد
• طبقات منكمشة ← تقلب متناقص / تجميع
• تأثير التنفس ← تصور إيقاع السوق الطبيعي
𝟮. درجة التناغم
تقيس التوافق بين جميع الطبقات الخمس:
• تناغم عالي (>٧٠٪) ← جميع الأطر متفقة ← اتجاهات قوية
• تناغم منخفض (<٣٠٪) ← تباين الأطر ← ظروف متقطعة
𝟯. شدة الطاقة
تحدد مدى قوة "اصطدام" الزخم بطبقات التقلب:
• شدة عالية ← قناعة اتجاهية قوية
• شدة منخفضة ← زخم ضعيف، احتمال انعكاس
𝟰. تصنيف النظام
بناءً على حالات الطبقات المجمعة:
🟢 هادئ ← تقلب منخفض عبر جميع الطبقات
🟡 طبيعي ← ظروف سوق متوازنة
🟠 متقلب ← نشاط مرتفع
🔴 متطرف ← حالة التقلب القصوى
🎨 المكونات البصرية
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🌈 طبقات الشفق (النطاقات المتدرجة)
• خمسة أزواج من النطاقات المتماثلة حول نواة السعر
• تدرج لوني من النواة (ساطع) إلى الخارج (خافت)
• التوسع يعكس حالة التقلب الحالية
💠 خط النواة
• خط اتجاه مركزي قائم على EMA
• يتغير اللون مع اتجاه الزخم:
🟢 سماوي = صاعد
🔴 وردي = هابط
🟣 بنفسجي = محايد
💫 خطوط نبض الطاقة
• خطوط تدفق مائلة تُظهر مسار الزخم
• خطوط أسمك = طاقة أعلى
• الاتجاه يشير إلى تدفق الزخم
🎵 موجات التناغم
• خطوط عمودية منقطة تظهر عندما يتجاوز التناغم ٧٠٪
• تشير إلى توافق الأطر الزمنية — مناطق احتمالية عالية
📊 كيفية الاستخدام
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 تتبع الاتجاه
• ادخل عندما يتوسع الشفق في اتجاهك
• لون خط النواة يؤكد التحيز
• تناغم عالي = ثقة أعلى
💥 اختراقات التقلب
• راقب تحول النظام من هادئ إلى متقلب
• الطبقات المتوسعة تشير إلى حركة قادمة
• ارتفاع الشدة يؤكد قوة الاختراق
↩️ الارتداد للمتوسط
• النظام المتطرف غالباً يسبق الانعكاسات
• طبقات منكمشة بعد التوسع = احتمال تراجع
• تناغم منخفض أثناء الاتجاهات = زخم ضعيف
🛡️ إدارة المخاطر
• استخدم الطبقات الخارجية كدعم/مقاومة ديناميكية
• شفق أوسع = وقف خسارة أوسع مطلوب
• شفق منكمش = معايير مخاطر أضيق
⚙️ دليل الإعدادات
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🌌 نواة الشفق
│ الإعداد │الافتراضي│ الوصف
│ الطبقات ١-٥ │ Fib │ فترات ATR (5,13,34,55,89)
│ معامل التوسع │ 2.5 │ يتحكم في مضاعف عرض الطبقات
│ التنعيم │ 5 │ تنعيم EMA للوضوح البصري
⚡ مجال الطاقة
│ الإعداد │الافتراضي│ الوصف
│ فترة الزخم │ 14 │ فترة حساب الزخم
│ فترة الطاقة │ 21 │ نافذة التطبيع
│ مضاعف الطاقة │ 1.5 │ يضخم عرض الطاقة
🎨 العرض البصري
│ الإعداد │الافتراضي│ الوصف
│ اللغة │ EN │ لغة الواجهة (EN/AR)
│ إظهار الشفق │ ✓ │ تبديل ظهور الطبقات
│ خط النواة │ ✓ │ تبديل الخط المركزي
│ نبض الطاقة │ ✓ │ تبديل خطوط التدفق
│ موجات التناغم │ ✓ │ تبديل مؤشرات التوافق
🔔 التنبيهات
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚡ تحول النظام — تغير نظام التقلب
🎵 تناغم عالي — جميع الطبقات متوافقة (>٨٥٪)
↕️ تغير الاتجاه — انعكس اتجاه الزخم
🔥 ارتفاع الشدة — تجاوزت الطاقة عتبة ٨٠٪
💡 نصائح للحصول على أفضل النتائج
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1️⃣ الأطر الزمنية الأعلى — الشفق يعمل بشكل أفضل على ساعة فأكثر
2️⃣ ادمج مع حركة السعر — استخدم الشفق كسياق وليس إشارات
3️⃣ راقب التناغم — إعدادات التناغم العالي تربح أكثر
4️⃣ احترم النظام — لا تحارب التقلب المتطرف
5️⃣ تقاطع الطبقات — ارتداد من طبقات متعددة = دعم/مقاومة قوية
⚠️ إخلاء المسؤولية
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
هذا المؤشر للأغراض التعليمية فقط. الأداء السابق لا يضمن النتائج المستقبلية.
استخدم دائماً إدارة مخاطر مناسبة وقم بتحليلك الخاص قبل اتخاذ قرارات التداول.
█████████████████████████████████████████████████████████████
CCI by DioAdded background color to entry points of the channel for easy observation to levels I am looking at.
ICT Quant-Core: Liquidity Intelligence [Dual-Engine]🔥 THE ULTIMATE LIQUIDITY FILTERING ENGINE
Most SMC traders lose money because they "catch falling knives" on every local wick. This algorithm solves this problem by using DUAL-CORE logic and a signal quality scoring system.
This is no ordinary pivot indicator.
⚙️ HOW DOES IT WORK? (DUAL-CORE LOGIC)
The algorithm analyzes the market on two levels simultaneously:
1️⃣ MACRO CORE (Lookback 50 - "WHALE 🐋")
Tracks key levels from recent weeks/months.
This is where institutions build their positions.
Signals from this core have the highest priority (Score 10/10).
2️⃣ LOCAL CORE (Lookback 20 - "ROACH 🐟")
Tracks internal market structure and noise.
Signals are filtered by the Main Trend. If the trend is down, Local Longs are marked as "TRAP."
🧠 SMART FILTERS (QUANT LAYERS)
Instead of entering on every line touch, the script requires confirmation:
✅ RECLAIM LOGIC: Price must close back above/below the liquidity level (Swing Failure Pattern).
✅ RVOL FILTER: Requires relative volume > 1.2x the average (institutional track).
✅ SCORING SYSTEM (0-10): Each signal receives a score.
- 10/10: Macro Grab in line with the trend + high volume.
- 3/10: Local Grab against the trend (risky).
📊 ANALYTICAL DASHBOARD
In the lower right corner, you'll find the "Command Center":
- Trend Status (Distribution/Accumulation)
- Whale's Last Move (Price and Direction)
- Current Tactics (e.g., "Ignore Longs, Search for Shorts")
- Filter Status (RSI, Volume, Reclaim)
🚀 HOW TO USE IT?
1. Set the H4 timeframe.
2. Wait for a signal with a rating > 7/10.
3. Ignore "Fish/Local" signals (small icons) if they contradict the Dashboard color.
4. Entry occurs only after the candle closes (Reclaim).
NoProcess PivotsNoProcess Pivots
Visualize the structural framework of price action with NoProcess Pivots, a precision tool for multi-timeframe confluence trading.
Pivots are mathematically derived levels where price statistically finds support, resistance, or equilibrium. Institutional order flow respects these levels as key decision points where liquidity pools form and inefficiencies seek rebalancing.
NoProcess Pivots displays historical pivot ranges as period-bounded zones across Daily, Weekly, and Quarterly timeframes—allowing you to observe how price has respected or violated these levels over time. By projecting ±33% extensions beyond R1/S1, traders can identify targets, retracement levels, and key reversal points.
Cross-reference pivots across multiple timeframes to find confluence zones where Daily, Weekly, and Quarterly levels stack. These high-conviction areas offer the clearest setups for entries and exits.
Features:
Multi-timeframe pivots: Daily, Weekly, Quarterly
Historical levels with adjustable depth
Period-bounded zones
±33% extensions
Adaptive light/dark mode table
Real-time Δ PP percentage
Pivot cross alerts
Built for traders who respect the math behind the markets.
RiskCraft - Advanced Risk Management SystemRiskCraft – Risk Intelligence Dashboard
Trade like you actually respect risk
"I know the setup looks good… but how much am I actually risking right now?"
RiskCraft is an open-source Pine Script v6 indicator that keeps risk transparent directly on the chart. It is not a signal generator; it is a risk desk that calculates size, frames volatility, and reminds you when your behaviour drifts away from the plan.
Core utilities
Calculates professional-style position sizing in real time.
Reads volatility and market regime before position size is confirmed.
Adjusts risk based on the trader’s emotional state and confidence inputs.
Maps session risk across Asian, London, and New York hours.
Draws exactly one stop line and one target line in the preferred direction.
Provides rotating education tips plus contextual warnings when risk escalates.
It is intentionally conservative and keeps you in the game long enough for any separate entry logic to matter.
---
Chart layout checklist
Use a clean chart on a liquid symbol (e.g., AMEX:SPY or major FX pairs).
Main RiskCraft dashboard placed on the right edge.
Session Risk box on the left with UTC time visible.
Floating risk badge above price.
Stop/target guide lines enabled.
Education panel visible in the bottom-right corner.
---
1. On-chart components
Right-side dashboard : account risk %, position size/value, stop, target, risk/reward, regime, trend strength, emotional state, behavioural score, correlation, and preferred trade direction.
Session Risk box : highlights active session (Asian, London, NY), current UTC time, and risk label (High/Med/Low) per session.
Floating risk badge : keeps actual account risk percent visible with colour-coded wording from Ultra Cautious to Very Aggressive.
Stop/target lines : exactly one dashed stop and one dashed target aligned with the preferred bias.
Education panel : rotates core principles and AI-style warnings tied to volatility, risk %, and behaviour flags.
---
2. Volatility engine – ATR with context 📈
atr = ta.atr(atrLength)
atrPercent = (atr / close) * 100
atrSMA = ta.sma(atr, atrLength)
volatilityRatio = atr / atrSMA
isHighVol = volatilityRatio > volThreshold
ATR vs ATR SMA shows how wild price is relative to recent history.
Volatility ratio above the threshold flips isHighVol , which immediately trims risk.
An ATR percentile rank over the last 100 bars indicates calm versus chaotic regimes.
Daily ATR sampling via request.security() gives higher time-frame context for intraday sessions.
When volatility spikes the script dials position size down automatically instead of cheering for maximum exposure.
---
3. Market regime radar – Danger or Drift 🌊
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
trendScore = (close > ema20 ? 1 : -1) +
(ema20 > ema50 ? 1 : -1) +
(ema50 > ema200 ? 1 : -1)
= ta.dmi(14, 14)
Regimes covered:
Danger : high volatility with weak trend.
Volatile : volatility elevated but structure still directional.
Choppy : low ADX and noisy action.
Trending : directional flows without extreme volatility.
Mixed : anything between.
Each regime maps to a 1–10 risk score and a multiplier that feeds the final position size. Danger and Choppy clamp size; Trending restores normal risk.
---
4. Behaviour engine – trader inputs matter 🧠
You provide:
Emotional state : Confident, Neutral, FOMO, Revenge, Fearful.
Confidence : slider from 1 to 10.
Toggle for behavioural adjustment on/off.
Behind the scenes:
Each state triggers an emotional multiplier .
Confidence produces a confidence multiplier .
Combined they form behavioralFactor and a 0–100 Behavioural Score .
High-risk emotions or low conviction clamp the final risk. Calm inputs allow normal size. The dashboard prints both fields to keep accountability on-screen.
---
5. Correlation guardrail – avoid stacking identical risk 📊
Optional correlation mode compares the active symbol to a reference (default AMEX:SPY ):
corrClose = request.security(correlationSymbol, timeframe.period, close)
priceReturn = ta.change(close) / close
corrReturn = ta.change(corrClose) / corrClose
correlation = calcCorrelation()
Absolute correlation above the threshold applies a correlation multiplier (< 1) to reduce size.
Dashboard row shows the live correlation and reference ticker.
When disabled, the row simply echoes the current symbol, keeping the table readable.
---
6. Position sizing engine – heart of the script 💰
baseRiskAmount = accountSize * (baseRiskPercent / 100)
adjustedRisk = baseRiskAmount * behavioralFactor *
regimeAdjustment * volAdjustment *
correlationAdjustment
finalRiskAmount = math.min(adjustedRisk,
accountSize * (maxRiskCap / 100))
stopDistance = atr * atrStopMultiplier
takeProfit = atr * atrTargetMultiplier
positionSize = stopDistance > 0 ? finalRiskAmount / stopDistance : 0
positionValue = positionSize * close
Outputs shown on the dashboard:
Position size in units and value in currency.
Actual risk % back on account after adjustments.
Risk/Reward derived from ATR-based stop and target.
---
7. Intelligent trade direction – bias without signals 🎯
Direction score ingredients:
EMA stack alignment.
Price versus EMA20.
RSI momentum relative to 50.
MACD line vs signal.
Directional Movement (DI+/DI–).
The resulting Trade Direction row prints LONG, SHORT, or NEUTRAL. No orders are generated—this is guidance so you only risk capital when the structure supports it.
---
8. Stop/target guide lines – two lines only ✂️
if showStopLines
if preferLong
// long stop below, target above
else if preferShort
// short stop above, target below
Lines refresh each bar to keep clutter low.
When the direction score is neutral, no lines appear.
Use them as visual anchors, not auto-orders.
---
9. Session Risk map – global volatility clock 🌍
Tracks Asian, London, and New York windows via UTC.
Computes average ATR per session versus global ATR SMA.
Labels each session High/Med/Low and colours the cells accordingly.
Top row shows the active session plus current UTC time so you always know the regime you are trading.
One glance tells you whether you are trading quiet drift or the part of the day that hunts stops.
---
10. Floating risk badge – honesty above price 🪪
Text ranges from Ultra Cautious through Very Aggressive.
Colour matches the risk palette inputs (High/Med/Low).
Updates on the last bar only, keeping historical clutter off the chart.
Account risk becomes impossible to ignore while you stare at price.
---
11. Education engine & warnings 📚
Rotates evergreen principles (risk 1–2%, journal trades, respect plan).
Triggers contextual warnings when volatility and risk % conflict.
Flags when emotional state = FOMO or Revenge.
Highlights sub-standard risk/reward setups.
When multiple danger flags stack, an AI-style warning overrides the tip text so you can course-correct before capital is exposed.
---
12. Alerts – hard guard rails 🚨
Excessive Risk Alert : actual risk % crosses custom threshold.
High Volatility Alert : ATR behaviour signals danger regime.
Emotional State Warning : FOMO or Revenge selected.
Poor Risk/Reward Alert : risk/reward drops below your standard.
All alerts reinforce discipline; none suggest entries or exits.
---
13. Multi-market behaviour 🕒
Intraday (1m–1h): session box and badge react quickly; ideal for scalpers needing constant risk context.
Higher time frames (1D–1W): dashboard shifts slowly, supporting swing planning.
Asset classes confirmed in validation: crypto majors, large-cap equities, indices, major FX pairs, and liquid commodities.
Risk logic is price-based, so it adapts across markets without bespoke tuning.
15. Key inputs & recommended defaults
Account Size : 10,000 (modify to match actual account; min 100).
Base Risk % : 1.0 with a Maximum Risk Cap of 2.5%.
ATR Period : 14, Stop Multiplier 2.0, Target Multiplier 3.0.
High Vol Threshold : 1.5 for ATR ratio.
Behavioural Adjustment : enabled by default; disable for fixed risk.
Correlation Check : optional; default symbol AMEX:SPY , threshold 0.7.
Display toggles : main dashboard, risk badge, session map, education panel, and stop lines can be individually disabled to reduce clutter.
16. Usage notes & limits
Indicator mode only; no automated entries or exits.
Trade history panel intentionally disabled (requires strategy context).
Correlation analysis depends on additional data requests and may lag slightly on illiquid symbols.
Session timing uses UTC; adjust expectations if you trade localized instruments.
HTF ATR sampling uses daily data, so bar replay on lower charts may show brief data gaps while HTF loads.
What does everyone think RISK really means?
Swing Data - ADR% / RVol / PVol / Float % / Avg $ Vol (Mod)Modified from this source code:
I have added the current bar DR so i can compare to ADR of the current bar to see if it is worth taking the trade for my bar-by-bar practice.
Quick too instead of having to measure it each time
BörsenampelThe “VIX/VVIX Traffic Light (Panel)” visualizes the current market risk as a simple traffic light (green / yellow / red) in the top‑right corner of the chart, based on the VIX and VVIX indices.
How it works
The script loads the VIX and VVIX indices via request.security and evaluates them using user‑defined threshold levels.
Green: VIX and VVIX are below their “green” thresholds, indicating a calm market environment and more risk‑on conditions.
Red: VIX and VVIX are above their “red” thresholds, signalling stress or panic phases with elevated risk.
Yellow: Transitional zone between the two extremes.
Chart display
A small panel with the title “Traffic Light” is shown in the upper‑right corner of the chart.
The central box displays the current status (“GREEN”, “YELLOW”, “RED”) with a matching background color.
Optionally, the current VIX and VVIX values are shown below the status.
Inputs and usage
Symbols for VIX and VVIX can be freely chosen (default: CBOE:VIX and CBOE:VVIX).
The green/red thresholds can be adjusted to fit personal volatility rules or different markets.
Volatility Risk PremiumTHE INSURANCE PREMIUM OF THE STOCK MARKET
Every day, millions of investors face a fundamental question that has puzzled economists for decades: how much should protection against market crashes cost? The answer lies in a phenomenon called the Volatility Risk Premium, and understanding it may fundamentally change how you interpret market conditions.
Think of the stock market like a neighborhood where homeowners buy insurance against fire. The insurance company charges premiums based on their estimates of fire risk. But here is the interesting part: insurance companies systematically charge more than the actual expected losses. This difference between what people pay and what actually happens is the insurance premium. The same principle operates in financial markets, but instead of fire insurance, investors buy protection against market volatility through options contracts.
The Volatility Risk Premium, or VRP, measures exactly this difference. It represents the gap between what the market expects volatility to be (implied volatility, as reflected in options prices) and what volatility actually turns out to be (realized volatility, calculated from actual price movements). This indicator quantifies that gap and transforms it into actionable intelligence.
THE FOUNDATION
The academic study of volatility risk premiums began gaining serious traction in the early 2000s, though the phenomenon itself had been observed by practitioners for much longer. Three research papers form the backbone of this indicator's methodology.
Peter Carr and Liuren Wu published their seminal work "Variance Risk Premiums" in the Review of Financial Studies in 2009. Their research established that variance risk premiums exist across virtually all asset classes and persist over time. They documented that on average, implied volatility exceeds realized volatility by approximately three to four percentage points annualized. This is not a small number. It means that sellers of volatility insurance have historically collected a substantial premium for bearing this risk.
Tim Bollerslev, George Tauchen, and Hao Zhou extended this research in their 2009 paper "Expected Stock Returns and Variance Risk Premia," also published in the Review of Financial Studies. Their critical contribution was demonstrating that the VRP is a statistically significant predictor of future equity returns. When the VRP is high, meaning investors are paying substantial premiums for protection, future stock returns tend to be positive. When the VRP collapses or turns negative, it often signals that realized volatility has spiked above expectations, typically during market stress periods.
Gurdip Bakshi and Nikunj Kapadia provided additional theoretical grounding in their 2003 paper "Delta-Hedged Gains and the Negative Market Volatility Risk Premium." They demonstrated through careful empirical analysis why volatility sellers are compensated: the risk is not diversifiable and tends to materialize precisely when investors can least afford losses.
HOW THE INDICATOR CALCULATES VOLATILITY
The calculation begins with two separate measurements that must be compared: implied volatility and realized volatility.
For implied volatility, the indicator uses the CBOE Volatility Index, commonly known as the VIX. The VIX represents the market's expectation of 30-day forward volatility on the S&P 500, calculated from a weighted average of out-of-the-money put and call options. It is often called the "fear gauge" because it rises when investors rush to buy protective options.
Realized volatility requires more careful consideration. The indicator offers three distinct calculation methods, each with specific advantages rooted in academic literature.
The Close-to-Close method is the most straightforward approach. It calculates the standard deviation of logarithmic daily returns over a specified lookback period, then annualizes this figure by multiplying by the square root of 252, the approximate number of trading days in a year. This method is intuitive and widely used, but it only captures information from closing prices and ignores intraday price movements.
The Parkinson estimator, developed by Michael Parkinson in 1980, improves efficiency by incorporating high and low prices. The mathematical formula calculates variance as the sum of squared log ratios of daily highs to lows, divided by four times the natural logarithm of two, times the number of observations. This estimator is theoretically about five times more efficient than the close-to-close method because high and low prices contain additional information about the volatility process.
The Garman-Klass estimator, published by Mark Garman and Michael Klass in 1980, goes further by incorporating opening, high, low, and closing prices. The formula combines half the squared log ratio of high to low prices minus a factor involving the log ratio of close to open. This method achieves the minimum variance among estimators using only these four price points, making it particularly valuable for markets where intraday information is meaningful.
THE CORE VRP CALCULATION
Once both volatility measures are obtained, the VRP calculation is straightforward: subtract realized volatility from implied volatility. A positive result means the market is paying a premium for volatility insurance. A negative result means realized volatility has exceeded expectations, typically indicating market stress.
The raw VRP signal receives slight smoothing through an exponential moving average to reduce noise while preserving responsiveness. The default smoothing period of five days balances signal clarity against lag.
INTERPRETING THE REGIMES
The indicator classifies market conditions into five distinct regimes based on VRP levels.
The EXTREME regime occurs when VRP exceeds ten percentage points. This represents an unusual situation where the gap between implied and realized volatility is historically wide. Markets are pricing in significantly more fear than is materializing. Research suggests this often precedes positive equity returns as the premium normalizes.
The HIGH regime, between five and ten percentage points, indicates elevated risk aversion. Investors are paying above-average premiums for protection. This often occurs after market corrections when fear remains elevated but realized volatility has begun subsiding.
The NORMAL regime covers VRP between zero and five percentage points. This represents the long-term average state of markets where implied volatility modestly exceeds realized volatility. The insurance premium is being collected at typical rates.
The LOW regime, between negative two and zero percentage points, suggests either unusual complacency or that realized volatility is catching up to implied volatility. The premium is shrinking, which can precede either calm continuation or increased stress.
The NEGATIVE regime occurs when realized volatility exceeds implied volatility. This is relatively rare and typically indicates active market stress. Options were priced for less volatility than actually occurred, meaning volatility sellers are experiencing losses. Historically, deeply negative VRP readings have often coincided with market bottoms, though timing the reversal remains challenging.
TERM STRUCTURE ANALYSIS
Beyond the basic VRP calculation, sophisticated market participants analyze how volatility behaves across different time horizons. The indicator calculates VRP using both short-term (default ten days) and long-term (default sixty days) realized volatility windows.
Under normal market conditions, short-term realized volatility tends to be lower than long-term realized volatility. This produces what traders call contango in the term structure, analogous to futures markets where later delivery dates trade at premiums. The RV Slope metric quantifies this relationship.
When markets enter stress periods, the term structure often inverts. Short-term realized volatility spikes above long-term realized volatility as markets experience immediate turmoil. This backwardation condition serves as an early warning signal that current volatility is elevated relative to historical norms.
The academic foundation for term structure analysis comes from Scott Mixon's 2007 paper "The Implied Volatility Term Structure" in the Journal of Derivatives, which documented the predictive power of term structure dynamics.
MEAN REVERSION CHARACTERISTICS
One of the most practically useful properties of the VRP is its tendency to mean-revert. Extreme readings, whether high or low, tend to normalize over time. This creates opportunities for systematic trading strategies.
The indicator tracks VRP in statistical terms by calculating its Z-score relative to the trailing one-year distribution. A Z-score above two indicates that current VRP is more than two standard deviations above its mean, a statistically unusual condition. Similarly, a Z-score below negative two indicates VRP is unusually low.
Mean reversion signals trigger when VRP reaches extreme Z-score levels and then shows initial signs of reversal. A buy signal occurs when VRP recovers from oversold conditions (Z-score below negative two and rising), suggesting that the period of elevated realized volatility may be ending. A sell signal occurs when VRP contracts from overbought conditions (Z-score above two and falling), suggesting the fear premium may be excessive and due for normalization.
These signals should not be interpreted as standalone trading recommendations. They indicate probabilistic conditions based on historical patterns. Market context and other factors always matter.
MOMENTUM ANALYSIS
The rate of change in VRP carries its own information content. Rapidly rising VRP suggests fear is building faster than volatility is materializing, often seen in the early stages of corrections before realized volatility catches up. Rapidly falling VRP indicates either calming conditions or rising realized volatility eating into the premium.
The indicator tracks VRP momentum as the difference between current VRP and VRP from a specified number of bars ago. Positive momentum with positive acceleration suggests strengthening risk aversion. Negative momentum with negative acceleration suggests intensifying stress or rapid normalization from elevated levels.
PRACTICAL APPLICATION
For equity investors, the VRP provides context for risk management decisions. High VRP environments historically favor equity exposure because the market is pricing in more pessimism than typically materializes. Low or negative VRP environments suggest either reducing exposure or hedging, as markets may be underpricing risk.
For options traders, understanding VRP is fundamental to strategy selection. Strategies that sell volatility, such as covered calls, cash-secured puts, or iron condors, tend to profit when VRP is elevated and compress toward its mean. Strategies that buy volatility tend to profit when VRP is low and risk materializes.
For systematic traders, VRP provides a regime filter for other strategies. Momentum strategies may benefit from different parameters in high versus low VRP environments. Mean reversion strategies in VRP itself can form the basis of a complete trading system.
LIMITATIONS AND CONSIDERATIONS
No indicator provides perfect foresight, and the VRP is no exception. Several limitations deserve attention.
The VRP measures a relationship between two estimates, each subject to measurement error. The VIX represents expectations that may prove incorrect. Realized volatility calculations depend on the chosen method and lookback period.
Mean reversion tendencies hold over longer time horizons but provide limited guidance for short-term timing. VRP can remain extreme for extended periods, and mean reversion signals can generate losses if the extremity persists or intensifies.
The indicator is calibrated for equity markets, specifically the S&P 500. Application to other asset classes requires recalibration of thresholds and potentially different data sources.
Historical relationships between VRP and subsequent returns, while statistically robust, do not guarantee future performance. Structural changes in markets, options pricing, or investor behavior could alter these dynamics.
STATISTICAL OUTPUTS
The indicator presents comprehensive statistics including current VRP level, implied volatility from VIX, realized volatility from the selected method, current regime classification, number of bars in the current regime, percentile ranking over the lookback period, Z-score relative to recent history, mean VRP over the lookback period, realized volatility term structure slope, VRP momentum, mean reversion signal status, and overall market bias interpretation.
Color coding throughout the indicator provides immediate visual interpretation. Green tones indicate elevated VRP associated with fear and potential opportunity. Red tones indicate compressed or negative VRP associated with complacency or active stress. Neutral tones indicate normal market conditions.
ALERT CONDITIONS
The indicator provides alerts for regime transitions, extreme statistical readings, term structure inversions, mean reversion signals, and momentum shifts. These can be configured through the TradingView alert system for real-time monitoring across multiple timeframes.
REFERENCES
Bakshi, G., and Kapadia, N. (2003). Delta-Hedged Gains and the Negative Market Volatility Risk Premium. Review of Financial Studies, 16(2), 527-566.
Bollerslev, T., Tauchen, G., and Zhou, H. (2009). Expected Stock Returns and Variance Risk Premia. Review of Financial Studies, 22(11), 4463-4492.
Carr, P., and Wu, L. (2009). Variance Risk Premiums. Review of Financial Studies, 22(3), 1311-1341.
Garman, M. B., and Klass, M. J. (1980). On the Estimation of Security Price Volatilities from Historical Data. Journal of Business, 53(1), 67-78.
Mixon, S. (2007). The Implied Volatility Term Structure of Stock Index Options. Journal of Empirical Finance, 14(3), 333-354.
Parkinson, M. (1980). The Extreme Value Method for Estimating the Variance of the Rate of Return. Journal of Business, 53(1), 61-65.
HTF Candles & Levels Visualizer - SRHTF Candles & Levels Visualizer is a clean higher‑timeframe visualization tool designed to complement any trading strategy by giving clear context of larger‑TF structure directly on your current chart. It plots the previous high and low for up to three user‑selectable timeframes, and draws them as extended levels with optional labels, making it easy to see where current price sits relative to key higher‑timeframe zones.
The script also renders compact proxy candles for each selected timeframe to the right of current price, so you can visually track HTF candle development without switching charts. Each HTF slot has independent settings: timeframe, color, number of displayed candles, and visibility toggles, along with global controls for line style, label size, candle spacing, and colors.
This tool does not generate trading signals; it focuses purely on multi‑timeframe context and market structure visualization to support your own entries, exits, and risk management.
AlphaTrend | APEX [Singularity]This is a customized Trend Tracer style system designed to capture high-quality moves while filtering out noise. It combines three core "Engines":
1. Kinetic Trend Engine (The "Ribbon")
Logic: Uses a Dual-ALMA Ribbon (Arnaud Legoux Moving Average).
Fast Line (Leader): Responsive, hugs price.
Slow Line (Laggard): Smooth, validates structure.
Signals: "BUY" and "SELL" labels trigger exactly when the ribbon twists (Crossover/Crossunder).
Filters:
Entropy & Hurst: Measures market chaos. The ribbon turns Gray/Faded during choppy conditions to warn against trading.
2. Flow Engine (Whale Validation)
Whale Volume: Checks for relative volume spikes (> 1.2x average) and Money Flow intensity.
Confirmation: Signals are stronger when accompanied by the Whale Icon (🐋), indicating institutional participation.
3. Liquidity Magnets (Targets)
Logic: Automatically detects recent Swing Highs and Lows.
Visuals: Dashed lines extend forward to act as dynamic Support/Resistance levels or Take Profit targets.
Behavior: Lines disappear when price tests (breaks) them, indicating "Liquidity Taken".
Visuals
Cloud: Dynamic Green/Red fill between the ribbon lines.
HUD: Heads-Up Display showing current Trend, Market State (Clean/Chop), Flow Status, and Active Magnets.
Labels: Clean "Tag" style labels for entry signa






















