Delta Volume Bubble [Quant Z-Score] by tncylyvDelta/Volume Bubble by tncylyv
This indicator is a quantitative order flow tool designed to visualize statistically significant volume and delta anomalies directly on the price chart. By moving away from raw, noisy volume numbers and utilizing Z-Score (Standard Score) statistics, this tool adapts to changing market volatility to highlight areas of heavy institutional interest or exhaustion.
It combines statistical analysis with Price Action concepts (Effort vs. Result) to detect "Absorption"—market conditions where high volume occurs with very little price movement.
1. Core Concepts & Methodology
A. Adaptive Z-Score (The "Quant" Logic)
Raw volume data is often difficult to interpret because volume fluctuates wildly between sessions (e.g., the Asian session typically has lower volume than the New York Open).
Instead of using a fixed volume threshold (e.g., "Alert me if volume > 1000"), this script calculates the Z-Score.
It measures how many Standard Deviations (
σ
) the current volume is from the historical average.
Significance: A Z-Score of +2.0 or higher puts the current candle in the top 5% of statistical occurrences, filtering out noise and highlighting true anomalies.
B. Absorption Detection (Effort vs. Result)
This feature identifies "Trapped Traders."
The Logic: If the Z-Score indicates extremely high volume (High Effort), but the price candle has a very small body (Low Result), it implies that aggressive market orders are being absorbed by passive limit orders.
Visual: These specific anomalies can be highlighted with a unique halo effect, signaling a potential reversal or stop-hunt area.
C. Intra-Bar True VWAP (Smart Placement)
Standard indicators usually plot symbols at the High, Low, or Close of a candle.
This script utilizes request.security_lower_tf to analyze the Lower Timeframe (LTF) structure of the specific bar.
It calculates the exact Volume Weighted Average Price (VWAP) of that single candle.
Benefit: The bubble is drawn exactly where the heaviest volume occurred inside the candle, providing a more accurate level for future Support/Resistance tests.
2. Key Features
Dual Data Modes: Switch seamlessly between Volume Delta (Buying vs. Selling pressure) or standard Total Volume.
Dynamic Sizing: Bubble sizes (Small, Medium, Large) scale automatically based on the intensity of the Z-Score.
Absorption Logic: Automatically flags candles where volume is high but price progression is stalled.
Adaptive Visuals: Colors and opacity can fade dynamically based on the strength of the signal, or remain solid based on user preference.
Alert System: Fully configurable alerts for Z-Score breakouts and Absorption detection.
3. How to Use
This tool is best used to identify Reversals and Breakout Validation.
Trend Exhaustion (Climax):
If price is trending up and a large "Bullish" bubble appears at the highs with a long upper wick or small body (Absorption), it may indicate buying exhaustion and passive selling.
Breakout Confirmation:
If price breaks a key support/resistance level accompanied by a Large Bubble (High Z-Score), it confirms institutional backing for the move.
Support/Resistance Defense:
The "True VWAP" location of the bubble often acts as a re-test level. If price retraces to the center of a previous large bubble, observe for a reaction.
4. Settings Guide
Data Settings
Calculation Source: Choose between Volume Delta (Up/Down tick analysis) or Regular Volume.
Lower TF Granularity: The timeframe used to calculate the specific "True VWAP" location inside the bar (e.g., 1S or 1M).
Statistical Lookback: The number of bars used to calculate the baseline Average and Standard Deviation (Default: 60).
Quant Logic
Calculation Mode:
Adaptive (Z-Score): Triggers based on relative statistical anomalies (Recommended).
Fixed: Triggers based on raw volume numbers.
Z-Score Threshold: The sensitivity level. 2.0 is standard; higher values (e.g., 3.0) will show fewer, more extreme signals.
Absorption Logic
Detect Absorption: Enables the calculation for small-bodied high-volume candles.
Absorption Ratio: Defines how "small" the body must be relative to the average to qualify as absorption (0.1 to 1.0).
Visuals
Theme: Switch between Dark (Mint/Coral) and Light (Royal/Sunset) themes.
Scale Size: If enabled, bubbles grow larger as the Z-Score increases.
Glow Effect: Adds a neon glow for better visibility on dark backgrounds.
________________________________________
Risk Disclaimer:
This indicator is for informational and educational purposes only. Volume and Delta analysis are subjective interpretation methods. Past performance, or statistical anomalies shown by this script, do not guarantee future results. Always manage your risk appropriately.
Volume
SVP + candle + Max volume [midst]
SVP + DALY CANDLE + MAX VOLUME
A comprehensive trading indicator that combines Session Volume Profile (SVP), Higher Timeframe (HTF) Candles, and Intrabar Max Volume Price Detection into one powerful tool. Perfect for traders who want to understand price action, volume distribution, and key levels all in one place.
KEY FEATURES
Session Volume Profile
• Real-time volume distribution across price levels for the current session
• Point of Control (POC) - identifies the price with the highest traded volume
• Value Area High (VAH) & Low (VAL) - shows where 70% of the volume occurred (customizable percentage)
• Color-coded volume bars - distinguish between up volume (bullish) and down volume (bearish)
• Value area highlighting - clearly see the most important price zones
Higher Timeframe Candle Display
• Visual daily (or custom timeframe) candle overlaid on your current chart
• OHLC labels - see Open, High, Low, and Close prices clearly marked
• Fully customizable colors - separate colors for bullish/bearish bodies, borders, and wicks
• Adjustable positioning - move the candle and labels to your preferred location
Max Volume Price Detection
• Identifies the exact price level with maximum volume within each bar
• Uses Lower Timeframe (LTF) data for precise volume analysis (Premium+ required)
• Simple mode fallback - works on all TradingView plans
• Previous max volume marker - displays previous bar's max volume as a reference dot
• Real-time calculation - updates as each bar forms
ATR Table
• Dynamic ATR-based stop levels - automatically calculates potential stop-loss levels
• Multiple smoothing methods - RMA, SMA, EMA, WMA
• Customizable multiplier - adjust for your risk tolerance
• Clean table display - shows ATR value, high stop, and low stop
PERFECT FOR
Day traders analyzing intrabar volume distribution
Swing traders wanting HTF context on lower timeframes
Volume profile traders looking for key support/resistance levels
Price action traders seeking high-probability entry zones
HOW TO USE
Volume Profile Analysis
POC often acts as a magnet for price. VAH/VAL are key support/resistance levels. High volume nodes indicate strong price acceptance, while low volume nodes suggest potential breakout zones.
HTF Candle Context
See daily range while trading on 5m-1h charts. Daily open often acts as pivot point. Daily high/low are key levels to watch.
Max Volume Price
Black line shows where most volume traded in each bar. Previous max volume (dot) helps identify institutional activity. Clusters of max volume create strong support/resistance. Can possibly indicate a Wick bounce
ATR Stops
Use ATR-based levels for logical stop placement. Adjust multiplier based on market volatility.
SETTINGS & CUSTOMIZATION
Positioning
Control the global offset to move both candle and profile together. Fine-tune with individual offsets for candle and profile spacing.
Volume Profile
Adjustable number of rows (50-500) for granular or simplified view. Customizable width and placement (left/right). Value Area percentage control. Full color customization for all volume components.
HTF Candle
Any timeframe selection (default: Daily). Full color customization for bull/bear candles. Adjustable candle width. Toggle OHLC labels on/off. Control label distance and line widths.
Max Volume Price
Choose between Simple (all plans) or LTF mode (Premium+). Auto or manual LTF resolution. Custom color and line width. Toggle current and previous markers independently.
TECHNICAL NOTES
Maximum 5000 bars lookback for volume calculations
Works on all timeframes
LTF max volume requires TradingView Premium or higher
Optimized for performance with efficient array operations
For best results, use on liquid instruments with reliable volume data
Most effective on intraday charts (5min-1hour) for day trading and scalping strategies
For Entertainment and information only
Created by midst
HTF Accumulation Distribution Zones (Analysis)📌 Indicator Name
HTF Accumulation–Distribution Zones (Analysis)
This indicator highlights potential accumulation and distribution contexts on the price chart using a combination of volume behavior, volatility (ATR), momentum, and VWAP positioning.The script is designed to help traders understand market participation and positioning, especially on higher intraday and swing timeframes, where institutional activity tends to leave clearer footprints.
🔍 What the indicator shows
ACC (Accumulation) : Marks areas where controlled buying activity may be present, identified through:
Strong candle structure relative to volatility
Healthy or controlled volume participation
Improving momentum within defined ranges
DIST (Distribution) : Marks areas where selling pressure may be emerging, identified through:
Price stretching away from VWAP
Weakening momentum
Strong bearish candle structure
These labels represent contextual zones, not trade signals.
🧠 How to use it
Use ACC and DIST labels as market context, not as direct buy or sell instructions.
Best used as a confirmation layer alongside:
Trend filters (EMA, VWAP, structure)
Support & resistance
Breakout or pullback strategies
Works well on 15-minute, 30-minute, 1-hour, and higher timeframes
Suitable for indices, futures, and liquid stocks
⚠️ Important Notes
This indicator does not generate buy or sell signals. It does not predict future price movement. All outputs are based purely on historical data analysis. Always apply independent confirmation and proper risk management
Big Trades / Intrabar Volume Clusters by HKDescription:
This indicator brings professional Order Flow and Footprint capabilities to your chart. It detects and visualizes high-volume trade clusters inside the candle, allowing you to see exactly at which price level big market participants were active.
Unlike standard volume bars, this tool uses Intrabar Data to map significant buying and selling pressure precisely within the candle body.
ℹ️ IMPORTANT: Resolution Setting (Read First) To ensure this indicator works immediately for all users (including Free/Basic accounts), the default resolution is set to "1 Minute".
Basic/Free Users: Please keep the setting at "1" (Second-based intervals often require a paid plan).
Premium Users: For the best precision and the exact look shown in the screenshots, we highly recommend changing the Resolution setting to "5S" (5 Seconds)!
🚀 Key Features
Intrabar Precision: Leverages request.security_lower_tf to look inside the candle structure.
Noise Filtering: Only displays clusters that exceed your defined Minimum Volume threshold, filtering out retail noise.
Smart Coloring:
Green: Buying pressure (Close >= Open on the lower timeframe).
Red: Selling pressure (Close < Open on the lower timeframe).
🆕 Independent Sizing: A unique feature: You can control the Font Size and Circle Size independently.
This allows for small, non-intrusive circles with large, readable text.
⚙️ Settings
Resolution: Default is 1 (Minute). Premium users should switch to 5S for true order flow precision.
Minimum Volume: The most important filter. Determines how large a trade cluster must be to appear (e.g., 150+ for ETH, higher for BTC).
Visuals: Customize Buy/Sell colors, Circle Size, and Text Size separately.
⚠️ Visual Tip (If text is hidden)
If the bubbles or numbers appear behind the candles or disappear when clicking away:
Right-click on any of the indicator bubbles.
Select Visual Order -> Bring to Front.
This ensures the Big Trades data always floats on top of your price bars.
Market Acceptance Zones [Interakktive]Market Acceptance Zones (MAZ) identifies statistical price acceptance — areas where the market reaches agreement and price rotates rather than trends.
Unlike traditional support/resistance tools, MAZ does not assume where price "should" react. Instead, it highlights regions where multiple internal conditions confirm balance: directional efficiency drops, effort approximately equals result, volatility contracts, and participation remains stable.
This is a market-state diagnostic tool, not a signal generator.
█ WHAT THE ZONES REPRESENT
MAZ (ATF) — Chart Timeframe Acceptance
A MAZ marks an area where price displayed rotational behaviour and the auction temporarily agreed on value. These zones often act as compression regions, fair-price areas, or boundaries of consolidation where impulsive follow-through is less likely.
Use ATF MAZs to:
- Identify rotational environments
- Avoid chasing price inside balance
- Frame consolidation prior to expansion
MAZ • HTF / MAZ • 2/3 — Multi-Timeframe Acceptance (AMTF)
When Multi-Timeframe mode is enabled, MAZ evaluates acceptance on:
- The chart timeframe
- Two higher structural timeframes
If the minimum consensus threshold is met (default: 2 of 3), the zone is classified as AMTF. These zones represent stronger agreement and typically decay more slowly than single-timeframe acceptance.
AMTF zones are structurally stronger and are useful for:
- Higher-quality rotation areas
- Pullback framing within trends
- Context alignment across timeframes
H • MAZ — Historic Acceptance Zones
Historic MAZs represent older acceptance that has transitioned out of active relevance. These zones are hidden by default and can be enabled to provide long-term memory context.
█ AUTO MULTI-TIMEFRAME LOGIC
When MTF Mode is set to Auto, MAZ uses a deterministic structural mapping based on the current chart timeframe:
- 5m → 15m + 1H
- 15m → 1H + 4H
- 1H → 4H + 1D
- 4H → 1D + 1W
- 1D → 1W + 1M
This ensures consistent higher-timeframe context without manual configuration. Advanced users may switch to Manual mode to define custom timeframes.
█ ZONE LIFECYCLE
MAZ zones are dynamic and maintain an internal lifecycle:
- Active — Acceptance remains relevant
- Aging — Acceptance quality is degrading
- Historic — Retained only for memory context
Zones track price interaction and re-acceptance, which can stabilise or strengthen them. Weak or stale zones are automatically removed to keep the chart clean.
█ HOW TRADERS USE MAZ
MAZ is designed to provide structure, not entries.
Common applications include:
- Avoiding chop when price is inside acceptance
- Framing expansion after clean breaks from MAZ
- Identifying higher-quality rotational pullbacks (AMTF zones)
- Defining objective invalidation using zone boundaries
█ SETTINGS OVERVIEW
Market Acceptance Zones — Core
- Acceptance Lookback
- ATR Length
- Zone Frequency (Conservative / Balanced / Aggressive)
Market Acceptance Zones — Zones
- Maximum Zones
- Fade & Stale Bars
- Historic Zone Visibility (default OFF)
Market Acceptance Zones — Timeframes
- MTF Mode (Off / Auto / Manual)
- Manual Higher Timeframes
- Minimum Consensus Requirement
Market Acceptance Zones — Visuals
- Neon / Muted Theme
- Zone Labels & Consensus Detail
- Optional Midline Display
█ DISCLAIMER
This indicator is a market context and diagnostic tool only.
It does not generate trade signals, entries, or exits.
Past acceptance behaviour does not guarantee future price action.
Always combine with independent analysis and proper risk management.
Volume PressureVolume Pressure
Volume Pressure is a volume-flow based oscillator designed to visualize relative buying and selling pressure using a refined Volume Flow Index (VFI) methodology. The indicator evaluates how volume behaves in relation to price movement and volatility, and presents this information as a smooth flow line with adaptive color intensity for easier interpretation.
What the Indicator Shows
Volatility-filtered volume participation
Directional volume flow derived from price change
A smoothed flow line with dynamic color intensity
A signal line for visual reference
The flow line is layered to enhance visibility, making it easier to read on dark chart backgrounds and smaller panels.
How to Read It
Flow Line: Represents relative volume pressure
Above zero: positive pressure
Below zero: negative pressure
Color Intensity:
Brighter colors indicate stronger relative pressure
Faded colors indicate weaker or neutral pressure
Signal Line: A smoothed reference of flow behavior
Usage Notes
Designed as a visual analysis and confirmation tool
Can be used across intraday and higher timeframes
Best used alongside price action, trend, or structure analysis
Disclaimer
This indicator is for analytical and educational purposes only.
It does not provide buy or sell signals and does not imply future performance.
Ultimate Indicator Hanno//@version=5
// ╔══════════════════════════════════════════════════════════════════════╗
// ║ 🚀 ULTIMATE SPOT TRADING ASSISTANT ║
// ╠══════════════════════════════════════════════════════════════════════╣
// ║ Indikator ini dibuat exclusive untuk member Tradingtalk.web.id ║
// ║ Dilarang menyebarkan tanpa izin dari Tradingtalk.web.id ║
// ║ Dibuat Untuk Scalping, Daytrading & Swing Trading ║
// ╚══════════════════════════════════════════════════════════════════════╝
indicator("Ultimate Trading Assistant ", overlay=true, max_boxes_count=500, max_lines_count=500, max_labels_count=50)
// --- 1. SETTINGS ---
// Group: Volume Profile
int lookback_length = input.int(300, "VP Range (Candle)", group="Volume Profile", minval=50)
int row_size = input.int(100, "VP Resolusi", group="Volume Profile", minval=10)
int val_area_pct = input.int(70, "Value Area %", group="Volume Profile", minval=1)
float width_pct = input.float(40, "Lebar Histogram (%)", group="Volume Profile")
// Group: Indikator Penguat
int ema_len = input.int(200, "EMA Trend Filter", group="Indikator Penguat")
int rsi_len = input.int(14, "RSI Momentum", group="Indikator Penguat")
// Group: UI
bool show_dash = input.bool(true, "Tampilkan Dashboard", group="UI")
bool show_sr = input.bool(true, "Tampilkan S1/S2 & R1/R2", group="UI")
bool show_chart_signal = input.bool(true, "Tampilkan Segitiga Signal di Chart", group="UI")
string box_theme = input.string("Dark", "Tampilan Theme (Box & Table)", options= , group="UI")
// Warna
color bull_col = input.color(color.new(color.teal, 60), "Warna Buy")
color bear_col = input.color(color.new(color.red, 60), "Warna Sell")
color poc_col = input.color(color.yellow, "Warna POC")
color va_col = input.color(color.red, "Warna Garis VAH/VAL")
color sr_col = input.color(color.new(color.blue, 30), "Warna S/R Lines")
// --- 2. HELPER FUNCTIONS ---
get_txt_color(color bg_color) =>
r = color.r(bg_color)
g = color.g(bg_color)
b = color.b(bg_color)
luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255
luminance > 0.5 ? color.black : color.white
// --- 3. CALCULATIONS (INDICATORS) ---
// Indikator ini dihitung setiap candle
float ema_filter = ta.ema(close, ema_len)
float rsi_val = ta.rsi(close, rsi_len)
// --- VPA CALCULATIONS ---
float avg_vol = ta.sma(volume, 20)
float spread = high - low
float avg_spread = ta.sma(spread, 20)
bool vpa_high_vol = volume > (avg_vol * 1.5)
bool vpa_low_vol = volume < (avg_vol * 0.5)
bool vpa_wide_spread = spread > (avg_spread * 1.2)
bool vpa_narrow_spread = spread < (avg_spread * 0.8)
// Plot EMA
plot(ema_filter, "EMA 200", color=color.new(color.orange, 20), linewidth=2)
// --- 4. VOLUME PROFILE & MAIN LOGIC ---
// Variabel persistent (var)
var box vol_boxes = array.new_box()
var line poc_line = na
var line vah_line = na
var line val_line = na
// Line S/R Variables
var line r1_line = na
var line r2_line = na
var line s1_line = na
var line s2_line = na
var label vah_lbl = na
var label val_lbl = na
var label poc_lbl = na
var label signal_lbl = na
// Label S/R Variables
var label r1_lbl = na
var label r2_lbl = na
var label s1_lbl = na
var label s2_lbl = na
var table info_table = table.new(position.top_right, 2, 6, border_width=1)
// Blok ini HANYA jalan di candle terakhir (Realtime/Closing)
if barstate.islast
// -- A. VP CORE LOGIC --
float highest_p = high
float lowest_p = low
int safe_lookback = math.min(lookback_length, bar_index)
// Loop mencari High/Low range
for i = 0 to safe_lookback - 1
highest_p := math.max(highest_p, high )
lowest_p := math.min(lowest_p, low )
float price_range = highest_p - lowest_p
float step = price_range / row_size
// Inisialisasi Array
float total_vol_arr = array.new_float(row_size, 0.0)
float vol_bull = array.new_float(row_size, 0.0)
float vol_bear = array.new_float(row_size, 0.0)
float grand_total_vol = 0.0
// Loop mengisi Volume Profile
for i = 0 to safe_lookback - 1
float c_mid = (high + low ) / 2
int row_idx = math.floor((c_mid - lowest_p) / step)
if row_idx >= row_size
row_idx := row_size - 1
if row_idx < 0
row_idx := 0
float v = volume
grand_total_vol := grand_total_vol + v
// Update total volume array
float current_total = array.get(total_vol_arr, row_idx)
array.set(total_vol_arr, row_idx, current_total + v)
if close >= open
float current_bull = array.get(vol_bull, row_idx)
array.set(vol_bull, row_idx, current_bull + v)
else
float current_bear = array.get(vol_bear, row_idx)
array.set(vol_bear, row_idx, current_bear + v)
// -- B. FIND POC & VA --
float max_row_vol = 0.0
int poc_idx = 0
// Cari POC
for i = 0 to row_size - 1
float tv = array.get(total_vol_arr, i)
if tv > max_row_vol
max_row_vol := tv
poc_idx := i
// Cari Value Area (VAH/VAL)
float target_vol = grand_total_vol * (val_area_pct / 100.0)
float current_va_vol = array.get(total_vol_arr, poc_idx)
int up_idx = poc_idx
int dn_idx = poc_idx
while current_va_vol < target_vol
float vol_up = (up_idx < row_size - 1) ? array.get(total_vol_arr, up_idx + 1) : 0.0
float vol_dn = (dn_idx > 0) ? array.get(total_vol_arr, dn_idx - 1) : 0.0
if vol_up == 0.0 and vol_dn == 0.0
break
if vol_up >= vol_dn
up_idx := up_idx + 1
current_va_vol := current_va_vol + vol_up
else
dn_idx := dn_idx - 1
current_va_vol := current_va_vol + vol_dn
// -- C. CLEANUP & PREP DRAWING --
if array.size(vol_boxes) > 0
for i = 0 to array.size(vol_boxes) - 1
box.delete(array.get(vol_boxes, i))
array.clear(vol_boxes)
line.delete(poc_line)
line.delete(vah_line)
line.delete(val_line)
line.delete(r1_line)
line.delete(r2_line)
line.delete(s1_line)
line.delete(s2_line)
label.delete(vah_lbl)
label.delete(val_lbl)
label.delete(poc_lbl)
label.delete(signal_lbl)
label.delete(r1_lbl)
label.delete(r2_lbl)
label.delete(s1_lbl)
label.delete(s2_lbl)
int right_anchor = bar_index + 10
// -- D. CALCULATE S/R BASED ON VP PEAKS (HVN) --
float max_vol_up = 0.0
int r1_idx = up_idx
if up_idx < row_size - 1
for k = up_idx + 1 to row_size - 1
float v = array.get(total_vol_arr, k)
if v > max_vol_up
max_vol_up := v
r1_idx := k
float max_vol_dn = 0.0
int s1_idx = dn_idx
if dn_idx > 0
for k = dn_idx - 1 to 0
float v = array.get(total_vol_arr, k)
if v > max_vol_dn
max_vol_dn := v
s1_idx := k
// -- DRAW BOXES (HISTOGRAM) --
for i = 0 to row_size - 1
float t_v = array.get(total_vol_arr, i)
if t_v > 0
float b_top = lowest_p + (step * (i + 1))
float b_btm = lowest_p + (step * i)
int bar_len = math.round(safe_lookback * (t_v / max_row_vol) * (width_pct / 100))
if bar_len < 1
bar_len := 1
bool in_va = (i >= dn_idx and i <= up_idx)
// --- LOGIKA TEMA DARK/LIGHT UNTUK BOX CHART ---
color base_bull = na
color base_bear = na
if box_theme == "Dark"
base_bull := in_va ? bull_col : color.new(bull_col, 85)
base_bear := in_va ? bear_col : color.new(bear_col, 85)
else
base_bull := in_va ? color.new(bull_col, 80) : color.new(bull_col, 95)
base_bear := in_va ? color.new(bear_col, 80) : color.new(bear_col, 95)
// ---------------------------------------------
float v_b = array.get(vol_bull, i)
float v_s = array.get(vol_bear, i)
color final_col = v_b > v_s ? base_bull : base_bear
if i == r1_idx or i == s1_idx
final_col := color.new(sr_col, 40)
if i == poc_idx
final_col := color.new(poc_col, 30)
box b = box.new(left=right_anchor - bar_len, top=b_top, right=right_anchor, bottom=b_btm, border_width=0, bgcolor=final_col)
array.push(vol_boxes, b)
// -- E. PLOT MAIN LINES --
float poc_lvl = lowest_p + (step * poc_idx) + (step/2)
float vah_lvl = lowest_p + (step * up_idx) + (step/2)
float val_lvl = lowest_p + (step * dn_idx) + (step/2)
float r1_lvl = lowest_p + (step * r1_idx) + (step/2)
float s1_lvl = lowest_p + (step * s1_idx) + (step/2)
float r2_lvl = highest_p
float s2_lvl = lowest_p
poc_line := line.new(bar_index - safe_lookback, poc_lvl, right_anchor + 15, poc_lvl, color=poc_col, width=2)
poc_lbl := label.new(right_anchor + 15, poc_lvl, "POC " + str.tostring(poc_lvl, format.mintick), color=poc_col, textcolor=get_txt_color(poc_col), style=label.style_label_left, size=size.small)
vah_line := line.new(bar_index - safe_lookback, vah_lvl, right_anchor + 15, vah_lvl, color=va_col, width=1, style=line.style_dashed)
vah_lbl := label.new(right_anchor + 15, vah_lvl, "VAH", color=va_col, textcolor=get_txt_color(va_col), style=label.style_label_left, size=size.small)
val_line := line.new(bar_index - safe_lookback, val_lvl, right_anchor + 15, val_lvl, color=va_col, width=1, style=line.style_dashed)
val_lbl := label.new(right_anchor + 15, val_lvl, "VAL", color=va_col, textcolor=get_txt_color(va_col), style=label.style_label_left, size=size.small)
if show_sr
r1_line := line.new(bar_index - safe_lookback, r1_lvl, right_anchor + 15, r1_lvl, color=sr_col, width=1, style=line.style_solid)
r1_lbl := label.new(right_anchor + 15, r1_lvl, "Resist 1 (HVN)", color=sr_col, textcolor=color.white, style=label.style_label_left, size=size.small)
s1_line := line.new(bar_index - safe_lookback, s1_lvl, right_anchor + 15, s1_lvl, color=sr_col, width=1, style=line.style_solid)
s1_lbl := label.new(right_anchor + 15, s1_lvl, "Support 1 (HVN)", color=sr_col, textcolor=color.white, style=label.style_label_left, size=size.small)
r2_line := line.new(bar_index - safe_lookback, r2_lvl, right_anchor + 15, r2_lvl, color=sr_col, width=1, style=line.style_dotted)
r2_lbl := label.new(right_anchor + 15, r2_lvl, "Resist 2 (Top)", color=sr_col, textcolor=color.white, style=label.style_label_left, size=size.small)
s2_line := line.new(bar_index - safe_lookback, s2_lvl, right_anchor + 15, s2_lvl, color=sr_col, width=1, style=line.style_dotted)
s2_lbl := label.new(right_anchor + 15, s2_lvl, "Support 2 (Btm)", color=sr_col, textcolor=color.white, style=label.style_label_left, size=size.small)
// --- 5. LOGIC & SIGNAL ---
float fib_ext_1272 = highest_p + (price_range * 0.272)
string signal_title = "MENUNGGU..."
color signal_col = color.gray
bool is_uptrend = close > ema_filter
string trend_txt = is_uptrend ? "UPTREND" : "DOWNTREND"
color trend_col = is_uptrend ? color.teal : color.red
string rsi_state = rsi_val > 70 ? "OVERBOUGHT" : (rsi_val < 30 ? "OVERSOLD" : "NEUTRAL")
color rsi_bg_col = rsi_val > 50 ? color.new(color.blue, 40) : color.new(color.orange, 40)
string vpa_msg = ""
if vpa_high_vol and vpa_wide_spread
vpa_msg := "📈 VOLUME & SPREAD: Volume tinggi dengan spread lebar - validasi pergerakan kuat."
else if vpa_high_vol and vpa_narrow_spread
vpa_msg := "⚠️ VOLUME & SPREAD: Volume tinggi namun spread sempit - kemungkinan akumulasi atau distribusi."
else if vpa_low_vol and vpa_wide_spread
vpa_msg := "🎭 VOLUME & SPREAD: Spread lebar dengan volume rendah - potensi false breakout/trap."
else if vpa_low_vol
vpa_msg := "😴 VOLUME & SPREAD: Volume rendah - partisipasi pasar minimal."
else
vpa_msg := "⚪ VOLUME & SPREAD: Kondisi volume dan spread normal."
// --- ANALISIS LEVEL ---
string level_analysis = ""
float dist_to_vah = math.abs(close - vah_lvl) / syminfo.mintick
float dist_to_val = math.abs(close - val_lvl) / syminfo.mintick
float dist_to_poc = math.abs(close - poc_lvl) / syminfo.mintick
if close > vah_lvl
level_analysis := "📍 LEVEL: Harga BERADA DI ATAS VAH (breakout). "
if dist_to_vah <= 20
level_analysis := level_analysis + "Breakout masih rapuh (hanya " + str.tostring(dist_to_vah, "#") + " tick dari VAH)."
else
level_analysis := level_analysis + "Breakout kuat (" + str.tostring(dist_to_vah, "#") + " tick dari VAH)."
else if close < val_lvl
level_analysis := "📍 LEVEL: Harga BERADA DI BAWAH VAL (breakdown). "
if dist_to_val <= 20
LiquidityPulse Volume-Weighted Price Movement OverlayLiquidityPulse Volume-Weighted Price Movement Overlay (VWPM)
-This is a non-repainting indicator.
What this indicator does
This overlay is designed to make directional pressure + participation + wick rejection readable directly on price.
It combines:
Volume-Weighted directional pressure (bull vs bear pressure on the current timeframe)
Wick rejection “heat bands” (strength of upper/lower wick pressure, with optional volatility adaptation)
Lower-timeframe (LTF) trend + wick context (auto-selected or manual LTFs)
Chart markers for:
VOL = participation spike aligned with the current pressure direction
EXH = exhaustion warning when trend direction is met with strong opposite-wick pressure
This script is intended as an overlay/structure companion to the separate Volume-Weighted Price Movement (Oscillator) script (pane-based), which focuses on oscillator-style pressure/participation metrics.
Image: Overlay indicator applied to price
How to read it on the chart
1) Pressure Cloud + Candle Tint
The cloud and optional candle tint reflect the current timeframe’s pressure direction:
Green = bullish pressure dominant
Red = bearish pressure dominant
Brightness/opacity scales with pressure strength (normalized by a lookback period).
2) Wick Pressure Heat Bands
The lower band represents bullish wick pressure (lower-wick rejection/absorption).
The upper band represents bearish wick pressure (upper-wick rejection/supply).
Brighter = stronger wick pressure relative to its recent baseline.
Optional Adaptive bands to volatility uses ATR to keep band scaling more consistent across changing volatility regimes.
Image: Overlay + Oscillator working together
This chart highlights how volume participation and wick behaviour can be observed during periods of increased market interaction.
The arrows are used for visual reference only:
Red arrows indicate rising volume participation during the move.
Green arrows highlight increasing wick pressure, suggesting stronger rejection or absorption at those points.
3) VOL signal (Participation Spike)
A VOL marker appears when volume % of average exceeds your threshold and aligns with the current pressure direction.
This is a quick filter for:
“The current pressure direction is being supported by above-average participation.”
4) EXH signal (Exhaustion)
An EXH marker appears when the current trend is met with strong/extreme opposite wick pressure, e.g.:
Trend is Bullish but Bear wick becomes Strong/Extreme → possible bullish exhaustion / rejection risk
Trend is Bearish but Bull wick becomes Strong/Extreme → possible bearish exhaustion / absorption risk
Table (top-right)
You can toggle individual rows on or off in the settings. The table can display:
Trend (Chart)- Directional volume-weighted pressure on the chart timeframe (Bullish / Bearish, shown with ▲ ▼ icons)
Wick (Chart)- A real-time summary of wick pressure on the chart timeframe, reflecting how price is being rejected or absorbed within candles.
Possible states include:
Strong Bull – dominant lower-wick rejection (bullish absorption), shown with a green ▲
Strong Bear – dominant upper-wick rejection (bearish pressure), shown with a red ▼
Neutral – no meaningful wick imbalance, shown with a ●
Strong Both – elevated rejection on both sides, shown with a dual-pressure marker, often seen during volatility expansion or transitional conditions
Trend + Wick (Lower Timeframes)- Trend and wick context for two lower timeframes (auto-selected or manually chosen), allowing short-term behaviour to be viewed within the higher-timeframe structure
Core metrics- Bull Avg / Bear Avg, Bull–Bear Difference, Volume % Avg, and related participation statistics
Additional metrics- Further table rows can be enabled or disabled via the settings panel
How traders can use this indicator
Traders can use LiquidityPulse VWPM as a contextual tool to observe how price movement, volume participation, and wick behaviour interact.
Common use cases include:
Identifying periods where bullish or bearish pressure is dominant on the current timeframe
Observing wick rejection or absorption near highs/lows, especially during strong moves
Monitoring lower-timeframe trend and wick alignment within a higher-timeframe move
Noticing participation spikes (VOL) that confirm increased market involvement
Spotting exhaustion conditions (EXH) where strong opposing wick pressure appears against the prevailing trend
Image: This example highlights how the overlay can be used to monitor directional pressure on the chart timeframe while simultaneously observing trend and wick conditions from selected lower timeframes. The statistics table shows instances where lower-timeframe trend readings diverge from the chart-level pressure, alongside changes in wick behaviour. This allows traders to visually contextualise short-term shifts in participation and rejection within the broader structure.
Key settings (what they change)
Presets: Scalp / Intraday / Swing adjusts effective smoothing/normalization defaults to fit different trading speeds.
Lookback Period + Smoothing: These control how fast/slow the pressure model responds.
Lower values = faster response (more reactive/noisier)
Higher values = smoother response (slower/more stable)
Wick thresholds + Wick row mode: Strong / Extreme thresholds define when wick pressure is classified as Strong/Extreme relative to baseline.
Wick rows show can filter table wick rows to Extreme-only, Strong + Extreme, or Full.
Wick bands- Volatility Adapt: Adaptive bands to volatility (ATR-based) helps wick band height/offset remain visually consistent as volatility expands/contracts.
Adapt Strength controls how much the ATR regime affects the bands.
Visual controls: Transparency controls let you make the overlay more subtle or more prominent without changing calculations.
Why there is an Overlay and Oscillator version
This tool is intentionally split into two complementary indicators to preserve clarity and usability
Overlay version (this script): Focuses on price-level context, structure, wick pressure, lower-timeframe alignment, and event markers directly on the chart.
Oscillator companion version: Provides a dedicated pane for pressure balance, participation, and momentum acceleration metrics that benefit from oscillator-style visualisation.
Separating these views avoids overcrowding the price chart and allows each component to be interpreted more clearly in its appropriate context.
Disclaimer
This indicator is designed to visualise price–volume interaction, pressure, and wick behaviour.
It does not generate trade entries or exits signals and should be used as analytical context alongside a trader’s existing methodology and risk management only.
3D Isometric MFI (Christmas Edition) [Kodexius]3D Isometric MFI (Christmas Edition) is a visual-first interpretation of the classic Money Flow Index, rendered as a projected 3D-style ribbon using an isometric mapping. Instead of plotting a standard oscillator line, the script reconstructs recent MFI history as a depth-aware ribbon that moves from back to front, producing a layered perspective effect that helps you read momentum shifts, regime transitions, and relative strength changes as a continuous structure.
This Christmas Edition was also built for fun and as a creative seasonal experiment. The goal is to keep the underlying indicator logic familiar, while presenting it in a playful, “3D showroom” style that looks great in a separate oscillator panel.
The indicator is designed for presentation quality and chart readability. It uses controlled object management (lines, polylines, labels) and renders only the most recent portion of the MFI history (user-defined depth). A decorative snow background effect adds atmosphere.
🔹 Features 🎄
🔸 Isometric 3D Projection Engine
The ribbon is produced by projecting 3D points (time offset, MFI value, depth) into 2D chart coordinates.
- X represents bar offset into history
- Y represents the MFI value
- Z introduces depth and perspective
Angle controls the projection direction, and Vertical Zoom scales the perceived amplitude.
🔸 Depth-Limited Ribbon Rendering (Back to Front)
Only the most recent History Depth values are drawn to keep performance and readability stable.
- Each segment connects two consecutive MFI values
- A top edge, bottom edge, and filled face are drawn to simulate thickness
- Older segments fade into the background
🔸 Dynamic Gradient Coloring + Depth Fade
Ribbon color follows a value-based gradient:
- Lower values lean red (risk-off pressure)
- Higher values lean green (risk-on pressure)
- Mid values blend naturally
Transparency increases with depth so older history is less dominant but still readable.
🔸 Tip Label (Value + Candy Marker) 🍭🍬
The most recent ribbon tip displays current MFI value.
A candy symbol that switches based on the 50 midpoint
The label is offset so it does not cover the ribbon tip.
🔸 Projected Reference Grid (80, 50, 20)
A projected grid is drawn at classic MFI reference levels to improve orientation:
- 80 Overbought reference
- 50 Midpoint reference
- 20 Oversold reference
These grid lines use the same projection math, so they stay aligned at any angle or zoom.
🔸 Seasonal Snow Background Effect ❄️
Randomized snow is rendered behind the ribbon using lightweight labels. This is purely decorative and does not alter MFI values or logic.
🔸 Object Lifecycle Management
Because 3D-style drawing uses many objects, the script manages them explicitly by storing references in arrays, deleting old objects, and redrawing on the last bar. This helps prevent visual stacking artifacts and keeps the panel clean.
🔹 Calculations
1) Money Flow Index Computation
The script separates “positive” and “negative” money flow based on the direction of change in the selected source, then converts their ratio into the standard 0 to 100 oscillator. Classic MFI Calculations.
calc_mfi(int length, float source) =>
float upper = math.sum(volume * (ta.change(source) <= 0 ? 0 : source), length)
float lower = math.sum(volume * (ta.change(source) >= 0 ? 0 : source), length)
float mfi = 100.0
if lower != 0
float r = upper / lower
mfi := 100 - (100 / (1 + r))
mfi
Interpretation:
upper accumulates volume-weighted source values on up moves
lower accumulates volume-weighted source values on down moves
if lower is zero, MFI defaults to 100 to avoid division errors
otherwise, MFI is computed from the ratio transform
2) History Buffer Management
The current MFI value is pushed into the front of an array every bar. The array is trimmed to History Depth so rendering stays bounded.
array.unshift(ctx.history_val, mfi_curr)
if ctx.history_val.size() > depth
ctx.history_val.pop()
3) 3D Point Model and Ribbon Thickness
Each segment is built from four projected points to form a filled face (a simple quad). A small thickness is applied to create the “ribbon” look, and depth is used to simulate perspective.
4) Isometric Projection to Chart Coordinates
3D points are mapped into chart coordinates with an angle rotation and scaling for zoom and depth.
method project(Point3 p, int anchor_bar, float angle_rad, float zoom, float z_scale) =>
float x_world = -float(p.x) * 2.0
float z_val = p.z * z_scale
float screen_x_offset = (x_world * math.cos(angle_rad)) - (z_val * 1.0)
float screen_y_offset = (p.y * zoom) + (x_world * math.sin(angle_rad)) * 0.5
int final_x = anchor_bar + int(math.round(screen_x_offset))
float final_y = screen_y_offset
chart.point.from_index(final_x, final_y)
5) Gradient and Depth Transparency
Color is derived from MFI value via a gradient, and transparency increases with segment depth so recent data remains dominant while older context stays visible.
6) Projected Reference Grid Construction
The 80, 50, 20 levels are drawn as dotted segments across the same historical span, using the same projection and depth fade logic for consistent alignment.
🎆 Wishing you a great year ahead 🎄✨
May your charts be clear, your risk be controlled, and your next year be filled with health, peace, and good trades. Happy Holidays and Happy New Year.
Futures Ultra CVD (Pure )Futures Ultra CVD (Pure)
Futures Ultra CVD (Pure) is a volume-driven Cumulative Volume Delta (CVD) indicator designed to expose real buying and selling pressure behind price movement. Unlike price-only indicators, this script analyzes how volume is distributed within each bar to determine whether aggressive buyers or sellers are in control, then tracks how that pressure evolves over time.
This version is intentionally pure and ungated: it does not rely on external symbols, market filters, session bias, or macro confirmation. All signals are derived strictly from price, volume, and delta behavior of the active chart, making it suitable for futures, equities, crypto, and FX.
Core Concept: How CVD Is Calculated
For each bar, volume is split into buying pressure and selling pressure using the bar’s price position:
Buying volume increases as price closes closer to the high
Selling volume increases as price closes closer to the low
The difference between buying and selling volume forms Delta:
Positive delta = net aggressive buying
Negative delta = net aggressive selling
This delta is then accumulated into Cumulative Volume Delta (CVD) using one of three user-selectable modes:
Total – running cumulative sum of all delta values
Periodic – rolling sum over a fixed lookback period
EMA – smoothed cumulative delta using an exponential average
This flexibility allows traders to choose between raw order-flow tracking or smoother, trend-like behavior depending on timeframe and instrument.
Visual Structure & Histogram Logic
The CVD is displayed as a column histogram, not a line, to emphasize momentum and pressure shifts.
Enhanced coloring provides additional context:
Brighter green/red bars indicate increasing momentum
Muted colors indicate stalling or weakening pressure
Optional footprint-style highlights appear when buy or sell volume overwhelms the opposite side by a user-defined imbalance factor
This allows traders to visually distinguish:
Strength vs weakness
Continuation vs exhaustion
Absorption and aggressive participation
Built-In Order Flow Signals
The script automatically detects and labels key order-flow events:
Strong Delta
Triggered when delta exceeds a user-defined threshold, highlighting unusually aggressive buying or selling.
Delta Surge
Detects sudden expansion in delta compared to the prior bar, often associated with breakout attempts or liquidation events.
Zero-Line Crosses
Marks transitions between net bullish and bearish participation as CVD crosses above or below zero.
CVD Continuation Logic (Trend Confirmation)
Beyond raw delta, the script evaluates CVD structure to identify continuation conditions:
A bullish continuation requires:
Positive and rising CVD
Strong buy delta
Confirmation from at least one of the following:
CVD above its EMA and SMA
Bullish price expansion
Sustained positive delta pressure
Bearish continuation follows the inverse logic.
These continuation signals are designed to confirm participation strength, not predict reversals.
Conflict Detection (Divergence Warning)
The indicator also flags conflict conditions, where:
Strong buying occurs while CVD remains negative
Strong selling occurs while CVD remains positive
These scenarios often precede failed breakouts, absorption zones, or short-term reversals and can be used as cautionary signals.
Alerts & Practical Use
All major events include built-in alerts:
Strong delta
Delta surge
CVD continuations
Zero-line crosses
Buy/sell imbalances
Conflict signals
Alerts can be set to trigger on bar close or intrabar in real time, depending on trader preference.
How Traders Typically Use This Indicator
Confirm breakouts with delta participation
Validate trends using CVD continuation instead of price alone
Identify absorption or exhaustion via conflicts and imbalances
Combine with price structure, VWAP, or market profile tools
This script is not a trading system by itself. It is a decision-support tool designed to reveal what price alone cannot: who is actually in control of the market.
On-Chart Symbols & What They Mean
This script uses a small number of visual symbols to communicate order-flow events clearly and consistently. All symbols are derived directly from the Cumulative Volume Delta calculations described above.
Δ+ (Green Up Arrow)
Strong Buy Delta
Indicates that buying pressure on the current bar exceeded the Strong Delta Threshold
Represents aggressive market buying dominating selling volume
Often appears during breakouts, trend acceleration, or initiative buying
This symbol does not imply direction by itself; it only confirms strong buyer participation.
Δ− (Red Down Arrow)
Strong Sell Delta
Indicates that selling pressure on the current bar exceeded the Strong Delta Threshold
Represents aggressive market selling dominating buying volume
Often appears during breakdowns, liquidation events, or initiative selling
Like Δ+, this symbol measures participation strength, not trade direction.
↑ (Green Label Up)
CVD Bullish Continuation
Appears when all of the following are present:
CVD is positive and increasing
Strong buy delta is detected
At least one confirmation condition is met:
CVD is above its EMA and SMA
Price shows bullish expansion
Consecutive positive delta bars (sustained buying pressure)
This symbol highlights trend continuation supported by volume, not a reversal signal.
↓ (Red Label Down)
CVD Bearish Continuation
Appears when:
CVD is negative and decreasing
Strong sell delta is detected
At least one confirmation condition is met:
CVD is below its EMA and SMA
Price shows bearish expansion
Consecutive negative delta bars (sustained selling pressure)
This indicates bearish continuation with participation confirmation.
Cyan / Orange Histogram Bars
Footprint-Style Volume Imbalance
Cyan bars indicate buy volume exceeds sell volume by the imbalance factor
Orange bars indicate sell volume exceeds buy volume by the imbalance factor
These bars highlight areas where one side is overwhelming the other, often associated with absorption, initiative moves, or failed auctions.
Bright vs Muted Histogram Colors
CVD Momentum State
Bright colors = CVD increasing in the direction of its current bias
Muted colors = CVD losing momentum or stalling
This allows quick visual identification of strengthening vs weakening participation.
Conflict Alerts (No Symbol by Default)
Delta vs CVD Disagreement
These conditions trigger alerts (but no fixed chart icon):
Strong buying while CVD remains negative
Strong selling while CVD remains positive
Conflicts often signal absorption, trap conditions, or short-term exhaustion.
Important Usage Notes
All symbols are informational, not trade entries.
Signals are calculated from price-based volume distribution, not true bid/ask data.
Results depend on the quality of volume data provided by the exchange and TradingView.
Smart Money Fluid [JOAT]
Smart Money Fluid — Accumulation and Distribution Flow Analysis
Smart Money Fluid tracks institutional-style accumulation and distribution patterns using a sophisticated combination of Money Flow Index, Chaikin Money Flow, and VWAP-relative price analysis. It aims to reveal whether larger participants may be accumulating (buying) or distributing (selling)—information that can precede significant price moves.
What Makes This Indicator Unique
Unlike single money flow indicators, Smart Money Fluid:
Combines three different money flow methodologies into one composite signal
Detects divergences between price and money flow automatically
Identifies high-volume conditions that add conviction to signals
Provides both the composite signal and individual component values
Features a momentum histogram showing flow acceleration
What This Indicator Does
Combines multiple money flow indicators into a composite signal (0-100 scale)
Identifies accumulation zones (potential institutional buying) and distribution zones (potential selling)
Detects divergences between price and money flow
Highlights high-volume conditions for stronger signals
Tracks momentum direction within the flow
Provides comprehensive dashboard with all component values
Composite Calculation Explained
The Smart Money Flow composite combines three proven money flow methodologies:
// Component 1: Money Flow Index (MFI) - 40% weight
// Measures buying/selling pressure using price and volume
float mfi = 100 - (100 / (1 + mfRatio))
// Component 2: Chaikin Money Flow (CMF) - 30% weight
// Measures accumulation/distribution based on close position within range
float cmf = sum(mfVolume, length) / sum(volume, length) * 100
// Component 3: VWAP Price Strength - 30% weight
// Measures price position relative to volume-weighted average price
float priceVsVWAP = (close - vwap) / vwap * 100
// Final Composite (scaled to 0-100)
float rawSMF = (mfi * 0.4 + (cmf + 50) * 0.3 + (50 + priceVsVWAP * 5) * 0.3)
float smf = ta.ema(rawSMF, smoothLength)
State Classification
Accumulating (Green Zone) — SMF above accumulation threshold (default: 60). Suggests institutional buying may be occurring.
Distributing (Red Zone) — SMF below distribution threshold (default: 40). Suggests institutional selling may be occurring.
Neutral (Gray Zone) — SMF between thresholds. No clear accumulation or distribution detected.
Divergence Detection
The indicator automatically detects divergences using pivot analysis:
Bullish Divergence — Price makes a lower low while SMF makes a higher low. This suggests selling pressure is weakening despite lower prices—potential reversal signal.
Bearish Divergence — Price makes a higher high while SMF makes a lower high. This suggests buying pressure is weakening despite higher prices—potential reversal signal.
Divergences are marked with "DIV" labels on the chart.
Visual Features
SMF Line with Glow — Main composite line with gradient coloring and glow effect
Signal Line — Slower EMA of SMF for crossover signals
Flow Momentum Histogram — Shows the difference between SMF and signal line with four-color coding:
- Bright green: Positive and accelerating
- Faded green: Positive but decelerating
- Bright red: Negative and accelerating
- Faded red: Negative but decelerating
Zone Backgrounds — Green tint in accumulation zone, red tint in distribution zone
Reference Lines — Dashed lines at accumulation/distribution thresholds, dotted line at 50
Strong Signal Markers — Triangles appear when accumulation/distribution occurs with high volume
Divergence Labels — "DIV" markers when divergences are detected
Color Scheme
Accumulation Color — Default: #00E676 (bright green)
Distribution Color — Default: #FF5252 (red)
Neutral Color — Default: #9E9E9E (gray)
Gradient Coloring — SMF line transitions smoothly between colors based on value
Dashboard Information
The on-chart table (top-right corner) displays:
Current SMF value with state coloring
State classification (ACCUMULATING, DISTRIBUTING, or NEUTRAL)
Flow momentum direction (Up/Down with magnitude)
MFI component value
CMF component value with directional coloring
Volume status (High or Normal)
Active divergence detection (Bullish, Bearish, or None)
Inputs Overview
Calculation Settings:
Money Flow Length — Period for flow calculations (default: 14, range: 5-50)
Smoothing Length — EMA smoothing period (default: 5, range: 1-20)
Divergence Lookback — Bars for pivot detection in divergence analysis (default: 5, range: 2-20)
Sensitivity:
Accumulation Threshold — Level above which accumulation is detected (default: 60, range: 50-90)
Distribution Threshold — Level below which distribution is detected (default: 40, range: 10-50)
High Volume Multiplier — Multiple of average volume for "high volume" classification (default: 1.5x, range: 1.0-3.0)
Visual Settings:
Accumulation/Distribution/Neutral Colors — Customizable color scheme
Show Flow Histogram — Toggle momentum histogram
Show Divergences — Toggle divergence detection and labels
Show Dashboard — Toggle the information table
Show Zone Background — Toggle colored backgrounds in accumulation/distribution zones
Alerts:
Await Bar Confirmation — Wait for bar close before triggering (recommended)
How to Use It
For Trend Confirmation:
Accumulation during uptrends confirms buying pressure
Distribution during downtrends confirms selling pressure
Divergence between price trend and SMF warns of potential reversal
For Reversal Detection:
Bullish divergence at price lows suggests potential bottom
Bearish divergence at price highs suggests potential top
Strong signals (triangles) with high volume add conviction
For Entry Timing:
Enter longs when SMF crosses into accumulation zone
Enter shorts when SMF crosses into distribution zone
Wait for high volume confirmation for stronger signals
Use divergences as early warning for position management
Alerts Available
SMF Accumulation Started — SMF entered accumulation zone
SMF Distribution Started — SMF entered distribution zone
SMF Strong Accumulation — Accumulation with high volume
SMF Strong Distribution — Distribution with high volume
SMF Bullish Divergence — Bullish divergence detected
SMF Bearish Divergence — Bearish divergence detected
Best Practices
High volume during accumulation/distribution adds significant conviction
Divergences are early warnings—don't trade them alone
Use in conjunction with price action and support/resistance
Works best on liquid markets with reliable volume data
This indicator is provided for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always conduct your own analysis and use proper risk management before making trading decisions.
— Made with passion by officialjackofalltrades
Relative Volume Context [Alturoi]Relative Volume Context is an advanced volume analysis indicator designed to help traders understand whether current volume is truly unusual—or simply normal for that moment in time.
Unlike traditional volume or basic relative volume tools, this indicator models expected volume based on historical time-based behavior (minutes, hours, days, sessions) and compares it directly to what is happening now.
The result is clear, structured insight into:
Unusual participation
Abnormal activity
Quiet vs active market conditions
When volume confirms price —and when it doesn’t
This tool is built for day traders and swing traders who want volume context , not just volume bars.
📌 What Problem This Indicator Solves
Raw volume is deceptive.
High volume at the open, low volume at lunch, and rising volume into the close are normal market behaviors —yet most indicators treat them as equal.
Relative Volume Context fixes this by asking a better question:
“Is today’s volume high or low compared to what normally happens at this exact time?”
By conditioning volume expectations on time and session structure , the indicator filters out noise and highlights moments where participation genuinely deviates from the norm.
🧩 How Relative Volume Context Works (Conceptually)
At its core, the indicator compares:
Actual Volume
Expected Volume for this time bucket
A time bucket can include combinations such as:
Minute of the hour
Hour of the trading day
Day of the week or month
Broader calendar structure (months / quarters)
Expected volume is calculated using historical data for that same bucket , creating a fair, apples-to-apples comparison.
This produces several meaningful outputs:
Expected Volume: the typical volume level for the current time context.
Difference: actual minus expected.
Surprise (%): a normalized measure of how large the deviation is relative to expectation.
Z-Score (Mean mode): a statistical measure of how extreme current volume is compared to its historical distribution.
Sample Size & Confidence: transparency into how much historical data supports the expectation.
🧠 Built for Clarity and Performance
Efficient data handling for intraday charts
Adaptive period selection (Auto Selection)
Optional forecast of expected future volume
Clean HUD showing context, confidence, and interpretation
🛠 How to Use It (Best Practices)
Use it with price , not instead of price.
Treat high readings as context , not automatic signals.
Combine with structure, levels, and market conditions.
Pay attention to Confidence / N before trusting extreme readings.
Avoid over-interpreting early history with low sample sizes.
👥 Who This Indicator Is For
Day traders trading U.S. equities
Swing traders monitoring participation and follow-through
Traders who value context over hype
Users who want transparency, not black-box signals
Subscribe to Alturoi ’s private, invite-only indicators designed to support informed trading decisions.
Volume is most powerful when it explains why price is moving—not when it’s used in isolation.
📊 Understanding the HUD: What Each Metric Actually Means
The HUD is designed to answer one core question:
“Is this volume unusual in a way I should care about?”
Raw volume on its own is misleading. Each field in the HUD exists to remove a specific form of self‑deception and replace it with context you can reason about.
🧭 Bucket — Unusual compared to when?
Volume has a strong time structure. A spike at 9:31 AM means nothing unless it’s compared to other 9:31 AM bars — not lunch hours, not overnight, not Fridays.
The bucket defines the comparison group:
Same minute of the hour
Same hour of the day
Same day of the week, month, or quarter
Without this, expected volume becomes a global average — statistically wrong and operationally misleading.
⚙️ Method (Mean vs Percentile) — What kind of “normal” am I using?
Different methods answer different trading questions:
Mean: fast, stable, symmetric, and enables Z‑scores. Best when volume distributions are smooth.
Percentile: robust to outliers and news spikes. Answers how rare this volume is historically.
Mean measures deviation from equilibrium. Percentile measures rarity. If you don’t know the method, you can’t interpret the signal correctly.
🔢 N (Sample Size) — Is this statistic even trustworthy?
Statistics without sample size are vibes.
N = 12 → noise dressed as math
N = 200 → structure
Two identical surprise readings with different N values are not the same signal. This single number prevents false confidence.
📐 Confidence — How much weight should I give this?
Confidence is a human‑readable compression of N:
Low → exploratory only
Medium → usable with context
High → structurally reliable
This isn’t judgment — it’s statistical humility.
📊 Expected — Expected relative to what baseline?
Expected volume is the anchor of everything else.
Without seeing it:
You can’t tell whether surprise comes from a low or high base
You can’t sanity‑check the model
If Expected looks wrong, the signal is wrong — full stop.
⭐ Surprise (%) — How large is the deviation in practical terms?
Raw differences don’t scale. Surprise % normalizes across symbols, timeframes, and regimes.
A +80% surprise on SPY at 10:15 matters. A +5% surprise usually doesn’t. This is the actionability metric.
📐 Z‑Score — Is this statistically extreme or just mildly off?
Z‑score adds distribution context:
0.5σ → normal fluctuation
2σ → uncommon
3σ → rare, regime‑relevant
Two bars can share the same % surprise but have very different Z‑scores if volatility differs. Z tells you whether the market itself considers this bar “weird.”
The deeper point
Most volume indicators stop at: “Volume is high.”
Relative Volume Context forces the harder, more honest question:
“High compared to what, how rare, and how reliable is that comparison?”
That’s the difference between decorative indicators and decision‑support instruments .
🔍 Why This Matters for Day & Swing Traders
Relative Volume Context is not a signal generator . It is a decision-support tool .
Practical uses include:
Identifying unusual participation during breakouts or breakdowns
Distinguishing real interest from routine session volume
Avoiding false confidence in moves occurring on “normal” volume
Spotting regime shifts or news reactions (participation shocks)
Understanding when low volume truly signals lack of interest
Used correctly, it helps traders answer:
“Is this move being supported by abnormal activity, or is it just time-of-day noise?”
Disclaimer: This indicator is provided for educational and informational purposes only and does not constitute financial or investment advice. Trading involves risk, and past market behavior does not guarantee future results. Always use proper risk management and independent judgment.
Low Volume Pullback [CrossTrade]PACKAGE 2: CrossTrade Edition (NinjaTrader)
1. The Strategy Guide
Strategy: Low Volume Pullback Detector (VPA)
Concept: Same logic as above (Trend + Volume Dry Up).
Integration: Designed for NinjaTrader 8 via CrossTrade.
Automation:
ATM Strategy: Uses the bot_strat name (e.g., "twoRun") to trigger your saved stops/targets in NinjaTrader.
Entry Timing: Select "Signal Candle Close" (Standard) or "Confirmation Candle Close" (Conservative).
CrossTrade Setup Steps
Add Script: Paste the code above into the Pine Editor and click "Add to Chart".
Settings: Open the indicator settings and enter your Secret Key, Account Name, and ATM Strategy Name (case sensitive).
Get Webhook: Go to your CrossTrade Dashboard and copy your URL.
Create Alert:
In TradingView, create a new Alert.
Condition: Select Low Volume Pullback .
Trigger: Select "Any function call".
Webhook: Paste your CrossTrade URL in the Webhook box.
Message: LEAVE EMPTY (The script handles this).
Click Create.
Biotech Volume Oscillator1️⃣ What This Indicator Is (In One Sentence)
It tells you whether people are actually showing up to trade the stock, or if price is just drifting around on low interest.
That’s it.
It does not predict price.
It tells you whether a move is real or fragile.
2️⃣ What the Lines Mean
You see two lines:
🔵 Blue Line = Live Participation
Fast
Reacts immediately
Shows what traders are doing right now
Think:
“Is anyone actually trading this candle?”
🟠 Orange Line = Accepted Participation
Slower
Smoothed
Shows what the market has decided is normal
Think:
“Is this level of activity sticking?”
3️⃣ What the Numbers Mean (Very Important)
The numbers are percentages vs normal volume for this stock.
Around 0
Volume is normal
Nothing special happening
+10 to +25
Healthy interest
Traders are paying attention
Moves can continue
Above +25
Abnormal participation
News, hype, or institutions involved
Moves here tend to be fast
Below –20
Participation drying up
Drift, chop, fake breakouts
Below –30
Nobody is home
Price can move, but it’s fragile
Breakouts usually fail
4️⃣ How to Use It (Step-by-Step)
Step 1: Ignore Price for a Second
Look only at the oscillator.
Ask:
“Is this above zero or below zero?”
Step 2: Look at Direction
Rising oscillator → interest increasing
Falling oscillator → interest fading
Step 3: Compare Blue vs Orange
✅ Good / Healthy
Blue above orange
Both rising
→ New participation is entering
⚠️ Warning
Price rising
Blue flat or falling
Orange flat
→ Float, not conviction
🚨 Distribution
Blue rolls over from high levels
Orange follows
Price still looks “fine”
→ Selling into strength
Momentum Echo Oscillator [Community Edition]Concept: The Momentum Echo Oscillator (MEO) is a modern take on classical momentum oscillators. Most indicators only look at the "now". MEO introduces the concept of Momentum Echoes—historical momentum harmonics that are weighted and blended back into the current price velocity.
Why use MEO? Standard momentum tools (like ROC or RSI) can be very "jittery" or noisy. By integrating historical echoes, MEO provides a smoother, more rhythmic representation of price flow, making it easier to spot genuine trend reversals.
Key Elements:
Primary Momentum: The immediate speed of price.
Echo Harmonics: Two adjustable lookback points that act as a "memory" for the indicator, filtering out false breakouts.
Dynamic Histogram: Visualizes the gap between the Echo Engine and the Trigger Line, highlighting acceleration and deceleration.
Settings:
Echo Weight: Adjust how much "memory" you want the indicator to have.
Smoothing: Clean up the signals for higher timeframes.
This is an open-source tool for the TradingView community. Enjoy!
Volume-Weighted Fibonacci PivotThis indicator automatically plots dynamic Fibonacci retracement and extension levels based on a volume-weighted pivot point within a user-defined lookback period or date range. It intelligently calculates a central "pivot" price biased toward high-volume bars, then draws symmetric levels both upward (extensions) and downward (retracements) for balanced confluence analysis.
How It Works (Technical Methodology)
Lookback Period Determination
Multiple filter modes control the data range used for calculations:
"Last X Bars": Fixed number of recent bars (default 400, max 4999).
"Manual Date": User-specified start date.
"Interactive (Chart)": Confirmed start date via input.
"None": Full available history (falls back to max bars).
Optionally, when using "Last X Bars", calculations can pull data from a higher/lower user-selected timeframe via request.security() for multi-timeframe alignment.
A dotted vertical line marks the start point in date-based modes.
Range and Pivot Calculation
Within the selected period:
Highest high and lowest low define the full price range.
Average volume is computed across the period.
Volume-Weighted Pivot: Average close price only from bars where volume > average volume (fallback to simple midpoint if no high-volume bars).
This creates a "smart" central pivot that leans toward areas of greater participation, often aligning with institutional activity.
Fibonacci Level Generation
User-configurable ratios (default: 0.236, 0.382, 0.5, 0.618, 0.786, 1.0, 1.272, 1.414, 1.618).
Levels are calculated symmetrically around the volume-weighted pivot:
Upward: Pivot + (Range × Ratio × Correction Factor) – teal/cyan shades.
Downward: Pivot - (Range × Ratio × Correction Factor) – red shades.
Correction Factor (default 0.5): Scales level spacing for tighter/wider grids without altering ratios.
Only the user-defined number of active lines (default 9) are drawn.
Visual Construction
Central Pivot Line: Thick yellow horizontal line with label showing exact price.
Up/Down Levels: Dashed lines extended into the future, labeled with ratio direction ("Up" or "Dn").
All objects redraw only on the last bar for performance, clearing previous drawings.
Multi-Timeframe Option
When enabled with "Last X Bars":
Pulls high/low/volume data from specified timeframe.
Aligns the pivot and levels to higher-timeframe structure while displaying on current chart – ideal for intraday traders seeking HTF confluence.
How to Use
This tool provides clean, volume-aware Fibonacci grids for identifying potential support/resistance, reversal zones, and targets.
Volume-Weighted Pivot: Often acts as a strong mean reversion level or fair value area.
Upward Levels (Teal): Potential resistance/extensions in bullish moves; watch for reactions on retests.
Downward Levels (Red): Potential support/retracements in bearish moves.
Confluence: High probability when price reacts at levels aligning with other tools (order blocks, pivots, volume profile).
Correction Factor: Lower values (<0.5) for tighter grids in ranging markets; higher (>0.5) for trending markets.
Multi-Timeframe Mode: Use on lower charts (e.g., 15m) with HTF input (e.g., 4H or Daily) to project major structure levels.
Common Setups:
Pullbacks to 0.618–0.786 zones for continuation entries.
Breaks beyond 1.0–1.618 for extension targets.
Reactions near pivot line for mean reversion trades.
Adjust ratios and active line count to match your preferred Fibonacci style (classic retracement vs. extensions).
Disclaimer
This indicator is a technical analysis tool and should be used in conjunction with other forms of analysis. Past performance does not guarantee future results. Always use proper risk management.
Low Volume Pullback [TraderPost]ACKAGE 1: TraderPost Edition (Tradovate)
1. The Strategy Guide
Strategy: Low Volume Pullback Detector (VPA)
Concept: Identifies trend continuation trades by looking for "weak" pullbacks against the main trend where volume dries up (institutions are not selling).
Trend Filter: Only trades above/below the 50 EMA.
The Trigger: Enters when price breaks out of the weak pullback structure.
Automation:
Smart Payloads: Automatically calculates Stop Loss and Take Profit prices and sends them to TraderPost.
Cooldown: Prevents over-trading by sleeping for 10 mins after a signal.
Entry Timing: You can choose to enter immediately on the signal candle close or wait for an extra confirmation candle.
TraderPost Setup Steps
Add Script: Paste the code above into the Pine Editor and click "Add to Chart".
Get Webhook: Go to your TraderPost Dashboard > Webhooks and copy your URL.
Create Alert:
In TradingView, create a new Alert.
Condition: Select Low Volume Pullback .
Trigger: Select "Any function call".
Webhook: Paste your TraderPost URL in the Webhook box.
Message: LEAVE EMPTY (The script handles this).
Click Create.
UM Premarket Volume DashboardSUMMARY
Do you track the largest percent movers in the premarket?
Instantly compare current premarket volume to its recent average with built-in trend confirmation.
⸻
DESCRIPTION
This indicator is a compact premarket intelligence dashboard that combines live volume analysis with adaptive trend detection. It highlights unusually strong premarket activity while confirming directional bias using either a Nadaraya–Watson Estimator (NWE) or traditional moving averages.
The goal is to quickly identify symbols that are both active and aligned with trend before the regular trading session begins.
⸻
HOW IT WORKS
• Calculates average daily volume using a 50-day rolling average
• Tracks live premarket volume between 04:00–09:30 (exchange time)
• Computes a rolling average of prior premarket sessions and blends in the current day’s partial premarket volume in real time
• Highlights premarket volume in dark green when it exceeds both a user-defined threshold and the rolling premarket average
• Determines bullish or bearish trend status using a selectable method:
• Nadaraya–Watson Estimator (NWE)
• EMA, WMA, or SMA
• Trend status is based on directional slope (current value vs prior bar)
• Displays percent gain from the previous regular-session close (4:00pm ET)
• Shows total shares outstanding for quick liquidity context (when available)
⸻
DEFAULT SETTINGS
• Trend Method: Nadaraya–Watson Estimator (NWE)
• NWE Lookback Window (h): 8
• NWE Relative Weighting (r): 8
• Regression Length: 120 bars
• Premarket Average Days: 10
• Premarket Green Volume Threshold: 50,000 shares
• Average Daily Volume: 50-day SMA
• Trend Source: Close
⸻
SUGGESTED SETTINGS AND USES
• Use the default NWE settings for smoother, adaptive trend confirmation, especially on lower timeframes (1–5 minute charts) during premarket
• Switch to EMA or WMA if you prefer faster trend flips or want behavior consistent with MA-based systems
• Increase the Premarket Volume Threshold for large-cap stocks or ETFs to reduce noise
• Decrease the threshold for small-cap stocks to surface early momentum names
Ideal for:
• Premarket gap scanners
• Momentum continuation setups
• Liquidity confirmation before market open
• Building dynamic watchlists for the opening bell
This indicator is best used as a filtering and confirmation tool, not as a standalone entry signal.
Volume + VWAP + Prior Session Levels DashboardVolume Spike + VWAP + Session Levels Dashboard
This indicator is a real-time market context dashboard designed to help traders quickly understand participation, value, and key reference levels without cluttering the chart with multiple indicators.
Instead of plotting lines or signals, the script summarizes critical intraday information into a compact on-chart table, allowing traders to make faster, more informed decisions based on how active the market is, where fair value is, and where important reference levels exist.
Core Concepts Used
This script is built on three widely used market principles:
Relative Volume Participation
Volume-Weighted Average Price (VWAP)
Prior Session Reference Levels
The indicator does not attempt to predict direction. Its purpose is to provide objective context that traders can combine with their own strategies.
How the Indicator Works
1. Volume Spike Analysis (Relative Volume)
Rather than showing raw volume, the script measures how unusual the current bar’s volume is compared to recent activity.
A moving average of volume is calculated using a user-defined lookback period.
Current volume is divided by this average to produce a volume multiple (for example, 2.0× normal volume).
This multiple is translated into a descriptive strength label, ranging from Below Threshold to Legendary.
This approach helps traders immediately recognize when participation is significantly above normal, which often coincides with institutional activity, breakouts, or important reactions near key levels.
2. Daily VWAP (Current and Prior Day)
VWAP (Volume-Weighted Average Price) represents the average price traded, weighted by volume, and is commonly used as a measure of fair value.
This script calculates VWAP internally by:
Accumulating price × volume throughout the day
Dividing by total volume
Automatically resetting at the start of each new trading day
The dashboard displays:
Current day VWAP – real-time session fair value
Prior day VWAP – an important reference from the previous session
Traders often use these levels to evaluate whether price is trading at a premium, discount, or near equilibrium.
3. Previous Day High and Low
The indicator also displays:
Previous day high
Previous day low
These levels frequently act as liquidity targets, support/resistance zones, or reaction points, especially during intraday trading sessions.
Dashboard Design
All information is presented in a two-column dashboard showing:
Metric name
Current value or status
The dashboard can be positioned in any corner of the chart and updates in real time, allowing traders to maintain awareness without constantly switching indicators or timeframes.
How to Use This Indicator
This script is best used as a decision-support tool, not a standalone trading system.
Typical uses include:
Identifying abnormally high volume near important price levels
Evaluating price position relative to VWAP
Monitoring reactions around prior day highs and lows
Staying oriented during fast market conditions without chart clutter
The indicator works on any timeframe and adapts automatically to the instrument’s trading session.
Customization Options
Users can:
Adjust the volume moving average length to define what “normal” volume means
Choose the price source used for VWAP calculation
Change the dashboard’s on-screen position
Summary
The Volume Spike + VWAP + Session Levels Dashboard provides a clear, objective snapshot of market conditions by combining participation, value, and reference levels into a single visual tool. It is designed to help traders answer a simple but critical question:
“Is the market doing something meaningful right now — and where?”
This indicator focuses on context, clarity, and usability for traders who want insight without unnecessary complexity.
Biotech Volume Oscillator
This oscillator is percentage-based, not raw volume.
Key Levels (Rules of Thumb)
Above +25 → abnormal participation (real interest)
+10 to +25 → constructive, but not decisive
Around 0 → drift / float
Below –25 → participation drying up
These levels work well for:
Small-cap biotech
Catalyst setups
Pre-data ramps
How You’d Use This With RSI (Your Exact Setup)
Bullish / Valid Move
RSI above 50
RSI purple > yellow
Biotech Volume Osc above +10 and rising
➡️ Move has sponsorship
Fake / Suspect Move
Price up
RSI flat or diverging
Volume Osc near 0 or falling
➡️ Float + headline + thin liquidity
Distribution Signal (Very Useful)
Price makes higher high
RSI fails to confirm
Volume Osc rolls over from +25
➡️ Selling into strength
➡️ Excellent context for sell orders like your 7.75
SETUP XANDAO ETFEste setap é usado para operar nos futuros, usamos essas métricas para poder achar entradas






















