VYW GapsThis is a copy of the built-in Gaps indicator with the addition of drawing untouched close prices as well.
By default the lines are drawn as dashed orange lines.
Indicateurs et stratégies
EMA Color Cross + Trend Bars + Background BY İNCEBACAK//@version=5
indicator("EMA Color Cross + Trend Bars + Background", overlay=true)
// EMA ayarları
shortEMA = input.int(9, "Short EMA")
longEMA = input.int(21, "Long EMA")
emaShort = ta.ema(close, shortEMA)
emaLong = ta.ema(close, longEMA)
// Trend yönü
trendUp = emaShort > emaLong
trendDown = emaShort < emaLong
// EMA çizgileri trend yönüne göre renk değiştirsin
plot(emaShort, color=trendUp ? color.green : color.red, linewidth=4)
plot(emaLong, color=trendUp ? color.green : color.red, linewidth=4)
// Barları trend yönüne göre renklendir
barcolor(trendUp ? color.green : color.red)
// Arka plan trend yönüne göre
bgcolor(trendUp ? color.new(color.green, 85) : color.new(color.red, 85))
// Kesişim sinyalleri ve oklar
longSignal = ta.crossover(emaShort, emaLong)
shortSignal = ta.crossunder(emaShort, emaLong)
plotshape(longSignal, title="Long", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.large)
plotshape(shortSignal, title="Short", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.large)
Narayan Candle Up/Down Indicator //@version=5
indicator("Candle Up/Down Indicator", overlay=true)
// Candle colors
candleColor = close > open ? color.green : close < open ? color.red : color.gray
// Plot candles as background
bgcolor(candleColor, transp=80)
// Optional: plot arrow on up/down
plotshape(close > open, title="Up Candle", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(close < open, title="Down Candle", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)
Liquidation Heatmap [Alpha Extract]A sophisticated liquidity zone visualization system that identifies and maps potential liquidation levels based on swing point analysis with volume-weighted intensity measurement and gradient heatmap coloring. Utilizing pivot-based pocket detection and ATR-scaled zone heights, this indicator delivers institutional-grade liquidity mapping with dynamic color intensity reflecting relative liquidity concentration. The system's dual-swing detection architecture combined with configurable weight metrics creates comprehensive liquidation level identification suitable for strategic position planning and market structure analysis.
🔶 Advanced Pivot-Based Pocket Detection
Implements dual swing width analysis to identify potential liquidation zones at pivot highs and lows with configurable lookback periods for comprehensive level coverage. The system detects primary swing points using main pivot width and optional secondary swing detection for increased pocket density, creating layered liquidity maps that capture both major and minor liquidation levels across extended price history.
🔶 Multi-Metric Weight Calculation Engine
Features flexible weight source selection including Volume, Range (high-low spread), and Volume × Range composite metrics for liquidity intensity measurement. The system calculates pocket weights based on market activity at pivot formation, enabling traders to identify which liquidation levels represent higher concentration of potential stops and liquidations with configurable minimum weight thresholds for noise filtering.
🔶 ATR-Based Zone Height Framework
Utilizes Average True Range calculations with percentage-based multipliers to determine pocket vertical dimensions that adapt to market volatility conditions. The system creates ATR-scaled bands above swing highs for short liquidation zones and below swing lows for long liquidation zones, ensuring zone heights remain proportional to current market volatility for accurate level representation.
🔶 Dynamic Gradient Heatmap Visualization
Implements sophisticated color gradient system that maps pocket weights to intensity scales, creating intuitive visual representation of relative liquidity concentration. The system applies power-law transformation with configurable contrast adjustment to enhance differentiation between weak and strong liquidity pockets, using cyan-to-blue gradients for long liquidations and yellow-to-orange for short liquidations.
🔶 Intelligent Pocket State Management
Features advanced pocket tracking system that monitors price interaction with liquidation zones and updates pocket states dynamically. The system detects when price trades through pocket midpoints, marking them as "hit" with optional preservation or removal, and manages pocket extension for untouched levels with configurable forward projection to maintain visibility of approaching liquidity zones.
🔶 Real-Time Liquidity Scale Display
Provides gradient legend showing min-max range of pocket weights with 24-segment color bar for instant liquidity intensity reference. The system positions the scale at chart edge with volume-formatted labels, enabling traders to quickly assess relative strength of visible liquidation pockets without numerical clutter on the main chart area.
🔶 Touched Pocket Border System
Implements visual confirmation of executed liquidations through border highlighting when price trades through pocket zones. The system applies configurable transparency to touched pocket borders with inverted slider logic (lower values fade borders, higher values emphasize them), providing clear historical record of liquidated levels while maintaining focus on active untouched pockets.
🔶 Dual-Swing Density Enhancement
Features optional secondary swing width parameter that creates additional pocket layer with tighter pivot detection for increased liquidation level density. The system runs parallel pivot detection at both primary and secondary swing widths, populating chart with comprehensive liquidity mapping that captures both major swing liquidations and intermediate level clusters.
🔶 Adaptive Pocket Extension Framework
Utilizes intelligent time-based extension that projects untouched pockets forward by configurable bar count, maintaining visibility as price approaches potential liquidation zones. The system freezes touched pocket right edges at hit timestamps while extending active pockets dynamically, creating clear distinction between historical liquidations and forward-projected active levels.
🔶 Weight-Based Label Integration
Provides floating labels on untouched pockets displaying volume-formatted weight values with dynamic positioning that follows pocket extension. The system automatically manages label lifecycle, creating labels for new pockets, updating positions as pockets extend, and removing labels when pockets are touched, ensuring clean chart presentation with relevant liquidity information.
🔶 Performance Optimization Framework
Implements efficient array management with automatic clean-up of old pockets beyond lookback period and optimized box/label deletion to maintain smooth performance. The system includes configurable maximum object counts (500 boxes, 50 labels, 100 lines) with intelligent removal of oldest elements when limits are approached, ensuring consistent operation across extended timeframes.
This indicator delivers sophisticated liquidity zone analysis through pivot-based detection and volume-weighted intensity measurement with intuitive heatmap visualization. Unlike simple support/resistance indicators, the Liquidation Heatmap combines swing point identification with market activity metrics to identify where concentrated liquidations are likely to occur, while the gradient color system instantly communicates relative liquidity strength. The system's dual-swing architecture, configurable weight metrics, ATR-adaptive zone heights, and intelligent state management make it essential for traders seeking strategic position planning around institutional liquidity levels across cryptocurrency, forex, and futures markets. The visual heatmap approach enables instant identification of high-probability reversal zones where cascading liquidations may trigger significant price reactions.
Gap Zones with Unfilled AreasA very efficient scalping strategy for BTC. Both for the sell and buy. Take the trade when the price retraces back into 50% of the zone and and aim for a an easy 1:2
EMA Cross Pullback For M5 timeframe chart.
Best combine with MACD.
Stop Loss slightly below/above ema50.
Lab: Daily 50/200 EMA + ATR Stop (Long Only) by FlyingOceanTigerWHAT IT IS
Simple long-only daily trend system that combines the classic 50/200 EMA trend filter with an ATR-based trailing stop. Built as a lab tool for studying daily swing trades on major crypto pairs.
CORE IDEA
* Only trade in a bullish regime (50 EMA above 200 EMA).
* Enter when price shows strength in that trend.
* Exit using a volatility stop (ATR) or when the trend breaks.
* Keep rules simple and transparent so it’s easy to study and tweak.
LOGIC (DEFAULT VERSION)
Trend filter:
* Long signals only when EMA 50 > EMA 200 (bull trend).
Entry conditions:
* Price confirms strength above the fast EMA in a bullish regime.
* Strategy opens a “Long Entry” on the bar that meets the conditions.
Exit conditions:
* Primary exit: price hits the ATR stop line that trails under price.
* Failsafe exit: trend filter breaks / close back under key levels.
Timeframe:
* Designed and tested on 1D candles (daily bars), especially on BTC, ETH, SOL, XRP, BNB.
INTENDED USE
* Research tool to see how a basic 50/200 + ATR framework behaves through full bull/bear cycles.
* Simple daily swing-trade engine for long-only crypto exposure.
* Clean baseline to compare against more complex systems and filters.
NOTES / DISCLAIMER
* Works on any symbol and timeframe, but all testing was on daily crypto pairs.
* Parameters are intentionally minimal so you can experiment with your own settings.
* For educational and testing purposes only. Not financial advice and no guarantee of future results.
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, _tf, _isBull, _useLine, _colorBG, _colorBD, _colorText, _cache)
CreateBox
@description 박스 생성 (breachMode 자동 결정).\
_boxType: "fob", "rb", "custom" → directionalHighLow, 나머지 → both.\
_tf: 시간대 (timeframe.period 또는 HTF).\
_isBull: true(상승 박스), false(하락 박스).\
_cache: HTF 사용 시 필수, CurrentTF는 na.\
반환: .
Parameters:
_boxType (string) : 박스 타입
_tf (string) : 시간대
_isBull (bool) : 상승(true) 또는 하락(false)
_useLine (bool) : 중간선 표시 여부
_colorBG (color) : 박스 배경색
_colorBD (color) : 박스 테두리색
_colorText (color) : 텍스트 색상
_cache (HTFCache) : HTF 캐시 데이터
Returns: 성공 여부와 박스 데이터
CreateBox(_boxType, _tf, _isBull, _useLine, _colorBG, _colorBD, _colorText, _cache, _customText)
CreateBox
@description 박스 생성 (커스텀 텍스트 지원, breachMode 자동 결정).\
_boxType: "fob", "rb", "custom" → directionalHighLow, 나머지 → both.\
_customText: 박스에 표시할 텍스트 (비어있으면 "시간대 박스타입" 형식으로 자동 생성).\
_isBull: true(상승 박스), false(하락 박스).\
반환: .
Parameters:
_boxType (string) : 박스 타입
_tf (string) : 시간대
_isBull (bool) : 상승(true) 또는 하락(false)
_useLine (bool) : 중간선 표시 여부
_colorBG (color) : 박스 배경색
_colorBD (color) : 박스 테두리색
_colorText (color) : 텍스트 색상
_cache (HTFCache) : HTF 캐시 데이터
_customText (string) : 커스텀 텍스트
Returns: 성공 여부와 박스 데이터
CreateBox(_boxType, _breachMode, _tf, _isBull, _useLine, _colorBG, _colorBD, _colorText, _cache, _customText)
CreateBox
@description 박스 생성 (breachMode 명시적 지정).\
_breachMode: "both"(양쪽 모두 돌파), "directionalHighLow"(방향성 high/low 돌파), "directionalClose"(방향성 close 돌파).\
_isBull: true(상승 박스), false(하락 박스).\
_customText: 박스에 표시할 텍스트 (비어있으면 "시간대 박스타입" 형식으로 자동 생성).\
반환: .
Parameters:
_boxType (string) : 박스 타입 (fob, fvg, sweep, rb, custom 등)
_breachMode (string) : 돌파 처리 방식: "both" (양쪽 모두), "directionalHighLow" (방향성 high/low), "directionalClose" (방향성 close)
_tf (string) : 시간대
_isBull (bool) : 상승(true) 또는 하락(false) 방향
_useLine (bool) : 중간선 표시 여부
_colorBG (color) : 박스 배경색
_colorBD (color) : 박스 테두리색
_colorText (color) : 텍스트 색상
_cache (HTFCache) : HTF 캐시 데이터 (CurrentTF는 na)
_customText (string) : 커스텀 텍스트 (비어있으면 자동 생성)
Returns: 성공 여부와 박스 데이터
CreateCustomBox(_boxType, _breachMode, _isBull, _top, _bottom, _left, _right, _useLine, _colorBG, _colorBD, _colorText, _text)
CreateCustomBox
@description 완전히 유연한 커스텀 박스 생성.\
사용자가 박스 위치(top, bottom, left, right), breach mode, 모든 파라미터를 직접 지정.\
조건 체크는 사용자 스크립트에서 수행하고, 이 함수는 박스 생성만 담당.\
새로운 박스 타입 추가 시 라이브러리 수정 없이 사용 가능.
Parameters:
_boxType (string) : 박스 타입 (사용자 정의 문자열)
_breachMode (string) : 돌파 처리 방식: "both", "directionalHighLow", "directionalClose", "sobClose"
_isBull (bool) : 상승(true) 또는 하락(false) 방향
_top (float) : 박스 상단 가격
_bottom (float) : 박스 하단 가격
_left (int) : 박스 시작 시간 (xloc.bar_time 사용)
_right (int) : 박스 종료 시간 (xloc.bar_time 사용)
_useLine (bool) : 중간선 표시 여부
_colorBG (color) : 박스 배경색
_colorBD (color) : 박스 테두리색
_colorText (color) : 텍스트 색상
_text (string) : 박스에 표시할 텍스트
Returns: 성공 여부와 박스 데이터
ProcessBoxDatas(_openBoxes, _closedBoxes, _useMidLine, _closeCount, _colorClose, _currentBarIndex, _currentLow, _currentHigh, _currentTime)
ProcessBoxDatas
@description 박스 확장 및 돌파 처리.\
열린 박스들을 현재 bar까지 확장하고, 돌파 조건 체크.\
_closeCount: 돌파 횟수 (이 횟수만큼 돌파 시 박스 종료).\
breachMode에 따라 돌파 체크 방식 다름 (both/directionalHighLow/directionalClose).\
종료된 박스는 _closedBoxes로 이동하고 _colorClose 색상 적용.\
barstate.islast와 barstate.isconfirmed에서 호출 권장.
Parameters:
_openBoxes (array) : 열린 박스 배열
_closedBoxes (array) : 닫힌 박스 배열
_useMidLine (bool) : 중간선 표시 여부
_closeCount (int) : 돌파 카운트 (이 횟수만큼 돌파 시 종료)
_colorClose (color) : 종료된 박스 색상
_currentBarIndex (int) : 현재 bar_index
_currentLow (float) : 현재 low
_currentHigh (float) : 현재 high
_currentTime (int) : 현재 time
Returns: bool 항상 true
UpdateHTFCache(_cache, _tf)
UpdateHTFCache
@description HTF 데이터 캐싱 (성능 최적화).\
HTF의 OHLC 데이터를 캐싱하여 매 틱마다 request.security 호출 방지.\
_cache: 기존 캐시 (없으면 na, 첫 호출 시).\
_tf: 캐싱할 시간대 (예: "60", "1D").\
새 bar 또는 bar_index 변경 시에만 업데이트, 그 외에는 기존 캐시 반환.\
Parameters:
_cache (HTFCache) : 기존 캐시 데이터 (없으면 na)
_tf (string) : 시간대
Returns: HTFCache 업데이트된 캐시 데이터
GetTimeframeSettings(_currentTF, _midTF1m, _highTF1m, _midTF5m, _highTF5m, _midTF15m, _highTF15m, _midTF30m, _highTF30m, _midTF60m, _highTF60m, _midTF240m, _highTF240m, _midTF1D, _highTF1D, _midTF1W, _highTF1W, _midTF1M, _highTF1M)
GetTimeframeSettings
@description 현재 차트 시간대에 맞는 중위/상위 시간대 자동 선택.\
_currentTF: 현재 차트 시간대 (timeframe.period).\
1분~1월 차트별로 적절한 중위/상위 시간대 매핑.\
예: 5분 차트 → 중위 15분, 상위 60분.\
반환: .\
Parameters:
_currentTF (string) : 현재 차트 시간대
_midTF1m (string)
_highTF1m (string)
_midTF5m (string)
_highTF5m (string)
_midTF15m (string)
_highTF15m (string)
_midTF30m (string)
_highTF30m (string)
_midTF60m (string)
_highTF60m (string)
_midTF240m (string)
_highTF240m (string)
_midTF1D (string)
_highTF1D (string)
_midTF1W (string)
_highTF1W (string)
_midTF1M (string)
_highTF1M (string)
Returns:
BoxData
BoxData
Fields:
_type (series string) : 박스 타입 (fob, fvg, sweep, rb, custom 등)
_breachMode (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)
_createdBar (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)
Open Interest RSI [BackQuant]Open Interest RSI
A multi-venue open interest oscillator that aggregates OI across major derivatives exchanges, converts it to coin or USD terms, and runs an RSI-style engine on that aggregated OI so you can track positioning pressure, crowding, and mean reversion in leverage flows, not just in price.
What this is
This tool is an RSI built on top of aggregated open interest instead of price. It pulls futures OI from several major exchanges, converts it into a unified unit (COIN or USD), sums it into a single synthetic OI candle, then applies RSI and smoothing to that combined series.
You can then render that Open Interest RSI in different visual modes:
Clean line or colored line for classic oscillator-style reads.
Column-style oscillator for impulse and compression views.
Flag mode that fills between OI RSI and its EMA for trend/mean reversion blends. See:
Heatmap mode that paints the panel based on OI RSI extremes, ideal for scanning. See:
On top of that it includes:
Aggregated OI source selection (Binance, Bybit, OKX, Bitget, Kraken, HTX, Deribit).
Choice of OI units (COIN or USD).
Reference lines and OB/OS zones.
Extreme highlighting for either trend or mean reversion.
A vertical OI RSI meter that acts as a quick strength gauge.
Aggregated open interest source
Under the hood, the indicator builds a synthetic open interest candle by:
Looping over a list of supported exchanges: Binance, Bybit, OKX, Bitget, Kraken, HTX, Deribit.
Looping over multiple contract suffixes (such as USDT.P, USD.P, USDC.P, USD.PM) to capture different contract types on each venue.
Requesting OI candles from each venue + contract combination for the same underlying symbol.
Converting each OI stream into a common unit: In COIN mode, everything is normalized into coin-denominated OI. In USD mode, coin OI is multiplied by price to approximate notional OI.
Summing up open, high, low and close of OI across venues into a single aggregated OI candle.
If no valid OI is available for the current symbol across all sources, the script throws a clear runtime error so you know you are on an unsupported market.
This gives you a single, exchange-agnostic open interest curve instead of being tied to one venue. That aggregated OI is then passed into the RSI logic.
How the OI RSI is calculated
The RSI side is straightforward, but it is applied to the aggregated OI close:
Compute a base RSI of aggregated OI using the Calculation Period .
Apply a simple moving average of length Smoothing Period (SMA) to reduce noise in the raw OI RSI.
Optionally apply an EMA on top of the smoothed OI RSI as a moving average signal line.
Key parameters:
Calculation Period – base RSI length for OI.
Smoothing Period (SMA) – extra smoothing on the RSI value.
EMA Period – EMA length on the smoothed OI RSI.
The result is:
oi_rsi – raw RSI of aggregated OI.
oi_rsi_s – SMA-smoothed OI RSI.
ma – EMA of the smoothed OI RSI.
Thresholds and extremes
You control three core thresholds:
Mid Point – central reference level, typically 50.
Extreme Upper Threshold – high-level OI RSI edge (for example 80).
Extreme Lower Threshold – low-level OI RSI edge (for example 20).
These thresholds are used for:
Reference lines or OB/OS zone fills.
Heatmap gradient bounds.
Background highlighting of extremes.
The Extreme Highlighting mode controls how extremes are interpreted:
None – do nothing special in extreme regions.
Mean-Rev – background turns red on high OI RSI and green on low OI RSI, framing extremes as contrarian zones.
Trend – background turns green on high OI RSI and red on low OI RSI, framing extremes as participation zones aligned with the prevailing move.
Reference lines and OB/OS zones
You can choose:
None – clean plotting without guides.
Basic Reference Lines – mid, upper and lower thresholds as simple gray horizontals.
OB/OS Levels – filled zones between:
Upper OB: from the upper threshold to 100, colored with the short/overbought color.
Lower OS: from 0 to the lower threshold, colored with the long/oversold color.
These guides help visually anchor the OI RSI within "normal" versus "extreme" regions.
Plotting modes
The Plotting Type input controls how OI RSI is drawn. All modes share the same underlying OI and RSI logic, but emphasise different aspects of the signal.
1) Line mode
This is the classic oscillator representation:
Plots the smoothed OI RSI as a simple line using RSI Line Color and RSI Line Width .
Optionally plots the EMA overlay on the same panel.
Works well when you want standard RSI-style signals on leverage flows: crosses of the midline, divergences versus price, and so on.
2) Colored Line mode
In this mode:
The OI RSI is plotted as a line, but its color is dynamic.
If the smoothed OI RSI is above the mid point, it uses the Long/OB Color .
If it is below the mid point, it uses the Short/OS Color .
This creates an instant visual regime switch between "bullish positioning pressure" and "bearish positioning pressure", while retaining the feel of a traditional RSI line.
3) Oscillator mode
Oscillator mode renders OI RSI as vertical columns around the mid level:
The smoothed OI RSI is plotted as columns using plot.style_columns .
The histogram base is fixed at 50, so bars extend above and below the mid line.
Bar color is dynamic, using long or short colors depending on which side of the mid point the value sits.
This representation makes impulse and compression in OI flows more obvious. It is especially useful when you want to focus on how quickly OI RSI is expanding or contracting around its neutral level. See:
4) Flag mode
Flag mode turns OI RSI and its EMA into a two-line band with a filled area between them:
The smoothed OI RSI and its EMA are both plotted.
A fill is drawn between them.
The fill color flips between the long color and the short color depending on whether OI RSI is above or below its EMA.
Black outlines are added to both lines to make the band clear against any background.
This creates a "flag" style region where:
Green fills show OI RSI leading its EMA, suggesting positive positioning momentum.
Red fills show OI RSI trailing below its EMA, suggesting negative positioning momentum.
Crossovers of the two lines can be read as shifts in OI momentum regime.
Flag mode is useful if you want a more structural view that combines both the level and slope behaviour of OI RSI. See:
5) Heatmap mode
Heatmap mode recasts OI RSI as a single-row gradient instead of a line:
A single row at level 1 is plotted using column style.
The color is pulled from a gradient between the lower and upper thresholds: Near the lower threshold it approaches the short/oversold color and near the upper threshold it approaches the long/overbought color.
The EMA overlay and reference lines are disabled in this mode to keep the panel clean.
This is a very compact way to track OI RSI state at a glance, especially when stacking it alongside other indicators. See:
OI RSI vertical meter
Beyond the main plot, the script can draw a small "thermometer" table showing the current OI RSI position from 0 to 100:
The meter is a two-column table with a configurable number of rows.
Row colors form an inverted gradient: red at the top (100) and green at the bottom (0).
The script clamps OI RSI between 0 and 100 and maps it to a row index.
An arrow marker "▶" is drawn next to the row corresponding to the current OI RSI value.
0 and 100 labels are printed at the ends of the scale for orientation.
You control:
Show OI RSI Meter – turn the meter on or off.
OI RSI Blocks – number of vertical blocks (granularity).
OI RSI Meter Position – panel anchor (top/bottom, left/center/right).
The meter is particularly helpful if you keep the main plot in a small panel but still want an intuitive strength gauge.
How to read it as a market pressure gauge
Because this is an RSI built on aggregated open interest, its extremes and regimes speak to positioning pressure rather than price alone:
High OI RSI (near or above the upper threshold) indicates that open interest has been increasing aggressively relative to its recent history. This often coincides with crowded leverage and a buildup of directional pressure.
Low OI RSI (near or below the lower threshold) indicates aggressive de-leveraging or closing of positions, often associated with flushes, forced unwinds or post-liquidation clean-ups.
Values around the mid point indicate more balanced positioning flows.
You can combine this with price action:
Price up with rising OI RSI suggests fresh leverage joining the move, a more persistent trend.
Price up with falling OI RSI suggests shorts covering or longs taking profit, more fragile upside.
Price down with rising OI RSI suggests aggressive new shorts or levered selling.
Price down with falling OI RSI suggests de-leveraging and potential exhaustion of the move.
Trading applications
Trend confirmation on leverage flows
Use OI RSI to confirm or question a price trend:
In an uptrend, rising OI RSI with values above the mid point indicates supportive leverage flows.
In an uptrend, repeated failures to lift OI RSI above mid point or persistent weakness suggest less committed participation.
In a downtrend, strong OI RSI on the downside points to aggressive shorting.
Mean reversion in positioning
Use thresholds and the Mean-Rev highlight mode:
When OI RSI spends extended time above the upper threshold, the crowd is extended on one side. That can set up squeeze risk in the opposite direction.
When OI RSI has been pinned low, it suggests heavy de-leveraging. Once price stabilises, a re-risking phase is often not far away.
Background colours in Mean-Rev mode help visually identify these periods.
Regime mapping with plotting modes
Different plotting modes give different perspectives:
Heatmap mode for dashboard-style use where you just need to know "hot", "neutral" or "cold" on OI flows at a glance.
Oscillator mode for short term impulses and compression reads around the mid line. See:
Flag mode for blending level and trend of OI RSI into a single banded visual. See:
Settings overview
RSI group
Plotting Type – None, Line, Colored Line, Oscillator, Flag, Heatmap.
Calculation Period – base RSI length for OI.
Smoothing Period (SMA) – smoothing on RSI.
Moving Average group
Show EMA – toggle EMA overlay (not used in heatmap).
EMA Period – length of EMA on OI RSI.
EMA Color – colour of EMA line.
Thresholds group
Mid Point – central reference.
Extreme Upper Threshold and Extreme Lower Threshold – OB/OS thresholds.
Select Reference Lines – none, basic lines or OB/OS zone fills.
Extreme Highlighting – None, Mean-Rev, Trend.
Extra Plotting and UI
RSI Line Color and RSI Line Width .
Long/OB Color and Short/OS Color .
Show OI RSI Meter , OI RSI Blocks , OI RSI Meter Position .
Open Interest Source
OI Units – COIN or USD.
Exchange toggles: Binance, Bybit, OKX, Bitget, Kraken, HTX, Deribit.
Notes
This is a positioning and pressure tool, not a complete system. It:
Models aggregated futures open interest across multiple centralized exchanges.
Transforms that OI into an RSI-style oscillator for better comparability across regimes.
Offers several visual modes to match different workflows, from detailed analysis to compact dashboards.
Use it to understand how leverage and positioning are evolving behind the price, to gauge when the crowd is stretched, and to decide whether to lean with or against that pressure. Attach it to your existing signals, not in place of them.
Also, please check out @NoveltyTrade for the OI Aggregation logic & pulling the data source!
Here is the original script:
Pre-Market Confirmed Momentum – FULL WATCHLIST 2025**Pre-Market Confirmed Momentum – High-Conviction Gap Scanner (2025)**
Scans 94 high-liquidity NASDAQ/NYSE stocks (NVDA, TSLA, COIN, AMD, SOFI, ASTS, CIFR, etc.) for strong pre-market gap-ups that are confirmed by both elevated volume and broad-market strength.
**Entry triggers only when ALL are true at 09:29 ET:**
- ≥ +1.5% gap from previous regular close
- Pre-market volume ≥ 2.5× the 20-day average
- QQQ pre-market ≥ +0.5% (market filter)
Back-tested June 2024 – Dec 2025:
68 signals → **+1.96% average intraday return** → **75% win rate** after 1.5% hard stop.
Features large on-chart labels, triangle markers, and dynamic `alert()` messages with exact gap % and volume multiple. Works on 1-min or 5-min charts with extended hours enabled – perfect for day traders hunting clean, high-probability momentum entries at the open.
Ready for watchlist scanning and real-time alerts. Enjoy the edge! 🚀
A.P.E Quarter PtsThis indicator draws a set of straight horizontal price levels on your chart.
Each line is spaced evenly apart at a distance you choose — these are called quarter-points.
As price moves, the grid of lines stays centered around the current price, so you always see the nearest support and resistance levels. The lines above price show possible resistance, and the lines below price show possible support.
Some of the lines can be drawn thicker or in a stronger color to show more important levels.
Overall, the indicator gives you a clean, easy-to-read structure of evenly spaced levels that help you see where price may react, stall, bounce, or reverse.
Silver 30m HUD — Trend / Flow / PB / VWAP / TurboSilver 30m HUD is a streamlined Pine Script v5 indicator optimized exclusively for 30-minute silver futures (SIL) charts on TradingView. It displays a compact 2-column middle-right table analyzing trend, flow, momentum, pullback, VWAP, turbo, and final signals with safety stars and risk warnings. Enforces 30m timeframe usage via label alert on other periods.
Key Engines
Trend Fusion
Combines 30m (close vs SMA60) with 2H higher timeframe for UP/DOWN/FLAT consensus; MIXED on divergence. Serves as primary directional filter.
Flow Detection
Identifies volume surges (>2.2x 20-period SMA) as BULL/BEAR SURGE, else defaults to candle direction (UP/DOWN). Captures aggressive buying/selling pressure.
Momentum Composite
QQE/RSI/MFI blend: both >55 = UP, both <45 = DOWN, otherwise EXHAUST. Flags overextended moves.
Pullback Safety
Rates position vs SMA20/50: above both = OK, above 20 but below 50 = Weak, below both = Danger. Prevents chasing extended trends.
VWAP & Turbo
Price vs session VWAP (UP/DOWN); turbo flags >1% candle moves as UP/DOWN acceleration or EXHAUST.
Signals & Risk
Final Signal Logic
BUY requires UP trend + OK PB + UP VWAP + no DOWN mom; SELL needs DOWN trend + non-OK PB + DOWN VWAP; EXHAUST mom = CHOP; else WAIT.
Safety Ratings
BUY stars: 5🟩 (perfect confluence), 3🟩 (basic BUY); SELL: 4🟥 (full signal), 3🟥 (exhaustion).
Risk Alert
Triggers ⚠️ on BUY signals with 2H DOWN trend and <0.20 from resistance (distR), warning multi-timeframe conflict + overhead supply. Displays S/R levels and distances in mintick format.
HUD Layout
12-row table prioritizes scannability: metrics left (gray), statuses right (color-coded green/red/gray), bottom shows Dist to R/S, levels, and RISK. Ideal for quick 30m SIL scalping decisions balancing confluence and safety.
BuLLzEyE_MNQ FVG/IFVG SystemFVG Boxes
These are the main trading zones. The indicator automatically detects Fair Value Gaps and draws boxes on your chart:
• GREEN boxes = Bullish FVG (potential buy zone)
• RED boxes = Bearish FVG (potential sell zone)
• YELLOW boxes = IFVG (Inverse FVG - filled gaps that now act as support/resistance)
• GRAY boxes = Mitigated FVG (gap has been filled)
• WHITE dashed line = 50% level (optimal entry point within the FVG)
Session Boxes
Session boxes show you the high/low range of each major trading session. This helps identify where liquidity sits:
• PURPLE = Asia Session (6:00 PM - 3:00 AM ET)
• BLUE = London Session (3:00 AM - 12:00 PM ET)
• ORANGE = New York Session (9:30 AM - 4:00 PM ET)
• TEAL = Sydney Session (5:00 PM - 2:00 AM ET)
• LIME GREEN = Kill Zone / London-NY Overlap (8:00 AM - 11:00 AM ET) - BEST TRADING TIME
Entry Signals
• GREEN triangle pointing UP = Long entry signal at a Bullish FVG (not 100% reliable)
• RED triangle pointing DOWN = Short entry signal at a Bearish FVG (not 100% reliable)
Liquidity Sweeps
• RED X with 'SWEEP' = Previous Day High (PDH) was swept
• GREEN X with 'SWEEP' = Previous Day Low (PDL) was swept
• Dotted lines = PDH (red) and PDL (green) levels
Information Tables
HTF Bias Table (Top Right): Shows whether the higher timeframe (default 15m) is bullish or bearish, the number of active FVGs, and whether you're in the trading session.
Risk Calculator Table (Bottom Right): Shows your risk amount and calculates how many contracts you can trade for different stop loss sizes (5pt, 10pt, 15pt).
How It Works
What is a Fair Value Gap?
A Fair Value Gap (FVG) is a 3-candle pattern where aggressive buying or selling creates a price void. Specifically, it's when the wick of the first candle doesn't overlap with the wick of the third candle, leaving a gap in between. Price tends to return to these gaps to 'rebalance' before continuing in the original direction.
What is an Inverse FVG?
When an FVG gets filled (price returns and closes through the gap), it becomes an Inverse FVG (IFVG). These zones flip their polarity - a filled Bullish FVG becomes resistance, and a filled Bearish FVG becomes support. The indicator automatically converts mitigated FVGs to yellow IFVG boxes.
The 50% Entry Level
The dashed white line in each FVG represents the 50% level (also called Consequent Encroachment). This is considered the optimal entry point - it's the middle of the imbalance where price is most likely to react.
Suggested Trading Strategy
1. Check HTF Bias (top right table) - only trade in that direction
2. Wait for a liquidity sweep (SWEEP label appears)
3. Look for an FVG to form AFTER the sweep
4. Enter when price returns to the 50% level (dashed line)
5. Place stop loss below/above the FVG (add 2 ticks buffer)
6. Take profit at 1:2 or 1:3 risk-to-reward ratio
Settings Explained
FVG Settings
• Min FVG Size: Minimum gap size in points to be considered valid (default: 2.0)
• Max FVG Age: How many bars until an FVG is removed from chart (default: 50)
• Show 50% Entry Level: Toggle the dashed entry line on/off
Session Settings
• Show Session Boxes: Toggle all session boxes on/off
• Max Sessions to Show: How many historical sessions to display (default: 5)
• Individual Session Toggles: Turn each session (Asia/London/NY/Sydney/Kill Zone) on or off
Risk Calculator Settings
• Account Size: Your trading account balance
• Risk Per Trade: Percentage of account to risk per trade (default: 0.5%)
• Tick Value/Size: Contract specifications for MNQ ($0.50 per tick, 0.25 point tick size)
Tips for Best Results
1. Trade during the Kill Zone (8:00-11:00 AM ET) for best volatility and liquidity
2. Always align trades with HTF bias - don't fight the trend
3. Wait for liquidity sweeps before entering - this confirms smart money activity
4. Use the 50% level for entries - it offers the best risk-to-reward
5. Watch for IFVG zones as additional confluence for entries
6. Use the risk calculator to size positions properly - never risk more than you can afford
7. Session boxes help identify where stops are clustered - sweeps of these levels often precede reversals
Available Alerts
• New FVG Formed (Bullish or Bearish)
• Price Touching 50% Entry Level
• FVG Mitigated (gap filled)
• Long Entry Signal
• Short Entry Signal
• PDH/PDL Liquidity Sweep
─────────────────────────────────────
Created by BullyTrading
Designed for MNQ Prop Firm Trading
Gemini Hibrit Avcı (Supertrend + StochRSI)SupertrendOption 1: Natural & Conversational (Best Match for Original Tone)
This version captures the explanatory, "speaking to a friend" vibe of your Turkish text.
Supertrend: When you look at the chart, you'll see Green or Red clouds in the background. This basically tells you, "Should you only be thinking about buying right now, or selling?"
Stoch RSI: You know how the price sometimes makes a correction (drops slightly) even when the Supertrend is green? This indicator catches the exact moment that correction ends and the price starts heading back up (the K and D crossover).
EMA 200 Filter: This comes enabled by default in your settings. It means: "If the price is below the 200-day average, do not—under any circumstances—enter a trade, even if the Supertrend gives a BUY signal." This protects you from fake rallies (bull traps) during a bear market.
Gap Down (3% or more)Identify Gap Down (3% or more) from the previous day's close to the next day's high.
Chaos Volatility Breakout (ATR + Breakout)-VMThis indicator is a volatility-based breakout trading tool inspired by principles from Chaos Theory, where small changes in momentum during high-energy market conditions can lead to large price movements.
Instead of predicting the market, it focuses on identifying “high-probability expansion zones”—moments when the market is under stress (high volatility) and price is breaking out of a recent range.
Smart Non-Overlapping S/R How to Interpret This Chart
The "Cluster" Effect: Look for areas where lines from different timeframes are close together (e.g., a Daily Support line is right next to a 4-Hour Support line). These "clusters" are very strong zones where price is highly likely to bounce.
Breakouts:
Bullish Breakout: If a candle closes above a Resistance line (e.g., "Daily Res"), that line often turns into new Support.
Bearish Breakout: If a candle closes below a Support line (e.g., "Daily Sup"), that line often turns into new Resistance.
Color Coding:
Orange (Daily): Major levels. Expect big reactions here.
Purple (4H): Medium trend levels. Good for swing trades.
Blue (1H): Minor levels. Good for day trading entries.




















