ATR Daily & Weekly With Stop Buffer this script shows Daily & Weekly ATR and also add 10% Stop buffer calculation so you can add stop loss.
지표 및 전략
Seasonality Table: % Move by Day x Month (Open vs Prev Close)Short description
A compact seasonality heatmap that shows the average daily open vs previous session close move for each calendar day (1–31) across months (Jan–Dec).
What it does
This indicator builds a Day × Month table where each cell displays the historical average of:
(Open/Close-1) -1 x 100
In other words: how the market typically “opened” relative to the prior day’s close, grouped by day of month and month.
How to read it
Rows = Day of month (1–31)
Columns = Months (Jan–Dec)
Cell value = average percentage move (signed format like +0.23% or -0.33%)
Heatmap = stronger color intensity indicates larger absolute average moves
Today highlight = the current calendar day cell is visually highlighted for fast context
Key settings
Reference timeframe (Daily): uses daily session data as the source of truth
Decimals / Signed formatting: control numeric display
Theme controls: fully customizable colors for positive/negative/neutral cells, headers, labels, and text
Font sizes: independently adjust header/labels/values
Heatmap scaling: set “max abs (%)” to match the volatility of the instrument
Notes / limitations
The indicator depends on the historical data available on TradingView for the selected
symbol and timeframe.
This is a statistical visualization tool. It does not predict future returns and does not generate trade signals.
Disclaimer
This script is for educational and informational purposes only and is not financial advice. Trading involves risk. Always do your own research and use proper risk management.
UIA TrendCompass V1.0UIA TrendCompass v1.0 is a market structure interpretation tool designed to visualize trend states in real time.
The script identifies four structural states based on price behavior and trend continuity:
• T — Trend Start
• E — Trend Extension
• H — Structural High / Low
• X — Trend Exit / Reversal
This indicator is intended for market structure analysis and educational purposes only.
It does NOT provide trading signals, buy/sell recommendations, or investment advice.
All labels are generated based on historical price data and do not predict future market movements.
Users should combine this tool with their own analysis and risk management framework.
This script is provided "as is" with no guarantee of accuracy or performance.
Position Calculator---
# Position Calculator
Calculates the optimal position size with a fixed profit/loss ratio based on opening, stop-loss, and take-profit levels. Determines the direction of the position based on the opening and stop-loss settings.
Initial use requires manual setting of opening, take-profit, and stop-loss. Afterward, you can manually drag the price line to set values and the system will automatically calculate position information.
---
# 仓位计算器
通过开仓、止损、止盈计算固定盈亏比适合的开仓数量,根据开仓和止损判断开仓方向。
首次使用需要手动设置开仓、止盈、止损,之后可以手动拖拽价格线设置值然后自动计算仓位信息。
ORB M15 Fibo din ORB EMA200 MTFTesting a new idea based on ORB m15. Still on testing, not worth it to translate it into English
Cave Diving 3 Lines System
🤿 Cave Diving Dashboard - A Deep Dive into Market Structure
## The Cave Diving Analogy
Imagine you're a cave diver exploring underwater caverns. As you descend deeper, you encounter different layers of the cave system:
- **The Surface (Internal Levels)** - Where you currently are, constantly shifting with each breath
- **The First Chamber (De Novo Levels)** - Your last known safe position, recently established
- **Deep Caverns (External Levels)** - Ancient, untouched chambers deeper in the system
Just as a cave diver must constantly monitor their position relative to these reference points, traders must track price action against key structural levels.
---
## 🎯 Understanding the Three-Tiered System
### 📍 **INTERNAL LEVELS** (Current 15m Candle)
*Your real-time position in the market*
**Internal High** 🟡 - The highest point reached in the current unfinished 15-minute candle
**Internal Low** 🟢 - The lowest point reached in the current unfinished 15-minute candle
**Think of these as:**
- Your current depth while actively diving
- They update continuously as price moves
- Status shows "Updating" when actively changing, "Intact" when stable
- These are NOT trade levels—they're awareness zones
**Key Insight:** When Internal Low drops below De Novo Low, you're in **Situation A** (bearish pressure building)—the indicator highlights this with red coloring.
---
### 🎯 **DE NOVO LEVELS** (Previous Closed 15m Candle)
*Your most recent confirmed safe zone*
**De Novo High** 🔵 - The high of the last completed 15-minute candle
**De Novo Low** 🟣 - The low of the last completed 15-minute candle
**Etymology:** "De Novo" = Latin for "from new" or "anew"—these are freshly established reference points
**Think of these as:**
- The last solid ground you stood on
- Your most recent confirmed position
- The bridge between where you are (Internal) and where you've been (External)
**Status Tracking:**
- **⬆️ Upgrade** - Level moved favorably (Higher high for resistance, Higher low for support)
- **⬇️ Downgrade** - Level moved unfavorably (Lower high, Lower low)
- **= Same** - No structural change from previous candle
**Trading Significance:**
- Primary reference points for intraday structure
- Breaking De Novo levels often signals directional commitment
- Can merge with External Level 1 when they align (shown as "DN🟰Ext1")
---
### ⛽🤿 **EXTERNAL LEVELS** (Unmitigated Historical 15m Levels)
*Deep liquidity pools waiting to be discovered*
**External High 1 & 2** 🟢🔵 - The two most recent unmitigated 15m highs
**External Low 1 & 2** 🟠🌸 - The two most recent unmitigated 15m lows
**Think of these as:**
- Untouched chambers in the cave system
- Liquidity pools that smart money is targeting
- Levels that "remember" and attract price
**What Makes a Level "Unmitigated"?**
- **Highs**: Price has NOT yet traded through them (broken above)
- **Lows**: Price has NOT yet swept them (broken below)
- Once touched, they're "mitigated" and removed from tracking
- The indicator automatically maintains the two most recent unmitigated levels
**Why "External"?**
They exist outside your current candle structure—historical reference points that institutions use for:
- Stop loss placement
- Profit taking targets
- Liquidity hunting zones
---
## 🎨 Color Coding System
### HIGHS (Resistance/Targets) - Cool Colors
- 🔵 **Ext High 2** - Light Blue (Distant target)
- 🟢 **Ext High 1** - Lime Green (Primary target)
- 🔵 **De Novo High** - Cyan (Recent resistance)
- 🟡 **Internal High** - Lemon Yellow (Current ceiling)
### LOWS (Support/Stops) - Warm Colors
- 🟢 **Internal Low** - Lime (Current floor)
- 🟣 **De Novo Low** - Purple (Recent support)
- 🟠 **Ext Low 1** - Orange-Red (Primary stop zone)
- 🌸 **Ext Low 2** - Pink (Distant support)
---
## 📊 Dashboard Breakdown
### The Table Shows:
1. **Level** - Which level you're tracking
2. **Price** - Exact price of the level
3. **Pts** - Distance from current price (+ above, - below)
4. **Status** - Current state or role of the level
### Special Features:
- **⏰ Countdown Timer** - Shows time remaining until next 15m candle close (next De Novo update)
- **⚠️ Proximity Alerts** - Bottom row warns when within threshold distance of key levels (default: 25 points, adjustable)
---
## 🎯 Trading Applications
### **For Buyers (Going Long):**
- **Entry Zone**: Between De Novo Low and Ext Low 1
- **Stops**: Below Ext Low 1 (or Ext Low 2 for wider stops)
- **Targets**: De Novo High → Ext High 1 → Ext High 2
- **Confirmation**: Internal Low holds above De Novo Low
### **For Sellers (Going Short):**
- **Entry Zone**: Between De Novo High and Ext High 1
- **Stops**: Above Ext High 1 (or Ext High 2 for wider stops)
- **Targets**: De Novo Low → Ext Low 1 → Ext Low 2
- **Warning**: Watch for Situation A (Internal Low < De Novo Low)
### **Risk Management:**
- **DN🟰Ext1** status means De Novo = External 1 (tighter range, use caution)
- Proximity alerts help you avoid chasing price into resistance/support
- "Updating" status on Internal levels = active volatility
- "Upgrade/Downgrade" signals = structural shift in progress
---
## ⚙️ Customization Options
### Lookback Period
- Default: 500 candles (searches 125 hours of 15m data)
- Increase for more historical External levels
- Decrease for focus on recent structure
### Proximity Threshold
- Default: 25 points
- Set based on your instrument's average range
- Lower = tighter alerts (for scalping)
- Higher = strategic warnings (for swing trading)
### Visual Customization
- Line thickness (1-5)
- Line style (Solid/Dashed/Dotted)
- All colors fully customizable
- Show/hide lines independently
---
## 🧭 The Cave Diving Mindset
**Never dive deeper than you can safely return from.**
In trading terms:
- Know your Internal position (real-time awareness)
- Respect your De Novo levels (recent structure)
- Hunt for External liquidity (where the targets are)
- Always have an exit plan (stops below Ext Lows, above Ext Highs)
The market, like a cave, has structure. This indicator illuminates that structure across three timeframes of reference, helping you navigate with precision rather than guessing in the dark.
---
## 🎓 Key Takeaways
1. **Internal** = Real-time, unfinished, awareness only
2. **De Novo** = Just confirmed, primary reference, updates every 15m
3. **External** = Historical, unmitigated, high-probability targets/stops
4. **Upgrades/Downgrades** = Trend signals
5. **DN🟰Ext1** = Structural alignment (tighter range)
6. **Situation A** = Bearish warning (Internal < De Novo Low)
---
## 📝 Credits
*"In cave diving, you plan your dive and dive your plan. In trading, you plan your levels and trade your levels."*
**Indicator:** Cave Diving Dashboard - Part 1: Price Levels
**Timeframe:** Optimized for 15-minute structure on any chart timeframe
**Philosophy:** Structure first, price second. Know where you are, where you've been, and where the liquidity waits.
---
Happy Diving! 🤿📈
Markov: Transition Matrix [Daily Timeframe]Description
This indicator computes a 3-state Markov chain from price action and visualizes the transition probabilities between daily states:
• Up: daily % change > threshold
• Down: daily % change < -threshold
• Sideways: |daily % change| ≤ threshold
From those states, it builds transition matrices:
• Today → Tomorrow (1 day ahead)
• Today → In 2 days
• Today → In 3 days
Each matrix cell shows:
P(next state | current state)
Rows are the current state (today), columns are the future state (tomorrow / +2 / +3).
Each row sums to 100% (when there is sufficient sample size).
________________________________________
How to read it (trader workflow)
1. Identify the current regime (the most recent confirmed daily state).
2. Look at the row matching that regime:
• The ★ marks the highest probability outcome for that row (most likely next state).
• Heatmap intensity increases as probability increases.
• Each row shows its own sample size (n=...) so you can judge statistical support.
3. Use Quick-read:
• “Now” = current regime
• “Best” = top conditional outcome + probability
• “2nd” = second-best outcome + probability
4. Use Universe (N):
• Shows the marginal distribution: how often days are Up/Down/Sideways across the whole dataset.
________________________________________
Settings
Core logic
• Sideways threshold: controls how strict “Sideways” is.
Example: 0.001 = ±0.10% daily move is considered Sideways.
Display
• Toggle 1D / 2D / 3D matrices.
• Highlight best probability per row (★).
• Show n per row (row transition count).
• Focus: current state row only to reduce noise and speed decision-making.
• Quick-read row for the current regime.
Theme (fully customizable)
All colors can be customized:
• Up / Down / Sideways base colors
• Header background + header text
• Values text
• Quick-read neutral background
This makes it suitable for both light and dark chart themes.
________________________________________
Notes / Limitations
• The indicator is designed for daily sessions. It uses daily close-to-close returns to classify states and update the Markov chain once per day.
• On very volatile assets, a very small threshold can make Sideways rare. If you want a more frequent Sideways regime, increase the threshold.
• This is a statistical visualization tool, not a trading system.
________________________________________
Disclaimer (TradingView-friendly)
This script is provided for educational and informational purposes only and does not constitute financial advice. Trading involves risk. Past probabilities do not guarantee future results. Use at your own discretion and always apply proper risk management.
My OB detector 18 DicProfessional Order Block indicator optimized for M3 timeframe. It features automatic 50% entry detection, a strict 1:1 risk-to-reward ratio, and a 10-pip minimum profit filter. Strictly follows the Madrid session hours for Euro and US sessions.
Multi-Timeframe 5 Moving Averages//@version=5
indicator("Multi-Timeframe 5 Moving Averages", shorttitle="MTF MA x5", overlay=true)
// ============== MOVING AVERAGE 1 ==============
ma1_enabled = input(true, title="Enable MA1", group="Moving Average 1")
ma1_period = input.int(9, title="MA1 Period", minval=1, group="Moving Average 1")
ma1_type = input.string("EMA", title="MA1 Type", options= , group="Moving Average 1")
ma1_color = input(color.new(#FF6B35, 0), title="MA1 Color", group="Moving Average 1")
// ============== MOVING AVERAGE 2 ==============
ma2_enabled = input(true, title="Enable MA2", group="Moving Average 2")
ma2_period = input.int(20, title="MA2 Period", minval=1, group="Moving Average 2")
ma2_type = input.string("EMA", title="MA2 Type", options= , group="Moving Average 2")
ma2_color = input(color.new(#004E89, 0), title="MA2 Color", group="Moving Average 2")
// ============== MOVING AVERAGE 3 ==============
ma3_enabled = input(true, title="Enable MA3", group="Moving Average 3")
ma3_period = input.int(50, title="MA3 Period", minval=1, group="Moving Average 3")
ma3_type = input.string("SMA", title="MA3 Type", options= , group="Moving Average 3")
ma3_color = input(color.new(#F7931E, 0), title="MA3 Color", group="Moving Average 3")
// ============== MOVING AVERAGE 4 ==============
ma4_enabled = input(true, title="Enable MA4", group="Moving Average 4")
ma4_period = input.int(100, title="MA4 Period", minval=1, group="Moving Average 4")
ma4_type = input.string("SMA", title="MA4 Type", options= , group="Moving Average 4")
ma4_color = input(color.new(#1E88E5, 0), title="MA4 Color", group="Moving Average 4")
// ============== MOVING AVERAGE 5 ==============
ma5_enabled = input(true, title="Enable MA5", group="Moving Average 5")
ma5_period = input.int(200, title="MA5 Period", minval=1, group="Moving Average 5")
ma5_type = input.string("EMA", title="MA5 Type", options= , group="Moving Average 5")
ma5_color = input(color.new(#43A047, 0), title="MA5 Color", group="Moving Average 5")
// ============== FUNCTION TO CALCULATE MA ==============
calcMA(period, maType, source) =>
switch maType
"SMA" => ta.sma(source, period)
"EMA" => ta.ema(source, period)
"WMA" => ta.wma(source, period)
=> ta.sma(source, period)
// ============== CALCULATE MOVING AVERAGES (CHART TIMEFRAME ONLY) ==============
ma1_value = calcMA(ma1_period, ma1_type, close)
ma2_value = calcMA(ma2_period, ma2_type, close)
ma3_value = calcMA(ma3_period, ma3_type, close)
ma4_value = calcMA(ma4_period, ma4_type, close)
ma5_value = calcMA(ma5_period, ma5_type, close)
// ============== PLOT MOVING AVERAGES ==============
plot(ma1_enabled ? ma1_value : na, title="MA1", color=ma1_color, linewidth=2)
plot(ma2_enabled ? ma2_value : na, title="MA2", color=ma2_color, linewidth=2)
plot(ma3_enabled ? ma3_value : na, title="MA3", color=ma3_color, linewidth=2)
plot(ma4_enabled ? ma4_value : na, title="MA4", color=ma4_color, linewidth=2)
plot(ma5_enabled ? ma5_value : na, title="MA5", color=ma5_color, linewidth=2)
AlphaTrend_TC// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// author © KivancOzbilgic
// developer © KivancOzbilgic
// I'm just playing with it.... Jake Ryan
//@version=5
indicator('AlphaTrend', shorttitle='AT', overlay=true, format=format.price, precision=2, timeframe='')
coeff = input.float(1, 'Multiplier', step=0.1)
AP = input(14, 'Common Period')
ATR = ta.sma(ta.tr, AP)
src = input(close)
showsignalsk = input(title='Show Signals?', defval=true)
novolumedata = input(title='Change calculation (no volume data)?', defval=false)
upT = low - ATR * coeff
downT = high + ATR * coeff
AlphaTrend = 0.0
AlphaTrend := (novolumedata ? ta.rsi(src, AP) >= 50 : ta.mfi(hlc3, AP) >= 50) ? upT < nz(AlphaTrend ) ? nz(AlphaTrend ) : upT : downT > nz(AlphaTrend ) ? nz(AlphaTrend ) : downT
color1 = AlphaTrend > AlphaTrend ? #00E60F : AlphaTrend < AlphaTrend ? #80000B : AlphaTrend > AlphaTrend ? #00E60F : #80000B
k1 = plot(AlphaTrend, color=color.new(#0022FC, 0), linewidth=3)
k2 = plot(AlphaTrend , color=color.new(#FC0400, 0), linewidth=3)
fill(k1, k2, color=color1)
buySignalk = ta.crossover(AlphaTrend, AlphaTrend )
sellSignalk = ta.crossunder(AlphaTrend, AlphaTrend )
// Calculate Bollinger Bands around AlphaTrend
length = input(20, title="Bollinger Bands Length")
mult = input(2.0, title="Bollinger Bands Multiplier")
basis = ta.sma(AlphaTrend, length)
dev = mult * ta.stdev(AlphaTrend, length)
upperBand = basis + dev
lowerBand = basis - dev
// Plot Bollinger Bands
plot(upperBand, color=#2962FF, linewidth=1, title="Upper Bollinger Band")
plot(lowerBand, color=#2962FF, linewidth=1, title="Lower Bollinger Band")
// Rest of the code remains the same for generating signals and plotting arrows
K1 = ta.barssince(buySignalk)
K2 = ta.barssince(sellSignalk)
O1 = ta.barssince(buySignalk )
O2 = ta.barssince(sellSignalk )
plotshape(buySignalk and showsignalsk and O1 > K2 ? AlphaTrend * 0.9999 : na, title='BUY', text='BUY', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(#0022FC, 0), textcolor=color.new(color.white, 0))
plotshape(sellSignalk and showsignalsk and O2 > K1 ? AlphaTrend * 1.0001 : na, title='SELL', text='SELL', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.maroon, 0), textcolor=color.new(color.white, 0))
alertcondition(buySignalk and O1 > K2, title='Potential BUY Alarm', message='BUY SIGNAL!')
alertcondition(sellSignalk and O2 > K1, title='Potential SELL Alarm', message='SELL SIGNAL!')
alertcondition(buySignalk and O1 > K2, title='Confirmed BUY Alarm', message='BUY SIGNAL APPROVED!')
alertcondition(sellSignalk and O2 > K1, title='Confirmed SELL Alarm', message='SELL SIGNAL APPROVED!')
alertcondition(ta.cross(close, AlphaTrend), title='Price Cross Alert', message='Price - AlphaTrend Crossing!')
alertcondition(ta.crossover(low, AlphaTrend), title='Candle CrossOver Alarm', message='LAST BAR is ABOVE ALPHATREND')
alertcondition(ta.crossunder(high, AlphaTrend), title='Candle CrossUnder Alarm', message='LAST BAR is BELOW ALPHATREND!')
alertcondition(ta.cross(close , AlphaTrend ), title='Price Cross Alert After Bar Close', message='Price - AlphaTrend Crossing!')
alertcondition(ta.crossover(low , AlphaTrend ), title='Candle CrossOver Alarm After Bar Close', message='LAST BAR is ABOVE ALPHATREND!')
alertcondition(ta.crossunder(high , AlphaTrend ), title='Candle CrossUnder Alarm After Bar Close', message='LAST BAR is BELOW ALPHATREND!')
//from AlphaTrend
Algorithmic Volume Rejection Zones [AVRZ]Hello traders,
I am pleased to release the Algorithmic Volume Rejection Zones (AVRZ). This is a specialized decision-support system designed to identify high-probability reversal points by synthesizing candle geometry, market structure, and statistical volume anomalies.
Trading reversals often presents a dilemma: wait for confirmation and miss the move, or enter early and get stopped out by noise. AVRZ solves this by quantifying "Institutional Absorption." It filters out weak price probes and highlights only the specific moments where significant volume has stepped in to defend a price level.
🛡️ The Concept: Attacking The Zonesl
You will often see price aggressively "attack" a support or resistance level with speed and high volume. To the untrained eye, this looks like a breakout. However, professional analysis reveals that this is often an Efficiency Event—liquidity is being absorbed by passive limit orders.
The AVRZ indicator is specifically engineered to detect this phenomenon. When price strikes a level and volume spikes (>2.0 Sigma), it signals that the auction is becoming efficient and a reversal is imminent. The script captures this "Attack" via the Climax Bypass logic, plotting a fresh zone immediately to mark where the liquidity was defended.
Moon Phases & Declinations - Chronos Capital [BETA]High-Precision Lunar Cycles: Moon Phases & Declinations (Swiss Ephemeris)
Overview
This indicator provides institutional-grade astronomical data directly on your chart. Unlike standard scripts that use basic sine-wave approximations, this tool implements the **Swiss Ephemeris algorithm**, the gold standard for high-precision celestial calculations.
By tracking the Moon’s phases and its **Maximum/Minimum Declinations**, traders can identify potential "turning points" or "energy shifts" in market volatility often associated with lunar cycles.
---
Key Features
Ultra-High Precision: Calculations are accurate to within *seconds* of time, ensuring that the visual plot aligns perfectly with astronomical reality.
Moon Phase Tracking: Distinct markers for New Moon, Full Moon, and Quarters.
Lunar Declination Peaks: Automatically identifies when the moon reaches its *Maximum North* and *Maximum South* points (Lunar Extremes).
Customizable Visuals: Toggle between background highlights, vertical lines, or plot signals to suit your trading style.
---
Technical Accuracy
This script is built using a ported version of the Swiss Ephemeris
Positional Accuracy: Within 0.1 arcseconds.
Time Accuracy: Within **~1-2 seconds** of official JPL data.
Algorithm: Integration of the *ELP2000-85* lunar theory for maximum reliability over decades of historical data.
---
### **How to Use**
1. **Reversal Zones:** Watch for the Moon’s *Max/Min Declination* points, which often coincide with local tops or bottoms in trending markets.
2. **Volatility Shifts:** Use the *New Moon* and *Full Moon* markers to anticipate periods of increased or decreased market liquidity and volume.
3. **Confluence:** Best used in combination with your existing price action or momentum indicators to add a "time-based" filter to your entries.
*Disclaimer: This tool is for educational and analytical purposes only. Lunar cycles are a study of time-based correlation, not a guaranteed financial signal.*
Position size calculatorA clean position size calculator designed specifically for leverage traders.
It calculates your position size, potential profit, and risk-to-reward ratio (R/R) based on fixed dollar risk.
Simply enter your entry price, stop-loss, take-profit, and risk in USD to receive precise results.
The position size is currently calculated using the following risk-based formula:
Position Size = Risk ($) / Stop-Loss distance.
This approach keeps risk constant regardless of leverage.
All colors are fully customizable to seamlessly fit your chart theme.
If you have ideas for additional calculation models or if you find any issues, leave a comment and help improve the tool.
HPDR Bands with projectionHPDR: Historical Price Delta Range
What is it? The HPDR indicator measures how much an asset’s price typically changes over a specific timeframe. It looks at historical price movements ("deltas") and organizes them into percentiles. These are then plotted on your chart as a median line surrounded by statistical bands.
This tool helps you understand an asset’s unique character and its typical price deviations.
Because the median is in this context a statistically relative stable value(if you add 7 values to 1000 it doesn't change much), it allows for high-probability projections of the future median.
For a clearer understanding of the indicator's logic, try setting the Range to 7 and the Offset to -7.
The 50% percentile Band signifies that in 50% of all bars, the price remained within this statistical range.
alplerThe 4H Engulf Indicator is a rule-based price action tool designed to identify high-probability trading opportunities on the 4-hour timeframe. Its core logic is built around bullish and bearish engulfing candles, which are widely accepted as strong reversal or continuation signals in technical analysis.
This indicator focuses only on confirmed engulfing patterns, meaning the signal is generated after the candle is fully closed, not while it is forming. This helps eliminate false signals and emotional, premature entries. When a bullish engulfing candle appears, the indicator marks a bullish signal, suggesting potential upward momentum. Conversely, when a bearish engulfing candle forms, a bearish signal is displayed, indicating possible downward pressure.
One of the key strengths of the 4H Engulf Indicator is its clarity and simplicity. Signals are shown directly on the chart using visually clear arrows and labels, allowing the trader to quickly assess market direction without clutter. The indicator does not predict the market; instead, it reacts to confirmed price behavior, which aligns well with disciplined and systematic trading.
The 4-hour timeframe provides a balance between noise reduction and timely opportunities, making this indicator suitable for swing traders and position traders. When combined with trend filters, risk management rules, or higher-timeframe analysis, the 4H Engulf Indicator becomes a powerful component of a professional trading system.
Pivot point moving averagesPivot Point Moving Averages builds moving averages from confirmed pivots, not from every bar.
Instead of averaging all highs and lows, this script:
Detects swing pivot highs and pivot lows using a configurable Pivot length (pivotLen).
Converts these sparse pivot prices into continuous series of:
last confirmed pivot low
last confirmed pivot high
Applies a user-selectable moving average (SMA / EMA / RMA / WMA / VWMA) to each of those pivot series.
Plots the two resulting lines and shades the area between them as a pivot value cloud.
Because the lines only move when a new pivot is confirmed, they represent structural acceptance rather than raw volatility. Short “noise” moves and stop hunts between pivots have much less impact on these averages.
You can also enable an optional second pivot MA cloud:
Uses the same Pivot length for structural detection.
Has its own MA length and type.
Can run on a different timeframe (e.g. D, 240, W).
Is projected back onto the current chart so you see local pivot value and higher-timeframe pivot value together.
Why it’s useful
Traditional MAs:
React to every bar.
Move on noise, wicks, and stop runs.
Don’t distinguish between “meaningful” structure and random fluctuation.
This tool uses confirmed pivots, so it is better suited to market structure and phase analysis:
Pivot MA low reflects how demand is stepping up (or down) as new swing lows form.
Pivot MA high reflects how supply is pressing down (or easing) as new swing highs form.
The cloud between them acts as a dynamic, structure-based value area.
Typical interpretations:
Price inside the pivot cloud → balance / fair value area.
Price above the pivot cloud → bullish value expansion.
Price below the pivot cloud → bearish value expansion.
Cloud compressing → possible energy build-up, transition between phases.
Cloud expanding → stronger directional conviction.
With the second cloud enabled on a higher timeframe, you can:
See whether lower-timeframe structure is building with or against the higher-timeframe pivot value.
Use the HTF cloud as a background bias and the LTF cloud for timing and fine-grained context.
Notes
All pivot-based tools have inherent delay: a pivot is only confirmed after pivotLen bars to the right.
On very low timeframes, long pivotLen + long MA lengths will make the lines slower to react.
This is intended as a context and structure tool, not a standalone entry signal.
Double Cross Strategy - directional color plus golden crossCandle color changes to dark green when opening below 9/20 SMAs when 9 is below the 20 and closes above.
Candle color changes to dark red when opening above the 9/20 SMAs when the 9 is above the 20 and closes below.
Candle color changes to yellow when either of the above occurs plus crosses the vwap.
TuxAlgo Plus a SMC and Trap Toolkit V0.98r1 by McTogaThe “TuxAlgo Plus” script is a powerful, standalone, conceptual open-source project and self-sufficient “smart money toolkit” with automatic trap detection (SMT), liquidity grabs, FVG confluence, and complete bot setup signals for TV charts in the “H1 to H6” time frame and daily charts.
The script is used to improve SMC/trap analyses, i.e., the structure and visualization logic for TradingView charts have been expanded in the “TuxAlgo++” project in line with Smart Money Concepts (SMC) and Smart Money Traps (SMT).
The SMT block (“Smart Money Traps”) supplements classic smart money concepts with:
1. Detection of bull traps (short setups) and bear traps (long setups)
2. Display of trap boxes in the chart (liquidity grab areas)
3. A bot setup box (table) with ready-made entry/SL/TP levels:
as well as age in bars & days and “Valid until ~X d” (remaining term)
SMT / bot setup only run on the following timeframes:
- H1, H2, H3, H4, H6 This means that traps, labels, and the bot setup box are only displayed on these timeframes
Trap definition “Bull Trap (Short Setup)”:
- Valid swing high
- Swing trend bullish
- High (Wick) pierces above the swing high (Liquidity Grab)
- Close falls back below the swing high (false breakout)
-> Result: Short setup (bull trap), marked in orange
Trap definition “Bear Trap (long setup)”:
- Valid swing low
- Swing trend bearish
- Low (wick) pierces below the swing low (liquidity grab)
- Close rises above the swing low again (false breakout)
-> Result: Long setup (bear trap), marked in blue
Entry / SL / TP calculation
A price range is taken for each trap:
Bull trap (short):
- Range =
- Entry = point within this range:
Entry = hiBT - (hiBT - loBT) * TrapEntryRatio (0..1)
-> 0.0 = at the Wick extreme, 0.5 = middle, 1.0 = at the Swing level
- SL = Wick extreme (upper edge of the trap)
- Risk = |Entry - SL|
- TP1 = Entry - R1 * Risk
- TP2 = Entry - R2 * Risk
Bear Trap (Long):
- Range =
- Entry analogous within the range according to TrapEntryRatio
- SL = wick bottom (lower edge of the trap)
- Risk = |Entry - SL|
- TP1 = Entry + R1 * Risk
- TP2 = Entry + R2 * Risk
R1 / R2 correspond to the inputs:
- botRR1Input = TP1 Risk/Reward (e.g., 1.5R)
- botRR2Input = TP2 Risk/Reward (e.g., 3.0R)
Age & Validity
Each trap stores:
- lastTrapBarIndex -> last bar of the trap
- Age in bars -> bar_index - lastTrapBarIndex
- Age in days (~d) -> AgeBars * BarDurationInDays (depending on TF)
Input: trapMaxAgeBars determines how long a trap is valid.
The bot setup box is only displayed if:
- a trap is present,
- AgeBars <= trapMaxAgeBars,
- SMT + Box + SMC timeframe are active.
Color logic (color blind friendly):
- Blue (accentBlue) = fresh traps (Age <= 1/3 MaxAge)
- Orange (accentOrange) = medium age
- Violet (accentPurple) = old, but still within MaxAge
- Gray (accentGray) = expired (> MaxAge)
The box also shows “Valid until ~X d” as the remaining term.
Day/Night Mode & Colors
- chart.bg_color is used to detect dark or light mode.
- Text/background colors adjust (light/dark).
- Accent colors (blue/orange/purple/gray) are suitable for red/green color blindness.
- Trap labels in the chart:
- Bull trap label = orange (short setup)
- Bear trap label = blue (long setup)
- Text color depends on chart mode (dark/light)
Typical workflow (example):
1. Select a suitable symbol & SMC timeframe (e.g., H4 or H6).
2. Wait for a bull trap (short) or bear trap (long).
3. Read in the bot setup box:
- Direction (long/short)
- Entry, SL, TP1, TP2
- Age & “Valid until ~X d”
4. These values can be used as a template for manual trading or external bot/order systems.
5. Position size & leverage must always be calculated separately in your own risk management
(e.g., 2% rule). This script does not calculate position sizes.
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.
Unmitigated Cave Diving MTF High Low - BookMap Style Chart
Unmitigated Cave Diving MTF High Low - BookMap Style Chart
Introduction
This Pine Script indicator tracks unmitigated higher timeframe highs and lows with a session-aware approach, inspired by KinetiCapital's X D HL Targets.
Built for precision trading on instruments like NQ during extended trading hours (ETH), it visualizes support and resistance levels that have not yet been breached, helping traders identify key price zones for potential reversals or breakouts.
Core Features
The indicator monitors multi-timeframe levels (default 15-minute) and applies intelligent styling based on recency and survival duration:
Most Recent Levels: The 1st and 2nd most recent unmitigated highs and lows are highlighted with distinct colors and widths for quick visual identification
Session Age Tracking: Levels are categorized by how many full trading sessions (1800-1700 NQ ETH) they've survived unmitigated, with "old" levels receiving special highlighting once they exceed your defined threshold
BookMap-Style Visualization: Clean horizontal lines with optional price labels positioned above highs and below lows for minimal chart clutter
Real-Time Summary Table: Displays the four most recent levels with their prices, distance in points from current price, and session age
Mitigation Logic
Levels automatically update when price touches them - high levels are mitigated when price reaches or exceeds them, while low levels are mitigated when price touches or breaks below. Mitigated levels change to a neutral gray color and can optionally be deleted at session end to preserve chart memory.
This tool is particularly valuable for intraday traders who trade around key structural levels and need to understand which unmitigated zones represent the freshest or most significant price memory in the market.
PDH(RTH)+PMH / PDL(RTH)+PML First Break + 3m EMA RetestIncludes retest notification for passed or failed on 3min 9EMA.
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).






















