BTC Potential EnergyBTC Potential Energy is a macro-cycle oscillator that tracks how much "dry powder" is sitting in Tether (USDT) relative to its structural baseline — and translates that into a 0–100 potential energy score for Bitcoin. The core idea is simple: when investors are parking abnormal amounts of capital in stablecoins, that capital isn't gone — it's coiled. The higher the stablecoin accumulation above its own historical trend, the greater the potential for a violent rotation back into Bitcoin when sentiment shifts.
The indicator displays as a sub-pane oscillator beneath your BTC chart and is designed primarily for use on the Weekly or Daily timeframe , where macro cycle analysis is most meaningful.
The Concept: Stablecoins as a Coiled Spring
In crypto markets, Tether Dominance (USDT.D) is the percentage of total crypto market cap held in USDT. It rises when investors flee risk — selling Bitcoin and altcoins into stablecoins — and falls when investors deploy that capital back into the market.
This creates a physics-like analogy:
Compression phase — USDT.D rises as capital moves to safety. Like compressing a spring, potential energy builds.
Release phase — USDT.D begins to fall. The spring releases. Capital rotates into BTC, historically preceding or coinciding with the early stages of bull runs.
The further above normal USDT.D is, and the more abruptly it starts declining, the more powerful that rotation tends to be.
The Problem With Naive USDT.D Analysis
The most obvious approach — ranking the raw USDT.D value over history — fails in practice. Why? Because the stablecoin market has grown enormously since 2017. USDT.D in 2021 was structurally higher in absolute percentage terms than in 2018, simply because more stablecoins exist and are used as a base layer across DeFi and centralised exchanges. This secular uptrend means that if you rank raw USDT.D, the indicator reads "high energy" throughout the 2021 bull market — precisely when energy was already deployed and Bitcoin was already running. That is the opposite of useful.
The Solution: Detrended Potential Energy
BTC Potential Energy solves this by ranking the deviation of USDT.D from its own long-term moving average , not the raw level itself. This strips out the structural growth of the stablecoin market and isolates only the anomalous accumulation — the excess fear-driven or cycle-driven flight to safety that goes beyond what the baseline trend would predict.
Step 1 — Establish the Baseline
A long Simple Moving Average (default: 100 bars) is computed on USDT.D. On the weekly chart, this represents approximately 2 years — roughly one full Bitcoin market cycle. This MA acts as the "expected" or structural level of stablecoin dominance for any given period. It rises gradually over time as the stablecoin ecosystem matures, automatically adjusting the baseline to the era.
Step 2 — Compute the Deviation
The deviation is calculated as:
Deviation = USDT.D − Baseline MA
A positive deviation means USDT.D is elevated above its own trend — investors are accumulating stablecoins beyond what the baseline predicts. This is abnormal stablecoin hoarding, and it represents genuine potential energy.
A negative deviation means USDT.D is below trend — capital has already been deployed into risk assets. Energy has been discharged.
Step 3 — Percentile Rank the Deviation
The current deviation is ranked as a percentile against all deviation values in a rolling lookback window (default: 200 bars). This produces the final Potential Energy score on a 0–100 scale:
100 = The current stablecoin accumulation anomaly is the most extreme it has been in the entire lookback window. Maximum coiled energy.
50 = Deviation is average. Neutral state.
0 = USDT.D is at its most suppressed relative to trend. Capital is fully deployed. Energy is discharged.
This approach is robust across all market eras and does not require re-calibration as the stablecoin ecosystem grows.
The Four Energy States
The indicator identifies one of four states on every bar, displayed in the live info table and used to determine histogram colour.
ACCUMULATING (Blue)
PE is below 40. USDT.D is near or below its structural baseline. Capital is deployed or neutral. The market is in an active risk-on phase or the bear market has not yet produced meaningful stablecoin accumulation. No elevated potential energy.
BUILDING (Amber)
PE is between 40 and the Charge Threshold, and is rising. Stablecoin accumulation is growing above the baseline. Investors are beginning to retreat from risk. Potential energy is loading. Worth monitoring but not yet at an actionable level.
CHARGED (Orange/Red)
PE is above the Charge Threshold (default: 65). USDT.D is historically elevated relative to its own trend. A significant amount of capital is sitting in stablecoins beyond what the baseline predicts. The spring is fully coiled. Bitcoin's potential energy is at its most loaded.
RELEASING (Green)
PE is above the Charge Threshold AND USDT.D deviation has been declining for N consecutive bars (default: 3). This is the critical state — energy that was compressed is now actively unwinding. Capital is rotating out of stablecoins. Historically, this condition — high stablecoin accumulation followed by a structural reversal — has preceded or coincided with meaningful Bitcoin bull moves.
Release Signal Logic
The release signal is intentionally conservative. Two conditions must be met simultaneously:
1. Armed: The Potential Energy score must be at or above the Charge Threshold. The spring must actually be compressed before a "release" means anything. A declining USDT.D from a low base is not a release — it's just noise.
2. Declining: USDT.D deviation must have been falling for at least N consecutive bars (configurable). This filters out single-bar blips and requires a structural turn, not just a one-week dip.
When both conditions are met, the histogram turns green for the duration of the release phase, and an alert can be triggered on the first bar the signal fires.
Visual Guide
Histogram colour
Deep Blue → Sky Blue: Low energy (PE 0–50), capital deployed
Gold: Moderate energy (PE 50–threshold), building phase
Amber/Orange: High energy (PE above threshold), fully charged
Green: Release phase active — deviation unwinding from a high base
Background glow: Subtly tints the pane background to reflect the current energy state — deep blue at low energy, warming to amber and orange as energy builds.
Dashed orange line: The Charge Threshold. PE crossing above this line arms the release detector.
Dotted grey line: The 50 midpoint. PE above 50 means the deviation is in the upper half of its historical range.
Fast MA (blue) / Slow MA (pink): Moving averages of the USDT.D deviation, projected into the 0–100 PE space. When fast crosses above slow, deviation is accelerating upward — energy building faster. When fast crosses below slow from above the threshold, it can precede a release signal.
Info Table (top right):
Energy Level — Current PE score out of 100
USDT.D — Raw live Tether Dominance reading
Baseline — The long MA value, the structural floor
Deviation — How many percentage points USDT.D is above or below baseline (+ is elevated, − is deployed)
State — Current energy state in plain text
Trend MA — The baseline length setting in use
Settings Reference
Percentile Lookback (default: 200)
The rolling window used to rank the current deviation. Longer lookbacks give more historical context but are slower to respond to structural shifts. 200 bars on the weekly is approximately 4 years — long enough to capture a full bull/bear cycle.
Trend Baseline MA (default: 100)
The most important parameter. This defines the structural floor. On the weekly chart, 100 bars is roughly 2 years — approximately one Bitcoin market cycle. Shorter values (e.g. 52 bars = 1 year) make the baseline more responsive, which can be useful on the daily chart. Longer values (130–150 bars) create a smoother, slower-moving baseline that irons out mid-cycle noise.
Signal Smoothing (default: 3)
EMA applied to raw USDT.D before any calculations. Reduces candle-to-candle noise in the source data. Higher values produce a cleaner but more lagged signal.
Charge Threshold (default: 65)
The PE level that must be reached before the release detector is armed. Raising this to 70–80 produces fewer, higher-conviction signals. Lowering it to 55–60 will trigger signals more frequently but with potentially lower reliability.
Consecutive Bars Declining (default: 3)
The number of consecutive bars that the deviation must be falling before a release is confirmed. Increasing this requires a more sustained reversal and reduces false positives. On the weekly chart, 3 bars is already meaningful — that is 3 weeks of sustained stablecoin outflows.
Fast MA / Slow MA Length (defaults: 14 / 50)
Moving averages of the deviation plotted in PE space. The crossover of fast above slow while PE is below threshold is worth watching as early warning of building energy. A crossover of fast below slow from above the threshold can precede a release signal.
Recommended Usage
Timeframe: Weekly or Daily. This is a macro cycle indicator. Do not use it to time intraday entries — it is not designed for that.
Combine with price structure: The release signal is most powerful when it aligns with Bitcoin reclaiming a key level, a breakout of a multi-month range, or a bullish divergence on a momentum indicator. The Potential Energy score tells you the setup is primed — price action confirmation tells you it is firing.
Watch the Deviation column: The live table shows the raw deviation in percentage points. A deviation of +1.5% means USDT.D is 1.5 percentage points above its 2-year average — that is a meaningful anomaly. Watching this number decline from a peak as the state transitions from CHARGED to RELEASING gives an intuitive real-time read of the rotation.
Baseline MA tuning: On the weekly chart, start with the default 100. On the daily chart, consider reducing the Trend Baseline MA to around 52 bars to keep the baseline responsive to faster-moving daily USDT.D data.
Alerts
Three alert conditions are available:
BTC PE — Energy Release: Fires on the first bar the release condition is met. The most actionable alert. USDT.D deviation is actively unwinding from an elevated zone.
BTC PE — Fully Charged: Fires when PE crosses above the Charge Threshold from below. Signals that potential energy has entered the high zone.
BTC PE — Energy Exiting High Zone: Fires when PE crosses below the Charge Threshold from above. Useful as a heads-up that the setup may be resolving.
Notes
This indicator uses request.security("CRYPTOCAP:USDT.D") to pull Tether Dominance data sourced from CoinMarketCap's crypto market cap feed via TradingView.
This indicator is a research and analysis tool. It does not constitute financial advice. Past correlations between Tether Dominance behaviour and Bitcoin price movements do not guarantee future results. Always combine macro oscillator readings with your own price analysis, risk management framework, and market context. Indicator

Indicator

Indicator

Indicator

Strategy

HValpha Sentinel v6 , HAR-RV Volatility Engine P1 SignalWhat is it?
A real-time volatility engine that tells you three things at once:
how explosive the market is, how much you should risk, and which
direction to trade.
Under the hood it runs a HAR model (short, medium and long-term
realized volatility combined into a single forward forecast), a
dynamic leverage calculator that scales your position down when
volatility spikes, a fractional Kelly sizer, and a VaR/Expected
Shortfall risk monitor — all updated bar by bar.
The P1 signal fires when momentum, market regime and risk filters
all agree. No signal = stay flat. Simple as that.
How to use it?
1. Check the dashboard table (top right). If P(liq) is red, do not
enter a trade — your leverage is too high for current volatility.
2. Wait for a triangle on the chart. Green triangle up = long setup.
Red triangle down = short setup.
3. Use the position size shown in the table and the VaR-based stop.
4. Set the built-in alerts so you never miss an entry.
Best on ETH, BTC and SOL perpetual futures, 1H timeframe.
Default parameters are calibrated for ETH.
Not financial advice. Risk responsibly. Indicator

Indicator

Indicator

Indicator

Strategy

Indicator

Strategy

Indicator

Indicator

Triple MACD PRO NASDAQ MTF CLEAN FLOW FINAL PROA minimalistic multi-timeframe MACD designed for high-speed markets like the NASDAQ.
This indicator focuses purely on momentum, flow, and structure – without visual clutter, signals, or distractions.
🔍 Concept
This tool combines three synchronized MACD layers:
M1 (Entry Engine) → fast momentum and execution timing
M5 (Flow) → short-term directional pressure
M15 (Structure) → higher timeframe bias
All components are normalized and enhanced with momentum acceleration to adapt to the speed of modern index markets.
🎯 Purpose
The indicator is built to:
Read real-time market flow
Identify high-probability continuation phases
Filter weak or low-quality moves
Provide a clean, distraction-free trading view
There are no signals, arrows, or background effects – only essential information.
🎨 Visualization
Histogram (M1) → momentum strength and acceleration
MACD/Signal Lines → structure and crossover context
MTF Fill (M5 & M15) → directional bias without clutter
Color logic:
Green → bullish pressure
Red → bearish pressure
Bright colors → increasing momentum
Darker tones → weakening momentum
Higher timeframe fills remain visible even when lines are hidden, providing continuous context.
📈 How to Use
Long Conditions:
M1 histogram turns and expands upward
M5 fill is bullish (green)
M15 supports or is neutral
Short Conditions:
M1 histogram turns and expands downward
M5 fill is bearish (red)
M15 confirms or aligns
⚠️ Important Notes
This is not a signal-based indicator
Designed for active decision-making and flow reading
Best used in trending or expanding markets
Avoid trading during flat or low-momentum conditions
🧠 Key Features
Multi-timeframe integration (M1 / M5 / M15)
Dynamic normalization (adapts to volatility)
Momentum acceleration (faster reaction than standard MACD)
Clean UI with optional HTF visibility
No repainting
💹 Best Markets
Highly optimized for:
NASDAQ (US100 / NQ) ⭐⭐⭐⭐⭐
Also suitable:
S&P 500 (ES / US500)
DAX (GER40)
Gold (XAUUSD)
Less effective for:
Low volatility Forex pairs
Sideways or illiquid markets
⏱️ Recommended Timeframes
M1 → Primary use (scalping / execution)
M5 → Flow confirmation
M15 → Structural bias
🚫 Not Designed For
Automated trading signals
Long-term investing
Range-bound strategies
Summary:
A high-performance, ultra-clean MACD framework built for traders who rely on structure, momentum, and flow – not signals. Indicator

Indicator

Strategy

Indicator

Indicator

Indicator

Volatility-Adjusted Supply & Demand Zones [Footprint]Volatility-Adjusted Supply & Demand Zones
Overview
Most supply and demand indicators draw zones based on price structure alone — a strong candle appears, a box gets painted, and every zone looks equally valid. This indicator takes a different approach: it sizes and scores every zone using ATR-based volatility, then validates each zone using real order flow data pulled from the bar's volume footprint. The result is a layer of institutional context that price-only zone detectors cannot provide.
The indicator detects displacement candles whose bodies exceed a user-defined ATR multiple, assigns each zone a composite strength score derived from body size and relative volume, and then cross-references the zone's origin bar against footprint delta — the net difference between aggressive buying and aggressive selling — to classify each zone as confirmed, weak, or mitigated. Zones where order flow agreed with the directional move are rendered at full opacity. Zones where delta contradicted the move are faded, acting as a caution signal rather than a confident level. A built-in performance heatmap tracks historical win rates and delta confirmation rates across five strength bins so you can calibrate inputs to your instrument over time.
How it works
Zone detection
On each bar the indicator computes ATR and compares the candle body size against it. If the body exceeds the displacement threshold (ATR × Displacement Multiplier), the bar is flagged as a displacement move. A pending zone is created at the candle's proximal edge and held in a queue. The zone is only confirmed after price has moved away cleanly for a user-defined number of bars without re-entering the candidate range. If price re-enters during the waiting period, the candidate is discarded.
bodySize = math.abs(close - open)
dispRatio = bodySize / atr
isStrongMove = dispRatio > displacementMult
Zone height is fixed at the time of detection: ATR × Zone Width Multiplier, measured from the proximal edge of the displacement candle inward. Demand zones extend downward from the candle high; supply zones extend upward from the candle low.
Strength score
Each zone carries a strength score calculated from the body-to-ATR ratio and the bar's relative volume (volume divided by its moving average). Multiplying these two factors rewards moves that were both large in price terms and accompanied by elevated volume.
relVol = volume / ta.sma(volume, volLengthInput)
strengthScore = dispRatio * math.sqrt(relVol)
The score is displayed on the zone label and used to bin zones into the statistics table.
Footprint delta confirmation
The indicator calls request.footprint() once per bar to obtain the volume footprint for the displacement candle. It reads the bar-level delta (net aggressive buying minus selling), and also inspects the Point of Control (POC) row for directional imbalance. A demand zone is delta-confirmed when the origin bar shows net buying (delta > 0). A supply zone is confirmed when the origin bar shows net selling (delta < 0). When delta contradicts the zone direction, the zone is rendered at the Weak Zone Transparency level as a visual warning.
Zones whose POC row has a confirming buy or sell imbalance are marked with a ⚡ symbol on their label, indicating that the most-traded price level within the bar showed a pronounced one-sided order flow skew.
Visual encoding
Full-opacity zone — footprint delta confirmed the zone direction. Treat as a standard level.
Faded zone (Weak Zone Transparency) — delta contradicted the zone direction. Approach with caution; order flow did not support the move.
Heavily faded zone (Mitigated Transparency) — price has since closed through the far edge of the zone. The level has been invalidated.
⚡ label marker — the POC row of the origin bar showed a confirming imbalance, suggesting concentrated institutional activity at the most-traded price.
Inputs
Detection
ATR Length — lookback period for ATR, which controls zone width, displacement sensitivity, and reaction targets across the entire indicator. Lower values (e.g. 7) make ATR respond faster to recent volatility, producing narrower zones on quiet bars. Higher values (e.g. 21) smooth out spikes for more consistent sizing. Default: 14.
Displacement Multiplier — minimum candle body size as a multiple of ATR required to qualify as a displacement move. Lower values (e.g. 0.5) detect more zones including smaller impulses. Higher values (e.g. 1.5–2.0) filter down to only the most explosive candles. Default: 1.0.
Volume MA Length — lookback period for the volume simple moving average used to compute relative volume. Lower values (e.g. 10) make the baseline adapt quickly so only larger surges register. Higher values (e.g. 50) treat moderate volume increases as more significant. Affects the strength score only, not zone placement. Default: 20.
Zone Width ATR Multiplier — height of each zone expressed as a multiple of ATR at detection. Lower values (e.g. 0.3) produce tight zones that require a precise re-entry. Higher values (e.g. 1.0) tolerate wider wicks before a touch is registered. Default: 0.5.
Confirmation Bars — number of bars price must hold outside the zone after the displacement candle before the zone is drawn. Lower values (e.g. 1–2) capture zones faster but allow more false starts. Higher values (e.g. 5+) require a sustained move away and reduce noise. Default: 3.
Volume Footprint
Ticks Per Footprint Row — price range of each footprint row in ticks. Smaller values (e.g. 10–25) produce more granular rows and more detailed POC detection. Larger values (e.g. 200–500) aggregate into fewer rows and run faster. Match to your instrument: for ES futures (0.25 pts/tick), 100 ticks = 25 points per row; for BTC (0.10/tick), 1000 ticks ≈ $100 per row. Default: 100.
Value Area % — percentage of total bar volume that defines the Value Area, following standard market profile convention. Raising this widens the VA; lowering it tightens it. Default: 70.
Imbalance Threshold % — how much a row's buy volume must exceed the row below's sell volume (or vice versa) to be flagged as imbalanced. At 300%, buy volume must be 3× the adjacent row's sell volume. Lower values (e.g. 150%) flag more imbalances; higher values (e.g. 500%) flag only extreme skews. Default: 300.
Show Delta on Zone — when enabled, the zone label includes the footprint delta direction (▲/▼) and size in thousands at the origin bar. Disable to show only the strength score. Default: on.
Highlight Imbalanced Zones — when enabled, zones whose origin bar POC row has a confirming directional imbalance are marked with ⚡ in the label. Disable to suppress imbalance detection entirely. Default: on.
Statistics
Show Performance Heatmap — toggles the heatmap table in the top-right corner. The table groups zones into five strength bins and shows demand win rate, supply win rate, total zone count, and delta confirmation rate per bin, colour-coded from red (low) to green (high). Default: on.
Reaction Target (ATR) — how far price must move away from a zone after touching it to count as a successful reaction, in ATR multiples. Lower values (e.g. 0.5) count small bounces as wins; higher values (e.g. 2.5–3.0) require meaningful moves. Affects statistics only — does not resize zones. Default: 1.5.
Style
Demand Color — fill and border colour for demand zones. The opacity set in the colour picker controls baseline transparency; delta-confirmed zones render at this opacity while weak zones are additionally faded. Default: green at 60% transparency.
Supply Color — fill and border colour for supply zones. The same transparency layering applies as demand zones. Default: red at 60% transparency.
Weak Zone Transparency — transparency applied to zones where footprint delta contradicts the zone direction. Higher values (closer to 100) make weak zones nearly invisible. Lower values keep them visible as a caution marker. Default: 82.
Mitigated Transparency — transparency applied after a zone is invalidated by price closing through its far edge. Higher values clean up the chart; lower values retain mitigated zones as historical context. Default: 90.
Usage notes
Before trusting any zone, check the label: a ▼ delta on a demand zone or ▲ delta on a supply zone means aggressive order flow did not support the move. Wait for additional confirmation before entering against the zone.
The ⚡ marker identifies zones where the most-traded price level within the displacement bar showed a one-sided imbalance. These levels represent potential areas of concentrated institutional activity and may produce stronger reactions than unmarked zones.
Use the performance heatmap to calibrate your displacement and volume inputs. If the highest-scoring bins (6–8, 8+) are showing low win rates for your instrument, the displacement multiplier may be too low and is capturing impulsive but unsustained moves.
The Δ Conf% column in the heatmap shows what fraction of zones in each strength bin had confirming delta. If high-strength zones show low confirmation rates on your instrument, consider whether a different timeframe or session gives more reliable footprint data.
Footprint data requires a TradingView subscription tier that provides volume footprint access. On instruments or timeframes where footprint is unavailable, delta values display as "Δ n/a" and all zones default to confirmed status so zone detection still functions.
Ticks Per Footprint Row is the most instrument-sensitive input. Set it too small and computation overhead increases; set it too large and POC imbalance detection loses resolution. For equity index futures, 50–100 ticks per row is a reasonable starting range.
Mitigated zones (heavily faded) mark levels where price has already broken through. They are kept visible by default as historical reference but can be hidden completely by setting Mitigated Transparency to 100.
This indicator does not generate entry signals. It identifies structural levels with order flow context. Combine it with a trigger mechanism — a lower-timeframe confirmation candle, a momentum signal, or a volume surge — before committing to a trade.
Indicator

Indicator

Volume Footprint [Simplifyed]Volume Footprint
Overview
Most volume indicators tell you how much was traded. This indicator tells you who won . Volume Footprint displays the order flow breakdown inside every bar — how many contracts were bought aggressively versus sold aggressively at each price level — so you can see where institutional participation is concentrated and whether that participation is consistent with the direction price actually moved.
The core insight is simple: price only moves when effort fails to produce a result. A bar dominated by sell orders that still closes higher is not bearish — it is a sign that passive buyers absorbed every aggressive seller. The next move is likely up. This script surfaces those inefficiencies directly on your chart.
Requires a TradingView Premium or Ultimate plan for the request.footprint() API.
How it works
The script requests a full footprint for each bar via Pine Script v6's native request.footprint() call. Each bar is divided into rows based on a user-defined tick width. Every row shows its delta — the net difference between aggressive buy volume and aggressive sell volume at that price level.
footprint fp = request.footprint(i_ticks, i_va, i_imbal)
float barDelta = fp.delta()
array rows = fp.rows()
Six signal types are derived from that data:
Bear Trap (green label) — the majority of sell-delta rows are clustered in the bottom third of the bar. Sellers entered at the lows and were absorbed. Their break-even stop is the bar's POC.
Bull Trap (red label) — the majority of buy-delta rows are clustered in the top third of the bar. Buyers entered at the highs and were absorbed. Their break-even stop is the bar's POC.
Squeeze Up / Squeeze Down (diamond) — price crosses through a Vulnerability Line drawn at a prior trap bar's POC. Trapped participants hit their stops and accelerate the move.
Ineff Sell / Ineff Buy (circle) — bar delta is negative but the candle closed up (or vice versa). Effort did not produce the expected result. The aggressive side is exhausted.
Vulnerability Line (dashed) — a horizontal line extending from each trap bar's POC. This is the trapped trader's break-even level. It turns dotted when consumed by a Squeeze signal.
Iceberg Row (bright border) — a row where total volume exceeds a multiple of the bar's average row volume. Signature of a passive institutional limit order silently absorbing aggression.
Bar rows are coloured by delta direction: teal for net buying, red for net selling. Row opacity scales with volume when the gradient mode is enabled. The Value Area (the range of rows containing a user-defined percentage of total bar volume) receives a gold border. The POC row receives an orange border.
The bar delta label at the bottom of each bar shows the net delta, volume context (FRESH / EXIT up / EXIT down), and a summary of imbalance counts. A star prefix (★) on trap labels means the trap fired at the edge of the recent N-bar range — the highest-conviction location.
Inputs
Footprint
Ticks per Row — controls the price granularity of each footprint row. One tick equals syminfo.mintick. Lower values (e.g. 10) produce more rows and finer detail but consume more drawing objects; higher values (e.g. 500) produce fewer, coarser rows. Target approximately 25 rows per bar. Use the "ATR Ticks Hint" value in the Data Window as a starting point. Default: 100.
Value Area % — the percentage of total bar volume used to define the Value Area. The standard market profile convention is 70. Raising this to 90 widens the highlighted region; lowering it to 50 tightens it to only the highest-volume core. Default: 70.
Imbalance Threshold % — a row is flagged as having a buy imbalance when its buy volume exceeds this percentage of the row below's sell volume (and vice versa for sell imbalance). At 300%, a row needs 3× the adjacent row's opposing volume to qualify. Lower values (e.g. 150) produce more frequent imbalance markers; higher values (e.g. 500) flag only extreme stacking. Default: 300.
Signals
Fresh/Exit Range (bars) — the lookback window used to classify whether the current bar is in the middle of the recent range (FRESH — new institutional entry) or at its extremes (EXIT — take-profits or stops). A value of 20 uses the prior 20 bars. Shorter lookbacks (e.g. 5) react to recent swings; longer lookbacks (e.g. 50) classify against a broader structural range. Default: 20.
Iceberg Threshold (x avg row vol) — a row is highlighted as an iceberg when its volume exceeds this multiple of the bar's average row volume. At 3.0×, a row needs three times the average to qualify. Lower values (e.g. 2.0) highlight more rows; higher values (e.g. 6.0) flag only the most extreme absorption events. Default: 3.0.
Candle Shape Filter for Traps — when enabled, a Bear Trap additionally requires a hammer candle (lower wick at least 2× the body, upper wick at most 0.5× the body) and a Bull Trap additionally requires a shooting-star candle. This reduces signal frequency and increases precision. Disable it on instruments where wick structure is less reliable (e.g. crypto with frequent spikes). Default: off.
Display
Value Area Highlight — draws a gold border on rows within the Value Area. Default: on.
POC Highlight — draws an orange border on the Point of Control row (highest volume row in the bar). Default: on.
Imbalance Markers — plots a small triangle at the top or bottom of rows with a buy or sell imbalance. Default: on.
Bar Delta Label — displays a label below each bar showing total bar delta, volume context, and dominant imbalance count. Default: on.
Trap Signals — shows Bear Trap and Bull Trap labels on qualifying bars. A ★ prefix indicates the trap fired at a range edge. Default: on.
Vulnerability Lines — draws a dashed horizontal line at each trap bar's POC, extending to the right until consumed by a Squeeze signal. Default: on.
Squeeze Signals — plots a label when price crosses through a Vulnerability Line, triggering forced exits from trapped participants. Default: on.
Efficiency Signals (Effort vs Result) — plots Ineff Sell and Ineff Buy labels when delta direction and candle direction disagree. Default: on.
Volume Gradient — when enabled, each row's background opacity scales with its share of total bar volume, making high-volume rows visually heavier. When disabled, all rows use a flat background colour. Default: off.
Label Size — sets the text size of row delta labels. Options: tiny, small, normal. Default: tiny.
Usage notes
Read the "ATR Ticks Hint" value from the Data Window before setting Ticks per Row. Divide the hint by 25 to find a starting point that yields approximately 25 rows per bar. Too few rows (under 10) loses resolution; too many rows (over 40) consumes drawing objects rapidly and shows only the last few bars in full detail.
Full footprint detail (boxes and labels) is limited to approximately the last 13 bars due to drawing object limits (500 boxes, 500 labels). All signals — traps, squeezes, efficiency — are plotted on all historical bars via plotshape and barcolor, so you can scroll back to review signal history without losing them.
Treat the ★ trap label as higher conviction than an unmarked trap. A trap firing in the middle of a range has less context than one firing at a structural high or low where stops are naturally clustered.
A Vulnerability Line turning dotted is the Squeeze confirmation. The price crossing the line is the mechanical event; the line changing style is its visual acknowledgement. Monitor open Vulnerability Lines for potential squeeze setups forming over multiple bars.
Ineff Sell and Ineff Buy signals are strongest when they appear in the FRESH zone (bar label shows "FRESH"), meaning institutional participants entered mid-range and their effort failed. Efficiency signals in EXIT zones are more ambiguous — they may simply reflect profit-taking.
A row with a bright iceberg border is a price level to watch on subsequent bars. Institutions building positions via iceberg orders at a specific level tend to defend that level on retests.
This indicator requires one request.footprint() call per script. You cannot combine it with other scripts that also use request.footprint() on the same chart due to Pine Script's single-footprint-per-indicator constraint.
Recommended pairings
Volume Footprint is most effective when combined with a structural context tool — a supply and demand zone indicator or a swing high/low marker — so you can confirm whether trap and squeeze signals are firing at meaningful price levels. A session volume profile (VPVR) on the same chart helps identify whether the current bar's POC aligns with a broader high-volume node or is isolated. Indicator
