MTF Switch Level (Single TF)Multi-timeframe Switch Level (Single TF)
This indicator marks the most recent “switch level” created by breakout / breakdown behaviour on the current timeframe.
How it works
– After a bullish breakout (close above the previous bar’s high), the script sets a bearish switch level at that previous high.
– After a bearish breakdown (close below the previous bar’s low), it sets a bullish switch level at that previous low.
– A single horizontal line extends from the latest switch level.
– The line and “S” label turn bullish when price is above the level and bearish when price is below it.
– Optional alerts fire when price crosses the active switch level.
Use-cases
– Visualise where breakout traders are likely trapped.
– Define a simple “above = bullish / below = bearish” bias line.
– Combine with higher-timeframe analysis or other tools for context.
Inputs
– Enable/disable bullish and bearish switch conditions.
– Line length, colour, style, thickness.
– Label position and offsets.
– Alert conditions for crosses.
Disclaimer
This tool is for charting and educational purposes only and is not financial advice or a signal service. Always do your own research and risk management.
Indicadores e estratégias
ADR% / ATR / Dynamic LoD–HoD TableThis indicator displays a clean data table showing ADR%, ATR, and a dynamic LoD/HoD distance value based on daily trend conditions.
When price is above the 21-day or 50-day moving average, the indicator shows the distance from the Low of Day.
When price is below BOTH daily moving averages, it automatically switches to showing distance from the High of Day.
The table updates in real-time and gives a fast, volatility-based view of where price sits inside the day’s range.
Features
• ADR% (Average Daily Range Percentage)
• ATR (Average True Range)
• Automatic LoD → HoD switching based on daily trend
• Customizable colors and layout
• Clean, space-efficient table format
• Designed for intraday and volatility-focused traders
VCAI Volume & Liquidity Map LiteVCAI Volume & Liquidity Map Lite visualises recent market participation using a horizontal liquidity/volume histogram plotted beside current price.
It shows where trading activity has clustered, where the chart is thin, and how much of that activity came from buying vs selling pressure.
This Lite edition keeps the tool simple and fast:
Yellow = buy-side volume (aggressive buyers / upward pressure)
Purple = sell-side volume (aggressive sellers / downward pressure)
Thicker sections = higher traded volume at that price
POC line (purple) marks the price with the highest volume concentration
Value Area lines (yellow dashed) mark where ~70% of volume has traded
Bars extend outward to the right of price for a clean, unobstructed chart
Lookback setting controls how many candles the map is built from
Use it to quickly identify:
high-interest price zones
low-liquidity areas where price can move fast
likely reaction levels
where momentum may slow, reverse, or break through
Designed as a lightweight, open-source tool for anyone wanting a clean liquidity/volume map without complex settings.
Part of the VCAI Lite Series.
VCAI Volume LiteVCAI Volume Lite is a clean, modern take on volume analysis designed for traders who want a clearer read on participation without loading multiple indicators.
This Lite edition focuses on the essentials:
real activity vs dead sessions
expansion vs contraction
momentum shifts around breakouts and pullbacks
No hype, no filters, no hidden logic — just a straightforward volume tool rebuilt with the VCAI visual framework.
Use it to quickly spot:
stronger moves backed by genuine participation
weak pushes running on low volume
areas where momentum may stall or accelerate
Part of the VCAI Lite Series.
(5+15+60min+1D)EMA20+Y'SH/L+count简介: 这是一个专为 5分钟图表 (5min Chart) 日内交易者设计的综合辅助工具。它结合了多周期趋势均线、美股核心交易时段的时间周期计数以及关键流动性位置(前一日高低点)的智能突破监测。该脚本针对美股个股及 24/7 交易的 BTC/ETH 进行了优化,强制锁定纽约时间进行运算。
核心功能:
1. 多周期 EMA 监控系统 (MTF EMAs)
5min EMA20 (蓝色):日内短期趋势核心线(默认开启)。
60min EMA20 (绿色):小时级别趋势参考(默认开启)。
15min EMA20 (红色) & 1D EMA20 (橙色):可选开启,用于捕捉更大周期的支撑阻力。
特点:所有均线采用最细线宽,平滑显示,右上角表格实时展示当前价格。
2. 美股时段 Bar Count 计数器
时间锚定:以纽约时间 (New York Time) 09:30 开盘为起点(Bar 0)。
显示规则:仅在 K 线底部显示 偶数 序号 (0, 2, 4, 6 ...),直至第 82 根 K 线停止。
关键时间窗 (Time Pivots):
Bar 18 (约 NY 10:55) 和 Bar 40 (约 NY 12:45) 会被自动高亮。
字体变为 蓝色粗体,且对应 K 线实体变为蓝色,提示潜在的变盘或宏观流动性注入时刻。
3. 智能 PDH/PDL 射线 (Smart Rays)
精确锚点:前一日高点 (PDH) 和低点 (PDL) 的射线不是从开盘画起,而是从昨日形成高低点的具体时间点射出,精确还原价格行为。
自动阻断 (Breakout Logic):一旦当前价格触碰或突破该射线,射线将自动停止延伸,直观展示“阻力/支撑已失效”。
自动清理:每日自动清除旧线,仅保留当天的参考线,保持图表整洁。
4. 视觉优化
每日分割线:自动绘制灰色虚线分隔交易日。
图表限制:脚本仅在 5分钟图表上可见,切换周期自动隐藏,避免干扰大周期分析。
设置说明:
可在设置面板中自由开关各周期 EMA 的显示。
可开关底部的计数数字显示。
English Version (for TradingView Publishing)
Title: 5min Intraday Precision Toolkit: MTF EMAs + NY Session Count + Smart Rays
Introduction: This is a comprehensive auxiliary tool designed specifically for 5-minute chart intraday traders. It combines multi-timeframe trend EMAs, time cycle counting based on the US Session, and smart breakout monitoring for key liquidity levels (Previous Day High/Low). Optimized for US Equities and Crypto (BTC/ETH) using New York Time.
Key Features:
1. Multi-Timeframe EMA System
5min EMA20 (Blue): Core short-term intraday trend (On by default).
60min EMA20 (Green): Hourly trend reference (On by default).
15min EMA20 (Red) & 1D EMA20 (Orange): Optional overlays for higher timeframe support/resistance.
Visuals: All EMAs are rendered with fine lines for a clean look, accompanied by a top-right dashboard table.
2. NY Session Bar Count
Time Anchor: Starts counting from 09:30 New York Time (Bar 0).
Display Logic: Displays only EVEN numbers (0, 2, 4...) at the bottom of the bars, stopping at count 82.
Time Pivots:
Bar 18 (~10:55 NY) and Bar 40 (~12:45 NY) are highlighted.
Labels turn Bold Blue, and the specific candles are colored Blue to indicate potential reversal or liquidity injection times.
3. Smart PDH/PDL Rays
Precise Origin: Rays for Previous Day High (PDH) and Previous Day Low (PDL) originate from the exact timestamp they were created yesterday, not just the daily open.
Breakout Stop Logic: Rays automatically stop extending once price touches or breaks them, clearly indicating that the level has been tested.
Auto-Clean: Automatically removes old rays from previous days to keep the chart clean.
4. Visual Optimization
Daily Separators: Automatic vertical dotted lines marking new days.
Visibility: All elements are hidden on non-5m charts to prevent clutter.
Settings:
Toggle visibility for individual EMAs.
Toggle visibility for the bottom bar counter.
Continuation Model by XausThis report summarizes the historical performance of the Institutional Daily Bias Probability Model on
EURUSD daily data for the 2025 calendar year. The model combines three components: 1.
Continuation bias around the previous day's high/low (PDH/PDL). 2. Reversal bias based on failed
continuation, failed breakouts, and exhaustion. 3. Neutral bias to identify liquidity-building days when no
directional trades should be taken. A fixed 25-pip stop loss (0.0025) is assumed for R-multiple
calculations. Trades are only taken when Neutral score < 50 and either Continuation or Reversal score
is at least 70, with Neutral overriding, then Reversal, then Continuation.
Breakout Scanner (Screener)Breakout Scanner (Screener style — single indicator to drop in Screener tab)
Mirpapa_Lib_UnicornLibrary "Mirpapa_Lib_Unicorn"
유니콘 패턴 라이브러리 (Unicorn Pattern Library)
유니콘 모델 전략 로직, 데이터 구조체 및 상태 관리를 구현합니다.
initUnicornData(_isBull, _createTime, _createBar, _timeframe)
UnicornData 초기화
@description 새로운 UnicornData 객체를 생성하고 초기화합니다.
Parameters:
_isBull (bool) : 방향 (True: 상승, False: 하락)
_createTime (int) : 생성 시간
_createBar (int) : 생성 Bar Index
_timeframe (string) : 시간대
calculateOverlap(_obTop, _obBot, _fvgTop, _fvgBot)
중첩 영역(Overlap Zone) 계산
@description OB와 FVG 사이의 겹치는 영역을 계산합니다.
Parameters:
_obTop (float) : OB 상단
_obBot (float) : OB 하단
_fvgTop (float) : FVG 상단
_fvgBot (float) : FVG 하단
Returns: 겹침 영역 상단, 하단, 겹침 여부
updateUnicornStatus(_data, _currentHigh, _currentLow, _time)
유니콘 상태 업데이트
@description 가격 움직임에 따라 유니콘 패턴의 상태를 업데이트합니다.
active: 진입 대기 (리테스트 대기) -> triggered: 진입 (TP/SL 대기) -> win/loss: 결과 확정
Parameters:
_data (UnicornData) : UnicornData 객체
_currentHigh (float) : 현재 고가
_currentLow (float) : 현재 저가
_time (int) : 현재 시간
Returns: UnicornData 업데이트된 객체
activateUnicorn(_data)
유니콘 활성화 (Active 전환)
@description Pending 상태인 유니콘 데이터를 Active 상태로 전환합니다. (보통 CHoCH 발생 시 호출)
Parameters:
_data (UnicornData) : UnicornData 객체
setTradeLevels(_data, _entry, _stop, _target)
트레이딩 레벨 설정
@description 진입가, 목표가, 손절가를 설정합니다.
Parameters:
_data (UnicornData) : UnicornData 객체
_entry (float) : 진입가
_stop (float) : 손절가
_target (float) : 목표가
UnicornData
유니콘 데이터 (UnicornData)
Fields:
_isBull (series bool) : // 상승/하락 방향 (True: Long, False: Short)
_status (series string) : // "pending", "active", "triggered", "win", "loss", "cancelled"
_createTime (series int) : // 생성 시간
_createBar (series int) : // 생성 bar_index
_obTop (series float) : // OB 상단
_obBot (series float) : // OB 하단
_obTime (series int) : // OB 캔들 시간
_obBox (series box) : // OB 박스 객체
_fvgTop (series float) : // FVG 상단
_fvgBot (series float) : // FVG 하단
_fvgTime (series int) : // FVG 시간
_fvgBox (series box) : // FVG 박스 객체
_zoneTop (series float) : // 겹침 영역 상단 (Unicorn Zone)
_zoneBot (series float) : // 겹침 영역 하단 (Unicorn Zone)
_zoneBox (series box) : // Unicorn Zone 박스 객체
_chochConfirmed (series bool) : // CHoCH 확정 여부
_chochTime (series int) : // CHoCH 발생 시간
_chochPrice (series float) : // CHoCH 돌파 가격
_entryPrice (series float) : // 진입가
_targetPrice (series float) : // 목표가 (다음 유동성 레벨)
_stopPrice (series float) : // 손절가 (Zone 반대편)
_result (series string) : // "none", "win", "loss"
_resultTime (series int) : // 결과 확정 시간
_resultPrice (series float) : // 결과 확정 가격
_profitPips (series float) : // 수익 pips (양수)
_lossPips (series float) : // 손실 pips (음수)
_profitPercent (series float) : // 수익 %
_lossPercent (series float) : // 손실 %
_rrRatio (series float) : // Risk:Reward 비율
_timeframe (series string) : // 시간대 (HTF/MTF/CTF)
_triggerTime (series int) : // 진입 트리거 시간 (리테스트)
_triggerPrice (series float) : // 진입 트리거 가격
_isRetested (series bool) : // 리테스트 여부
_retestCount (series int) : // 리테스트 횟수
_maxDrawdown (series float) : // 최대 손실폭 (진입 후)
_maxProfit (series float) : // 최대 수익폭 (진입 후)
N1E_UTBOATN1E_UTBOAT
ATR trailing stop
Optional Heikin Ashi source
Buy/Sell signals based on a crossover of price vs ATR trailing stop
Strategy long/short entries
Mirpapa_Lib_BoxLibrary "Mirpapa_Lib_Box"
GetHTFrevised(_tf, _case)
GetHTFrevised
@description Retrieve a specific bar value from a Higher Time Frame (HTF) series.
Parameters:
_tf (string) : string The target HTF string (examples: "60", "1D").
_case (string) : string Case string determining which OHLC value to request.
@return float Returns the requested HTF value or na if _case does not match.
GetHTFrevised(_tf)
Parameters:
_tf (string)
GetHTFoffsetToLTFoffset(_offset, _chartTf, _htfTf)
GetHTFoffsetToLTFoffset
@description Adjust an HTF offset to an LTF offset by calculating the ratio of timeframes.
Parameters:
_offset (int) : int The HTF bar offset (0 means current HTF bar).
_chartTf (string) : string The current chart's timeframe (e.g., "5", "15", "1D").
_htfTf (string) : string The High Time Frame string (e.g., "60", "1D").
@return int The corresponding LTF bar index. Returns 0 if the result is negative.
GetHtfFromLabel(_label)
GetHtfFromLabel
@description Convert a Korean HTF label into a Pine Script timeframe string.
Parameters:
_label (string) : string The Korean label (e.g., "5분", "1시간").
@return string Returns the corresponding Pine Script timeframe (e.g., "5", "60").
IsChartTFcomparisonHTF(_chartTf, _htfTf)
IsChartTFcomparisonHTF
@description Determine whether a given HTF is greater than or equal to the current chart timeframe.
Parameters:
_chartTf (string) : string Current chart timeframe (e.g., "5", "15", "1D").
_htfTf (string) : string HTF timeframe (e.g., "60", "1D").
@return bool True if HTF ≥ chartTF, false otherwise.
IsCondition(_boxType, _isBull, _pricePrev, _priceNow)
IsCondition
@description FOB, FVG 조건 체크.\
_boxType: "fob"(Fair Order Block) 또는 "fvg"(Fair Value Gap).\
_isBull: true(상승 패턴), false(하락 패턴).\
상승 시 현재 가격이 이전 가격보다 높으면 true, 하락 시 이전 가격이 현재 가격보다 높으면 true 반환.
Parameters:
_boxType (string) : 박스 타입 ("fob", "fvg")
_isBull (bool) : 상승(true) 또는 하락(false)
_pricePrev (float) : 이전 가격
_priceNow (float) : 현재 가격
Returns: bool 조건 만족 여부
IsCondition(_boxType, _high2, _high1, _high0, _low2, _low1, _low0)
IsCondition
@description Sweep 조건 체크 (Swing High/Low 동시 발생).\
_boxType: "sweep" 또는 "breachBoth".\
조건: high2 < high1 > high0 (Swing High) AND low2 > low1 < low0 (Swing Low).\
중간 캔들이 양쪽보다 높고 낮은 지점을 동시에 형성할 때 true 반환.
Parameters:
_boxType (string) : 박스 타입 ("sweep", "breachBoth")
_high2 (float)
_high1 (float)
_high0 (float)
_low2 (float)
_low1 (float)
_low0 (float)
Returns: bool 조건 만족 여부
IsCondition(_boxType, _isBull, _open1, _close1, _high1, _low1, _open0, _close0, _low2, _low3, _high2, _high3)
IsCondition
@description RB (Rejection Block) 조건 체크.\
_boxType: "rb" (Rejection Block).\
상승 RB: candle1=음봉, candle0=양봉, low3>low1 AND low2>low1, close1*1.001>open0, open1close0.\
이전 캔들의 거부 후 현재 캔들이 반대 방향으로 전환될 때 true 반환.
Parameters:
_boxType (string) : 박스 타입 ("rb")
_isBull (bool) : 상승(true) 또는 하락(false)
_open1 (float)
_close1 (float)
_high1 (float)
_low1 (float)
_open0 (float)
_close0 (float)
_low2 (float)
_low3 (float)
_high2 (float)
_high3 (float)
Returns: bool 조건 만족 여부
IsCondition(_boxType, _isBull, _open2, _close1, _open1, _close0)
IsCondition
@description SOB (Strong Order Block) 조건 체크.\
_boxType: "sob" (Strong Order Block).\
상승 SOB: 양봉2 => 음봉1 => 양봉0, open2 > close1 AND open1 < close0.\
하락 SOB: 음봉2 => 양봉1 => 음봉0, open2 < close1 AND open1 > close0.\
3개 캔들 패턴으로 강한 주문 블록 형성 시 true 반환.
Parameters:
_boxType (string) : 박스 타입 ("sob")
_isBull (bool) : 상승(true) 또는 하락(false)
_open2 (float) : 2개 이전 캔들 open
_close1 (float) : 1개 이전 캔들 close
_open1 (float) : 1개 이전 캔들 open
_close0 (float) : 현재 캔들 close
Returns: bool 조건 만족 여부
CreateBox(_boxType, _boxState, _breachModeStart, _breachModeEnd, _isBull, _leftTime, _rightTime, _top, _bottom, _useLine, _colorBG, _colorBD, _colorText, _customText)
CreateBox
@description 박스 생성 (값 전달 방식 - 모든 좌표 직접 지정).\
호출자가 모든 좌표와 시간을 계산하여 전달.\
HTF/LTF 구분 불필요, tf/cache 계산 없음.\
Parameters:
_boxType (string) : 박스 타입 ("sob", "fob", "rb", "custom" 등)
_boxState (string) : 박스 상태 ("pending", "start", "extension")
_breachModeStart (string) : 시작 돌파 처리 방식
_breachModeEnd (string) : 종료 돌파 처리 방식
_isBull (bool) : 상승(true) 또는 하락(false)
_leftTime (int) : 박스 시작 시간
_rightTime (int) : 박스 종료 시간
_top (float) : 박스 상단 가격
_bottom (float) : 박스 하단 가격
_useLine (bool) : 중간선 표시 여부
_colorBG (color) : 박스 배경색
_colorBD (color) : 박스 테두리색
_colorText (color) : 텍스트 색상
_customText (string) : 커스텀 텍스트
Returns: 성공 여부와 박스 데이터
CreateBox(_boxType, _boxState, _tf, _isBull, _useLine, _colorBG, _colorBD, _colorText, _cache)
CreateBox (자동 계산 방식)
@description 박스 생성 (tf/cache 기반 자동 좌표 계산).\
라이브러리가 boxType에 따라 좌표를 자동 계산.\
Parameters:
_boxType (string) : 박스 타입
_boxState (string) : 박스 상태 ("pending", "start", "extension")
_tf (string) : 시간대
_isBull (bool) : 상승(true) 또는 하락(false)
_useLine (bool) : 중간선 표시 여부
_colorBG (color) : 박스 배경색
_colorBD (color) : 박스 테두리색
_colorText (color) : 텍스트 색상
_cache (HTFCache) : HTF 캐시 데이터
Returns: 성공 여부와 박스 데이터
ProcessBoxDatas(_openBoxes, _closedBoxes, _useMidLine, _closeCount, _baseColor, _pendingTransparency, _startTransparency, _endTransparency, _currentBarIndex, _currentLow, _currentHigh, _currentClose, _currentTime)
ProcessBoxDatas
@description 박스 확장 및 상태별 돌파 처리.\
열린 박스들을 현재 bar까지 확장하고, 상태별 돌파 조건 체크.\
PENDING: 시작 조건 체크 → START 전환\
START: 종료 조건 체크 → END 전환\
EXTENSION: 무한 확장\
종료된 박스는 _closedBoxes로 이동하고 _colorClose 색상 적용.\
Parameters:
_openBoxes (array) : 열린 박스 배열
_closedBoxes (array) : 닫힌 박스 배열
_useMidLine (bool) : 중간선 표시 여부
_closeCount (int) : 돌파 카운트 (이 횟수만큼 돌파 시 종료)
_baseColor (color) : 기본 색상
_pendingTransparency (int) : 대기 상태 불투명도
_startTransparency (int) : 시작 상태 불투명도
_endTransparency (int) : 종료 상태 불투명도
_currentBarIndex (int) : 현재 bar_index
_currentLow (float) : 현재 low
_currentHigh (float) : 현재 high
_currentClose (float) : 현재 close
_currentTime (int) : 현재 time
Returns: bool 항상 true
BoxType
BoxType
Fields:
FOB (series string)
FVG (series string)
IFVG (series string)
SOB (series string)
RB (series string)
BB (series string)
MB (series string)
SWEEP (series string)
CUSTOM (series string)
BreachMode
BreachMode
Fields:
BOTH_HIGH_LOW (series string)
BOTH_CLOSE (series string)
DIRECTIONAL_HIGH_LOW (series string)
DIRECTIONAL_CLOSE (series string)
NEAR_HIGH (series string)
NEAR_CLOSE (series string)
NEAR_LOW (series string)
FAR_HIGH (series string)
FAR_CLOSE (series string)
FAR_LOW (series string)
BoxState
BoxState
Fields:
PENDING (series string)
START (series string)
END (series string)
EXTENSION (series string)
BoxData
BoxData
Fields:
_type (series string) : 박스 타입
_breachModeStart (series string) : 시작 돌파 처리 방식
_breachModeEnd (series string) : 종료 돌파 처리 방식
_boxState (series string) : 박스 상태
_isBull (series bool) : 상승(true) 또는 하락(false) 방향
_box (series box)
_line (series line)
_boxTop (series float)
_boxBot (series float)
_boxMid (series float)
_topBreached (series bool)
_bottomBreached (series bool)
_breakCount (series int)
HTFCache
Fields:
_timeframe (series string)
_lastBarIndex (series int)
_isNewBar (series bool)
_barIndex (series int)
_open (series float)
_high (series float)
_low (series float)
_close (series float)
_open1 (series float)
_close1 (series float)
_high1 (series float)
_low1 (series float)
_open2 (series float)
_close2 (series float)
_high2 (series float)
_low2 (series float)
_high3 (series float)
_low3 (series float)
_time1 (series int)
_time2 (series int)
Emmanuel Optuma Bar Colors v2This script colours TradingView’s Bar Chart to follow a simple, powerful bar-type logic used in Optuma-style analysis.
It makes the chart easier to read by showing the relationship between:
Up bars
Down bars
Outside bars
Inside bars
🔍 Bar Type Detection
Up Bar
Close > Previous close
→ Indicates upward strength
→ Coloured Green
Down Bar
Close < Previous close
→ Indicates downward pressure
→ Coloured Red
Outside Bar
High > Previous high and Low < Previous low
→ Market expands its range
→ Coloured Blue
Inside Bar
High < Previous high and Low > Previous low
→ Market contracts inside the previous bar
→ Follows previous bar’s colour
🎨 Colour Rules Summary
Bar Type Colour Meaning
Up Bar 🟩 Green Bullish pressure
Down Bar 🟥 Red Bearish pressure
Outside Bar 🔵 Blue Range expansion, bar resets structure
Inside Bar Same as previous bar Market indecision, continuation
🧠 Inside Bar Logic (Very Important)
Inside bars always copy the colour of the previous bar, which means:
If the previous bar was Green → inside bar becomes Green
If the previous bar was Red → inside bar becomes Red
If the previous bar was Blue → inside bar becomes Blue
This keeps the structure visually consistent and easy to read.
📈 Why This Helps Traders
This approach makes it easier to see:
✔ Trend continuation
Inside bars keep the trend colour, making swings clearer.
✔ Trend weakness
Inside bars after outside bars show contraction.
✔ Breakouts
Blue outside bars stand out as moments of range expansion.
✔ Market rhythm
The chart becomes easier to follow for beginners and advanced traders.
🧩 How to Use It
Set chart type to Bars
Add the script
Hide default colours (barcolor replaces them)
This instantly transforms TradingView into a teaching-friendly chart like Optuma.
FOMC Federal Fund Rate Tracker [MHA Finverse]The FOMC Rate Tracker is a comprehensive indicator that visualizes Federal Reserve interest rate decisions and tracks market behavior during FOMC meeting periods. This tool helps traders analyze historical rate changes and anticipate market movements around Federal Open Market Committee announcements.
Key Features:
• Visual FOMC Periods - Automatically highlights each FOMC meeting period with colored boxes spanning from announcement to the next meeting
• Complete Rate Data - Displays actual rates, forecasts, previous rates, and rate differences for every meeting from 2021-2026
• Multiple Color Modes - Choose between cycle colors for visual distinction or rate difference colors (green for hikes, red for cuts, gray for holds)
• Smart Filtering - Filter periods by rate hikes only, cuts only, no change, or surprise moves to focus on specific market conditions
• Performance Metrics - Track average returns during rate hikes, cuts, and holds to identify historical patterns
• Volatility Analysis - Measure and compare price volatility across different FOMC periods
• Statistical Dashboard - View total hikes, cuts, holds, surprises, and longest hold streaks at a glance
• Built-in Alerts - Get notified 1 day before FOMC meetings, on meeting day, or when rates change
How It Works:
The indicator divides your chart into distinct periods between FOMC meetings, with each period showing a labeled box containing the meeting date, actual rate, forecast, previous rate, and rate difference. Future meetings are marked as "UPCOMING" to help you prepare for scheduled announcements.
Use Cases:
- Analyze how markets typically react to rate hikes vs. cuts
- Identify volatility patterns around FOMC announcements
- Backtest strategies based on monetary policy cycles
- Plan trades around upcoming Federal Reserve meetings
- Study the impact of surprise rate decisions on price action
Customization Options:
- Adjustable box transparency and outlines
- Customizable label sizes and colors
- Toggle individual dashboards on/off
- Filter specific types of rate decisions
- Configure alert preferences
This indicator is ideal for traders who incorporate fundamental analysis and monetary policy into their trading decisions. The historical data provides context for understanding market reactions to Federal Reserve actions.
Unmitigated MTF High Low - Cave Diving Plot
IntroductionThe Unmitigated MTF High Low -
Cave Diving Plot is a multi-timeframe (MTF) indicator designed for NQ and ES futures traders who want to identify high-probability entry and exit zones based on unmitigated price levels. The "Cave Diving" visualization helps you navigate between support (floor) and resistance (ceiling) zones, while the integrated Strat analysis provides directional context.
Who Is This For?
Futures traders (NQ, ES) trading during ETH and RTH sessions
Scalpers and day traders looking for precise entry/exit levels
Traders using The Strat methodology for directional analysis
Anyone seeking confluence between price action and key levels
Core Concepts
1. Unmitigated Level:
An unmitigated level is a price high or low that has been created but not yet tested (touched) by price. These levels act as magnets - price often returns to test them.Key Properties:
Resistance (Highs): Price has created a high but hasn't revisited it
Support (Lows): Price has created a low but hasn't revisited it
Mitigation: When price touches a level, it becomes "mitigated" and loses strength
2. The Cave Diving MetaphorThink of trading as cave diving between two zones:
┌─────────────────────────────────┐
│ CEILING (Upper Band) │ ← 1st & 2nd Unmitigated Highs
│ 🟥 Resistance Zone │
├─────────────────────────────────┤
│ │
│ THE TUNNEL │ ← Price navigates here
│ (Trading Channel) │
│ │
├─────────────────────────────────┤
│ 🟢 Support Zone │
│ FLOOR (Lower Band) │ ← 1st & 2nd Unmitigated Lows
└─────────────────────────────────┘
Trading Concept:
Ceiling: Formed by the 1st and 2nd most recent unmitigated highs
Floor: Formed by the 1st and 2nd most recent unmitigated lows
Tunnel: The space between ceiling and floor where price operates
Cave Diving: Navigating between these zones for entries and exits
3. Session-Based Age TrackingLevels are tracked by session age:
Session: 6:00 PM to 5:00 PM NY time (23-hour window)
Age 0: Created in the current session (today)
Age 1: Created 1 session ago (yesterday)
Age 2+: Older levels (more significant)
Why Age Matters:
Older unmitigated levels are typically stronger magnets
Fresh levels (Age 0) may be weaker and easier to break
Age 2+ levels often provide high-probability reversal zones
Indicator Components
Visual Elements
1. Colored Bands (Cave Zones)Upper Band (Pink/Maroon - 95% transparency)
Space between 1st and 2nd unmitigated highs
Acts as resistance zone
Price often hesitates or reverses here
Lower Band (Teal - 95% transparency)
Space between 1st and 2nd unmitigated lows
Acts as support zone
Price often finds buyers here
2. Information Table Located in your chosen corner (default: Bottom Right), the table displays:
5 most recent unmitigated highs (top section)
Tunnel row (middle separator)
5 most recent unmitigated lows (bottom section)
Reading the TableTable Structure
┌────────┬──────────┬────────┬───────┐
│ Level │ $ │ Points │ Age │
├────────┼──────────┼────────┼───────┤
│ ↑↑↑↑↑ │ 21,450.25│ +45.30 │ 3 │ ← 5th High (oldest)
│ ↑↑↑↑ │ 21,425.50│ +32.75 │ 2 │ ← 4th High
│ ↑↑↑ │ 21,410.00│ +25.00 │ 1 │ ← 3rd High
│ ↑↑ │ 21,400.75│ +18.50 │ 1 │ ← 2nd High
│ ↑ │ 21,395.25│ +12.00 │ 0 │ ← 1st High (newest)
├────────┼──────────┼────────┼───────┤
│ Tunnel │ 🟢 │ Δ 85.50│ 2U │ ← Current State
├────────┼──────────┼────────┼───────┤
│ ↓ │ 21,310.00│ -15.25 │ 0 │ ← 1st Low (newest)
│ ↓↓ │ 21,295.50│ -22.75 │ 1 │ ← 2nd Low
│ ↓↓↓ │ 21,280.25│ -30.00 │ 1 │ ← 3rd Low
│ ↓↓↓↓ │ 21,265.75│ -38.50 │ 2 │ ← 4th Low
│ ↓↓↓↓↓ │ 21,250.00│ -45.00 │ 3 │ ← 5th Low (oldest)
└────────┴──────────┴────────┴───────┘Column
Breakdown
Column 1: Level (Arrows)
Green arrows (↑): Resistance levels above current price
Red arrows (↓): Support levels below current price
Arrow count: Indicates recency (1 arrow = newest, 5 arrows = oldest)
Why This Matters:
More arrows = older level = stronger magnet for price
Column 2: $ (Price)
Exact price of the unmitigated level
Use this for limit orders and stop placement
Column 3: Points (Distance)
Positive (+) for highs: Points above current price
Negative (-) for lows: Points below current price
Helps gauge proximity to key levels
Trading Application:
If you're +2.50 points from resistance, a reversal may be imminent
If you're -45.00 points from support, you're far from the floor
Column 4: Age (Sessions)
Number of full 6pm-5pm sessions the level has survived
Age 0: Created today (current session)
Age 1+: Created in previous sessions
Significance Ladder:
Age 0: Weak, may break easily
Age 1-2: Medium strength
Age 3+: Strong, high-probability reaction zone
Tunnel Row (Critical Information)│ Tunnel │ 🟢 │ Δ 85.50│ 2U │
└─┬─┘ └─┬─┘ └──┬──┘ └─┬─┘
│ │ │ │
Label Direction Range Strat
1. Tunnel Label: Identifies the separator row
2. Direction Indicator (🟢/🔴)
🟢 Green Circle: Current 15m bar closed bullish (above previous close)
🔴 Red Circle: Current 15m bar closed bearish (below previous close)
3. Δ (Delta/Range)
Distance in points between 1st High and 1st Low
Shows the tunnel width (trading range)
Example: Δ 85.50 = 85.50 points between ceiling and floor
Trading Use:
Wide tunnel (>100 points): More room to trade, consider range strategies
Narrow tunnel (<50 points): Tight range, expect breakout
4. Strat Pattern
1: Inside bar (consolidation)
2U: 2 Up (bullish directional bar)
2D: 2 Down (bearish directional bar)
3: Outside bar (expansion/volatility)
Color Coding:
Green: 2U (bullish)
Red: 2D (bearish)
Yellow: 3 (expansion)
Gray: 1 (inside/neutral)
Bollinger Bands + VWAP + 4-State MACD BackgroundBollinger Bands + VWAP + 4-State MACD Background
An all-in-one technical analysis indicator combining three proven tools with an intelligent momentum-based background visualization system.
📊 FEATURES
Bollinger Bands
Standard Bollinger Bands implementation with full customization options:
Adjustable period length (default: 20)
Multiple moving average types: SMA, EMA, SMMA (RMA), WMA, VWMA
Configurable standard deviation multiplier (default: 2.0)
Visual fill between bands to highlight volatility zones
Offset capability for forward/backward display
Session VWAP (Volume Weighted Average Price)
Automatically resets at the start of each trading session:
Calculates true volume-weighted average price
Resets daily to provide fresh reference levels
Customizable source input (default: HLC3)
Adjustable line appearance (color and width)
Can be toggled on/off as needed
4-State MACD Background System
This is the unique feature of this indicator. The chart background dynamically changes based on MACD momentum analysis, providing instant visual feedback on trend strength and direction:
🟢 Strong Bullish (Bright Green)
MACD line is above signal line
Histogram is growing (momentum accelerating upward)
Indicates strong upward momentum
🟢 Weak Bullish (Pale Green)
MACD line is above signal line
Histogram is shrinking (momentum decelerating)
Early warning signal that uptrend may be weakening
🔴 Strong Bearish (Bright Red)
MACD line is below signal line
Histogram is falling (momentum accelerating downward)
Indicates strong downward momentum
🔴 Weak Bearish (Pale Red)
MACD line is below signal line
Histogram is rising (momentum decelerating)
Early warning signal that downtrend may be weakening
🎯 HOW TO USE
For Trend Trading:
Strong colored backgrounds indicate confirmed momentum in that direction - consider staying with the trend
Weak colored backgrounds signal potential momentum exhaustion - watch for possible reversals
Use VWAP as a dynamic support/resistance level
Bollinger Band breakouts combined with strong MACD backgrounds can confirm trend strength
Price above VWAP + strong bullish background = bullish bias
Price below VWAP + strong bearish background = bearish bias
For Mean Reversion:
Price touching upper/lower Bollinger Bands with weak MACD background may suggest potential reversal
VWAP acts as a mean reversion anchor during range-bound sessions
Background color shifts from strong to weak often precede price direction changes
Look for price return to VWAP when extended beyond bands with weakening momentum
Signal Confirmation:
Strongest signals occur when multiple indicators align:
BB breakout + MACD strong color + price above/below VWAP
Price rejection at BB bands + MACD color weakening
VWAP support/resistance hold + MACD color change
⚙️ SETTINGS
All components are fully customizable through organized input groups:
Bollinger Bands Group:
Period length
Moving average type (SMA/EMA/SMMA/WMA/VWMA)
Source (close/open/high/low/etc.)
Standard deviation multiplier
Offset
VWAP Group:
Toggle show/hide
Source calculation method
Line color
Line width
MACD Group:
Toggle background on/off
Fast length (default: 12)
Slow length (default: 26)
Signal length (default: 9)
Source
Four separate color settings for each momentum state
All colors include transparency controls
💡 EDUCATIONAL VALUE
This indicator teaches important concepts:
How volatility (Bollinger Bands) relates to price movement
The importance of volume-weighted pricing (VWAP)
Momentum analysis through MACD
How combining multiple timeframes and indicators can provide confluence
The difference between trend strength and trend direction
⚠️ IMPORTANT NOTES
This indicator is for educational and informational purposes only
No indicator is perfect - always use proper risk management
Past performance does not guarantee future results
Combine with your own analysis and risk tolerance
Test thoroughly on historical data before live trading
This is not financial advice - use at your own risk
🔧 TECHNICAL DETAILS
Pine Script Version 6
Overlay indicator (displays on price chart)
All calculations use standard, well-documented formulas
Minimal lag due to efficient coding
Compatible with all timeframes and instruments
No repainting - all signals are confirmed on bar close
📝 CHANGELOG
Version 1.0
Initial release
Bollinger Bands with multiple MA types
Session VWAP with daily reset
4-state MACD background system
Full customization options
Developed for traders who want multiple confirmation signals in a clean, organized format without cluttering their charts with separate indicator panels.
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.
FANBLASTERFANBLASTER
Methodology & Rules (Live Trading Version)
Purpose
Catch the exact moment the market flips from chop into a high-conviction trending move using a clean, stacked Fib EMA ribbon + volatility + volume confirmation.
Core Idea
When the 5-8-13-21-34-55 EMA stack suddenly “fans out” in perfect order with significant separation, a real trend is being born. Most retail traders chase late – FANBLASTER alerts you on the very first bar the fan opens.
What Triggers a “FAN BLAST” Alert
Perfect EMA Alignment
Bullish: 5 > 8 > 13 > 21 > 34 > 55
Bearish: 5 < 8 < 13 < 21 < 34 < 55
(Has to flip from NOT aligned on the previous bar → aligned on this bar)
Significant Separation
Distance between EMA 5 and EMA 55 ≥ 1.3 × ATR(14)
(1.3 is the ES sweet spot – filters fake little wiggles)
Trend Strength Confirmation
ADX(14) ≥ 22
(Ensures the move isn’t just noise; ES trends explode while ADX is still climbing)
Volume Conviction
Current volume > 1.4 × 20-period EMA of volume
(Real moves have real participation)
When ALL FOUR conditions are true on the same bar → you get the green or red circle + phone alert.
How to Trade It (Live Rules)
Alert fires → look at the chart immediately
If price is pulling back to the 8 or 13 EMA in the direction of the fan → enter on touch or close above/below
Initial stop: opposite side of the fan (below the 55 for longs, above the 55 for shorts)
Target: 2–4 R minimum, trail with the 21 or 34 once in profit
No alert = stay flat. This is a “trend birth” sniper, not a scalping tool.
Best Instruments & Timeframes (2025)
ES & NQ futures
2 min, 5 min, 15 min (all work with the exact same settings)
Works on MES/MNQ too (same params)
Bottom Line
FANBLASTER sits silent 90 % of the day and only screams when the market is actually about to run 20–100+ points.
One alert = one high-probability trend. That’s it.
Lock it, load it, and let the phone do the hunting.
Good luck, stay disciplined, and stack those points.
— Your edge is now live.
Smart Scalper V7 [Churn Filter]Indicator uses relative volume by time as well as ADX to highlight if volume is high to prevent trading in chop or being faked out.
Dec 1
Release Notes
How to Read the "Traffic Light" 🚦
You asked: "How do I work out if volume is higher or lower?" Look at the White Horizontal Line running across the indicator.
Height (Quantity):
Above the Line: Volume is High (The crowd is here).
Below the Line: Volume is Low (Everyone is at lunch).
Color (Quality):
🟢 Green: High Volume + Strong Trend. (Best for Entries).
🟡 Yellow: High Volume but NO Trend. This is usually a Reversal or a Trap. (Big fight, no winner yet).
🟠 Orange: Trending, but on Low Volume. The price is drifting. Don't trust it—it can snap back easily.
🔴 Red: Low Volume, No Trend. The "Kill Zone." Do not trade.
FluxPulse Momentum [JOAT]FluxPulse Momentum - Adaptive Multi-Component Oscillator
FluxPulse Momentum is a composite oscillator that blends three distinct momentum components into a single, smoothed signal line. Rather than relying on a single indicator, it synthesizes adaptive RSI, normalized rate of change, and a Kaufman-style efficiency ratio to provide a multi-dimensional view of momentum.
What This Indicator Does
Combines RSI, Rate of Change (ROC), and Efficiency Ratio into one weighted composite
Applies EMA smoothing to reduce noise while preserving responsiveness
Displays overbought/oversold zones with optional background highlighting
Generates buy/sell signals when the oscillator crosses its signal line in favorable zones
Provides a real-time dashboard showing current state, momentum direction, and efficiency
Core Components
Adaptive RSI (50% weight) — Standard RSI calculation normalized around the 50 level
Normalized ROC (30% weight) — Rate of change scaled relative to its recent maximum range
Efficiency Ratio (20% weight) — Measures directional movement efficiency, inspired by Kaufman's adaptive concepts
The final composite is smoothed twice using EMA to create both a fast line and a signal line.
Signal Logic
// Buy signal: crossover in lower half
buySignal = ta.crossover(qmo, qmoSmooth) and qmo < 50
// Sell signal: crossunder in upper half
sellSignal = ta.crossunder(qmo, qmoSmooth) and qmo > 50
Signals are generated only when the oscillator is positioned favorably—buy signals occur below the 50 midline, sell signals occur above it.
Dashboard Information
The on-chart table displays:
Current oscillator value with gradient coloring
Momentum state (Overbought, Oversold, Bullish, Bearish, Neutral)
Momentum direction and acceleration
Efficiency ratio percentage
Active signal status
Inputs Overview
RSI Length — Period for RSI calculation (default: 14)
ROC Length — Period for rate of change (default: 10)
Smoothing Length — EMA smoothing period (default: 3)
Overbought/Oversold Levels — Threshold levels for zone detection
Await Bar Confirmation — Wait for bar close before triggering alerts
How to Use It
Watch for crossovers between the main line and signal line
Use overbought/oversold zones to identify potential reversal areas
Monitor the histogram for momentum acceleration or deceleration
Combine with price action analysis for confirmation
Alerts
Buy Signal — Bullish crossover in the lower zone
Sell Signal — Bearish crossunder in the upper zone
Overbought/Oversold Crosses — Level threshold crossings
This indicator is provided for educational purposes. It does not constitute financial advice. Always conduct your own analysis before making trading decisions.
— Made with passion by officialjackofalltrades
RTH Yesterday & Today Premarket Levels## **RTH Yesterday & Today Premarket Levels**
This indicator plots the most commonly used **institutional reference levels** for intraday trading:
* **Yesterday’s Regular Trading Hours (RTH) High**
* **Yesterday’s Regular Trading Hours (RTH) Low**
* **Yesterday’s Regular Trading Hours (RTH) Close**
* **Today’s Premarket High**
* **Today’s Premarket Low**
All levels are drawn as **straight horizontal lines with labels** and remain fixed throughout the current session.
---
### **How Levels Are Calculated**
**Yesterday’s Levels (RTH only)**
* Computed strictly from **Regular Trading Hours (09:30–16:00 exchange time)**.
* Extended-hours data is **excluded** to avoid distortion.
* Captures true institutional highs, lows, and closing price.
**Today’s Premarket Levels (PM only)**
* Computed strictly from **today’s premarket session (04:00–09:29)**.
* Resets daily and does not include prior days.
* Levels finalize once premarket ends and extend across the regular session.
---
### **Key Features**
* Exactly **5 fixed reference levels**, no historical clutter
* **Non-repainting**: levels do not change once established
* **No zig-zags or plots**; only clean horizontal lines
* Customizable **line colors and thickness**
* Labels clearly identify each level:
* Y High
* Y Low
* Y Close
* PM High
* PM Low
---
### **Best Use Cases**
* Intraday trading (1m, 5m, 15m)
* VWAP and momentum strategies
* Gap-and-go or fade setups
* Support/resistance validation
* Options trading and scalping
These levels often act as **decision points, liquidity magnets, and rejection zones** during the regular session.
---
### **Required Settings**
* Use **intraday timeframes**
* Enable **Extended Hours** in TradingView’s symbol settings
* Designed for **US equities** using exchange time
---
### **Trader Notes**
This script is intentionally minimalist. It shows only the **most relevant prior-day and premarket price references** used by professional traders, avoiding noise from multi-day indicators or derived averages.
Fair Value Gap Signals [Kodexius]Fair Value Gap Signals is an advanced market structure tool that automatically detects and tracks Fair Value Gaps (FVGs), evaluates the quality of each gap, and highlights high value reaction zones with visual metrics and signal markers.
The script is designed for traders who focus on liquidity concepts, order flow and mean reversion. It goes beyond basic FVG plotting by continuously monitoring how price interacts with each gap and by quantifying three key aspects of each zone:
-Entry velocity inside the gap
-Volume absorption during tests
-Structural integrity and depth of penetration
The result is a dynamic, information rich visualization of which gaps are being respected, which are being absorbed, and where potential reversals or continuations are most likely to occur.
All visual elements are configurable, including the maximum number of visible gaps per direction, mitigation method (close or wick) and an ATR based filter to ignore insignificant gaps in low volatility environments.
🔹 Features
🔸 Automated Fair Value Gap Detection
The script detects both bullish and bearish FVGs based on classic three candle logic:
Bullish FVG: current low is strictly above the high from two bars ago
Bearish FVG: current high is strictly below the low from two bars ago
🔸 ATR Based Gap Filter
To avoid clutter and low quality signals, the script can ignore very small gaps using an ATR based filter.
🔸Per Gap State Machine and Lifecycle
Each gap is tracked with an internal status:
Fresh: gap has just formed and has not been tested
Testing: price is currently trading inside the gap
Tested: gap was tested and left, waiting for a potential new test
Rejected: price entered the gap and then rejected away from it
Filled: gap is considered fully mitigated and no longer active
This state machine allows the script to distinguish between simple touches, multiple tests and meaningful reversals, and to trigger different alerts accordingly.
🔸 Visual Ranking of Gaps by Metrics
For each active gap, three additional horizontal rank bars are drawn on top of the gap area:
Rank 1 (Vel): maximum entry velocity inside the gap
Rank 2 (Vol): relative test volume compared to average volume
Rank 3 (Dpt): remaining safety of the gap based on maximum penetration depth
These rank bars extend horizontally from the creation bar, and their length is a visual score between 0 and 1, scaled to the age of the gap. Longer bars represent stronger or more favorable conditions.
🔸Signals and Rejection Markers
When a gap shows signs of rejection (price enters the gap and then closes away from it with sufficient activity), the script can print a signal label at the reaction point. These markers summarize the internal metrics of the gap using a tooltip:
-Velocity percentage
-Volume percentage
-Safety score
-Number of tests
🔸 Flexible Mitigation Logic (Close or Wick)
You can choose how mitigation is defined via the Mitigation Method input:
Close: the gap is considered filled only when the closing price crosses the gap boundary
Wick: a full fill is detected as soon as any wick crosses the gap boundary
🔸 Alert Conditions
-New FVG formed
-Price entering a gap (testing)
-Gap fully filled and invalidated
-Rejection signal generated
🔹Calculations
This section summarizes the main calculations used under the hood. Only the core logic is covered.
1. ATR Filter and Gap Size
The script uses a configurable ATR length to filter out small gaps. First the ATR is computed:
float atrVal = ta.atr(atrLength)
Gap size for both directions is then measured:
float gapSizeBull = low - high
float gapSizeBear = low - high
If useAtrFilter is enabled, gaps smaller than atrVal are ignored. This ties the minimum gap size to the current volatility regime.
2. Fair Value Gap Detection
The basic FVG conditions use a three bar structure:
bool fvgBull = low > high
bool fvgBear = high < low
For bullish gaps the script stores:
-top as low of the current bar
-bottom as high
For bearish gaps:
-top as high of the current bar
-bottom as low
This defines the price range that is considered the imbalance area.
3. Depth and Safety Score
Depth measures how far price has penetrated into the gap since its creation. For each bar, the script computes a currentDepth and updates the maximum depth:
float currentDepth = 0.0
if g.isBullish
if l < g.top
currentDepth := g.top - l
else
if h > g.bottom
currentDepth := h - g.bottom
if currentDepth > g.maxDepth
g.maxDepth := currentDepth
The safety score expresses how much of the gap remains intact:
float depthRatio = g.maxDepth / gapSize
float safetyScore = math.max(0.0, 1.0 - depthRatio)
safetyScore near 1: gap is mostly untouched
safetyScore near 0: gap is mostly or fully filled
4. Velocity Metric
Velocity captures how aggressively price moves inside the gap. It is based on the body to range ratio of each bar that trades within the gap and rewards bars that move in the same direction as the gap:
float barRange = h - l
float bodyRatio = math.abs(close - open) / barRange
float directionBonus = 0.0
if g.isBullish and close > open
directionBonus := 0.2
else if not g.isBullish and close < open
directionBonus := 0.2
float currentVelocity = math.min(bodyRatio + directionBonus, 1.0)
The gap keeps track of the strongest observed value:
if currentVelocity > g.maxVelocity
g.maxVelocity := currentVelocity
This maximum is later used as velScore when building the velocity rank bar.
5. Volume Accumulation and Volume Score
While price is trading inside a gap, the script accumulates the traded volume:
if isInside
g.testVolume += volume
It also keeps track of the number of tests and the volume at the start of the first test:
if g.status == "Fresh"
g.status := "Testing"
g.testCount := 1
g.testStartVolume := volume
An average volume is computed using a 20 period SMA:
float volAvg = ta.sma(volume, 20)
The expected volume is approximated as:
float expectedVol = volAvg * math.max(1, (bar_index - g.index) / 2)
The volume score is then:
float volScore = math.min(g.testVolume / expectedVol, 1.0)
This produces a normalized 0 to 1 metric that shows whether the gap has attracted more or less volume than expected over its lifetime.
6. Rank Bar Scaling
All three scores are projected visually along the time axis as horizontal bars. The script uses the age of the gap in bars as the maximum width:
float maxWidth = math.max(bar_index - g.index, 1)
Then each metric is mapped to a bar length:
int len1 = int(math.max(1, maxWidth * velScore))
g.rankBox1.set_right(g.index + len1)
int len2 = int(math.max(1, maxWidth * volScore))
g.rankBox2.set_right(g.index + len2)
int len3 = int(math.max(1, maxWidth * safetyScore))
g.rankBox3.set_right(g.index + len3)
This creates an intuitive visual representation where stronger metrics produce longer rank bars, making it easy to quickly compare the relative quality of multiple FVGs on the chart.
Linechart + Wicks - by SupersonicFXThis is a simple indicator that shows the highs and lows (wicks) on the linechart.
You can vary the colors.
Nothing more to say.
Hope some of you find it useful.
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.
15 min Trailstop15m High/Low Liquidity Lines (1m) — Indicator Description
15m High/Low Liquidity Lines (1m) is a precision liquidity-mapping tool designed for intraday traders who understand the importance of higher-timeframe liquidity levels while executing on the 1-minute chart.
This indicator automatically detects confirmed 15-minute swing highs and swing lows using pivot logic. When a new 15m high or low forms:
✔ Liquidity Line Generation
A horizontal line is drawn exactly at the price level of the pivot.
The line is anchored to the exact 1-minute candle that produced the 15m high/low, ensuring perfect visual alignment.
The line extends only up to the current bar — not across the whole chart.
Optional text labels (“15m High”, “15m Low”) can be shown at the start of each line.
✔ Auto-Cleanup (Smart Liquidity Sweep Detection)
If price trades through the level, the corresponding line and label are:
Instantly deleted
Marking the level as taken/swept
Allowing the chart to stay clean and focused on active liquidity only
This mimics institutional liquidity logic: once the high or low is violated, the target is considered filled and removed.
✔ Alerts
The indicator includes built-in alerts that fire when:
A new 15m high is confirmed
A new 15m low is confirmed
This allows the trader to react immediately when fresh liquidity levels appear.
✔ Customization Options
You can fully tailor the visual representation:
Turn highs and/or lows on or off
Choose line style (solid, dashed, dotted)
Customize line color and thickness
Customize the label style, size, and transparency
Who Is This For?
This indicator is ideal for:
ICT-style traders
Liquidity-based scalpers
1-minute ES/NQ traders
Anyone who uses HTF liquidity levels to frame trades on the LTF
It provides a clean, automated method to track active 15-minute liquidity levels directly on the 1-minute chart with zero clutter and perfect alignment.






















