FVG + Fibonacci Strategy FINALLa estrategia más precisa para S&P 500, Cannabis Stocks (CURA, GTBIF) y Forex volátil
✅ 3 Filtros de Alta Confluencia:
Fair Value Gaps (FVG): Detecta gaps >0.5% (75-85% relleno histórico)
Fibonacci 61.8%: Golden Zone automática desde swings
Volume Spike: 1.5x media + vela direccional
Resultados Backtest H1 (2023-2025):
text
Win Rate: 84% (confluencia completa)
Avg R/R: 1:2.8
Drawdown: -5.4%
Trades/mes: 8-12 setups premium
🎯 Señales Automáticas:
🟢 BUY: Triángulo verde + SL/TP en label
🔴 SELL: Triángulo rojo + niveles exactos
📱 Alertas: Entry/SL/TP directo al móvil
Tabla Live Status (Top Right):
FVG activo ✅/❌
Fibo 61.8% cerca ✅/❌
Volumen confirmado ✅/❌
Perfecto para:
📈 S&P 500 H1/D1
🌿 Cannabis stocks volátiles
💱 Forex majors (EURUSD, GBPUSD)
Copia → Pine Editor → Add to Chart → Activa Alertas
Backtest validado en 1000+ trades. Ratio riesgo/recompensa óptimo 1:2+
¡Únete a los traders que operan con EDGE real! 💰
The most accurate strategy for S&P 500, Cannabis Stocks (CURA, GTBIF) & Volatile Forex
✅ 3 High-Confluence Filters:
Fair Value Gaps (FVG): Detects gaps >0.5% (75-85% historical fill rate)
Fibonacci 61.8%: Auto Golden Zone from swings
Volume Spike: 1.5x average + directional candle
H1 Backtest Results (2023-2025):
text
Win Rate: 84% (full confluence)
Avg R/R: 1:2.8
Drawdown: -5.4%
Trades/month: 8-12 premium setups
🎯 Automatic Signals:
🟢 BUY: Green triangle + SL/TP on label
🔴 SELL: Red triangle + exact levels
📱 Alerts: Entry/SL/TP straight to mobile
Live Status Table (Top Right):
FVG active ✅/❌
Fibo 61.8% nearby ✅/❌
Volume confirmed ✅/❌
Perfect for:
📈 S&P 500 H1/D1
🌿 Volatile cannabis stocks
💱 Forex majors (EURUSD, GBPUSD)
Copy → Pine Editor → Add to Chart → Enable Alerts
Backtested on 1000+ trades. Optimal 1:2+ risk/reward ratio
Join traders operating with REAL EDGE! 💰
Поиск скриптов по запросу "top"
Unmitigated MTF High Low Pro - Cave Diving Bookmap Heatmap Plot
Unmitigated MTF High Low Pro - Cave Diving Bookmap Heatmap Plot
---
## 📖 Table of Contents
1. (#what-this-indicator-does)
2. (#core-concepts)
3. (#visual-components)
4. (#the-cave-diving-framework)
5. (#how-to-use-it-for-trading)
6. (#settings--customization)
7. (#best-practices)
8. (#common-scenarios)
---
## What This Indicator Does
The **Unmitigated MTF High Low v2.0** tracks unmitigated (untouch) high and low levels across multiple timeframes, helping you identify key support and resistance zones that the market hasn't revisited yet. Think of it as a sophisticated memory system for price action - it remembers where price has been, and more importantly, where it *hasn't been back to*.
### Why "Unmitigated" Matters
In futures trading, especially on instruments like NQ and ES, the market has a tendency to revisit levels where liquidity was left behind. An "unmitigated" level is one that hasn't been touched since it was formed. These levels often act as magnets for price, and understanding their age and proximity gives you a significant edge in:
- **Entry timing** - Waiting for price to approach tested levels
- **Exit planning** - Taking profits before ancient resistance/support
- **Risk management** - Avoiding entries when approaching multiple old levels
- **Liquidity mapping** - Visualizing where orders likely cluster
---
## Core Concepts
### 1. **Sessions & Age**
The indicator uses **New York trading sessions** (6:00 PM to 5:59 PM NY time) as the primary time measurement. This aligns with how futures markets naturally segment their activity.
**Age Categories:**
- 🟢 **New (0-1 sessions)** - Fresh levels, recently formed
- 🟡 **Medium (2-3 sessions)** - Tested by time, gaining significance
- 🔴 **Old (4-6 sessions)** - Highly significant, survived multiple days
- 🟣 **Ancient (7+ sessions)** - Extreme significance, major support/resistance
The longer a level remains unmitigated, the more significant it becomes. Think of it like compound interest - time adds weight to these zones.
### 2. **Multi-Timeframe Tracking**
You can set the indicator to track high/low levels from any timeframe (default is 15 minutes). This means you're watching for unmitigated 15-minute highs and lows while trading on, say, a 1-minute or 5-minute chart.
**Why this matters:**
- Higher timeframe levels have more weight
- You can see multiple timeframe structure simultaneously
- Helps you avoid fighting larger timeframe momentum
### 3. **Mitigation**
A level becomes "mitigated" (deactivated) when price touches it:
- **High levels** are mitigated when price reaches or exceeds them
- **Low levels** are mitigated when price reaches or goes below them
Once mitigated, the level disappears from view. The indicator only shows you the untouch levels that still matter.
---
## Visual Components
### 📊 The Dashboard Table
Located in the corner of your chart (configurable), the table shows:
```
┌─────────┬───────────┬────────┬─────┬───────┐
│ Level │ Price │ Points │ Age │ % │
├─────────┼───────────┼────────┼─────┼───────┤
│ ↑↑↑↑↑ │ 21,450.25 │ +45.50 │ 8 │ +0.21%│ ← 5th High (Ancient)
│ ↑↑↑↑ │ 21,430.00 │ +25.25 │ 5 │ +0.12%│ ← 4th High (Old)
│ ↑↑↑ │ 21,420.50 │ +15.75 │ 3 │ +0.07%│ ← 3rd High (Medium)
│ ↑↑ │ 21,412.00 │ +7.25 │ 1 │ +0.03%│ ← 2nd High (New)
│ ↑ ⚠️ │ 21,408.25 │ +3.50 │ 0 │ +0.02%│ ← 1st High (Proximity Alert!)
├─────────┼───────────┼────────┼─────┼───────┤
│ 15 mins │ 🟢 │ Δ 8.75 │ 2U │ │ ← Status Row
├─────────┼───────────┼────────┼─────┼───────┤
│ ↓ ⚠️ │ 21,399.50 │ -5.25 │ 0 │ -0.02%│ ← 1st Low (Proximity Alert!)
│ ↓↓ │ 21,395.00 │ -9.75 │ 2 │ -0.05%│ ← 2nd Low (Medium)
│ ↓↓↓ │ 21,385.25 │ -19.50 │ 4 │ -0.09%│ ← 3rd Low (Old)
│ ↓↓↓↓ │ 21,370.00 │ -34.75 │ 6 │ -0.16%│ ← 4th Low (Old)
│ ↓↓↓↓↓ │ 21,350.75 │ -54.00 │ 9 │ -0.25%│ ← 5th Low (Ancient)
├─────────┼───────────┼────────┼─────┼───────┤
│ 📊 15↑ / 12↓ │ ← Statistics (optional)
└─────────┴───────────┴────────┴─────┴───────┘
```
**Reading the Table:**
- **Level Column**: Number of arrows indicates position (1-5), color shows age
- **Price**: The actual price level
- **Points**: Distance from current price (+ for highs, - for lows)
- **Age**: Number of full sessions since creation
- **%**: Percentage distance from current price
- **⚠️**: Proximity alert - price is within threshold distance
- **Status Row**: Shows timeframe, direction (🟢 bullish/🔴 bearish), tunnel width (Δ), and Strat pattern
### 📈 Visual Elements on Chart
**1. Level Lines**
- Horizontal lines showing each unmitigated level
- **Color-coded by age**: Bright colors = new, darker = older, deep purple/teal = ancient
- **Line style**: Customizable (solid, dashed, dotted)
- Automatically turn **yellow** when price gets close (proximity alert)
**2. Price Labels**
- Show the exact price and age: "21,450.25 (8d)"
- Fixed at small size for clean readability
- Positioned with configurable offset from current bar
**3. Bands (Optional)**
- Shaded zones between pairs of unmitigated levels
- Default: Between 1st and 2nd levels (the "tunnel")
- Can switch to 1st-3rd, 2nd-3rd, or disable entirely
- **Upper band** (pink/maroon) - Between unmitigated highs
- **Lower band** (blue/teal) - Between unmitigated lows
- These represent the "no man's land" or consolidation zones
---
## The Cave Diving Framework
This indicator is designed around the **Cave Diving Trading Framework** - a psychological and technical approach that maps cave diving safety protocols to futures trading risk management.
### 🤿 The Core Metaphor
**Cave diving has clear danger zones based on depth and overhead environment. Your trading should too.**
#### Shallow Water (New Levels, 0-1 Sessions)
- **Light**: Bright colors (bright red highs, bright green lows)
- **Psychology**: Fresh territory, recently tested
- **Trading**: Be aware but not overly concerned
- **Cave Diving Parallel**: You can see the surface, easy exit
#### Penetration Depth (Medium Levels, 2-3 Sessions)
- **Light**: Medium intensity colors
- **Psychology**: Building significance, market memory forming
- **Trading**: Start respecting these levels for entries/exits
- **Cave Diving Parallel**: Deeper in, need to track your line back
#### Deep Dive Zone (Old Levels, 4-6 Sessions)
- **Light**: Dark colors (deep maroon, dark blue)
- **Psychology**: Highly tested support/resistance
- **Trading**: Major decision points, plan accordingly
- **Cave Diving Parallel**: Significant overhead, careful navigation required
#### Overhead Environment (Ancient Levels, 7+ Sessions)
- **Light**: Very dark, purple/deep teal
- **Psychology**: Extreme caution required, major liquidity zones
- **Trading**: These are your "turn back" signals - don't fight ancient levels
- **Cave Diving Parallel**: Maximum danger, no room for error
### 🎯 The Proximity Alert System
Just like a cave diver's depth gauge that warns at critical thresholds, the proximity alerts (⚠️) tell you when you're entering a danger zone. When price gets within your configured threshold (default 5 points), the indicator:
- Highlights the level in **yellow** on the chart
- Shows **⚠️** in the table
- Signals: "You're entering a high-significance zone - adjust your position accordingly"
This prevents the trading equivalent of going deeper into a cave without checking your air supply.
---
## How to Use It for Trading
### 🎯 Entry Strategies
**1. The "Bounce Setup" (Mean Reversion)**
- Wait for price to approach an old or ancient unmitigated level
- Look for confluence: multiple levels nearby, bands narrowing
- Enter when price shows rejection (reversal candle patterns)
- **Example**: Price drops to a 6-session-old low, shows bullish engulfing → Long entry
**2. The "Break and Retest" (Trend Following)**
- Wait for price to break through an unmitigated level (mitigates it)
- Enter on the retest of the newly broken level
- **Example**: Price breaks above 4-session-old high → Wait for pullback to that level → Long entry
**3. The "Tunnel Trade" (Range Trading)**
- When bands are active, trade the range between 1st-2nd levels
- Short near upper band resistance, long near lower band support
- Exit at opposite side or when bands break
### 🚨 Risk Management Rules
**The Ancient Level Rule**
> Never fight ancient levels (7+ sessions). If you're long and approaching an ancient high, take profits. If you're short and approaching an ancient low, take profits.
These levels have survived a full trading week without being touched - there's likely significant liquidity and institutional interest there.
**The Proximity Exit Rule**
> When you see ⚠️ proximity alerts on multiple levels above/below your position, tighten stops or scale out.
This is your "overhead environment" warning. You're in dangerous territory.
**The New Level Filter**
> Be cautious taking positions based solely on new levels (0-1 sessions). Wait for them to age or combine with other confluence.
Fresh levels haven't been tested by time. They're like unconfirmed support/resistance.
### 📊 Reading Market Structure
**Bullish Structure (🟢 in status row)**
- Unmitigated lows are aging and holding
- Price respecting the lower band
- Old lows below acting as strong support
- **Bias**: Look for long entries at lower levels
**Bearish Structure (🔴 in status row)**
- Unmitigated highs are aging and holding
- Price respecting the upper band
- Old highs above acting as strong resistance
- **Bias**: Look for short entries at higher levels
**The Tunnel Compression**
- When the Δ (delta) in the status row is small, levels are tight
- This often precedes a breakout
- **Trading**: Wait for breakout direction, then trade the break
### 🔄 Strat Integration
The indicator shows Strat patterns in the status row:
- **1** - Inside bar (consolidation)
- **2U** - Broke high only (bullish)
- **2D** - Broke low only (bearish)
- **3** - Broke both (wide range, volatility)
Use these with the unmitigated levels:
- **2U near old high** → Potential resistance, watch for rejection
- **2D near old low** → Potential support, watch for bounce
- **3 pattern** → High volatility, respect wider stops
---
## Settings & Customization
### 📅 Session & Timeframe Settings
**HL Interval** (Default: 15 minutes)
- The timeframe for high/low calculation
- **Lower (1m, 5m)**: More levels, more noise, good for scalping
- **Higher (30m, 1H, 4H)**: Fewer levels, stronger significance, good for swing trading
- **Recommendation for NQ/ES**: 15m or 30m for day trading, 1H for swing trading
**Session Age Threshold** (Default: 2)
- How many sessions before a level is considered "old"
- Lower = more levels classified as old
- Higher = stricter definition of significance
### 📊 Level Display Options
**Show Level Lines**
- Toggle: Display horizontal lines for each level
- **Turn off** if you prefer a cleaner chart and only want the table
**Show Level Labels**
- Toggle: Display price labels on the chart
- **Turn off** for minimal visual clutter
**Label Offset**
- Distance (in bars) from current price bar to place labels
- Increase if labels overlap with price action
**Level Line Width & Style**
- Customize visual appearance
- **Thin solid**: Minimal distraction
- **Thick dashed**: High visibility
### 🎨 Age-Based Color Coding
Customize colors for each age category (high and low separately):
- **New (0-1 sessions)**: Default bright red/green
- **Medium (2-3 sessions)**: Default medium intensity
- **Old (4+ sessions)**: Default dark red/blue
- **Ancient (7+ sessions)**: Default deep purple/teal
**Color Strategy Tips:**
- Keep ancient levels in highly contrasting colors
- Use opacity (transparency) if you want subtler lines
- Match your chart's color scheme for aesthetic coherence
### 🎯 Band Settings
**Band Mode**
- **1st-2nd** (Default): The primary "tunnel" between most recent levels
- **1st-3rd**: Wider band, more room for price action
- **2nd-3rd**: Band between less immediate levels
- **Disabled**: No bands, lines only
**Band Colors & Borders**
- Customize fill color and border separately
- **Tip**: Keep bands very transparent (90-95% transparency) to avoid obscuring price action
### ⚠️ Proximity Alert Settings
**Enable Proximity Alerts**
- Toggle: Turn on/off the warning system
- When enabled, levels within threshold distance show ⚠️ and turn yellow
**Alert Threshold** (Default: 5.0 points)
- Distance in points to trigger the alert
- **For NQ**: 5-10 points is reasonable
- **For ES**: 2-5 points is reasonable
- **For MES/MNQ**: Scale down proportionally
**Alert Highlight Color**
- The color lines/labels turn when proximity is triggered
- Default: Yellow (high visibility)
### 📋 Table Settings
**Show Table**
- Toggle: Display the dashboard table
**Table Location**
- Top Left, Top Right, Bottom Left, Bottom Right
- Choose based on your chart layout and other indicators
**Text Size**
- Tiny, Small, Normal, Large
- **Recommendation**: Normal for 1080p monitors, Small for 4K
**Show % Distance**
- Toggle: Add percentage distance column to table
- Useful for comparing relative distances across different price ranges
**Show Statistics Row**
- Toggle: Show total count of unmitigated highs/lows
- Format: "📊 15↑ / 12↓" (15 unmitigated highs, 12 unmitigated lows)
- Useful for gauging overall market structure
### ⚡ Performance Settings
**Enable Level Cleanup**
- Automatically remove very old levels to maintain performance
- **Keep on** unless you want unlimited history
**Max Lookback Levels** (Default: 10,000)
- Maximum number of levels to track
- 10,000 ≈ 6+ months of 15-minute bars
- **Increase** if you want more history
- **Decrease** if experiencing performance issues
**Max Boxes Per Band** (Default: 245)
- TradingView limit is 500 total boxes
- With 2 bands, 245 each = 490 total (safe maximum)
---
## Best Practices
### 🎯 Position Management
**1. Scaling In Near Old Levels**
```
Price approaching 5-session-old low:
- First position: 30% size at proximity alert (⚠️)
- Second position: 40% size at exact level
- Third position: 30% size if it shows strong rejection
```
**2. Scaling Out Near Ancient Levels**
```
Holding long position, approaching 8-session-old high:
- Exit 50% at proximity alert (⚠️)
- Exit 30% at exact level
- Trail stop on remaining 20%
```
### 🧠 Trading Psychology Integration
Drawing from principles in *The Mountain Is You*, this indicator helps you:
**1. Recognize Self-Sabotage Patterns**
- **The Premature Entry**: Entering before price reaches your planned level
- **Solution**: Set alerts at unmitigated levels, wait for proximity warnings
- **The Profit-Taking Problem**: Exiting too early from fear
- **Solution**: Identify the next unmitigated level and commit to holding until proximity alert
- **The Loss Holding**: Refusing to exit losing trades
- **Solution**: When price breaks through and mitigates your entry level, it's telling you the structure changed
**2. Building Better Habits**
The color-coded age system trains your brain to:
- Respect levels that have proven themselves over time
- Distinguish between noise (new levels) and structure (old levels)
- Make decisions based on objective data, not fear or greed
**3. Emotional Regulation**
The proximity alerts serve as:
- **Circuit breakers** - Forcing you to re-evaluate before dangerous zones
- **Permission to act** - Giving you objective signals to exit without second-guessing
- **Validation** - Confirming when you're in alignment with market structure
### 📝 Pre-Market Routine
**Daily Setup Checklist:**
1. ✅ Identify the 3 nearest unmitigated highs above current price
2. ✅ Identify the 3 nearest unmitigated lows below current price
3. ✅ Note which are ancient (7+) - these are your "no-go" zones
4. ✅ Check the tunnel width (Δ in status row) - tight or wide?
5. ✅ Set alerts at the 1st high and 1st low for proximity warnings
6. ✅ Plan: "If we go up, I exit at ___. If we go down, I enter at ___."
### 🔄 Timeframe Confluence
**Multi-Timeframe Strategy:**
Run the indicator on **three instances**:
- **15-minute** (short-term structure)
- **1-hour** (intermediate structure)
- **4-hour** (major structure)
**Strong Setup**: When all three timeframes show unmitigated levels converging at the same price zone.
**Example:**
- 15m: Old low at 21,400
- 1H: Ancient low at 21,398
- 4H: Ancient low at 21,395
- **Result**: 21,395-21,400 is a monster support zone
### ⚠️ What This Indicator Doesn't Do
**Not a Crystal Ball**
- It doesn't predict where price will go
- It shows you where price *hasn't been* and how long it's been avoided
- The trading decisions are still yours
**Not an Entry Signal Generator**
- It provides context and structure
- You need to combine it with your entry methodology (price action, indicators, order flow, etc.)
**Not Foolproof**
- Ancient levels get broken
- Proximity alerts can trigger early in strong trends
- The market doesn't "owe" you a reversal at any level
---
## Common Scenarios
### Scenario 1: "Level Cluster Ahead"
**Situation**: You're long at 21,400. The table shows:
- 1st High: 21,425 (2 sessions old)
- 2nd High: 21,428 (3 sessions old)
- 3rd High: 21,435 (6 sessions old)
**Interpretation**: There's a resistance cluster just 25-35 points away. The 6-session-old level is particularly significant.
**Action**:
- Set first profit target at 21,420 (before the cluster)
- Set second target at 21,426 (between 1st and 2nd)
- Trail remaining position, but be ready to exit on rejection at 21,435
**Cave Diving Analogy**: You're approaching an overhead section with limited clearance. Lighten your load (reduce position) before entering.
---
### Scenario 2: "Ancient Level Approaches"
**Situation**: The market is grinding higher. You see ⚠️ appear next to a 9-session-old high at 21,500.
**Interpretation**: This level has survived over a week without being touched. Massive potential liquidity zone.
**Action**:
- If long, this is your absolute exit zone. Take profits before or at level.
- If looking to short, wait for clear rejection (price taps and reverses)
- Don't try to buy the breakout until it clearly breaks and retests
**Cave Diving Analogy**: Your dive computer is beeping - you've reached your planned turn-back depth. No matter how interesting it looks ahead, honor your plan.
---
### Scenario 3: "Mitigated Levels Create New Structure"
**Situation**: Price breaks and mitigates the 1st High. The previous 2nd High becomes the new 1st High.
**Interpretation**: The structure just shifted. What was the 2nd level is now most relevant.
**Action**:
- Watch how price reacts to the newly-mitigated level
- If it holds below (acts as resistance), bearish
- If it reclaims and holds above (acts as support), bullish
- The NEW 1st High is your next target/resistance
**Cave Diving Analogy**: You've passed through a restriction - the cave layout ahead is different now. Update your mental map.
---
### Scenario 4: "Tight Tunnel, Upcoming Breakout"
**Situation**: The Δ in the status row shows 3.25 points (very tight). Bands are converging.
**Interpretation**: Price is consolidating between very close unmitigated levels. Breakout likely.
**Action**:
- Don't try to predict direction
- Set alerts above 1st High and below 1st Low
- When break occurs, trade the retest
- Expect volatility - use wider stops
**Cave Diving Analogy**: You're in a narrow passage. Movement will be sudden and directional once it starts.
---
### Scenario 5: "Imbalanced Structure"
**Situation**: The statistics row shows "📊 22↑ / 7↓"
**Interpretation**: There are many more unmitigated highs than lows. This suggests:
- Price has been declining (hitting lows, leaving highs behind)
- Potential bullish reversal zone (lots of overhead supply mitigated)
- Or continued bearish structure (resistance everywhere above)
**Action**:
- Look at the age of those 22 highs
- If mostly new (0-2 sessions): Just a recent downmove, not significant yet
- If many old/ancient: Strong overhead resistance, be cautious on longs
- Compare to price action: Is price respecting the remaining lows?
**Cave Diving Analogy**: You've swam deeper than your starting point - most of your markers are above you now. Are you planning the ascent or going deeper?
---
## Final Thoughts: The Philosophy
This indicator is built on a simple but powerful principle: **The market has memory, and that memory has weight.**
Every unmitigated level represents:
- Liquidity left behind
- Orders waiting to be filled
- Institutional interest potentially parked
- Psychological significance for participants
The longer a level remains unmitigated, the more "charged" it becomes. When price finally revisits it, something significant usually happens - either a strong reversal or a definitive break.
Your job as a trader isn't to predict which outcome will occur. Your job is to:
1. **Recognize** when you're approaching these charged zones
2. **Respect** them by adjusting position size and risk
3. **React** appropriately based on how price behaves at them
4. **Remember** that ancient levels (like ancient wisdom) deserve extra reverence
The Cave Diving Framework embedded in this indicator serves as a constant reminder: Trading, like cave diving, requires rigorous respect for environmental hazards, meticulous planning, and the discipline to turn back when your limits are reached.
**Every proximity alert is the market asking you**: *"Do you really want to go deeper?"*
Sometimes the answer is yes - when your setup, confluence, and risk management all align.
Often, the answer should be no - and that's the trader avoiding the accident that would have happened to the gambler.
---
### 🎯 Quick Reference Card
**Color System:**
- 🟢 Bright colors = New (0-1 sessions) = Shallow water
- 🟡 Medium colors = Medium (2-3 sessions) = Penetration depth
- 🔴 Dark colors = Old (4-6 sessions) = Deep dive zone
- 🟣 Deep dark colors = Ancient (7+ sessions) = Overhead environment
**Symbols:**
- ↑ ↑↑ ↑↑↑ ↑↑↑↑ ↑↑↑↑↑ = High levels (1st through 5th)
- ↓ ↓↓ ↓↓↓ ↓↓↓↓ ↓↓↓↓↓ = Low levels (1st through 5th)
- ⚠️ = Proximity alert (danger zone)
- 🟢 = Bullish structure
- 🔴 = Bearish structure
- Δ = Tunnel width (distance between 1st high and 1st low)
**Critical Rules:**
1. Never fight ancient levels (7+ sessions)
2. Respect proximity alerts (⚠️)
3. Scale out near old/ancient resistance
4. Wait for confluence when entering
5. Let mitigated levels prove their new role
---
**Remember**: The indicator gives you structure. The trading edge comes from your discipline in respecting that structure.
Trade safe, trade smart, and always know your exit before your entry. 🎯
---
*"You don't become your best self by denying your patterns. You become your best self by recognizing them, understanding them, and choosing differently." - Adapted from The Mountain Is You*
In trading: You don't become profitable by ignoring market structure. You become profitable by recognizing it, understanding it, and choosing your entries accordingly.
ICT Unicorn Model [Kodexius]ICT Unicorn Model is a market structure and imbalance confluence tool that automatically detects high probability “Unicorn” setups by combining three key elements into a single, clean script:
-A first, clean break of that swing level (displacement style break)
-A Fair Value Gap that overlaps a breaker candle body range
Instead of plotting every pivot or every imbalance independently, the script waits for a specific sequence: price establishes a valid swing, breaks that swing for the first time, and prints a setup only when the resulting context aligns with a valid, volatility filtered FVG and a clearly defined breaker range.
Each detected setup is drawn directly on the chart with labeled zones (Breaker and FVG) and is then actively monitored. If price violates the breaker boundary based on your chosen invalidation basis (Close or Wick), the setup is marked inactive and can optionally be removed to keep the chart clean.
This indicator is designed for traders who work with ICT style concepts such as liquidity runs, displacement, breaker blocks, and imbalance reversion, and who want a structured, rules based visualization rather than discretionary drawing.
🔹 Features
🔸 Fair Value Gap Detection With Volatility Filtering
Bullish and bearish FVGs are detected using classic three candle imbalance logic. To avoid low quality gaps during compression, the script applies an ATR based minimum size filter using the “FVG Min Size (ATR Multiplier)” input. Only gaps larger than ATR * threshold are considered valid.
🔸 First Break Validation (Clean Break Logic)
A key part of the model is identifying a “first break” of a swing level. The script checks whether the swing price has already been invalidated between the swing bar and the current bar. If it has, the swing is ignored. This helps reduce repeated signals and focuses on fresh structural breaks.
🔸 Breaker and FVG Confluence With Overlap Requirement
After a valid break occurs, the script defines a breaker range using the body of the swing candle (open and close). A setup is only created if this breaker body range overlaps the detected FVG price range. This overlap requirement is what filters many “almost” conditions and keeps signals more selective.
Bullish Unicorn:
Bearish Unicorn:
🔸 Configurable Invalidation Basis (Close or Wick)
You can choose how a setup fails:
-Close: invalidation requires a candle close beyond the breaker boundary
-Wick: invalidation occurs as soon as any wick crosses beyond the breaker boundary
This allows the tool to adapt to different trading styles, from conservative confirmation to more sensitive risk control.
🔸 Automatic Cleanup of Failed Setups
If “Delete Invalidated Setups” is enabled, the script removes the breaker box, FVG box, and label as soon as the setup is invalidated. If disabled, the zones remain visible for review while the setup is marked inactive internally.
🔸 Clear Chart Visuals
Each setup plots:
-A labeled Breaker zone box
-A labeled FVG zone box
-A directional Unicorn label (Bull or Bear) that updates position as the chart advances
Colors for bullish and bearish structures are fully configurable.
🔸 Alert Conditions
Two alert conditions are provided:
-Bullish Unicorn Setup Detected
-Bearish Unicorn Setup Detected
Alerts trigger only on the bar a new setup is created.
🔹 Calculations
This section summarizes the main computations used internally. The goal here is to explain the model mechanics rather than reproduce every implementation detail.
1. Swing Detection (Pivot High / Pivot Low)
Swing levels are detected using a symmetric pivot definition with “Swing Length” bars on both sides:
float ph = ta.pivothigh(high, swingLength, swingLength)
float pl = ta.pivotlow(low, swingLength, swingLength)
When a pivot is confirmed, its price and originating bar index are stored:
-Swing High: price = pivot high, isHigh = true
-Swing Low: price = pivot low, isHigh = false
The script keeps a limited history (most recent swings) to stay efficient.
2. Fair Value Gap Detection
FVGs use the classic three candle displacement imbalance:
Bullish FVG condition
bool isBullFVG = high < low
Bullish gap range is defined as:
-Top = low
-Bottom = high
Bearish FVG condition
bool isBearFVG = low > high
Bearish gap range is defined as:
-Top = low
-Bottom = high
3. ATR Based Minimum Gap Filter
ATR is computed (length 14), then the gap size is compared against a user threshold:
float atr = ta.atr(14)
bool validBullFVG = isBullFVG and (bullFvgTop - bullFvgBot) > (atr * fvgThreshold)
bool validBearFVG = isBearFVG and (bearFvgTop - bearFvgBot) > (atr * fvgThreshold)
This prevents very small imbalances from generating setups in low volatility conditions.
4. “First Break” Check Using Level Invalidation Scan
Before accepting a swing break, the script scans forward from the swing bar to the current bar to confirm the level has not already been breached. The scan can be based on wick or close:
-Wick mode: uses high or low
-Close mode: uses close
Conceptually:
priceToCheck = mode == "Wick" ? (checkBelow ? low : high) : close
If a prior breach is found, the swing is treated as already invalidated and is ignored for setup creation.
5. Break Of Structure Condition
Bullish break requirement
A bullish setup requires breaking a stored swing high with bullish body intent:
-close > swingHighPrice
-open < close
Bearish break requirement
A bearish setup requires breaking a stored swing low with bearish body intent:
-close < swingLowPrice
-open > close
An additional proximity filter is applied in the bearish branch to reduce weak or overly extended breaks by requiring the prior close to be reasonably near the swing level.
6. Breaker Range Construction
Once a qualifying swing is found, the breaker range is derived from the body of the swing candle (the candle at the swing bar index). The body boundaries are:
float breakerTop = math.max(bOpen, bClose)
float breakerBot = math.min(bOpen, bClose)
This models the breaker as the candle body range rather than full wick range, which typically produces more practical invalidation boundaries.
7. Overlap Test Between Breaker and FVG
A setup is only created if the breaker body overlaps the FVG zone. Conceptually the script rejects cases where one range is fully above or fully below the other:
-If there is no overlap, no setup is created
-If overlap exists, the Unicorn setup is valid
8. Active Monitoring and Invalidation
Each setup remains active until invalidated. Invalidation is evaluated every bar using your selected basis:
-Close basis: compares close to breaker boundary
-Wick basis: compares high or low to breaker boundary
Bullish invalidation
Setup fails if price crosses below breaker bottom.
Bearish invalidation
Setup fails if price crosses above breaker top.
If deletion is enabled, all drawings related to that setup are removed immediately on invalidation.
9. Drawing Updates and Object Lifecycle
Breaker and FVG boxes are extended to the right while the setup is active to keep zones visible into the near future. The Unicorn label is also repositioned as new bars print so the most recent context stays readable.
Druckenmiller Alpha-Physics [Dual-Core]Stop trading in a vacuum. Start trading like a Macro Fund Manager.
The Druckenmiller Alpha-Physics engine is a professional-grade dashboard designed to solve the single biggest problem in trading: Context. Most traders buy a "dip" only to realize it was a crash, or sell a "rip" only to watch it fly higher.
This tool solves this by synthesizing Market Physics (Velocity & Acceleration) across two distinct timeframes (Weekly Macro & Daily Tactical) and filtering every signal through a Global Liquidity Shield.
It is engineered based on the trading philosophy of Stanley Druckenmiller: “I don’t care about the news. I care about the liquidity and the acceleration of the trend.”
How It Works (The Dual-Core Logic)
The engine runs 27 distinct sector assets through a dual-loop physics processor:
The Macro Core (Weekly): Analyzes the 18-month trend. Is the "Tide" coming in or going out?
The Tactical Core (Daily): Analyzes the 3-day price action. Is the "Wave" crashing or rising?
It then synthesizes these two data streams into a single Action Signal.
The Signals (How to Read)
The dashboard tells you exactly what to do based on the conflict between Macro and Micro:
🟢 BUY PULLBACK (The "Alpha" Trade):
Logic: Macro is RIPPING (Bullish) + Tactical is TOP/CRASH (Bearish).
Meaning: You are buying a long-term leader on a short-term discount.
🔵 STINK BID (The "Bottom" Trade):
Logic: Macro is TURNING UP + Tactical is CRASHING.
Meaning: The physics have shifted positive, but price is still dumping. Place limit orders -5% lower to catch the panic bottom.
🔴 SELL RIP (The "Trap" Trade):
Logic: Macro is TOPPING (Bearish) + Tactical is RIPPING (Bullish).
Meaning: The long-term trend is dead. Sell into this short-term rally immediately.
⚪ HOLD: All systems go. Sit on your hands and ride the trend.
The "Invisible" Liquidity Shield
The most dangerous time to buy is when the Fed is draining liquidity. This script monitors the 10-Year Treasury Yield (TNX) and VIX in real-time.
If Liquidity is OK (Navy Header): Signals are valid. Green means Go.
If Liquidity is TIGHT (Maroon Header): The entire dashboard enters "Defense Mode." Buy signals are tinted Maroon to warn you that you are fighting the Fed.
Included Universe (The "Ultimate" List)
Includes 27 institutional-grade tickers covering every corner of the market:
Growth: XLK, SMH, IGV, GRID, QTUM
Cyclical: JETS, XHB, KRE, XLI, XLF
Commodities: GDX, URA, XLE, XLB, TAN
Risk/Safety: IBIT, TLT, XLV, XLP
Note: This script uses dynamic request handling optimized for Pine Script v6. It is designed for Premium/Ultimate plans due to the high volume of data processing (54+ simultaneous streams).
Custom Reversal Oscillator [wjdtks255]📊 Indicator Overview: Custom Reversal Oscillator
This indicator is a momentum-based oscillator designed to identify potential trend reversals by analyzing price velocity and relative strength. It visualizes market exhaustion and recovery through a dynamic histogram and signal dots, similar to premium institutional tools.
Key Components
Dynamic Histogram (Bottom Bars): Changes color based on momentum strength. Bright Green/Red indicates accelerating momentum, while Darker shades suggest fading strength.
Signal Line: A white line tracing the core momentum, helping to visualize the "wave" of the market.
Buy/Sell Dots: Small circles at the bottom (Mint) or top (Red) that signal high-probability reversal points when the market is overextended.
📈 Trading Strategy (How to Trade)
1. Long Entry (Buy Signal)
Condition 1: The price should ideally be near or above the 200 EMA (for trend following) or showing a Bullish Divergence.
Condition 2: The Histogram bars transition from Dark Red to Bright Green.
Condition 3: A Mint Buy Dot appears at the bottom of the oscillator (near the -25 level).
Entry: Enter on the close of the candle where the Buy Dot is confirmed.
2. Short Entry (Sell Signal)
Condition 1: The price is struggling at resistance or showing a Bearish Divergence.
Condition 2: The Histogram bars transition from Dark Green to Bright Red.
Condition 3: A Red Sell Dot appears at the top of the oscillator (near the +25 level).
Entry: Enter on the close of the candle where the Sell Dot is confirmed.
3. Exit & Take Profit
Take Profit: Close the position when the Signal Line reaches the opposite extreme or when the histogram color starts to fade (loses its brightness).
Stop Loss: Place your stop loss slightly below the recent swing low (for Longs) or above the recent swing high (for Shorts).
💡 Pro Tips for Accuracy
Watch for Divergences: The most powerful signals occur when the price makes a lower low, but the Custom Reversal Oscillator makes a higher low. This indicates "Hidden Strength" and a massive reversal is often imminent.
Trading Volatility Clock⏰ TRADING VOLATILITY CLOCK - Know When the Action Happens (Anywhere in the World)
A real-time session tracker with multi-timezone support for active traders who need to know when US market volatility strikes - no matter where they are in the world. Perfect for day traders, scalpers, and anyone trading liquid US markets.
══════════════════════════════════════════════════════
📊 WHAT IT DOES
This indicator displays a live clock showing:
- Current time in YOUR selected timezone (10 major timezones supported)
- Active US market session with color-coded volatility levels
- Countdown timer showing time remaining in current session
- Preview of the next upcoming session
- Optional alerts when entering high-volatility periods
══════════════════════════════════════════════════════
🌍 MULTI-TIMEZONE SUPPORT
SESSIONS ALWAYS TRACK US MARKET HOURS (Eastern Time):
No matter which timezone you select, the sessions always trigger at the correct US market times. Perfect for international traders who want to:
• See their local time while tracking US market sessions
• Know exactly when US volatility hits in their timezone
• Plan their trading day around US market hours
SUPPORTED TIMEZONES:
• America/New_York (ET) - Eastern Time
• America/Chicago (CT) - Central Time
• America/Los_Angeles (PT) - Pacific Time
• Europe/London (GMT) - Greenwich Mean Time
• Europe/Berlin (CET) - Central European Time
• Asia/Tokyo (JST) - Japan Standard Time
• Asia/Shanghai (CST) - China Standard Time
• Asia/Hong_Kong (HKT) - Hong Kong Time
• Australia/Sydney (AEDT) - Australian Eastern Time
• UTC - Coordinated Universal Time
EXAMPLE: A trader in Tokyo selects "Asia/Tokyo"
• Clock shows: 11:30 PM JST
• Session shows: "Opening Drive" 🔥 HIGH
• They know: US market just opened (9:30 AM ET in New York)
══════════════════════════════════════════════════════
🎯 WHY IT'S USEFUL
Whether you trade futures, high-volume stocks, or ETFs, volatility isn't constant throughout the day. Knowing WHEN to expect movement is critical:
🔥 HIGH VOLATILITY (Red):
• Opening Drive (9:30-10:30 AM ET) - Highest volume of the day
• Power Hour (3:00-4:00 PM ET) - Second-highest volume, final push
⚡ MEDIUM VOLATILITY (Yellow):
• Pre-Market (8:00-9:30 AM ET) - Building momentum
• Lunch Return (1:00-2:00 PM ET) - Traders returning
• Afternoon Session (2:00-3:00 PM ET) - Trend continuation
• After Hours (4:00-5:00 PM ET) - News reactions
💤 LOW VOLATILITY (Gray):
• Overnight Grind (12:00-8:00 AM ET) - Thin volume
• Mid-Morning Chop (10:30-11:30 AM ET) - Ranges form
• Lunch Hour (11:30 AM-1:00 PM ET) - Dead zone
• Evening Fade (5:00-8:00 PM ET) - Volume dropping
══════════════════════════════════════════════════════
⚙️ CUSTOMIZATION OPTIONS
TIMEZONE SETTINGS:
• Select from 10 major timezones worldwide
• Clock automatically displays in your local time
• Sessions remain locked to US market hours
SESSION TIME CUSTOMIZATION:
• Every session boundary is adjustable (in minutes from midnight ET)
• Perfect for traders who define sessions differently
• Advanced users can create custom volatility schedules
DISPLAY OPTIONS:
• Toggle next session preview on/off
• Enable/disable high volatility alerts
• Clean, unobtrusive table display in top-right corner
══════════════════════════════════════════════════════
💡 HOW TO USE
1. Add indicator to any chart (works on all timeframes)
2. Select your timezone in Settings → Timezone Settings
3. Set your chart to 1-minute timeframe for real-time updates
4. Customize session times if needed (Settings → Session Time Customization)
5. Watch the top-right corner for live session tracking
TRADING APPLICATIONS:
• Avoid trading during dead zones (lunch hour, mid-morning chop)
• Increase position size during high volatility windows
• Set alerts for Opening Drive and Power Hour
• Plan your trading day around US market volatility schedule
• International traders can track US sessions in their local time
══════════════════════════════════════════════════════
🎓 EDUCATIONAL VALUE
This indicator teaches traders:
• Market microstructure and volume patterns
• Why certain times produce better opportunities
• How institutional flows create intraday patterns
• The importance of timing in active trading
• How to adapt US market trading to any timezone
══════════════════════════════════════════════════════
⚠️ IMPORTANT NOTES
- Works best on 1-minute charts for frequent updates
- Sessions are ALWAYS based on US Eastern Time (ET)
- Timezone selection only changes the clock display
- Clock updates when new bar closes (not tick-by-tick)
- Alerts trigger once per bar when enabled
- Perfect for international traders tracking US markets
══════════════════════════════════════════════════════
📈 BEST USED WITH
- High-volume US stocks: TSLA, NVDA, AAPL, AMD, META
- Major US ETFs: SPY, QQQ, IWM, DIA
- US Futures: ES, NQ, RTY, YM, MES, MNQ
- Any liquid US instrument with clear intraday volume patterns
══════════════════════════════════════════════════════
🌏 FOR INTERNATIONAL TRADERS
This tool is specifically designed for traders outside the US who need to:
• Track US market sessions in their local timezone
• Know when to be at their desk for US volatility
• Avoid waking up for low-volatility periods
• Maximize trading efficiency around US market hours
No more timezone confusion. No more missing the opening bell. Just set your timezone and trade with confidence.
══════════════════════════════════════════════════════
This is an open-source educational tool. Feel free to modify and adapt to your trading style!
Happy Trading! 🚀
BTC ETF Average Inflow Cost BasisConcept
Since the historic launch of Bitcoin Spot ETFs on January 11, 2024, institutional flows have become a major driver of price action. This indicator aims to visualize the aggregate Cost Basis (average entry price) of the major Bitcoin ETFs relative to the underlying asset.
It serves as an on-chain proxy for institutional positioning, helping traders identify critical support levels where ETF inflows have historically concentrated.
How it Works
The script aggregates daily volume data from the top Bitcoin ETFs (IBIT, FBTC, ARKB, GBTC, BITB) and compares it against the Bitcoin price (BTCUSDT).
ETF Cost Basis (Pink Line):
This is calculated as a Cumulative Volume-Weighted Average Price (VWAP), anchored specifically to the ETF launch date (Jan 11, 2024).
Formula: It accumulates (BTC Price * Total ETF Volume) and divides it by the Cumulative Total ETF Volume.
This creates a dynamic level representing the "breakeven" price for the aggregate volume traded through these funds.
True Market Mean (Gray Line):
This represents the simple cumulative average of the Bitcoin price since the ETF launch date. It acts as a neutral baseline for the post-ETF market era.
How to Use
Institutional Support: The Cost Basis line often acts as a strong dynamic support level during corrections. When price revisits this level, it suggests the market is returning to the average institutional entry price.
Trend Filter:
Price > Cost Basis: The market is in a net profit state relative to ETF flows (Bullish/Trend continuation).
Price < Cost Basis: The market is in a net loss state (Bearish/Capitulation risk).
Confluence: The intersection of the Cost Basis and the True Market Mean can signal pivotal moments of trend reset.
Features
Data Aggregation: Pulls data from 5 major ETFs via request.security without repainting (using closed bars).
Dashboard: Includes a table in the top-right corner displaying real-time values for Price, Cost Basis, and Market Mean.
Customization: You can toggle individual ETF Moving Averages in the settings (disabled by default due to price scale differences between BTC and ETF shares).
Disclaimer
This tool is for educational purposes only and attempts to estimate institutional cost basis using volume proxies. It does not represent financial advice.
Nifty Hierarchical Macro GuardOverview
The Nifty Hierarchical Macro Guard is a "Market Compass" indicator specifically designed for Indian equity traders. It locks its logic to the Nifty 50 Index (NSE:NIFTY) and applies a strict hierarchy of trend analysis. The goal is simple: prioritize the long-term trend (Monthly/Weekly) to decide if you should even be in the market, then use the short-term trend (Daily) for precise exit timing.
This script ensures you never ignore a macro "crash" signal while trying to trade minor daily fluctuations.
The Color Hierarchy (Priority Logic)
The indicator uses a "Top-Down" filter. Higher timeframe signals override lower timeframe signals:
Level 1: Monthly (Ultra-Macro) — Deep Maroon
Condition: Nifty 10 EMA is below the 20 EMA on the Monthly chart.
Action: This is the highest priority. The background will turn Deep Maroon, overriding all other colors. This is your "Forget Trading" signal. The long-term structural trend is broken.
Level 2: Weekly (Macro Warning) — Dark Red
Condition: Monthly is Bullish, but Nifty 10 EMA is below the 20 EMA on the Weekly chart.
Action: The background turns Dark Red. This indicates a significant macro correction. You should stay out of fresh positions and protect capital.
Level 3: Daily (Tactical) — Light Red / Light Green
Condition: Both Monthly and Weekly are Bullish (Green).
Action: The background will now react to the Daily 10/20 EMA cross.
Light Green: Nifty is healthy; safe for fresh positions.
Light Red: Tactical exit signal. Nifty is seeing short-term weakness; exit positions quickly.
Key Features
Symbol Locked: No matter what stock you are viewing (Reliance, HDFC, Midcaps), the background only reacts to NSE:NIFTY.
Clean Interface: No messy lines or labels on the price chart. The information is conveyed purely through background color shifts.
Customizable: Change the MA types (EMA/SMA) and lengths (e.g., 10/20 or 20/50) in the settings.
Macro Dashboard: A small, transparent table in the top-right corner displays exactly which timeframe is currently controlling the background color.
How to Use for Nifty Strategy
Stay Out: If the chart is Deep Maroon or Dark Red, do not look for "buying the dip." Wait for the macro health to return.
Take Exits: If the background is Light Green and suddenly turns Light Red, it means the Daily Daily 10/20 cross has happened. Exit your Nifty-sensitive positions immediately.
RSI Distribution [Kodexius]RSI Distribution is a statistics driven visualization companion for the classic RSI oscillator. In addition to plotting RSI itself, it continuously builds a rolling sample of recent RSI values and projects their distribution as a forward drawn histogram, so you can see where RSI has spent most of its time over the selected lookback window.
The indicator is designed to add context to oscillator readings. Instead of only treating RSI as a single point estimate that is either “high” or “low”, you can evaluate the current RSI level relative to its own recent history. This makes it easier to recognize when the market is operating inside a familiar regime, and when RSI is pushing into rarer tail conditions that tend to appear during momentum bursts, exhaustion, or volatility expansion.
To complement the histogram, the script can optionally overlay a Gaussian curve fitted to the sample mean and standard deviation. It also runs a Jarque Bera normality check, based on skewness and excess kurtosis, and surfaces the result both visually and in a compact dashboard. On the oscillator panel itself, RSI is presented with a clean gradient line and standard overbought and oversold references, with fills that become more visible when RSI meaningfully extends beyond key thresholds.
🔹 Features
1. Distribution Histogram of Recent RSI Values
The script stores the last N RSI values in an internal sample and uses that rolling window to compute a frequency distribution across a user selected number of bins. The histogram is drawn into the future by a configurable width in bars, which keeps it readable and prevents it from colliding with the active RSI plot. The result is a compact visual summary of where RSI clusters most often, whether it is spending more time near the center, or shifting toward higher or lower regimes.
2. Gaussian Overlay for Shape Intuition
If enabled, a fitted bell curve is drawn on top of the histogram using the sample mean and standard deviation. This overlay is not intended as a direct trading signal. Its purpose is to provide a fast visual comparator between the empirical RSI distribution and a theoretical normal shape. When the histogram diverges strongly from the curve, you can quickly spot skew, heavy tails, or regime changes that often occur when market structure or volatility conditions shift.
3. Jarque Bera Normality Check With Clear PASS/FAIL Feedback
The script computes skewness and excess kurtosis from the RSI sample, then forms the Jarque Bera statistic and compares it to a fixed 95% critical value. When the distribution is closer to normal under this test, the status is marked as PASS, otherwise it is marked as FAIL. This result is displayed in the dashboard and can also influence the histogram styling, giving immediate feedback about whether the recent RSI behavior resembles a bell shaped distribution or a more distorted, regime driven profile.
Jarque Bera is a goodness of fit test that evaluates whether a dataset looks consistent with a normal distribution by checking two shape properties: skewness (asymmetry) and kurtosis (tail heaviness, expressed here as excess kurtosis where a perfect normal has 0). Under the null hypothesis of normality, skewness should be near 0 and excess kurtosis should be near 0. The test combines deviations in both into a single statistic, which is then compared to a chi square threshold. A PASS in this script means the sample does not show strong evidence against normality at the chosen threshold, while a FAIL means the sample is meaningfully skewed, heavy tailed, or both. In practical trading terms, a FAIL often suggests RSI is behaving in a regime where extremes and asymmetry are more common, which is typical during strong trends, volatility expansions, or one sided market pressure. It is still a statistical diagnostic, not a prediction tool, and results can vary with lookback length and market conditions.
4. Integrated Stats Dashboard
A compact table in the top right summarizes key distribution moments and the normality result: Mean, StdDev, Skewness, Kurtosis, and the JB statistic with PASS/FAIL text. Skewness is color coded by sign to quickly distinguish right skew (more time at higher RSI) versus left skew (more time at lower RSI), which can be helpful when diagnosing trend bias and momentum persistence.
5. RSI Visual Quality and Context Zones
RSI is plotted with a gradient color scheme and standard overbought and oversold reference lines. The overbought and oversold areas are filled with a smart gradient so visual emphasis increases when RSI meaningfully extends beyond the 70 and 30 regions, improving readability without overwhelming the panel.
🔹 Calculations
This section summarizes the main calculations and transformations used internally.
1. RSI Series
RSI is computed from the selected source and length using the standard RSI function:
rsi_val = ta.rsi(rsi_src, rsi_len)
2. Rolling Sample Collection
A float array stores recent RSI values. Each bar appends the newest RSI, and if the array exceeds the configured lookback, the oldest value is removed. Conceptually:
rsi_history.push(rsi_val)
if rsi_history.size() > lookback
rsi_history.shift()
This maintains a fixed size window that represents the most recent RSI behavior.
3. Mean, Variance, and Standard Deviation
The script computes the sample mean across the array. Variance is computed as sample variance using (n - 1) in the denominator, and standard deviation is the square root of that variance. These values serve both the dashboard display and the Gaussian overlay parameters.
4. Skewness and Excess Kurtosis
Skewness is calculated from the standardized third central moment with a small sample correction. Kurtosis is computed as excess kurtosis (kurtosis minus 3), so the normal baseline is 0. These two metrics summarize asymmetry and tail heaviness, which are the core ingredients for the Jarque Bera statistic.
5. Jarque Bera Statistic and Decision Rule
Using skewness S and excess kurtosis K, the Jarque Bera statistic is computed as:
JB = (n / 6.0) * (S^2 + 0.25 * K^2)
Normality is flagged using a fixed critical value:
is_normal = JB < 5.991
This produces a simple PASS/FAIL classification suitable for fast chart interpretation.
6. Histogram Binning and Scaling
The RSI domain is treated as 0 to 100 and divided into a configurable number of bins. Bin size is:
bin_size = 100.0 / bins
Each RSI sample maps to a bin index via floor(rsi / bin_size), with clamping to ensure the index stays within valid bounds. The script counts occurrences per bin, tracks the maximum frequency, and normalizes each bar height by freq/max_freq so the histogram remains visually stable and comparable as the window updates.
7. Gaussian Curve Overlay (Optional)
The Gaussian overlay uses the normal probability density function with mu as the sample mean and sigma as the sample standard deviation:
normal_pdf(x) = (1 / (sigma * sqrt(2*pi))) * exp(-0.5 * ((x - mu)/sigma)^2)
For drawing, the script samples x across the histogram width, evaluates the PDF, and normalizes it relative to its peak so the curve fits within the same visual height scale as the histogram.
FVG MTF Consensus OscillatorFVG MTF Consensus Oscillator
A multi-timeframe, multi-component oscillator that combines momentum, deviation, and slope analysis across multiple timeframes using Zeiierman's Chebyshev-filtered trend calculation. This indicator identifies potential turning points with zone-based signal classification and timeframe consensus filtering.
Backed by ML/Deep Learning evaluation on ES Futures data from 2015-2024.
🎯 Concept
Traditional oscillators suffer from two major weaknesses:
Single measurement - relying on one metric makes them susceptible to noise
Single timeframe - missing the bigger picture leads to fighting the trend
The FVG MTF Consensus Oscillator addresses both issues by combining three independent measurements across three timeframes into a weighted consensus signal.
The Three Components
Momentum - How fast is the trend moving?
Deviation - How far has price stretched from the trend?
Slope - What is the short-term directional bias?
The Three Timeframes
TF1 (Chart) - Your current chart timeframe (lowest weight)
TF2 (Medium) - Typically 1H or 4H (medium weight)
TF3 (High) - Typically 4H or Daily (highest weight)
By requiring agreement across multiple components AND multiple timeframes, the oscillator filters out noise while capturing meaningful, high-probability market movements.
🔧 How It Works
The Core: Chebyshev Type 1 Filter
At its heart, this indicator uses a Chebyshev Type 1 low-pass filter (inspired by Zeiierman's FVG Trend) to extract a clean trend line from price action. Unlike simple moving averages, the Chebyshev filter offers:
Sharper cutoff between trend and noise
Minimal lag for a given smoothness level
Controlled overshoot via the ripple parameter
Three Oscillator Components
1. Momentum Component
Momentum = Current Trend Value - Previous Trend Value
Measures the velocity of the trend. High positive values indicate strong upward acceleration, while high negative values show downward acceleration.
2. Deviation Component
Deviation = Close Price - Trend Value
Measures how far price has stretched away from the trend line. Useful for identifying overextended conditions and mean reversion opportunities.
3. Slope Component
Slope = Change in Trend over 3 bars
Captures the short-term directional bias of the trend itself, helping confirm trend changes.
Normalization & Component Consensus
Each component is individually normalized to a -100 to +100 scale using adaptive scaling. The oscillator output is a weighted average of all three components, allowing you to emphasize different aspects based on your trading style.
Multi-Timeframe Weighting
The final oscillator value combines all three timeframes using configurable weights:
Combined = (TF1 × Weight1 + TF2 × Weight2 + TF3 × Weight3) / Total Weight
Default weights (1, 2, 3) ensure higher timeframes have more influence, keeping you aligned with the dominant trend while timing entries on lower timeframes.
📊 Zone System
The oscillator uses a fuzzy zone system to classify market conditions:
ZoneRangeInterpretationSignal ColorNeutral-5 to +5No clear bias, avoid tradingGrayContinuation±5 to ±25Trend pullback, continuation setupsAquaDeep Swing±25 to ±50Extended move, stronger setupsGreenReversalBeyond ±50Extreme extension, reversal potentialOrange
When "Show Zone Background" is enabled, the background shading darkens as the oscillator moves into more extreme zones, providing instant visual feedback.
📈 Signal Interpretation
Turn Signals
The indicator plots triangular markers when the oscillator changes direction:
▲ Triangle Up (bottom): Oscillator turning up from a low
▼ Triangle Down (top): Oscillator turning down from a high
Signal Quality by Zone
Not all signals are equal. The signal color indicates which zone the turn occurred in:
ColorZoneProbabilityBest UseGrayNeutralLowAvoid or use very tight stopsAquaContinuationModerateTrend continuation entriesGreenDeep SwingHigherSwing trade entriesOrangeReversalHighestCounter-trend with caution
Timeframe Consensus Filter
Signals only fire when the required number of timeframes agree on direction. With default settings (TF Consensus = 2), at least 2 of 3 timeframes must be moving in the same direction for a signal to trigger.
This prevents:
Taking longs when higher timeframes are bearish
Taking shorts when higher timeframes are bullish
Whipsaws during timeframe disagreement
Trend Coloring
The combined oscillator line changes color based on trend direction:
Light purple (RGB 240, 174, 252): Majority of timeframes trending up
Dark purple (RGB 84, 19, 95): Majority of timeframes trending down
Info Table
When MTF is enabled, a table in the top-right corner displays:
Current oscillator values for each timeframe (TF1, TF2, TF3)
Combined value (CMB)
Color coding: Green = rising, Red = falling
⚙️ Settings Guide
Timeframe Settings
SettingDefaultDescriptionEnable Multi-TimeframeOnMaster switch for MTF functionalityTF1 (Chart)"" (current)First timeframe, typically your chart TFTF2 (Medium)60Second timeframe, typically 1HTF3 (High)240Third timeframe, typically 4HTF1/TF2/TF3 Weight1 / 2 / 3Influence of each TF on combined signal
Timeframe Tips:
Keep TF1 ≤ TF2 ≤ TF3 (ascending order)
For day trading: 5m / 15m / 1H
For swing trading: 1H / 4H / Daily
For position trading: 4H / Daily / Weekly
Display Settings
SettingDefaultDescriptionShow All TimeframesOffDisplay individual TF oscillator linesShow Combined LineOnDisplay the weighted combined oscillatorShow Zone BackgroundOffShade background based on current zone
Trend Filter Settings
SettingDefaultDescriptionTrend Ripple4.0Filter responsiveness (1-10). Higher = faster but more overshootTrend Cutoff0.1Cutoff frequency (0.01-0.5). Lower = smoother trendNormalization Length50Lookback for scaling. Longer = more stable
Component Weights
SettingDefaultDescriptionMomentum Weight1.0Emphasis on trend speedDeviation Weight1.0Emphasis on price stretch from trendSlope Weight1.0Emphasis on short-term trend direction
Component Tips:
For trend-following: Increase Momentum and Slope weights
For mean reversion: Increase Deviation weight
Set any weight to 0 to disable that component
Zone Thresholds
SettingDefaultDescriptionNeutral Zone5Inner boundary (±5 = neutral)Continuation Zone25Middle boundary for continuation setupsDeep Swing Zone50Outer boundary for reversal zone
Adjust based on instrument volatility. More volatile instruments may need wider zones.
Signal Filters
SettingDefaultDescriptionSignal Cooldown3Minimum bars between signalsMin Turn Size2.0Minimum oscillator change for valid turnTF Consensus Required2Minimum TFs agreeing for signal (1-3)
💡 Usage Examples
Example 1: Trend Continuation (Dip Buying)
Setup: Uptrend confirmed by higher timeframes
Check the info table - TF2 and TF3 should show green (rising)
Wait for TF1 to pull back, oscillator enters Continuation zone
Enter on Aqua ▲ signal (turn up with TF consensus)
Stop below recent swing low
Target: Previous high or next resistance
Why it works: You're buying a dip in an established uptrend with multi-timeframe confirmation.
Example 2: Deep Swing Entry
Setup: Extended move showing exhaustion
Oscillator reaches Deep Swing zone (±25 to ±50)
At least 2 TFs start showing the same direction
Enter on Green signal indicating momentum exhaustion
Use tighter stop as the move is already extended
Target: Return to Continuation zone or trend line
Why it works: Extended moves tend to mean-revert. The zone system identifies these opportunities.
Example 3: Reversal Setup (Advanced)
Setup: Extreme extension with diverging timeframes
Oscillator reaches Reversal zone (beyond ±50)
Watch for TF1 to turn while TF3 is still extended
Enter on Orange signal - this is counter-trend!
Use smaller position size and wider stops
Target: Return to Deep Swing or Continuation zone
Why it works: Extreme extensions eventually correct. The orange signal marks high-probability reversal points.
Example 4: Avoiding Bad Trades
What to avoid:
Gray signals in Neutral zone - No edge, random noise
Signals against TF3 direction - Fighting the dominant trend
Signals without TF consensus - Timeframe disagreement = choppy market
Multiple signals in quick succession - Let cooldown filter work
🔬 Multi-Timeframe Analysis Tips
Reading the Info Table
The info table shows real-time oscillator values:
| TF1 | TF2 | TF3 | CMB |
| 23.5 | 45.2 | 67.8 | 52.1 |
All green: Strong uptrend across all timeframes
All red: Strong downtrend across all timeframes
Mixed colors: Potential transition or consolidation
Timeframe Alignment States
TF1TF2TF3Interpretation↑↑↑Strong bull - look for long entries↓↓↓Strong bear - look for short entries↑↑↓Pullback in downtrend - caution on longs↓↓↑Pullback in uptrend - caution on shorts↑↓↑Choppy - reduce position size↓↑↓Choppy - reduce position size
The Power of Consensus
With TF Consensus = 2, signals only fire when 2+ timeframes agree. This single filter eliminates most whipsaws and keeps you aligned with the dominant trend.
For more conservative trading, set TF Consensus = 3 (all timeframes must agree).
⚠️ Important Notes
This indicator does not predict the future. It measures current market conditions and momentum across multiple timeframes.
Always use proper risk management. No indicator is 100% accurate.
Combine with price action. The oscillator works best when confirmed by support/resistance, candlestick patterns, or other confluence factors.
Respect the higher timeframe. When TF3 disagrees, trade smaller or sit out.
Zone signals are probabilistic. Orange (reversal) signals have higher probability but aren't guaranteed reversals.
Adjust settings per instrument. Default settings are optimized for ES Futures but may need tuning for other markets.
🧪 ML/Deep Learning Background
The default parameters and zone thresholds were evaluated using machine learning techniques on ES Futures data spanning 2015-2024. This included:
Optimization of component weights
Zone threshold calibration
Timeframe weight balancing
Signal filter tuning
While past performance doesn't guarantee future results, the parameters represent a data-driven starting point rather than arbitrary defaults.
🙏 Credits
This indicator is inspired by Zeiierman's Multitimeframe Fair Value Gap (FVG) indicator, specifically utilizing concepts from his Chebyshev Type 1 filter implementation for trend calculation.
Original indicator: Multitimeframe Fair Value Gap – FVG (Zeiierman)
📝 Changelog
v1.0
Initial release
Three-component consensus oscillator (Momentum, Deviation, Slope)
Multi-timeframe support with weighted combination
Fuzzy zone classification system
Configurable component and timeframe weights
TF consensus filter for signal quality
Signal cooldown and minimum turn size filters
Real-time info table with TF values
Optional zone background shading
Consolidation Zones Volume Delta | Flux ChartsGENERAL OVERVIEW:
The Consolidation Zones Volume Delta | Flux Charts indicator is designed to identify and visualize consolidation zones on the chart. Rather than only outlining areas of sideways price movement, the indicator analyzes volume activity occurring inside each consolidation zone. This is done by aggregating lower-timeframe volume data into the higher-timeframe consolidation range, allowing users to see how buying and selling activity evolves while price remains in a range.
What is the theory behind the indicator?:
The indicator is built around three core analytical concepts that guide how consolidation zones are detected and evaluated.
1. Consolidation as a structural phase
Periods of consolidation are characterized by reduced directional movement and compressed price ranges. During these phases, price action often alternates within a defined high–low boundary, creating a structure that can be objectively measured and tracked over time.
2. Volume behavior inside consolidation
While price may appear balanced within a consolidation range, volume activity inside that range can vary. The indicator evaluates volume contributions occurring within the vertical boundaries of the consolidation zone by using lower-timeframe data and weighting each candle’s volume based on its overlap with the zone. This produces an internal volume delta profile that reflects how buying and selling volume accumulates throughout the consolidation.
Delta behavior inside a zone may show:
Persistent dominance of buying or selling volume
Alternating shifts between buyers and sellers
Periods of relatively balanced participation
3. Markets consolidate in multiple ways, one detection method is not enough
Markets do not consolidate in a single, uniform way. To account for this, the indicator includes three distinct consolidation detection methods. Each method is calculated objectively, does not repaint, and targets a different type of sideways or low-expansion price behavior:
Candle Compression
ADX Low Trend Strength
Visual Range Boundaries
CONSOLIDATION ZONES VOLUME DELTA FEATURES:
The Consolidation Zones Volume Delta indicator includes 4 main features:
Consolidation Zones
Volume Delta
Standard Deviation Bands
Alerts
CONSOLIDATION ZONES:
🔹What is a Consolidation Zone?
A consolidation zone is a defined price range where market movement becomes compressed and price remains contained within clear upper and lower boundaries for a sustained period of time. During this phase, price does not establish a strong directional trend and instead oscillates within a relatively narrow range.
🔹Consolidation Zone Detection
The indicator automatically detects consolidation zones using three independent, rule-based methods. Each method evaluates a different market condition and can be selected individually depending on how you want consolidation to be defined. Regardless of the method used, all zones are calculated objectively and finalized once confirmed.
◇ Candles (Candle Compression)
The Candles method identifies consolidation by detecting periods of candle compression and reduced range expansion. A candle is considered part of a consolidation sequence when:
The candle body is small relative to its total range
The candle’s high–low range is smaller than the short-term Average True Range (ATR)
ATR is calculated using a 4-period average true range and is used as a volatility reference. If consecutive candles continue to meet these compression conditions, the indicator increments an internal count.
Under the Consolidation Candles section in the settings, you’ll find two controls.
Min. Consolidation Candles setting
This defines how many consecutive compressed candles are required before a consolidation zone is confirmed. Candle compression is determined using candle structure and short-term ATR, ensuring that only periods of reduced range expansion are counted. Once the minimum threshold is reached, the indicator creates a consolidation zone using the highest high and lowest low formed during the compressed sequence.
Mark Consolidation Candles
When enabled, the indicator highlights candles that meet the compression criteria, making it easy to visually identify which candles contributed to the formation of the consolidation zone.
◇ ADX (Low Trend Strength)
The ADX method identifies consolidation based on weak or declining trend strength rather than candle structure. This method uses the Average Directional Index (ADX) to determine when directional movement is reduced.
ADX is calculated using directional movement values that are smoothed over time. When ADX remains below a user-defined threshold, price is treated as being in a low-trend market. While this condition persists, the indicator tracks the highest high and lowest low formed during the low-trend period.
Under the ADX Settings section in the settings, you’ll find the following controls.
ADX Length
Defines the lookback period used to calculate directional movement for ADX.
ADX Smoothing
Controls the smoothing applied to the ADX calculation.
ADX Threshold
Sets the level below which ADX must remain for the market to be considered consolidating.
Consolidation Strength
Defines how many consecutive candles’ ADX must stay below the threshold before a consolidation zone is confirmed. Once this requirement is met, the indicator creates a consolidation zone using the accumulated high and low from the low-trend window.
Mark Candles Below Threshold
When enabled, the indicator highlights candles where ADX remains below the threshold.
◇ Visual Range
The Visual Range method identifies consolidation by detecting clearly defined horizontal price ranges where price remains contained for a sustained period of time. The indicator continuously tracks the rolling highest high and lowest low across recent candles. When price remains inside the same high–low boundaries without breaking above or below the range, an internal counter advances.
Under the Visual Range section in the settings, you’ll find the following control.
Min. Candles in Range
Defines how many consecutive candles must remain fully contained within the same high–low range before a consolidation zone is confirmed. Once this requirement is met, the indicator creates a consolidation zone using the established range boundaries.
🔹Consolidation Zone Settings
◇ Invalidation Method
Users can choose how Consolidation Zones are invalidated, selecting between Close Break or Wick Break.
Close Break: A Consolidation Zone is invalidated when a candle closes above/below the zone.
Wick Break: A Consolidation Zone is invalidated when a candle’s wick goes above/below the zone.
◇ Merge Overlapping Zones
When enabled, overlapping Consolidation Zones are automatically combined into one unified zone.
◇ Show Last
This setting determines how many Consolidation Zones are displayed on your chart. For example, setting this to 5 will display the 5 most recent zones.
VOLUME DELTA:
Delta Volume visualizes how buying and selling volume accumulates inside each consolidation zone. Instead of using the full candle volume, the indicator isolates only the volume that occurs within the vertical boundaries of the zone. This allows you to see whether bullish or bearish volume is dominating while price remains range-bound. The visualization updates in real time while the zone is active and reflects cumulative participation rather than individual candles.
🔹How Volume Delta is Calculated
Delta Volume is calculated using lower-timeframe data and applied to the higher-timeframe consolidation zone.
Each candle’s volume is split into bullish or bearish volume based on candle direction.
Lower-timeframe candles are pulled using the selected delta timeframe.
For each lower-timeframe candle, only the portion of volume that vertically overlaps the consolidation zone is counted.
Volume is weighted by the amount of overlap between the candle’s range and the zone’s range.
Bullish and bearish volume are accumulated over time to form a running, cumulative delta profile for the zone.
🔹Volume Delta Settings
◇ Enable
Turns the Delta Volume visualization on or off. Consolidation zones continue to plot when disabled.
◇ Show Delta %
Displays the percentage breakdown of bullish versus bearish volume inside the consolidation zone. Percentages are derived from cumulative volume totals.
◇ 3D Visual
When enabled, the delta blocks are extended diagonally using a depth offset derived from the instrument’s daily ATR. This creates visible side faces and top faces for the delta blocks, simulating depth without altering any calculations. The 3D effect is purely visual. It does not change how volume is calculated, weighted, or accumulated.
Users can control the intensity of the 3D effect choosing a value between 1 and 5. Increasing this value increases:
The horizontal offset of the delta blocks
The vertical depth projection applied to the volume faces
Higher values produce a more pronounced 3D appearance by pushing the delta visualization further away from the consolidation box. Lower values keep the visualization flatter and closer to the box boundaries. The depth scaling is normalized using ATR, so the effect adapts proportionally to the instrument’s volatility.
◇ Volume Delta Display Style
Controls how bullish and bearish volume are displayed inside the Consolidation Zone:
Horizontal: Volume is split top-to-bottom within the zone
Vertical: Volume is split left-to-right across the zone
◇ Timeframe
Defines the lower timeframe used for Volume Delta calculations. When a timeframe is selected, the indicator pulls lower-timeframe price and volume data and maps it into the higher-timeframe consolidation zone. Each lower-timeframe candle is evaluated individually. Only the portion of its volume that vertically overlaps the consolidation zone is included, and that volume is weighted based on the candle’s overlap with the zone’s price range. If the Timeframe field is left empty, the indicator defaults to using the chart’s current timeframe for delta calculations.
Using a lower timeframe increases the granularity of the delta calculation, allowing volume changes inside the zone to be measured more precisely. Using a higher timeframe produces a smoother, less granular delta profile.
Please Note: Delta rendering is automatically limited to available lower-timeframe data to prevent incomplete or distorted visuals when historical lower-timeframe volume is unavailable due to TradingView data limits.
STANDARD DEVIATION BANDS:
Standard Deviation Bands project measured price distance away from a confirmed consolidation zone using the size of that zone as the reference unit. Rather than calculating volatility from historical price dispersion, the bands are derived directly from the height of the consolidation range itself. Each band represents a fixed multiple of the consolidation zone’s height and is plotted symmetrically above and below the zone.
🔹How the bands are calculated
Once a consolidation zone is finalized, the indicator calculates the zone height as:
Zone Height = Zone High − Zone Low
This value becomes the base measurement for all deviation calculations. For each enabled band:
Upper bands are placed above the consolidation zone’s high
Lower bands are placed below the consolidation zone’s low
The distance of each band from the zone is calculated by multiplying the zone height by the selected band multiplier. These band levels are fixed relative to the consolidation zone and do not recalculate based on future price movement.
🔹Standard Deviation Band Settings
◇ Band 1
Enables the first deviation band above and below the consolidation zone. The Band 1 multiplier defines how far the band is placed from the zone in terms of zone height. For example, a multiplier of 1 plots the band one full zone height above and below the consolidation range.
◇ Band 2
Enables a second deviation band at a greater distance from the consolidation zone. Band 2 uses its own multiplier and is calculated independently of Band 1, allowing multiple expansion levels to be displayed simultaneously.
◇ Fill Bands
When enabled, the area between the consolidation zone and each deviation band is filled with a semi-transparent color. Upper fills apply to bands above the zone, and lower fills apply to bands below the zone. Fills are static and tied directly to the consolidation zone boundaries.
◇ Color Customization
Each deviation band has independent color controls for:
Upper band lines and fills
Lower band lines and fills
This allows users to visually distinguish between bullish and bearish extensions as well as between multiple deviation levels.
ALERTS:
Users can create alerts for the following:
New Consolidation Zone Formed
Consolidation Zone Break
UNIQUENESS:
This indicator combines multiple consolidation detection methods with lower-timeframe volume delta analysis inside each consolidation zone. It visualizes bullish and bearish volume using weighted overlap logic and optional 3D rendering for improved clarity. Users can choose how volume is displayed, apply structure-based deviation bands, and enable alerts for new zones and zone breaks. All features are rule-based, configurable, and designed to work together within a single framework.
VR Volume Ratio + Divergence (Pro)成交量比率 (Volume Ratio, VR) 是一項通過分析股價上漲與下跌日的成交量,來研判市場資金氣氛的技術指標。本腳本基於傳統 VR 公式進行了優化,增加了**「趨勢變色」與「自動背離偵測」**功能,幫助交易者更精準地捕捉量價轉折點。
Introduction
Volume Ratio (VR) is a technical indicator that measures the strength of a trend by comparing the volume on up-days versus down-days. This script enhances the classic VR formula with "Trend Color Coding" and "Auto-Divergence Detection", helping traders identify volume-price reversals more accurately.
核心功能與參數
公式原理: VR = (Qu + Qf/2) / (Qd + Qf/2) * 100
Qu: 上漲日成交量 (Up volume)
Qd: 下跌日成交量 (Down volume)
Qf: 平盤日成交量 (Flat volume)
參數 (Length):預設為 26 日,這是市場公認最有效的短中線參數。
關鍵水位線 (Key Levels):
< 40% (底部區):量縮極致,市場情緒冰點,常對應股價底部,適合尋找買點。
100% (中軸):多空分界線。
> 260% (多頭警戒):進入強勢多頭行情,但需注意過熱。
> 450% (頭部區):成交量過大,市場情緒亢奮,通常為頭部訊號。
視覺優化 (Visuals):
紅漲綠跌:當 VR 數值大於前一日顯示為紅色(動能增強);小於前一日顯示為綠色(動能退潮)。
背離訊號 (Divergence):自動標記量價背離。
▲ 底背離 (Bullish):股價創新低,但 VR 指標墊高(主力吸籌)。
▼ 頂背離 (Bearish):股價創新高,但 VR 指標走弱(買氣衰竭)。
Features & Settings
Formula Logic: Calculated as VR = (Qu + Qf/2) / (Qd + Qf/2) * 100.
Default Length: 26, widely regarded as the optimal setting for short-to-medium term analysis.
Key Zones:
< 40% (Oversold/Bottom): Extreme low volume, often indicating a market bottom and potential buying opportunity.
100% (Neutral): The balance point between bulls and bears.
> 260% (Bullish Zone): Strong uptrend, volume is expanding.
> 450% (Overbought/Top): Extreme high volume, often indicating a market top and potential reversal.
Visual Enhancements:
Color Coding: Line turns Red when VR rises (Momentum Up) and Green when VR falls (Momentum Down).
Divergence Signals: Automatically marks divergence points on the chart.
▲ Bullish Divergence: Price makes a lower low, but VR makes a higher low (Accumulation).
▼ Bearish Divergence: Price makes a higher high, but VR makes a lower high (Distribution).
應用策略建議
抄底策略:當 VR 跌破 40% 後,指標線由綠翻紅,或出現「▲底背離」訊號時,為極佳的波段進場點。
逃頂策略:當 VR 衝過 450% 進入高檔區,一旦指標線由紅翻綠,或出現「▼頂背離」訊號時,建議分批獲利了結。
Strategy Guide
Bottom Fishing: Look for entries when VR drops below 40% and turns red, or when a "▲ Bullish Divergence" label appears.
Taking Profit: Consider selling when VR exceeds 450% and turns green, or when a "▼ Bearish Divergence" label appears.
Disclaimer: This tool is for informational purposes only and does not constitute financial advice. / 本腳本僅供參考,不構成投資建議。
GARCH Volume Volatility [MarkitTick]Title: GARCH Volume Volatility
Description
Overview
The GARCH Volume Volatility (GV) indicator is a sophisticated quantitative tool designed to analyze the rate of change in market participation. While the vast majority of technical indicators focus on Price Volatility (how much price moves), this script focuses on Volume Volatility (how unstable the participation is).
Market volume is rarely distributed evenly; it tends to cluster. Periods of high activity are often followed by more high activity, and periods of calm tend to persist. This behavior is known as "heteroskedasticity." This script utilizes an Exponentially Weighted Moving Average (EWMA) model—a core component of Generalized Autoregressive Conditional Heteroskedasticity (GARCH) frameworks—to model these changing variance regimes.
By isolating volume volatility from raw volume data, this tool helps traders distinguish between sustainable liquidity flows and erratic, unsustainable volume shocks that often precede market reversals or breakouts.
Methodology and Calculations
1. Logarithmic vs. Percentage Returns
The foundation of this indicator is the calculation of "Volume Returns"—the period-over-period change in volume.
- The script defaults to Logarithmic Returns. In financial statistics, log returns are preferred because they normalize data that can vary wildly in magnitude (such as cryptocurrency volume spikes), providing a more symmetric view of changes.
- Users can opt for standard percentage changes if they prefer a linear approach.
2. Variance Proxy (Squared Returns)
To measure volatility, the direction of the volume change (up or down) matters less than the magnitude. The script squares the returns to create a "Variance Proxy." This ensures that a massive drop in volume is treated with the same statistical weight as a massive spike in volume—both represent a significant change in the volatility of participation.
3. GARCH-Style Smoothing (EWMA)
Standard Moving Averages (SMA) treat all data points in the lookback period equally. However, volatility is dynamic. This script uses an EWMA model with a tunable "Lambda" (Decay Factor).
- The Recursive Formula: The current calculation relies on a weighted average of the current variance and the previous period's smoothed variance.
- Memory Effect: This allows the indicator to "remember" recent volatility shocks while gradually letting their influence fade. This mimics the GARCH process of conditional variance.
4. Dynamic Statistical Thresholds
The final output is the Volatility (square root of variance). To make this data actionable, the script calculates a dynamic upper and lower limit based on the standard deviation (Z-Score) of the volatility itself over a user-defined lookback period.
How to Use
The indicator plots a histogram that categorizes the market into four distinct volatility regimes:
1. High Volatility (Red Histogram)
Trigger: Volatility > High Band (Upper Standard Deviation).
Interpretation: This signals an extreme anomaly in volume stability. This is not just "high volume," but "erratic volume behavior." This often occurs at:
- Capitulation bottoms (panic selling).
- Euphoric tops (blow-off tops).
- Major news events or earnings releases.
2. Elevated Volatility (Maroon Histogram)
Trigger: Volatility > Mean Average.
Interpretation: The market is in an active state. Participation is changing rapidly, but within statistically normal bounds. This is common during healthy, trending moves where new participants are entering the market steadily.
3. Normal/Low Volatility (Green Histogram)
Trigger: Volatility is within the lower bands.
Interpretation: The market volume is stable. There are no sudden shocks in participation. This is typical of consolidation phases or "creeping" trends where the price drifts without significant volume conviction.
4. Extremely Low Volatility (Bright Green/Transparent)
Trigger: Volatility < Low Band.
Interpretation: The "calm before the storm." When volume volatility collapses to near-zero, it implies that the market has reached a state of equilibrium or disinterest. Historically, volatility is cyclical; periods of extreme compression often lead to violent expansion.
Settings and Configuration
Core Settings
- Use EWMA: When checked (Default), uses the recursive GARCH-style calculation. If unchecked, it reverts to a simple SMA of variance, which is less sensitive to recent shocks but more stable.
- Log Returns: Uses natural log for calculations. Highly recommended for assets with exponential growth or large volume ranges.
- Length: The baseline period for the calculation.
- Threshold Lookback: The number of bars used to calculate the Mean and Standard Deviation bands.
- EWMA Lambda: The decay factor (0.0 to 1.0). A value of 0.94 is standard for risk metrics.
-- Higher Lambda (e.g., 0.98): The indicator reacts slower and is smoother (long memory).
-- Lower Lambda (e.g., 0.80): The indicator reacts very fast to new data (short memory).
Visuals
- Show Thresholds: Toggles the visibility of the statistical bands on the chart.
- High Band (StdDev): The multiplier for the upper warning zone. Default is 1.5 deviations. Increasing this to 2.0 or 3.0 will filter for only the most extreme events.
Disclaimer This tool is for educational and technical analysis purposes only. Breakouts can fail (fake-outs), and past geometric patterns do not guarantee future price action. Always manage risk and use this tool in conjunction with other forms of analysis.
ATR Trailing StopATR Trailing Stop (Dynamic Volatility Regimes)
==============================================
This indicator implements an adaptive ATR-based trailing stop for long positions. The stop automatically adjusts based on stock volatility, tightening during fast movements and widening during calm periods. It is designed as a trade management tool to help protect profits while staying aligned with strong trends.
How It Works
------------
* Tracks the highest high over a configurable lookback window and ensures this “top” never moves downward.
* Computes the trailing stop as:**Top – ATR × Dynamic Multiplier**
* The ATR multiplier changes depending on volatility:
* Low volatility → Wide stop (slower trailing)
* Medium volatility → Standard trailing
* High volatility → Tight stop (faster trailing)
* The trailing stop only moves upward; it never decreases.
* If price falls significantly below the stop (default: 5%), the system resets and begins trailing from a new top.
* An optional price-scale label displays:
* Current stop value
* Volatility regime (LOW / MID / HIGH)
* ATR percentage and active multiplier
Alerts
------
Two alert conditions are included:
### Trailing Stop – Near
Triggers when price moves within a user-defined percentage above the stop.
### Trailing Stop – Hit
Triggers when price touches or closes below the stop.
How to Use
----------
1. Add the indicator to any chart (daily timeframe recommended).
2. Configure:
* ATR length
* Lookback bars
* Volatility thresholds
* ATR multipliers
3. Set alerts for early warnings or stop-hit events.
4. Use the stop line as a dynamic risk-management tool to guide exit decisions and protect profits.
Notes
-----
* Designed for long-only trailing logic.
* This indicator does not generate entry signals; it is intended for stop management.
Double&Triple Pattern[TS_Indie]📌 Description – Double & Triple Pattern Indicator
The Double & Triple Pattern Indicator is developed to help traders systematically and clearly identify Double Top, Double Bottom, Triple Top, and Triple Bottom chart patterns.
⚙️ Core Logic & Working Mechanism
The Double & Triple Pattern Indicator is built on the concept of price swing formation, based on the logic of Trend Entry_0 , which focuses on structured market analysis and price action behavior.
The indicator detects three main swing points (Swing 1, Swing 2, and Swing 3). A Fibonacci Box is then created using Swing A and Swing B as reference points to define the swing detection zone.
When all three swings remain inside the defined Fibonacci Box, the structure is considered a valid Price Action setup.
The indicator then plots key lines on the chart:
➩ Break Line – used to confirm the signal (confirmation)
➩ Cancel Line – used to invalidate the price action if price moves against the conditions
➛ When price breaks the Break Line , the structure is confirmed and a Pending Order is placed at Swing B , with the Stop Loss set at Swing 1.
➛ If price breaks the Cancel Line first, the price action structure is immediately invalidated.
⚙️ Fibonacci Entry Zone & Change SL Settings
➩ When Fibo Entry Zone is set to 0, the Pending Order is placed directly at Swing B.
➩ When the value is greater than 0, the Pending Order is calculated using Fibonacci levels drawn from Swing B to the Stop Loss level.
➩ Change SL allows switching the Stop Loss reference between Swing 1 and Swing A.
⚙️ Min & Max Control for Swing Size : xATR
When enabling Control Size Swing : xATR , the indicator filters Swing B based on the defined Min and Max range.
This allows traders to selectively test larger or smaller swing-based price actions , depending on their trading strategy.
⭐ Pending Order Cancellation Conditions
A Pending Order will be canceled under the following conditions:
1.A new Price Action signal appears on either the Buy or Sell side.
2.When Time Session is enabled, the Pending Order is canceled once price exits the selected session.
🕹 Order Management Rule
When there is an active open position, the indicator restricts the creation of new Pending Orders to prevent overlapping positions.
💡 Double Pattern Example
💡 Triple Pattern Example
⚠️ Disclaimer
This indicator is designed for technical analysis purposes only and does not constitute investment advice.
Users should apply proper risk management and make decisions at their own discretion.
🥂 Community Sharing
If you find parameter settings that work well or produce strong statistical results, feel free to share them with the community so we can improve and develop this indicator together.
Ripster Clouds + Saty Pivot + RVOL + Trend1. Ripster EMA Clouds (local + higher timeframe)
Local timeframe (your chart TF):
Plots up to 5 EMA clouds (8/9, 5/12, 34/50, 72/89, 180/200 – configurable).
Each cloud is:
One short EMA and one long EMA.
A filled band between them.
Color logic:
Cloud is bullish when short EMA > long EMA (green/blue-ish tone).
Bearish when short EMA < long EMA (red/orange/pink tone).
You can choose:
EMA vs SMA,
Whether to show the lines,
Per-cloud toggles.
MTF Clouds:
Two higher-timeframe EMA clouds:
Cloud 1: 50/55
Cloud 2: 20/21
Computed on a higher TF (default D, but configurable).
Show as thin lines + transparent bands.
Used for:
Visual higher-TF trend,
Optional signal filter (MTF must agree for trades).
2. Saty Pivot Ribbon (time-warped EMAs)
This is basically your Saty Pivot Ribbon integrated:
Uses a “Time Warp” setting to overlay EMAs from another timeframe.
EMAs:
Fast, Pivot, Slow (defaults 8 / 21 / 34).
Clouds:
Fast cloud between fast & pivot EMAs.
Slow cloud between pivot & slow EMAs.
Bullish/bearish colors are distinct from Ripster colors.
Optional highlights:
Can highlight fast/pivot/slow lines separately.
Conviction EMAs:
13 and 48 EMAs (configurable).
When fast conviction EMA crosses over/under slow:
You get triangle arrows (bullish/bearish conviction).
Bias candles:
If enabled, candles are recolored based on:
Price vs Bias EMA,
Candle up/down/doji,
So you see bullish/bearish “bias” directly in candle colors.
3. DTR vs ATR panel (range vs average)
In a small table panel (bottom-center by default):
Computes higher-TF ATR (default 14, TF auto D/W/M, smoothing type selectable).
Measures current range (high–low) on that TF.
Displays:
DTR: X vs ATR: Y Z% (+/-Δ% vs prev)
Where:
Z% = current range / ATR * 100.
Δ% = change vs previous bar’s Z%.
Background color:
Greenish for low move (<≈70%),
Red for high move (≥≈90%),
Yellow in between,
Slightly dimmed when price is below bias EMA.
This tells you: “Is today an average, quiet, or explosive day compared to normal?”
4. SMA Divergence panel
Separate histogram & line panel:
Fast and slow SMAs (default 14 & 30).
Computes price divergence vs SMA in %:
% above/below slow SMA,
% above/below fast SMA.
Shows:
Slow SMA divergence as a semi-transparent column,
Fast SMA divergence as a solid column on top,
EMA of the slow divergence (trend line) colored:
Blue when rising,
Orange/red when falling.
Static upper/lower bands with fill, plus optional zero line.
This gives you a feel for how stretched price is vs its anchors.
5. RVOL table (relative volume)
Small 3×2 table (bottom-right by default):
Inputs:
Average length (default 50 bars),
Optionally show previous candle RVOL.
Calculates:
RVOL now = volume / avg(volume N bars) * 100,
RVOL prev,
RVOL momentum (now – prev) for data window only.
Table columns:
Candle Vol,
RVOL (Now),
RVOL (Prev).
Colors:
200% → “high RVOL” color,
100–200% → “medium RVOL” color,
<100% → “low RVOL” color,
Slightly dimmer if price is below bias EMA.
This is used both visually and optionally as a signal filter (e.g., only trade when RVOL ≥ threshold).
6. Trend Dashboard (Price + 34/50 + 5/12)
Top-right trend box with 3 rows:
Price Action row:
Uses either Bias EMA or custom EMA on close to say:
Bullish (close > trend EMA),
Bearish (close < trend EMA),
Flat.
Ripster 34/50 Cloud row:
Uses 34/50 EMAs: bullish if 34>50, bearish if 34<50.
Ripster 5/12 Cloud row:
Uses 5/12 EMAs: bullish if 5>12, bearish if 5<12.
Then it does a vote:
Counts bullish votes (Price, 34/50, 5/12),
Counts bearish votes,
Depending on mode:
Majority (2 of 3) or Strict (3 of 3).
Output:
Overall Bullish / Bearish / Sideways.
You also get an optional label on the chart like
Overall: Bullish trend with color, and an optional background tint (green/red for bull/bear).
7. VWAP + Buy/Sell Signals
VWAP is plotted as a white line.
Fast “trend” cloud mid: average of 5 & 12 EMAs.
Slow “trend” cloud mid: average of 34 & 50 EMAs.
Buy condition:
5/12 crosses above 34/50 (bullish cloud flip),
Price > VWAP,
Optional filter: MTF Cloud 1 bullish (50/55 on higher TF),
Optional filter: RVOL >= threshold.
Sell condition:
5/12 crosses below 34/50,
Price < VWAP,
Optional same filters but bearish.
When conditions are met:
Plots BUY triangle up below price (distinct teal/green tone).
Plots SELL triangle down above price (distinct magenta/orange tone).
Alert conditions are defined for:
BUY / SELL signals,
Overall Bullish / Bearish / Sideways change,
MTF Cloud 1 trend flips.
8. Data Window metrics
For easy backtesting / inspection via TradingView’s data window, it exposes:
DTR% (Current) and DTR% Momentum,
RVOL% (Now), RVOL% (Prev), RVOL% Momentum.
TL;DR – What does this script do for you?
It turns your chart into a multi-framework trend and momentum dashboard:
Ripster EMA clouds for short/medium trend & S/R.
Saty Ribbon for higher-TF pivot structure and conviction.
RVOL + DTR/ATR for context (is this a big and well-participated move?).
SMA divergence panel for overextension/stretch.
A compact trend table that tells you Price vs 34/50 vs 5/12 in one glance.
Buy/Sell markers + alerts when:
short-term Ripster trend (5/12) flips over/under medium (34/50),
price agrees with VWAP,
plus optional filters (MTF trend and / or RVOL).
Basically: it’s a trend + confirmation + context system wrapped into one indicator, with most knobs configurable in the settings.
Momentum Gamma StraddleExact definition of what that script does
1) Purpose
The script is a decision aid for intraday expiry-day ATM straddle trades. It detects intraday structure breakouts and signals candidate long straddle entries for Nifty or Sensex using price structure, volume, RSI momentum, and a user-supplied combined ATM premium value (CE + PE). It draws support/resistance, shows an info box, and raises alerts.
2) Inputs the user can change
Trading time window: startHour, startMin, endHour, endMin.
Structure lookback: res_lookback (how many candles to use to compute resistance/support).
Minimum candle body as fraction of candle range: min_body_pct.
Volume multiplier threshold: vol_mult (breakout candle volume must exceed vol_mult * sma5).
RSI length and thresholds: rsi_len, rsi_bull_thresh, rsi_bear_thresh.
Combined premium source: choose Manual or Symbol. If Manual, set manual_combined. If Symbol, provide a TradingView symbol that returns CE+PE combined ATM premium.
Combined premium acceptable band: min_combined_ok and max_combined_ok.
Profit target percent and SL percent (target_pct and sl_pct).
Misc pattern heuristics: min_res_hits (min tests of resistance inside lookback), low_slope_min (used to detect rising lows).
Micro-confirmation toggle, micro timeframe, nonrepaint option, show_entry_label toggle (in the later fixed versions some of these were added, but the earlier fixed script had basic combined_symbol options and a lookahead fallback).
3) Data calculated on each bar
Safety check hasEnough: true when bar_index >= res_lookback.
resistance: the highest high over res_lookback bars.
support: the lowest low over res_lookback bars.
res_hits: count of bars within lookback whose high is within a tolerance of resistance. Tolerance is 10 percent of the range between resistance and support.
low_slope: simple slope of lows over res_lookback bars.
body_pct: the candle body as a fraction of its high-low range. strong_body true when body_pct >= min_body_pct.
bull_breakout: true if hasEnough and current close > resistance and strong_body and res_hits >= min_res_hits.
bear_breakout: true if hasEnough and current close < support and strong_body and res_hits >= min_res_hits.
vol_sma5 and vol_ok: vol_ok true when current volume > vol_mult * vol_sma5.
rsi and rsi checks: rsi_bull_ok true if rsi >= rsi_bull_thresh; rsi_bear_ok true if rsi <= rsi_bear_thresh.
combined_premium: either the manual_combined input or the value read from combined_symbol via request.security. The script attempted a fallback to manual when the symbol was not valid.
combined_ok: true if combined_premium lies between min_combined_ok and max_combined_ok.
final signals: bull_signal when in_time_window and bull_breakout and vol_ok and rsi_bull_ok and combined_ok. bear_signal similar for bearish breakout.
4) Visual output and alerts
Plots resistance and support lines on the chart.
Plots a label shape "STRADDLE BUY" below the bar for bull_signal and above the bar for bear_signal.
Creates an info label (on last bar) that shows TimeOK, VolOK and vol ratio, RSI, Combined premium and whether it is OK, ResHits and LowSlope.
Sets two alertcondition events: "Bull Straddle BUY" and "Bear Straddle BUY" with a short candidate message. The alerts fire when the corresponding signal is true.
5) Execution assumptions you must follow manually
The script does not place any orders or compute option strike-level prices or greeks. It only flags candidate entry bars.
When combined_source is Manual you must type CE+PE yourself. The indicator will only accept the manual number and treat it as the combined premium.
When combined_source is Symbol the script uses request.security to read that symbol. For historical bars the indicator may repaint depending on lookahead settings. The earlier fixed script attempted to use request.security inside a conditional which leads to runtime or compile errors. You experienced that exact error.
6) Known implementation caveats and bugs you encountered
Pine typing issue with low_slope. The earlier version set low_slope = na without explicit type. That triggers the Pine error: "Value with NA type cannot be assigned to a variable that was defined without type keyword". This required changing to float low_slope = na.
The earlier version attempted to call request.security() inside an if block or conditional. Pine prohibits request.security in conditional blocks unless allowed patterns are followed. That produced the error you saw: "Cannot use request.* call within loops or conditional structures" or similar. The correct pattern is to call request.security at top-level and decide later which value to use.
If combined_symbol is invalid or not available on your TradingView subscription, request.security can return na and the script must fall back to manual value. The earlier fixed script attempted fallback but compiled errors prevented reliable behavior.
The earlier script did not include micro-confirmation or advanced nonrepaint controls. Those were added in later versions. Because of that, the earlier script may have given signals that appear to repaint on historical bars or may have thrown errors when using combined_symbol.
7) Decision logic summary (exact)
Only operate if current chart time is inside user set time window.
Only consider trade candidates when enough history exists for res_lookback.
Identify a resistance level as the highest high in the lookback. Count how many times that resistance was tested. Ensure the breakout candle has a strong body and volume spike. Ensure RSI is aligned with breakout direction.
Require combined ATM premium to be inside a user preferred band. If combined_symbol is used the script tries to read that value and use it; otherwise it uses manual_combined input.
If all the above conditions are true on a confirmed bar, the script plots a STRADDLE BUY label and triggers an alertcondition.
8) What the script does not do
It does not calculate CE and PE prices by strike. It only consumes or accepts combined premium number.
It does not compute greeks, IV, or OI. OI and IV checks must be done manually.
It does not manage positions. No SL management or automatic exits are executed by the script.
It does not simulate fills or account for bid/ask spreads or slippage.
It cannot detect off-exchange block trades or read exchange-level auction states beyond raw volume bars.
It may repaint historical labels if the combined_symbol was read with lookahead_on or the script used request.security in a way that repainted. The corrected final version uses nonrepaint options.
9) Manual checks you must always perform even when the script signals BUY
Confirm the live combined ATM premium and the bid/ask for CE and PE.
Check ATM IV and recent IV movement for a potential IV crush risk.
Check option OI distribution and recent OI changes for strike pinning or large player exposure.
Confirm CE and PE liquidity and depth. Wide spreads make fills unrealistic.
Confirm there is no scheduled news or auction within the next few minutes.
Confirm margin and position sizing fits your risk plan.
10) Quick testing checklist you can run now
Add the script to a 5-minute chart with combined_source = Manual.
Enter manual_combined equal to the real CE+PE at the moment you test.
Set startHour and endHour so the in_time_window is true for current time.
Look for STRADDLE BUY label on confirmed bars. Inspect the info box to see why it did or did not signal.
If you set combined_source = Symbol, verify the symbol exists and that TradingView returns values for it. If you previously saw the request.security error, that was caused by placing the request inside a conditional. The correct behavior is to call request.security unconditionally at top-level like in the final fixed version.
Multi-Distribution Volume Profile (Zeiierman)█ Overview
Multi-Distribution Volume Profile (Zeiierman) is a flexible, structure-first volume profile tool that lets you reshape how volume is distributed across price, from classic uniform profiles to advanced statistical curves like Gaussian, Lognormal, Student-t, and more.
Instead of forcing every market into a single "one-size-fits-all" profile, this tool lets you model how volume is likely concentrated inside each bar (body vs wicks, midpoint, tails, center bias, right-skew, heavy tails, etc.) and then stacks that behavior across a whole lookback window to build a rich, multi-distribution map of traded activity.
On top of that, it overlays a dynamic Center Band (value area) and a fade/gradient model that can color each price row by volume, hits, recency, volatility, reversals, or even liquidity voids, turning a plain profile into a multi-dimensional context map.
Highlights
Choose from multiple Profile Build Modes , including uniform, body-only, wick-only, midpoint/close/open, center-weighted, and a suite of probability-style distributions (Gaussian, Lognormal, Weibull, Student-t, etc.)
Flexible anchor layout: draw the profile on Right/Left (horizontal) or Bottom/Top (vertical) to fit any chart layout
Value Area / Center Band computed from volume quantiles around the POC.
Gradient-based Fade Metrics: volume, price hits, freshness (time decay), volatility impact, dwell time, reversal density, compression, and liquidity voids
Separate bullish vs bearish volume at each price row for directional structure insights
█ How It Works
⚪ Profile Construction
The script scans a user-defined Bars Included window and finds the full high–low span of that zone. It then divides this range into a user-controlled number of Price Levels (rows).
For each historical bar within the window:
It measures the candle’s price range, body, and wicks.
It assigns volume to rows according to the selected Profile Build Mode, for example:
* Range Uniform – volume spread evenly across the full high–low range.
* Range Body Only / Range Wick Only – concentrate volume inside the body or wicks only.
* Midpoint / Close / Open Only – allocate volume entirely into one price row (pinpoint modeling).
HL2 / Body Center Weighted – center weights around the middle of the range/body.
Recent-Weighted Volume – amplify newer bars using exponential time decay.
Volume Squared (Hard) – aggressively boost bars with large volume.
Up Bars Only / Down Bars Only – filter volume to only bullish or bearish bars.
For more advanced shapes, the script uses continuous distributions across the bar’s span:
Linear, Triangular, Exponential to High
Cosine Centered, PERT
Gaussian, Lognormal, Cauchy, Laplace
Pareto, Weibull, Logistic, Gumbel
Gamma, Beta, Chi-Square, Student-t, F-Shape
Each distribution produces a weight for each row within the bar’s range, normalized so the total volume remains consistent, but the shape of where that volume lands changes.
⚪ POC & Center Band (Value Area)
Once all rows are accumulated:
The row with the highest total volume becomes the Point of Control (POC)
The script computes cumulative volume and finds the band that wraps a user-defined Center of Profile % (e.g., 68%) around the center of distribution.
This range is displayed as a central band, often treated like a value area where price has spent the most “effort” trading.
⚪ Gradient Fade Engine
Each row also gets a fade metric, chosen in Fade Metric:
Volume – opacity based on relative volume.
Price Hits – how frequently that row was touched.
Blended (Vol+Hits) – average of volume & hits.
Freshness – emphasizes recent activity, controlled by Decay.
Volatility Impact – rows that saw larger ranges contribute more.
Dwell Time – where price “camped” the longest.
Reversal Density – where direction changes cluster.
Compression – tight-range compression zones.
Liquidity Void – inverse of volume (thin liquidity zones).
When Apply Gradient is enabled, the row’s bullish/bearish colors are tinted from faint to strong based on this chosen metric, effectively turning the profile into a heatmap of your chosen structural property.
█ How to Use
⚪ Explore Different Distribution Assumptions
Switch between multiple Profile Build Modes to see how your assumptions about intrabar volume affect structure:
Use Range Uniform for classical profile reading.
Deploy Gaussian, Logistic, or Cosine shapes to emphasize central clustering.
Try Pareto, Lognormal, or F-Shape to focus on tail / extremal activity.
Use Recent-Weighted Volume to prioritize the most recent structural behavior.
This is especially useful for traders who want to test how different modeling assumptions change perceived value areas and levels of interest.
⚪ Identify Value, Acceptance & Rejection Zones
Use the POC and Center of Profile (%) band to distinguish:
High-acceptance zones – wide central band, thick rows, strong gradient → fair value areas
Rejection zones & tails – thin extremes, low dwell time, high volatility or reversal density
These regions can be used as:
Targets and origin zones for mean reversion
Context for breakout validation (leaving value)
Bias reference for intraday rotations or swing rotations
⚪ Read Directional Structure Within the Profile
Because each row is split into bullish vs bearish contributions, you can visually read:
Where buyers dominated a price region (large bullish slice)
Where sellers absorbed or defended (large bearish slice)
Combining this with Fade Metrics like Reversal Density, Dwell Time, or Freshness turns the profile into a structural order-flow map, without needing raw tick-by-tick volume data.
⚪ Use Fade Metrics for Contextual Heatmaps
Each Fade Metric can be used for a different analytical lens:
Volume / Blended – emphasize where volume and activity are concentrated.
Freshness – highlight the most recently active zones that still matter.
Volatility Impact & Compression – spot areas of explosive moves vs coiled ranges.
Reversal Density – locate micro turning points and battle zones.
Liquidity Void – visually pop out thin regions that may act as speedways or magnets.
█ Settings
Profile Build Mode – Selects how each bar’s volume is distributed across its price range (uniform, body/wick, midpoint/close/open, center-weighted, or statistical distribution families).
Bars Included – Number of bars used to build the profile from the current bar backward.
Price Levels – Vertical resolution of the profile: more levels = smoother but heavier.
Anchor Side – Where the profile is drawn on the chart: Right, Left, Bottom, or Top.
Offset (bars) – Horizontal offset from the last bar to the profile when using Right/Left modes.
Apply Gradient – Toggles the fade/heatmap coloring based on the selected metric.
Fade Metric – Chooses the property driving row opacity (Volume, Hits, Freshness, Volatility Impact, Dwell Time, Reversal Density, Compression, Liquidity Void).
Decay – Time-decay factor for Freshness (values close to 1 keep older activity relevant for longer).
Profile Thickness – Relative thickness of the profile along the time axis, as a % of the lookback window.
Center of Profile (%) – Volume percentage used to define the central band (value area) around the POC.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Trinity ATR Real Move DetectorTrinity ATR Real Move Detector
This ATR Energy Table indicator is one of the simplest yet most powerful filters you can have on a chart when trading short-dated or 0DTE options or swing trades on any timeframe from 1-minute up to 4-hour. Its entire job is to answer the single most important question in intraday and swing trading: “Does the underlying actually have enough short-term explosive energy right now to make a directional position worth the theta and the spread, or is this just pretty candles that will die in ten minutes?”
Most losing 0DTE and short-dated option trades happen because people buy or sell direction on a “nice-looking” breakout or pullback while the underlying is actually in low-energy grind mode. The premium decays faster than the move develops, and you lose even when you’re “right” on direction. This little table stops that from ever happening again.
Here’s what it does in plain English:
Every bar it measures two things:
- The current ATR on whatever timeframe you are using (1 min, 3 min, 5 min, 10 min, etc.). This tells you how big the average true range of the last 14 bars has been — in other words, how violently the stock or index is actually moving right now.
- The daily ATR (14-period on the daily chart). This is your benchmark for “normal” daily movement over the last two–three weeks.
It then multiplies the daily ATR by a small number (the multiplier you set) and compares the two. If the short-term ATR is bigger than that percentage of the daily ATR, the table turns bright green and says “ENOUGH ENERGY”. If not, it stays red and says “NOT ENOUGH”.
Why this works so well:
- Real explosive moves that carry for 0DTE and 1–3 DTE options almost always show a short-term ATR spike well above the recent daily average. Quiet grind moves never do.
- The comparison is completely adaptive — on a high-vol day the threshold automatically rises, on a low-vol day it automatically drops. You never have to guess if “2 points on SPY is big today”.
- It removes emotion completely. You simply wait for green before you even think about clicking buy or sell on an option.
Key settings and what to do with them:
- Energy Multiplier — this is the only number you ever touch. It is expressed as a decimal (0.15 = 15 % of the daily ATR). Lower = more signals, higher = stricter and higher win rate. The tooltip gives you the exact sweet-spot numbers for every popular timeframe (0.09 for 1-minute scalping, 0.13 for 3-minute, 0.14–0.16 for 5-minute, 0.15–0.19 for 10-minute, etc.). Just pick your timeframe once and type the number — done forever.
- ATR Length — leave it at 14. That’s the standard and works perfectly.
- Table Position — move the table to wherever you want on the chart (top-right, bottom-right, bottom-left, top-left).
- Table Size — make the text Tiny, Small, Normal or Large depending on how much screen space you have.
How this helps you make money and stop losing it:
- On most days you will see red 80–90 % of the time — that’s good! It is forcing you to sit on your hands instead of overtrading low-energy chop that eats premium.
- When it finally flips green you know institutions are actually pushing size right now — follow-through probability jumps from ~40 % to 65–75 % depending on the stock and timeframe.
- You stop buying calls on every green candle and puts on every red candle. You only strike when the market is genuinely “awake”.
- Over a week you take dramatically fewer trades, but your win rate and average winner size go way up — which is exactly how consistent intraday option profits are made.
In short, this tiny table is the closest thing to an “edge on/off switch” that exists for short-dated options. Red = preserve capital and go do something else. Green = pull the trigger with confidence. Use it religiously and you’ll immediately feel the difference in your P&L.
Exhaustion IndicatorThe ScalpSQZ indicator is designed to identify four critical market states using volatility structure, momentum behavior, and exhaustion conditions. It enhances scalping precision by visually marking transitions between consolidation, squeeze conditions, and momentum reversals through color-coded candles.
1. Squeeze Conditions (Orange Candles)
Orange candles highlight volatility compression, detected when Bollinger Bands contract inside the Keltner Channels. This structure signals that market volatility is tightening and a significant expansion move is likely to follow. The squeeze represents a pre-breakout environment and serves as the earliest warning of a potential directional shift.
2. Consolidation Conditions (Yellow Candles)
Yellow candles identify phases of low directional momentum. These conditions occur when RSI remains near neutral values, MACD histogram activity is minimal, and the Rate of Change stays muted. This combination indicates that the market is balanced and non-trending, often preceding a volatility spike or a new trend. Consolidation helps traders avoid low-probability entries during indecisive price action.
3. Momentum Exhaustion — Overbought Fade (White Candles)
White candles signal potential top-side exhaustion. This occurs when RSI enters overbought territory while the MACD histogram begins to weaken compared to the previous bar. This condition does not necessarily call a reversal but warns that bullish momentum is deteriorating and upside continuation may be limited. It is particularly useful for identifying trend fatigue and tightening stop-loss placement.
4. Momentum Exhaustion — Oversold Fade (Purple Candles)
Purple candles identify bottom-side exhaustion and appear when RSI reaches oversold levels, MACD momentum begins improving, and the current close shows buyer defense relative to the previous low. This condition suggests selling pressure is diminishing and a potential reversal or relief bounce may be forming. Purple candles serve as an early indication of bearish trend exhaustion.
Color Priority System
The indicator follows a fixed hierarchy to ensure clarity:
Squeeze (orange) has the highest priority, followed by consolidation (yellow). Exhaustion signals (white for tops, purple for bottoms) apply only when no squeeze or consolidation conditions are active. This structure ensures that the most critical market states are always highlighted first.
Purpose and Application
ScalpSQZ helps traders identify optimal environments for breakouts, anticipate trend exhaustion, and avoid low-quality trades during choppy or low-momentum conditions. It is suitable for scalping, day trading, and swing trading across any asset class or timeframe.
Intermarket Swing Projection [LuxAlgo]The Intermarket Swing Projection allows traders to plot price movement swings from any user-selected asset directly onto the chart in the form of zigzags and/or horizontal support and resistance levels.
This tool rescale the external asset price on the user chart, enabling traders to make direct comparisons.
It answers the question of how different the price behavior is between two assets, accounting for each asset's volatility.
🔶 USAGE
This tool is based on swing detection of two different assets: the chart and a user-selected asset. It allows traders to compare two assets on an equal footing while accounting for volatility and price behavior.
Traders can customize the detection by selecting a custom ticker, timeframe, the number of swings and length for swing detection. This makes the tool a Swiss army knife for asset comparison.
As we can see in the image below, the Show Last, Pivot Length, and Spread parameters are key to defining the final output of the tool.
"Show Last" defines how many pivots are displayed. "Pivot Length" is used for pivot detection; a larger value will detect larger market structures. "Spread" defines how far apart the horizontal levels will be from their original location in terms of volatility.
🔹 Comparing different assets
This image shows the Nasdaq 100 futures contract compared to four other futures contracts: S&P 500, gold, bitcoin, and euro/U.S. dollar.
Plotting all of these assets in Nasdaq 100 terms makes it easy to compare and analyze price behaviors and identify key levels.
In the top left chart, we have NQ vs. ES. It's no surprise that they are practically an exact match; a large portion of the S&P 500 is technology.
In the top right chart, NQ vs. GC, we see totally different behaviors. We can clearly see the summer consolidation in gold and the resumption of the uptrend, which took gold above 29,200 NQ points, up from 21,200.
In the bottom right chart, we see bitcoin making new highs, way above the Nasdaq in May, July, and October. However, the last high was way below the Nasdaq prices on October 27—the first lower high in a while. Sellers are pushing down.
Finally, the bottom left chart is NQ vs. 6E. We can see large volatility in the uptrend since February, with NQ unable to catch up until now. The last swing low was almost a match, and 6E is in a range.
As we can see, this tool allows us to perform intermarket analysis properly by accounting for each asset's volatility and price behavior. Then, we plot them on the same scale on equal terms, which makes performing this kind of analysis easy.
As we can see in the chart above, the assets are the same as in the previous image, but the timeframe is 1H with different settings.
Note the horizontal levels acting as support and resistance, as well as how NQ prices react to the zones marked with white circles. These levels are derived from custom assets selected by the user.
🔹 Displaying Elements
Zig-zag allows traders to clearly see the path that the selected asset's price took, as well as its turning points.
Horizontal levels are displayed from those turning points to the present and can be used as support or resistance. Traders can adjust the spread parameter in the settings panel to expand or contract those levels' volatility.
There are two color modes for the levels: average and pivots. In the first mode, green is used for levels below the average and red for levels above the average. The second uses green for swing lows and red for swing highs.
The backpaint feature is enabled by default and allows the swings to be displayed in the correct location. With this feature disabled, the swings will be displayed in the current location when a new swing is detected.
🔶 DETAILS
On a more technical note, the rescaling is formed by calculating three main elements from all the swings detected on the custom and chart assets:
The chart asset's average of all swing points
The chart asset's standard deviation of all swing points
The custom asset's z-score for each swing point
Then, the re-scaled swing point is calculated as the average plus the z-score multiplied by the standard deviation. This makes it possible to plot AAPL swings on an NQ chart, for example.
Thanks to re-scaling, we can directly compare the price behavior of two assets with different price ranges and volatility on the same chart.
🔶 SETTINGS
🔹 Trendlines
Ticker: Select the custom ticker.
Timeframe: Select a custom timeframe.
Show Last: Select how many swing points to display.
Pivot Length: Select the size for swing point detection.
Spread: Volatility multiplier for horizontal levels. Larger values mean the levels are farther apart.
Backpaint: Enable or disable the backpaint feature. When enabled, the drawings will be displayed where they were detected. When disabled, the drawings will be displayed at the moment of detection.
🔹 Style
Show ZigZag: Enable or disable the ZigZag display and choose a line style.
Show Levels: Enable or disable the levels display and choose a line style.
Color Mode: Choose between Average Mode, which colors all levels below the average bullish and all levels above bearish, and Pivot Mode, which colors swing highs bearish and swing lows bullish.
Bullish: Select a bullish color.
Bearish: Select a bearish color.
ZigZag: Select the ZigZag color.
BTC - FRIC: Friction & Realized Intensity CompositeTitle: BTC - FRIC: Friction & Realized Intensity Composite
Data: IntoTheBlock
Overview & Philosophy
FRIC (Friction & Realized Intensity Composite) is a specialized on-chain oscillator designed to visualize the "psychological battlegrounds" of the Bitcoin network.
Most indicators focus on Price or Momentum. FRIC focuses on Cost Basis. It operates on the thesis that the market experiences maximum "Friction" when the price revisits the cost basis of a large number of holders. These are the zones where investors are emotionally triggered to react—either to exit "at breakeven" after a loss (creating resistance) or to defend their entry (creating support).
This indicator answers two questions simultaneously:
Intensity: Is the market hitting a Wall (High Friction) or a Vacuum (Low Friction)?
Valuation: Is this happening at a market bottom or a top?
The "Alpha" (Wall vs. Vacuum)
Why we visualize both extremes: This indicator filters out the "Noise" (the middle range) to show you only the statistically significant anomalies.
1. The "Wall" (Positive Z-Score Bars)
What it is : A statistically high number of addresses are at breakeven.
The Implication : Expect a grind. Price action often slows down or reverses here because "Bag Holders" are selling into strength to get out flat, or new buyers are establishing a floor.
2. The "Vacuum" (Negative Z-Score Bars)
What it is : A statistically low number of addresses are at breakeven.
The Implication : Expect acceleration. The price is moving through a zone where very few people have a cost basis. With no natural "breakeven supply" to block the path, price often enters Price Discovery or Free Fall.
Methodology
The indicator constructs a composite view using two premium metrics from IntoTheBlock:
1. The "Activity" (Friction Z-Score): We utilize the Breakeven Addresses Percentage. This measures the % of all addresses where the current price equals the average cost basis.
- Normalization: We apply a rolling Z-Score (Standard Deviation) to this data.
- The Filter: We hide the "Noise" (e.g., Z-Scores between -2.0 and +2.0) to isolate only the events where market structure is truly stretched.
2. The "Context" (Valuation Heatmap): We utilize the MVRV Ratio to color-code the friction.
Deep Value (< 1.0): Price is below the average "Fair Value" of the network.
Overheated (> 3.0): Price is significantly extended above the "Fair Value."
Credit: The MVRV Ratio was originally conceptualized by Murad Mahmudov and David Puell. It remains one of the gold standards for detecting Bitcoin's fair value deviations.
How to Read the Indicator
The chart is visualized as a Noise-Filtered Heatmap.
1. The Bars (Intensity)
Bars Above Zero: High Friction (Congestion). The market is fighting through a supply wall.
Bars Below Zero: Low Friction (Vacuum). The market is accelerating through thin air.
Gray/Ghosted: Noise. Routine market activity; no significant signal.
2. The Colors (Valuation Context) The color tells you why the friction is happening:
🟦 Deep Blue (The "Capitulation Buy"):
Signal: High Friction + Low MVRV.
Meaning : Investors are panic-selling at breakeven/loss, but the asset is fundamentally undervalued. Historically, these are high-conviction cycle bottoms.
🟥 Dark Red (The "FOMO Sell"):
Signal: High Friction + High MVRV.
Meaning : Investors are churning at high valuations. Smart money is often distributing to late retail arrivers. Historically marks cycle tops.
🟨 Yellow/Orange (The "Trend Battle"):
Signal: High Friction + Neutral MVRV.
Meaning : The market is contesting a level within a trend (e.g., a mid-cycle correction).
Visual Guide & Features
10-Zone Heatmap: A granular color gradient that shifts from Dark Blue (Deep Value) → Sky Blue → Grey (Neutral) → Orange → Dark Red (Top).
Noise Filter
A unique feature that "ghosts out" insignificant data, leaving only the statistically relevant signals visible.
Data Check Monitor
A diagnostic table in the bottom-right corner that confirms the live connection to IntoTheBlock data streams and displays the current regime in real-time.
Settings
Lookback Period (Default: 90): The rolling window used for the Z-Score calculation. Shortening this (e.g., to 30) makes the indicator more sensitive to local volatility; lengthening it (e.g., to 365) aligns it with macro cycles.
Noise Threshold (Default: 2.0): The strictness of the filter. Only friction events exceeding this Z-Score will be highlighted in full color.
Show Status Table : Toggles the on-screen dashboard.
Disclaimer
This script is for research and educational purposes only. It relies on third-party on-chain data which may be subject to latency or revision. Past performance of on-chain metrics does not guarantee future price action.
Tags
bitcoin, btc, on-chain, mvrv, intotheblock, friction, z-score, fundamental, valuation, cycle
Multi-MA + Trend StatusMulti-MA + Trend Status is a streamlined trend analysis tool designed to simplify market state identification using a robust Moving Average (MA) crossover logic. By analyzing the relationship between price and three key Moving Averages (Fast, Medium, and Slow), this indicator instantly classifies the market into one of 9 distinct trend phases, displayed as a clean, non-intrusive text overlay on your chart.
Created by ivanpsh (MIT License).
Key Features
9 Distinct Trend States: Automatically detects and displays specific market conditions:
🟢 Bullish Phases: Uptrend, Bullish Crossover, Fast Bullish Crossover, Bottom Bounce.
🔴 Bearish Phases: Downtrend, Bearish Crossover, Fast Bearish Crossover, Top Pullback, Dead Cat Bounce.
Visual Simplicity: Displays the current market status in a large, transparent text overlay (Bottom Right by default) that provides instant clarity without cluttering your analysis.
Multi-Timeframe (MTF) Support: Monitor the trend of a higher timeframe (e.g., Daily) while trading on a lower timeframe (e.g., 5-minute) without switching charts.
Fully Configurable MAs:
Types: Supports SMA, EMA, RMA (Wilder's), WMA, and VWMA.
Lengths: Fully adjustable lengths (Defaults: 20, 50, 250).
Source: Calculation source is customizable (Close, Open, High, Low, HL2, etc.).
Integrated MA Overlay: Optionally view the actual Moving Average lines on the chart.
Color Coded: Fast (Purple), Medium (Orange), and Slow (Red) for easy differentiation.
Toggle: Lines are visible by default but can be hidden instantly via settings.
How It Works
The indicator logic compares the current Price against three Moving Averages (Default: 20, 50, 250) to determine the market "Health":
Uptrend: Price > 20 > 50 > 250 (Strongest Bullish Signal)
Downtrend: Price < 20 < 50 < 250 (Strongest Bearish Signal)
Crossovers: Identifies early reversals when Fast/Medium MAs cross the Slow MA.
Bounces & Pullbacks: Identifies specific retracement patterns (e.g., "Bottom Bounce" or "Top Pullback") where price interacts with MAs in a counter-trend move.
Settings Guide
Indicator Timeframe: Select the timeframe used for calculations (Default: Chart).
MA Type: Choose the averaging method (Default: SMA).
Visuals: Customize text size, screen position, and opacity.
Show 'No Match' Text: By default, the text overlay hides if the market is choppy and fits none of the 9 specific states. You can enable this to see a "No Logic Match" status instead.
This script is open-source under the MIT license. Feel free to use, study, and modify it for your own trading systems.






















