Smooths Session Volume ProfileOverview
Smooths Session Volume Profile (SSVP) is built around a single volume-splitting engine that feeds three different views of the same underlying data: a per-bar footprint table, a compact mobile dashboard, and a session-scaled Volume Profile with Point of Control, Value Area, and Imbalance detection. Every number shown anywhere in the script traces back to one buy/sell volume calculation performed once per bar.
Why these are one script, not a mashup
The footprint table and the Volume Profile are not two indicators placed side by side — they are two resolutions of the identical volume model. The table shows that model at full per-bar detail over a short recent window; the profile aggregates the exact same bar-level buy/sell split over whichever session(s) the user selects. The session tools (highlight boxes, session-based profile scaling, Naked POC) extend that one model with time-of-day awareness rather than adding a separate feature. Removing the table would not simplify the script's purpose, it would just remove one lens on the same data the profile already uses.
Concepts used
Selectable volume engine: Geometric splits each bar's volume by where it closed inside its own high-low range. Intrabar reads real up/down volume from a lower timeframe via TradingView's own ta library. Footprint reads TradingView's native per-tick request.footprint() data (Premium/Ultimate plans only). Every other calculation in the script consumes whichever engine is active, unchanged.
Per-bar truncated-normal volume split: rather than splitting a bar's volume evenly across the ticks it traded, the script models the buy side and the sell side as separate truncated normal distributions inside the bar's own high-low range, centered toward where the bar actually closed. This produces a continuous, weighted density instead of a flat histogram bar.
Volume Profile as a summed density: the same per-bar truncated-normal components are summed across every included bar into one continuous curve, which is then sampled to locate the Point of Control (the price of maximum combined density), the Value Area (the narrowest band containing a chosen percentage of the modeled volume), and diagonal volume imbalances between adjacent price levels.
Session-aware scaling: Asia, London, and New York are each tracked independently — the script knows whether a session is currently forming or was last completed, and the profile can be built from the live union of whichever sessions are toggled on, instead of a fixed bar count.
Naked POC: the instant a session's occurrence closes, that session's own standalone Point of Control is computed independently of the combined profile and kept on the chart as an untested level until price actually trades back through it.
Self-checking math: the Overlap reading (OVL) measures what share of buy and sell volume occurred at the same prices, from 0 (fully separated, directional) to 1 (fully overlapping, balanced/rotational). The Residual reading (RES) independently re-integrates the density model and compares it back to the real volume it's supposed to represent, in parts-per-million, so the script can flag its own modeling error rather than silently drawing a profile that doesn't add up.
How to use it
Add it to any chart and timeframe. Use the Volume Profile's POC as a magnet level and its Value Area edges as boundaries between accepted and rejected price. Diagonal imbalances mark price levels where one side of the market overwhelmed the other. Toggle individual sessions in and out of "Include in Profile" to isolate one session's structure or build a composite of several. Switch to the footprint table or the mobile dashboard for the identical volume data at per-bar resolution instead of session-aggregated.
Originality
The per-bar truncated-normal volume model — shared by the footprint table and the Volume Profile alike — is the mechanism this script is built around, not an assembly of standard metrics. Session-aware profile scaling, Naked POC seeded independently per session, and the self-checking Residual metric are not reused from another publication; the detection, modeling, and rendering logic here were written for this script.
Inputs
Volume Profile — Profile Period/Session Scaling mode, Style (Line/Columns/Histogram), Width/Resolution, Gap From Chart, bell colors and fill
Session Profile Scaling — per-session time windows, time zone, Include in Profile and Show Highlight toggles, highlight colors
Metrics — Point of Control, Value Area, Imbalance thresholds, Naked POC, Balance Tilt, Residual Tolerance
Data Engine — volume engine selection and its parameters
Table Display — footprint table and mobile dashboard appearance
This indicator has no buy/sell signals, alerts framed as trade calls, or strategy logic — it is a volume-analysis tool. It does include TradingView alertcondition() entries for session starts and Overlap-state changes, which fire on data conditions, not trade recommendations. อินดิเคเตอร์

The Magnet ModelThe Magnet Model — Opening Range Volume Profile
The Magnet Model ORVP is designed to turn the opening auction into a simple, repeatable map of where volume established value and where those levels may continue to matter throughout the trading session. It will automatically map the key volume-based levels established during New York opening range.
Instead of manually drawing a Fixed Range Volume Profile each morning, the indicator automatically builds the opening profile and identifies the Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL). Once the opening range is complete, these levels extend to the right, allowing traders to monitor how price interacts with them throughout the session.
Key Features
Automatic 9:30–9:46 AM New York Opening Range Volume Profile
Automatically calculates VAH, POC, and VAL
70% Value Area by default
VAH, POC, and VAL automatically extend to the right
Shaded Value Area between VAH and VAL for quick visual reference
Current ORVP is highlighted pink
Previous ORVP zones can use different colors to distinguish sessions
Adjustable number of historical ORVPs displayed
Clean date labels such as 8/31 ORVP
Adjustable profile rows and profile width
Customizable colors, line widths, and line styles
Optional Overlap Detection Deletion to automatically remove older ORVP zones that overlap the newest value area
Designed to maintain a clean chart while preserving important historical opening-range levels
How It Can Be Used
The ORVP provides a structured framework for evaluating the market after the opening range has formed.
VAH, VAL, and POC can serve as important areas to monitor for:
Acceptance and rejection
Support and resistance
Breakouts and failed breakouts
Retests
Potential price magnets
Continuation or reversal opportunities
Historical ORVP levels can also remain on the chart, allowing traders to identify when price returns to areas of value established during previous sessions.
Best Used With Confluence
While The Magnet Model ORVP is powerful on its own, it can become even more effective when combined with other high-quality market references and confirmation tools.
Consider looking for confluence with VWAP, Simple Moving Averages (SMAs), Initial Balance (IB), key session levels, and order flow.
Some of the strongest areas of interest can develop when multiple independent levels or signals align with an ORVP VAH, VAL, or POC, providing additional context for potential support, resistance, acceptance, rejection, and directional movement.
The goal is not to trade an ORVP level blindly, but to use it as part of a broader framework of confluence.
Overlap Detection
When Overlap Detection Deletion is enabled, the indicator compares each newly completed value area with older ORVP zones.
If an older VAH-to-VAL value area overlaps the newest value area, the older profile is automatically removed.
This optional feature helps reduce chart clutter and keeps the focus on distinct opening-range value areas.
Default Configuration
Opening Range: 9:30–9:46 AM New York
Value Area: 70%
Profile Rows: 100
VAH / VAL / POC: Black, 2-width lines
Current Value Area: Pink, 20% opacity
Historical Value Areas: Differentiated by color
Send me a message with any questions or requests.
For educational and informational purposes only. This indicator does not provide financial advice or guarantee future market behavior. อินดิเคเตอร์

Unicode Heatmap CandlesUnicode Heatmap Candles
■Overview: Analytical Paradigm & Value Proposition
This indicator introduces a fundamentally new approach to micro-structural market analysis within TradingView. Transcending the visual limitations of standard OHLC (Open, High, Low, Close) candles, it leverages Pine Script v6's dynamic array processing to completely reconstruct price bars into high-resolution liquidity heatmaps. Engineered specifically for active traders and quantitative analysts, it visualizes the true order flow and volume concentrations (Point of Control) hidden beneath superficial price action in real-time.
1. Concept & Analytical Edge
Standard candlestick charts display static geometrical shapes, which inherit a critical flaw: they completely obscure internal transaction dynamics. A long wick or a large body tells you where the price moved, but not where the actual capital was deployed. In institutional quantitative analysis, a candlestick is not a solid bar, but a vertical aggregation of micro-transactions.
By utilizing Unicode block characters with sub-tick precision, this indicator maps the exact distribution of executed lower-timeframe (LTF) volume across price tiers within each individual candle—without relying on external footprint tables. It separates "empty price movements" from "solid liquidity zones.
2. Core Mechanics & Mathematical Logic
A. Dynamic Volatility Slicing (ATR Adaptive)
To maintain consistent visual resolution across varying market conditions (from low-volatility Asian sessions to high-impact news events), the price tier step is dynamically derived from the Average True Range (ATR).
Calculate dynamic price step based on 14-period ATR
float current_atr = global_atr
if na(current_atr) or current_atr == 0
current_atr := close * 0.005
int active_ticks = math.max(1, math.round((current_atr / 30) / syminfo.mintick))
float step = syminfo.mintick * active_ticks
int total_r = math.ceil((bar_h - bar_l) / step) + 1
Why this calculation? Fixing the tier size by a static tick value causes resolution breakdown during volatility spikes. By dividing the 14-period ATR by 30 and rounding to the nearest minimum tick, this mathematical normalization guarantees that each candle is systematically divided into approximately 20 to 30 micro-tiers, outputting a consistent heatmap resolution regardless of the timeframe or asset class.
B. Geometry Detection: Real Body vs. Wick
The script evaluates the exact numerical center of each vertical price tier to identify whether it structurally belongs to the candle body or the wick, rendering distinct Unicode glyphs to preserve the traditional candlestick silhouette.
Determine Body vs Wick geometry
float top_p = price_p + (step / 2)
float bot_p = price_p - (step / 2)
bool is_body = (top_p > body_bot) and (bot_p < body_top)
string current_char = is_body ? body_char : wick_char
Candle Body: Stacks wide block glyphs (███) to represent the high-density range between Open and Close.
Candle Wick: Stacks slender vertical glyphs (┃) to trace extreme price rejections up to the High/Low limits.
3. Scope of Capability & Technical Boundaries
To maintain institutional-grade transparency, the operational boundaries and strict design choices of this tool are detailed below. This is a specialized hyper-local lens, not a historical charting tool.
Intra-Candle Heatmap : Maps LTF volume directly inside the candle shape.
Real-Time POC Tracking : Visualizes highest volume nodes via color saturation.
Multi-Asset Support : Works flawlessly across Equities, Crypto, Forex, and Futures.
Full Historical Backtesting : Restricted by the Pine Script 500-label buffer limit.
High-ATR Max Display : Optimized strictly for real-time, active execution setups.
System Constraint & Design Architecture: Pine Script v6 enforces a hard maximum of 500 label objects (max_labels_count=500). Because each high-resolution candle consumes 20 to 40 individual labels to render the micro-tiers, the simultaneous display limit is mathematically capped around the most recent 5 to 8 bars in high-ATR environments. Older bars are systematically garbage-collected. This is an intentional architectural choice: 100% of the maximum allowed computing and drawing resources are allocated to maximizing the resolution of the current market structure.
Important Note on Higher Timeframes (Daily/Weekly/Monthly): TradingView Data Limits
You may notice that when applied to high timeframes like the Monthly chart, older candles render as gray (Zero Volume). This is not a bug. TradingView imposes a strict limit of 100,000 historical bars for lower-timeframe (request.security_lower_tf) data requests. If your LTF is set to 1-minute, 100,000 bars cover only about 70 days. Therefore, older macro candles cannot retrieve micro-volume data.
Remember: This indicator is a "Microscope" built for active intraday/swing execution. It is fundamentally designed for micro-structure analysis, not macro-historical profiling.
Anti-Crash Fail-Safe (For Non-Premium Users)
TradingView strictly limits access to seconds-based timeframes (e.g., 1S, 15S) to Premium plan subscribers. To prevent runtime crashes for Essential/Plus users, this script features a built-in safety toggle: "Premium Plan (Allow Seconds TF)".
If this box is unchecked (default), any attempt to input a seconds-based LTF will be automatically intercepted and safely downgraded to a 1-minute (1m) resolution, ensuring uninterrupted operation for all user tiers.
4. How to Use
Add the indicator to your chart.
Open Chart Settings (Gear Icon) -> Symbol -> Uncheck Body, Wick, and Borders (hide standard candles).
Observe the internal liquidity distribution:
Red / Orange Nodes: Point of Control (POC) and high-liquidity concentration zones.
Blue / Muted Nodes: Low volume nodes (slippage zones, price vacuums, or liquidity voids).
Disclaimer
This script and its description are published solely for the purpose of learning, researching, and providing technical analysis methodologies. The developer assumes no responsibility for any direct, indirect, incidental, or consequential losses or damages (including trading losses or loss of profits) arising from the use of this tool. Trading in financial markets involves substantial risk. Please conduct thorough verification and implement appropriate risk management at your own risk before using this in a live trading environment. อินดิเคเตอร์

MTF VWAP + POC Fan### What it does
Seven fixed-lookback windows on one anchor timeframe. Each window draws a VWAP curve — where the average participant's cost sits over that span — and can optionally draw a POC, the single price bin inside that same window that traded the most volume.
Same window, two different questions:
- **VWAP** — what the average participant paid
- **POC** — where participation actually concentrated
A dashboard reads the seven VWAP endpoints and scores the structure they form.
Default ladder is a daily one: **21 / 63 / 126 / 189 / 252 / 378 / 756** bars — roughly one month through three years. The anchor timeframe is configurable, so the same ladder on Weekly becomes five months through fourteen years.
### Why fixed lookbacks instead of swing anchors
Anchoring a VWAP at a swing high or low answers a real question — "what has been paid since that event" — but those anchors collapse into each other as windows grow. If price has not exceeded its three-month high, then the six-month, twelve-month and three-year highs are all the same bar, and several rungs draw one curve.
Fixed-lookback anchors cannot collide. The bar 252 back and the bar 378 back are always different bars, so seven rungs always mean seven distinct windows. That property is what makes a seven-horizon fan worth drawing at all.
### Reading the curve correctly
This is the part most multi-window VWAP scripts leave ambiguous, so it is worth being explicit.
At its **right edge**, VW252 equals the VWAP of the last 252 anchor-TF bars. That endpoint is the number.
The **tail behind it is not a rolling 252-bar series.** Every point on the drawn curve is the accumulation from the origin that is 252 bars back *today*, so the midpoint of the line is roughly a 126-bar average. The curve does not show what VW252 read on those past dates — on any past date it was anchored 252 bars before *that* date, at a different origin entirely.
The tail is one accumulation path from today's origin. Read historical crossings with that in mind.
### How the VWAP is calculated
Standard volume-weighted mean of the source (default HLC3) from the window's origin bar to its end bar, accumulated over **chart** bars. Origins are located on the anchor timeframe, then resolved to the exact chart bar by binary search.
When volume is missing or zero the engine substitutes 1.0, and tracks the substitution rate **per window**. Two different failures hide under one symptom:
- Missing on nearly every bar (synthetic symbols, some indices) — every bar weighs the same, so the curve is an *unweighted* mean of the source. Usable if you know that is what you are reading.
- Missing on a handful of bars in a real feed — a bar weighing 1.0 against neighbours weighing millions is not averaged in, it is effectively *dropped*. Still a proper volume-weighted mean, over a slightly smaller sample.
Curves whose own window exceeds the warning rate are suffixed with `*` and counted on the dashboard.
### How the POC is calculated
The window's high-low range is divided into bins, and each bar's volume is allocated **in proportion to how much of that bar's range overlaps each bin.**
The obvious shortcut — splitting a bar's volume equally across every bin it touches — is wrong at the edges: a bar with 2% of its range in one bin and 98% in the next would contribute 50/50. Since the POC is an argmax rather than an average, that error does not wash out. It can hand the win to the wrong bin.
Fully covered interior bins are accumulated with a difference array (one increment at the low edge, one decrement at the high edge, resolved in a single prefix sum) rather than a per-bin loop, which keeps the cost at O(bars + bins).
Three deliberate constraints:
**Resolution is capped at one bin per tick.** The bin-count input is a *maximum* resolution, not permission to invent sub-tick precision. If a window's whole range spans forty ticks, a hundred bins would put several bins inside one tick and the argmax would be choosing between prices that cannot trade. The reported level is also snapped to the instrument's tick grid, because an unrounded one-tick bin from 10.00 to 10.01 reports 10.005.
**Bin width is per window.** Each window divides its *own* range, so a P756 bin can be several times wider than a P126 bin. Two POCs landing on the same price are not confirming each other to the same tolerance. Each label's tooltip prints its bin width — read the level as the centre of that band, not as a price.
**POC is suppressed, not flagged, when volume is substituted.** A VWAP with missing volume degrades into an unweighted mean, which is still a usable number. A profile with missing volume becomes a bar-*count* histogram, whose peak answers where price spent the most bars regardless of size traded. That is a different statistic wearing the POC's name, so above a threshold nothing is drawn and the dashboard names the reason.
### Why POC is drawn forward, not backward
By default a POC starts at the last calculated bar and extends right. It is not drawn back across the window it was computed from.
A VWAP tail is a continuous accumulation with a value at every bar. A POC is a single number recomputed every bar with no value anywhere but now. Drawing both back to the same origin would make one line a genuine path and the other a snapshot impersonating one — the same visual gesture carrying two different truth-values, which teaches the wrong reading and creates hindsight support that was never there.
`Window + Forward` is available when you want to see the span, with the understanding that the backward segment is decoration.
Related: a POC **jumps**. It is an argmax, so when a different bin overtakes the leader the level teleports. A POC that sat at 70k yesterday and prints 62k today is not a data error — it is a window with two shelves close in volume. The single line cannot tell you that, which is the honest limitation of showing a POC without its profile.
### The visual grammar
- **Colour = horizon identity**, fixed per rung, never reassigned when other rungs are toggled. 252 is gold whether seven rungs are on or two.
- **Solid, width 2 = VWAP**
- **Dashed, width 1 = POC**, same colour as its VWAP
There is deliberately no horizon-based transparency and no colour-by-price-position. Fading short horizons fought the pairing and restyled everything on every toggle. Colour-by-price-position was redundant with the chart itself — whether a VWAP is above or below price is visible by looking at it — and spending the colour channel on it meant colour was unavailable for identity.
The palette is a cool progression (aqua → light blue → blue → lavender → **gold at 252** → violet → deep purple) so the fan reads as one instrument rather than seven unrelated indicators. Gold breaks the ramp deliberately, because 252 is the horizon most often referenced. Green and red stay out of the palette on purpose: they belong to the candles, and to the dashboard.
The script declares `scale=scale.none` so a distant 756-bar VWAP cannot drag the price axis and compress the candles you are actually trading.
### Seven VWAPs, three POCs
All seven VWAPs ship on. Seven ordered curves read fine, and where they bunch is itself information.
POCs are opt-in per rung, defaulting to **126 / 252 / 756** only — medium-term, annual, multi-year. Seven horizontal levels crowd a chart in a way seven curves do not. P189 and P378 are one click away. Global `Show VWAPs` and `Show POCs` switches let you inspect either family alone.
### The structure dashboard
A 0–100 read on where price sits relative to the fan and whether the fan is ordered.
```
STRUCT 88
P>VW 7/7
STACK +5/6
BIAS STRONG BULL
P>POC 3/3
```
**Price position — 50 points.** How many VWAP endpoints price is above, as a fraction of the drawn rungs, times 50.
**Stack — 50 points.** The adjacent-pair ordering, short over long. Each of the six adjacent pairs scores +1 when the shorter window sits above the longer, −1 when inverted, 0 when they are inside an equality tolerance. Raw range −6 to +6, rescaled to 0–50.
The dashboard shows the **signed raw total** (`+5/6`, `0/6`, `−4/6`) rather than a count of bullish pairs, because that signed number is literally what enters the score. Five bullish plus one tied and five bullish plus one inverted are different fans that a bullish-pair count would render identically.
The tolerance is normalised by the **anchor timeframe's** ATR, not the chart's — otherwise the same daily fan would classify two near-identical VWAPs as tied on a 130m chart and ordered on a 39m one, purely because the chart-TF ATR is smaller.
| Score | Bias |
|---:|---|
| 85–100 | Strong Bull |
| 70–84 | Bull |
| 55–69 | Bull Lean |
| 45–54 | Neutral |
| 31–44 | Bear Lean |
| 16–30 | Bear |
| 0–15 | Strong Bear |
`P>POC` is context only and does **not** enter the score. A volume concentration is a location, not a direction.
### What the score is not
Worth stating plainly, because a 0–100 number invites more confidence than this one has earned.
**The two components are not independent.** Price above every VWAP and a perfectly stacked fan are largely the same market condition seen twice — in a sustained one-way move both max out together, in chop both sit near their middles. Treat 0–100 as one structural reading measured two ways, not as a composite of separate evidence. The extremes are easier to reach than a two-component construction suggests.
**Stack ordering is partly mechanical.** These windows are nested — VW21's bars are a subset of VW63's, which are a subset of VW126's — so in any monotonic trend the ordering *follows* from the trend rather than confirming it independently. Where it earns its keep is at turns, when the short end inverts while price position is still high. That divergence between the two rows is more informative than the combined number.
**It is a step function.** With seven rungs, price position moves in jumps of 7.14 and stack in jumps of 4.17. The reading can cross the entire neutral band between two bars without ever printing a value inside it. Small changes are not drift.
**The score is withheld when horizons are missing.** Unless every enabled rung produced a VWAP and no two rungs share a lookback, STRUCT and BIAS print `—` and a `check` row names the reason. Normalising over whatever horizons happened to exist would let a two-horizon symbol print `STRUCT 100 / STRONG BULL`, indistinguishable at a glance from a seven-horizon reading.
Practical consequence: on a symbol without 756 anchor bars of history, the score stays blank until you turn VW756 off. That is deliberate. Disabling the rungs a symbol cannot support makes the reading an explicit statement about which horizons you are using.
### Confirmed Bars Only
With this off (default), windows extend through the current chart bar and update live.
With it on, **both ends** move to completed bars: lookbacks shift back one anchor bar, and all accumulation — VWAP, POC, the dashboard's reference price, and the stack tolerance's ATR — stops at the last chart bar of the last completed anchor candle. The fan then stops moving intraday entirely, which is what the switch should mean. Labels still sit at the chart's right edge while the values belong to the last completed candle; that gap is the point of the switch.
### Settings worth knowing
- **Anchor Timeframe** — the timeframe every lookback is counted in. Must be at or above the chart timeframe. Every anchor timeframe wants its own ladder; the defaults are a daily one.
- **Profile Bins** — maximum POC resolution, capped at one bin per tick.
- **Stored Chart Bars** — an origin must fall inside stored history or its rung is dropped, not approximated. Default 10,000 because 756 daily bars on a 39m chart is roughly 7,500 chart bars.
- **Dim rungs far from price** — optional, off by default. Fades a rung whose VWAP is beyond a set ATR distance. The whole rung dims together so a pair never splits into one bright line and one faint one. Try `scale.none` alone first.
- **Update Mode** — Live redraws every tick, which is necessary rather than wasteful: Pine destroys drawing objects created on an uncommitted tick, so on the forming bar a redraw every tick is the only way curves stay on screen. On Bar Close draws only on committed executions. Use it, or turn POCs off, if the profile passes trip the calculation time limit.
- **Show Diagnostics Panel** — full accounting of rungs, drawn objects and failure reasons. Off by default; anything genuinely wrong still surfaces on the dashboard's `check` row.
### Known properties
**Chart-timeframe sensitivity.** Origins come from the anchor timeframe, but accumulation uses chart bars, so the same daily setup gives slightly different values on a 39m chart than a 130m one. For the VWAPs this is second order — averaging washes out coarse bucketing. For the POC it is not: an argmax does not average, and a coarse bar spreads its volume uniformly across a range it never traded uniformly through. Expect the POC to shift by a bin or two between chart timeframes, more on symbols with frequent wide-range bars.
**Duplicate lookbacks are counted, never merged.** Two rungs set to the same number draw two identical curves in two colours, which looks like two horizons agreeing and is really one horizon entered twice. The dashboard flags it and withholds the score.
### Why VWAP and POC live in one script
They are computed from the same window definition. Splitting them would mean two indicators independently re-deriving identical origins, and would make it impossible to guarantee that P252 and VW252 cover exactly the same bars — which is the entire point of reading them as a pair. The dashboard reads only the VWAPs; the POC family is excluded from it precisely because it answers a non-directional question.
---
*This is a structural reference tool, not a signal generator. Nothing here produces entries, exits or alerts, and no part of it is a claim about future prices. Published open source so the calculations can be checked rather than taken on trust.*
อินดิเคเตอร์

StormCore Engine: OTE, Alligator & Volume ProfileThe StormCore Engine is a modular, all-in-one technical analysis tool designed to consolidate three powerful trading methodologies into a single, highly optimized script. By combining Optimal Trade Entry (OTE) zones, a modernized Williams Alligator, and a dynamic Volume Profile with node detection, this engine helps traders identify liquidity zones, trend alignments, and key volume clusters without exhausting indicator limits on the chart.
This script is built with a modular architecture, meaning every core component can be toggled on or off via a "Master Toggle" in the settings, keeping your workspace clean and reducing CPU load when specific tools are not in use.
### Core Modules
1. Optimal Trade Entry (OTE)
This module automatically plots Fibonacci retracement levels (including the 62% and 79% "sweet spot" boxes) anchored either to the visible chart area, custom date ranges, or higher timeframe swings.
- Features fractal detection to identify potential market structure shifts.
- Customizable Fibonacci extensions for dynamic profit-taking targets.
2. Super Alligator
A modernized take on the classic Bill Williams Alligator indicator. It utilizes SMMA-based Jaw, Teeth, and Lips to gauge trend direction and momentum.
- Signal Generation: Prints explicit Buy/Sell markers only when the "mouth" is fully open and the gap between the close price and the Lips exceeds a user-defined percentage.
- Trend Filters: Includes optional SMA 200 and VWAP filters to ensure signals only fire in the direction of the macro trend or intraday fair value.
3. Volume Profile & Node Detection
Calculates the trading volume at specific price levels over a user-defined lookback period.
- Displays the Point of Control (POC) and Value Area High/Low (VAH/VAL).
- Node Detection Algorithm: Highlights high-volume Peaks and low-volume Troughs within the profile, which often act as significant support and resistance barriers.
### Practical Application (How to Use)
A high-probability setup occurs when multiple modules align:
- Wait for the price to retrace into the OTE 70% box.
- Check if this zone coincides with a Volume Profile Peak (indicating strong historical liquidity).
- Await a confirming signal from the Super Alligator (e.g., a Buy triangle firing above the VWAP filter) to execute the trade.
All modules are calculated independently but rendered cleanly to avoid chart clutter. Adjust the settings for your specific asset and timeframe.
Developed by Andy Storm | AI-StormCore. อินดิเคเตอร์

Market Profile TPO [vault]TPO is a market profile tool that shows where the market actually spent its time, not just where price printed a candle. It builds a time price opportunity profile for every day, week or month and marks the levels that keep mattering after the period closes.
How it works
The script splits each period's range into a configurable number of rows and counts how many bars traded inside every row. That count is the TPO score. The widest row is the Point of Control, the fairest price of the period and the level price keeps rotating back to. Around it the script expands the Value Area using the standard two row algorithm until it holds a chosen percentage of total TPO count, giving you the accepted range and its two edges.
Everything is calculated in a single pass over the period's bars instead of scanning every row separately, so the developing profile updates in real time without dragging the chart down, even on 100 rows and low timeframes.
Green area below, red above, no. This is not a signal tool. Value area high and low are the edges of accepted price, and trades that open outside value and reject back inside tend to rotate to the opposite edge. The POC is a magnet. Untouched POCs from previous periods are stronger magnets.
What it draws
- Full TPO profile per period, D, W or M, with adjustable row size and profile width
- Point of Control line, ties resolved toward the middle of the range so the POC never sticks to an extreme
- Value Area high and low with optional shaded background
- Initial Balance, the range of the first balance window of the session, with optional extension across the whole period
- Single prints, the thin one row areas left by one sided moves, top and bottom tails excluded by design
- Naked POC, previous POCs price never traded back into, extended right until they get hit and then removed automatically
Reading it
Value area edges are where acceptance starts and ends. Initial Balance tells you the shape of the day early: price holding inside IB all session is a rotation day, a break of IB high or low with follow through is the classic trend day tell. Single prints mark unfinished auction, the market moved too fast to trade there and usually comes back. A naked POC sitting above or below current price is an obvious target for the next rotation.
Additional settings
- Profile period: D for day trading, W or M for swing context
- Row size: higher for precision, lower for speed on long periods
- Value Area %: 70 is standard, some traders use 68 or 80
- IB session and timezone: defaults to 0930 to 1030 New York, the RTH open hour for US index futures. Set it to your own instrument's open
- Profiles kept on chart: old profiles are deleted as a whole group, so the script never hits TradingView drawing limits and never leaves half a profile behind
- Min rows per single print: filters out one row noise, 2 or 3 keeps only meaningful gaps
- Show developing profile: toggle the live, still forming profile
- Level labels with prices for POC, VAH and VAL
- Full color, width and line style control for every element
- Built-in alerts for prior POC, VAH and VAL crosses and for IB high and low breaks
- Works on any instrument, requires a chart timeframe lower than the profile period
อินดิเคเตอร์

Prev Day/Week/Month/ON VP LevelsBased on Prev Day/Week VP Levels MADE BY ADAM by adam4530. Credit to the original author for the core session-reset and volume-profile calculation approach this script builds on. This script is only tested on Tradingview Premium subscription.
This indicator automatically plots the previous day's, week's, month's, and overnight session's volume profile levels — Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL) — as clean horizontal levels, replicating the look of manually drawn key levels.
What's new vs. the original
Previous Month profile, calculated on its own configurable timeframe (default 5m), kept separate from the Day/Week/ON timeframe so a full month of bars doesn't hit intrabar data limits.
Previous Overnight (ON) profile — a configurable time-of-day session (default 18:00–09:30 New York) rather than a calendar-day session. It rolls over automatically the moment the session ends, replacing the prior ON levels.
Independent styling per period — Day, Week, Month, and ON each get their own line color, width, and style, instead of one shared style for everything.
Extend-to-latest-bar option — lines can stop at the current bar instead of running off the chart indefinitely, for a cleaner look (this is now the default).
How it works
Sessions are defined by a custom reset hour in a chosen timezone rather than midnight exchange time (default 18:00 New York). Weeks run from the Sunday-evening session open through the Friday close; months follow the same reset-hour boundary. The Overnight session instead uses a fixed time-of-day window (default 18:00–09:30) that wraps across midnight, finalizing into "previous ON" levels the moment RTH begins.
All profiles are calculated on a separate, configurable calculation timeframe — 1-minute by default for Day/Week/ON, 5-minute by default for Month — through request.security, independent of the chart timeframe. This means the levels are identical on every chart resolution and remain visible even on a 1-minute chart. Each period's profile distributes bar volume across price rows (default 1000), locates the POC as the highest-volume row, and expands the value area around it until it contains the configured share of total volume (default 70%).
Once a period completes, its levels are drawn and stay fixed until the next rollover — the exact levels a trader would mark by hand at the start of each session.
Features
Previous Day, Week, Month, and Overnight POC/VAH/VAL, each independently toggleable
Custom session reset hour and timezone (DST-safe)
Configurable ON session start/end time
Separate calculation timeframe for Day/Week/ON vs. Month, row count, and value area %
Independent line color, width, and style per period
Choice of extending levels infinitely right or only to the latest bar
Plain text labels with adjustable offset and size
No repainting — only completed periods are plotted
Intended use
Built for intraday traders who anchor execution around prior-session value: value area rotations, POC retests, acceptance/rejection outside prior value, and confluence with order flow, overnight range, or options-derived levels. อินดิเคเตอร์

VWAP Suite [vault]VWAP Suite
Most traders treat VWAP like a single line. This tool treats it the way Auction Market Theory treats it: as a developing value area with a center, an upper edge and a lower edge, tracked across every timeframe that matters, with the previous period frozen next to the current one so you always know where price sits relative to value.
Everything is inside one indicator. Session VWAPs from daily to yearly, standard deviation bands that form the value area, previous period levels, right side labels for every higher timeframe level, and rolling VWAPs over 7, 30, 90 and 365 days.
WHAT IT PLOTS
1. Session VWAPs (Daily, Weekly, Monthly, Quarterly, Yearly)
Each period has its own anchored VWAP that resets at the start of the period. The reset follows the exchange session of the symbol, not midnight UTC, so on CME futures a new daily VWAP starts at 18:00 New York, on OANDA gold at 17:00 New York, and so on. Weekly, monthly, quarterly and yearly resets follow the same logic.
You can enable any combination of these, each with its own color. By default the VWAP lines are drawn dotted so they do not compete visually with the bands and rolling lines. A "Dotted VWAP Lines" toggle switches them back to solid.
The lines break at the period change instead of drawing a vertical jump to the new starting level, so every session or week or month shows as its own clean block.
2. Standard Deviation Bands (Value Area)
Pick one period under "Anchored to Period" and the indicator draws its standard deviation bands around that VWAP:
- VWAP plus 1 SD = VAH (value area high)
- VWAP minus 1 SD = VAL (value area low)
- optional plus and minus 2 SD outer bands
The area between VAH and VAL is filled. Fill transparency is adjustable and defaults to a very subtle 95 so the band reads as a shadow behind price rather than a colored block.
The deviation is calculated with volume weighting from the same cumulative data as the VWAP itself, so VAH and VAL are the true volume weighted 1 SD edges of the developing value area. Bands also break at the period change.
3. Previous Period Levels
At the start of every new period the indicator freezes the VWAP and standard deviation of the period that just closed. Those frozen values are carried forward as flat lines through the current period:
- previous VWAP
- previous VAH and VAL (plus and minus 1 SD)
- optional previous plus and minus 2 SD
These are the levels that matter most from an Auction Market Theory point of view. Price opening inside the previous value area, above it, or below it tells you what kind of day or week you are likely dealing with. The previous value area can be filled as well, with a separate "Fill Prev Bands" toggle.
Each of the five periods keeps its own frozen values, so the previous weekly VAH is genuinely the VAH of last week, not of the last day.
4. HTF Labels (Weekly, Monthly, Quarterly, Yearly)
This is the part that keeps the chart clean. Instead of plotting eight or ten extra lines you get labels on the right side of the chart for the higher timeframe levels:
- current VWAP, VAH, VAL for each of W, M, Q, Y
- previous VWAP, VAH, VAL for each of W, M, Q, Y
Every single label has its own checkbox, so you can show exactly the ones you use and nothing else. Each period has its own color, and previous period labels are automatically dimmed so you can tell them apart at a glance. Two group switches, "Show Current Labels" and "Show Previous Labels", turn whole sets on and off.
Each label comes with a short horizontal tick line drawn at the price level, so you can see where the level sits even when the line itself is not plotted.
5. Rolling VWAPs (7, 30, 90, 365 day)
Rolling VWAPs do not reset. They always look back a fixed number of days and give you the volume weighted average of that whole window. They are calculated by time, not by bar count, so a 30 day rolling VWAP is the same 30 days whether you are on a 5 minute chart or a 4 hour chart. Each one has its own toggle, color and label.
Note on history: the 365 day line needs roughly a year of bars on your chart. On low timeframes with limited history it will be calculated from the first available bar. It is off by default for that reason.
LABEL CONTROLS
- Label Offset: how many bars to the right of the current bar the labels sit
- Label Size: tiny, small, normal or large
- Label Tick Length: length of the short line drawn in front of each label
- Show Right-Side Labels: one master switch that hides every label on the right in one click. Lines and fills stay. Useful when you want to screenshot a clean chart or when the labels start stacking up during a tight range.
HOW WE USE IT
The core idea is that VWAP is fair value for the period and the 1 SD bands are the edges of value. Price accepted inside the bands is balance. Price outside the bands is either an imbalance that will be faded back to value or the start of a trend that leaves the old value area behind.
A few things to watch for:
- Price opening the day or week outside the previous value area and holding there. That is acceptance away from old value and usually the start of a directional move.
- Price opening outside the previous value area and coming straight back inside. Failed breakout, look for a rotation to the other side of the value area.
- Daily VAH or VAL lining up with a weekly or monthly VWAP or value area edge. Stacked value edges from multiple timeframes are where the strongest reactions happen.
- Rolling 7D and 30D crossing or converging. That is medium term value shifting and it often precedes a larger move on the session timeframes.
The labels on the right are there so you never have to guess which level a line represents or scroll around to find the monthly VWAP.
CALCULATION NOTES
- Source is hlc3 by default and can be changed.
- VWAP is the volume weighted average of the source since the period start. Standard deviation is the volume weighted deviation of the source around that VWAP.
- Session boundaries come from the symbol's own exchange calendar.
- On symbols without volume (some CFDs and spot pairs), the indicator falls back to equal weighting so it still plots a time weighted average and bands rather than nothing.
- No repainting. Every value is computed from closed data and a period's frozen levels never change once the period has ended.
- Written in Pine Script v6.
INPUTS OVERVIEW
General: source, label offset, label size, label tick length, right side labels master switch
Session VWAPs: Daily / Weekly / Monthly / Quarterly / Yearly with colors, line width, dotted or solid
Standard Deviation Bands: on/off, anchored period, fill on/off, 2 SD bands on/off, colors, fill transparency
Previous Period Levels: prev 1 SD levels, prev 2 SD levels, prev labels, fill prev bands, color
HTF Labels: current / previous group switches, then per period color and six individual checkboxes (VWAP, VAH, VAL, pVWAP, pVAH, pVAL)
Rolling VWAPs: 7 / 30 / 90 / 365 day with colors
Works on any market and any timeframe. Built for futures and gold on intraday charts but the logic is the same on crypto, forex and stocks. อินดิเคเตอร์

Delta by Price [SVP Style]🔹 Introduction
This indicator, "Delta by Price", builds a session volume profile where each row shows net signed volume — estimated buying pressure minus estimated selling pressure — instead of total volume traded.
The idea is straightforward. A standard volume profile tells you where the market spent its activity. It cannot tell you who won at those prices. Two rows with identical volume can mean completely opposite things: one where aggressive buyers lifted offers and price left immediately, and one where aggressive buyers hit a wall of resting supply and went nowhere. Total volume is blind to the difference. Net delta is not.
Here is the honest part, stated up front: true delta requires knowing whether each trade executed at the bid or the ask, and TradingView does not expose that data to Pine. Every delta figure this script produces is an estimate derived from intrabar price direction. That estimate is defensible — it is essentially the tick rule, one of the oldest and best-studied trade classification methods in market microstructure — but it is an estimate, and I will be specific throughout about where it degrades.
🔹 The Premise
🔸 Every trade has two sides, but only one initiator
A trade happens when someone crosses the spread. A resting limit order sits passively; a market order comes and takes it. Both parties transact the same volume, but only one of them demanded immediacy. That asymmetry is the entire foundation of order flow analysis.
Delta is the running count of who demanded immediacy. If 10,000 contracts trade at a price and 7,000 of them were buyers lifting offers, delta at that price is +4,000. The other 3,000 buyers were filled passively by sellers who came to them.
Why does this matter? Because aggression that produces movement and aggression that produces nothing are two very different market states.
🔸 A worked example
Assume ES is trading at 5,000.00 and rotating into yesterday's value area low at 4,992.00.
Price arrives at 4,992.00. Over the next fifteen minutes, 40,000 contracts trade in a two-point band around that level. Delta over that window is −22,000 — heavily seller-initiated. Aggressive sellers are hitting the bid relentlessly.
Now ask the only question that matters: where is price?
Case one: price is at 4,986.00. Sellers pressed, and price gave way. The imbalance produced displacement. The level failed. Delta and price agree.
Case two: price is at 4,992.50. Sellers pressed 22,000 contracts of net aggression into that level and price is half a point higher than where they started. Every one of those market sell orders was filled by a passive buyer who was willing to stand there and take the other side. Nobody absorbs 22,000 contracts by accident.
The second case is the interesting one, and total volume cannot see it at all. Both cases print 40,000 contracts at 4,992.00. The volume profile draws an identical row. Only the sign and size of the delta, held against price's failure to move, separates a level that broke from a level that held.
This is the phenomenon usually called absorption, and it is the reason a delta profile exists.
🔸 Why the row matters more than the bar
Most delta tooling on TradingView plots delta per bar — one number per five-minute candle, or a cumulative line. That is useful, but it throws away the location information.
Consider a five-minute bar with a total delta of +200. Unremarkable. Now decompose it: +3,000 of net buying concentrated in the bottom three ticks of the bar's range, and −2,800 spread across the top. That is not a neutral bar. That is buyers being aggressive at the low and sellers being aggressive at the high — a violently two-sided bar that nets to nearly nothing.
Aggregating delta to the bar destroys exactly the information that makes delta actionable, because the level is the whole point. Order flow that is not anchored to a price you care about is noise. Order flow at a mapped level — a value area edge, a prior day's POC, an untested gap — is context.
Delta by Price exists to put the imbalance back where it happened.
🔸 What the research actually says about inferring direction from price
Since the classification is inferred rather than observed, it is worth knowing how good the inference is. This is well-studied.
Lee and Ready (1991) introduced the standard framework for classifying trades as buyer- or seller-initiated when the initiator is not recorded in the data. Ellis, Michaely, and O'Hara (2000) then tested those methods against a proprietary Nasdaq dataset that did record the true initiator, and found the quote rule, the tick rule, and the Lee-Ready rule correctly classified 76.4%, 77.66%, and 81.05% of trades respectively. Finucane (2000), testing the same question independently, found the tick test performed roughly as well as the more elaborate Lee-Ready algorithm — and that both performed worse than researchers had assumed.
So the tick rule lands somewhere in the mid-to-high seventies for accuracy on equities. Not exact. Not noise either.
There is a more pointed finding for futures traders. Andersen and Bondarenko (2015) constructed an accurate trade classification benchmark specifically for E-mini S&P 500 futures, using quote and trade data, and compared it against the bulk-volume classification scheme of Easley, López de Prado, and O'Hara (2012). Two results are relevant here. First, the simple tick rule outperformed bulk-volume classification. Second — and this is the part worth internalizing — rising volatility systematically induces classification errors.
Read that again, because it is the single most important limitation of this tool. The delta estimate is least reliable precisely during the fast, volatile, high-participation moments you most want to read. No amount of code fixes this. It is a property of inferring intent from price when price is moving quickly.
And separately, order imbalance is not a curiosity — it is a documented driver of returns. Chordia, Roll, and Subrahmanyam (2002) found market-wide returns are strongly affected by contemporaneous and lagged order imbalance, and that returns reverse after large negative-imbalance days. Chordia and Subrahmanyam (2004) extended the result to individual names. Chan and Fong (2000) tied order imbalance directly to the volatility-volume relation.
The concept is sound and the measurement is approximate. Both of those things are true at once, and the second one is why this indicator is built as a context tool rather than a signal generator.
🔹 How It Works
🔸 Estimating delta
Show Image
The script requests lower-timeframe OHLCV data for every chart bar — automatically selecting 1-second intrabars on a seconds chart, 1-minute on intraday, and so on, or a timeframe you specify.
Each intrabar is classified by the tick rule: close above open, its volume counts as buy-initiated; close below open, sell-initiated; unchanged, discarded. That signed volume is then dropped into the price row containing the intrabar's close.
There are limitations and assumptions here. The classification is per intrabar, not per trade — a one-minute intrabar containing 4,000 contracts is treated as one directional unit, when in reality it contained thousands of individually classifiable transactions. And the entire intrabar's volume is assigned to a single row, even though the intrabar had a range. On a violent one-minute bar spanning fifteen ticks, that is a real distortion.
Choosing a finer lower timeframe reduces both problems — 1-second intrabars classify and locate far more precisely than 1-minute. The tradeoff is history: finer intrabars exhaust TradingView's intrabar data budget faster, so the profile reaches back over fewer sessions. That is the trade you are making with that setting, and it is worth making deliberately.
🔸 Tick-based rows
Most profile scripts ask for a row count and divide the range by it. That means the row height changes every session — a 40-point day and a 90-point day produce rows of different sizes, and a row never covers the same prices twice.
This one asks for a row size in ticks, and rows sit on a fixed grid anchored to the instrument's tick size. A 4-tick row on ES always spans the same four ticks, session after session. Profiles become directly comparable across days, and rows line up with the price levels you actually mark.
The constraint is Pine's 500-drawing-object ceiling, shared across every profile on screen. The script computes a per-session row budget, and if a session's range needs more rows than its budget allows, rows are merged automatically and the effective size is displayed in the stats table. Nothing is silently dropped — you are told when the resolution you asked for was not available. Fewer sessions displayed means a larger budget each and finer rows.
🔸 Multi-session profiles
Show Image
Each completed session is drawn once at its own anchor and frozen; the developing session redraws live on every tick. Closed sessions are faded so the current one reads clearly against its history, and profile width scales to each session's own bar span.
One structural limitation: historical profiles are constructed bar-by-bar as the script executes, which means they exist only for sessions inside the chart's loaded history. Scroll back far enough and they stop. TradingView's own Session Volume Profile behaves identically — it is a property of the platform, not a defect in the implementation.
🔸 POC and Value Area
The point of control marks the row with the highest concentration, and the value area expands outward from it until the chosen percentage of the session's activity is enclosed — the conventional 70% by default, which comes from treating the distribution as roughly normal and taking one standard deviation.
The POC / VA Source toggle is the interesting setting, and it changes what question the profile answers.
Set to Volume, POC and value area are computed on total volume. This reproduces a conventional volume profile's levels — the prices with the most transaction activity, the ones most traders are watching, the ones that function as reference points precisely because they are widely observed.
Set to Absolute Delta, POC and value area are computed on the magnitude of net imbalance instead. Now the POC marks the price with the largest one-sided commitment, which is not necessarily the price with the most volume. A row can carry enormous volume and near-zero delta — that is two-sided churn, and a volume POC will flag it while a delta POC will not.
When those two levels sit far apart, the session had heavy activity somewhere the participants were evenly matched, and heavy commitment somewhere else. That gap is often more informative than either level alone.
🔸 Reading it
Row length is the magnitude of net imbalance at that price; color is the sign. Long teal rows are net buying, long red rows are net selling, short rows are balance.
A few configurations worth recognising:
Large delta with no displacement. A long row at an extreme of the session, where price then reversed. The aggression was absorbed by passive size. This is the absorption signature from the worked example above.
Large delta with displacement. A long row that price left immediately and did not revisit. The aggression was rewarded — closer to initiative than absorption.
Delta sign flipping at a value area edge. Price retests the edge and the rows there change color from the prior test. Something about who is defending that level changed.
A stack of same-color rows away from the POC. Sustained one-sided commitment away from the balance area — usually where a trend leg was built.
None of these are signals. They are descriptions of what happened at a price, and they are only worth anything when the price already mattered to you before you looked at the profile. A large delta row in the middle of a featureless range is a statistic. The same row at yesterday's value area low, on a retest, in a session where you already had a directional thesis, is context.
🔹 Closing Remarks
Volume tells you where the market was busy. Delta attempts to tell you who was demanding immediacy while it was busy there — and the disagreement between heavy aggression and absent movement is one of the more reliable tells that passive size is defending a price.
That said, everything here rests on an inference. The classification is the tick rule applied to intrabar candles, not observed bid/ask execution data, and the research is clear that this approach is right somewhere in the high seventies percent of the time on individual trades and gets worse as volatility rises. Volume is assigned to rows at intrabar closes rather than at the price of each transaction. Row resolution is bounded by a hard platform limit.
Treat every level this draws as a probabilistic reading of what likely happened, not a record of what did. Large delta clusters do not guarantee that a level will hold, and a POC is not a magnet. Used as a layer of context over levels you mapped independently — and ignored when the profile disagrees with the rest of your read — it earns its place on the chart. Used as a standalone entry trigger, it will disappoint you, and the research above explains exactly why.
If you find configurations that read well on your instrument, or edge cases where the estimate breaks down in an interesting way, I would like to hear about them.
🔹 References
Trade classification and its accuracy
Lee, C. M. C., & Ready, M. J. (1991). Inferring Trade Direction from Intraday Data. The Journal of Finance, 46(2), 733–746.
Ellis, K., Michaely, R., & O'Hara, M. (2000). The Accuracy of Trade Classification Rules: Evidence from Nasdaq. Journal of Financial and Quantitative Analysis, 35(4), 529–551.
Finucane, T. J. (2000). A Direct Test of Methods for Inferring Trade Direction from Intra-Day Data. Journal of Financial and Quantitative Analysis, 35(4), 553–576.
Order flow classification in futures markets
Easley, D., López de Prado, M. M., & O'Hara, M. (2012). Flow Toxicity and Liquidity in a High-Frequency World. The Review of Financial Studies, 25(5), 1457–1493.
Andersen, T. G., & Bondarenko, O. (2015). Assessing Measures of Order Flow Toxicity and Early Warning Signals for Market Turbulence. Review of Finance, 19(1), 1–54.
Order imbalance and returns
Chordia, T., Roll, R., & Subrahmanyam, A. (2002). Order imbalance, liquidity, and market returns. Journal of Financial Economics, 65(1), 111–130.
Chordia, T., & Subrahmanyam, A. (2004). Order imbalance and individual stock returns: Theory and evidence. Journal of Financial Economics, 72(3), 485–518.
Chan, K., & Fong, W.-M. (2000). Trade size, order imbalance, and the volatility-volume relation. Journal of Financial Economics, 57(2), 247–273. อินดิเคเตอร์

CandelaCharts - Value Area Reversals📝 Overview
The CandelaCharts - Value Area Reversals indicator is a powerful tool designed to identify high-probability institutional reversals around key volume nodes. By generating a rolling session Volume Profile and tracking the Value Area High (VAH) and Value Area Low (VAL), this script highlights moments where price aggressively rejects the boundaries of fair value with anomalous volume.
This tool introduces Dynamic CISD (Change In State of Delivery) tracking, automatically anchoring to the true swing point of a reversal and projecting institutional support/resistance levels until formally confirmed by price action.
📦 Features
Session Volume Profiles : Highly customizable rolling profiles. Choose between classic stepped Histograms or a beautifully smoothed Curved aesthetic that accurately maps volume distribution.
Value Area Reversals : Automatically detects when price dips outside of the established Value Area (VA) and aggressively reclaims it. Signals are filtered by volume—only firing when the reversal candle exceeds the volume of the last N similar-type candles.
Dynamic CISD Tracking : When a reversal signal fires, the script actively tracks price to find the absolute lowest/highest swing point of the manipulation leg. It then maps the body of that swing as a Change in State of Delivery (CISD) level, drawing a projection line until price formally breaks and confirms the shift in delivery.
Volume Spike Candles : Optionally colors individual candles on the chart that exhibit significant volume spikes relative to their recent peers, providing immediate visual context for momentum shifts.
⚙️ Settings
Volume Profile : Configure the timeframe used to define a session (e.g., Daily), the number of horizontal bins, the Value Area percentage (default 70%), and the aesthetic style (Curved vs Histogram).
Change In State Of Delivery : Toggle the CISD tracking system, customize the line style and colors for bullish and bearish CISD projections.
Signals : Enable or disable the VA Reclaim signals, and adjust the lookback window used to qualify a volume spike.
Style : Full color control over up/down volume nodes, VAH/VAL/POC levels, and signal markers.
⚡️ Showcase
Volume Profile - Curved Style
Volume Profile - Histogram Style
CISD
🚨 Alerts
The indicator includes native, ready-to-use alert conditions for:
Bullish / Bearish VA Reclaims : Fires the moment a volume-backed reversal back into the Value Area is detected.
Bullish / Bearish CISD Confirmation : Fires the exact moment price action structurally confirms the swing by breaking the dynamic CISD level.
⚠️ Disclaimer
Trading involves significant risk, and many participants may incur losses. The content on this site is not intended as financial advice and should not be interpreted as such. Decisions to buy, sell, hold, or trade securities, commodities, or other financial instruments carry inherent risks and are best made with guidance from qualified financial professionals. Past performance is not indicative of future results.
อินดิเคเตอร์

Precision Volume Profile [AxeAlgo]OVERVIEW
Precision Volume Profile is a native Pine Script volume
profile tool: it rebuilds a full price-by-volume histogram for whatever
range you anchor it to — the visible chart, a fixed bar count, the
current day, week, month, or a custom trading session — and derives the
Point of Control (POC), Value Area High/Low (VAH/VAL), a Prior Period
Value Area with open-type and POC-migration classification, and a
session VWAP with standard-deviation bands, all from the same underlying
bar history.
This is the classic Market Profile / Volume Profile toolkit used to
judge where the market has actually traded the most volume — not just
where price is right now — and how today's activity compares to the
period before it. Everything here runs natively on your own chart data;
there are no external requests, no repainting of confirmed history, and
no hidden calculations.
This script is free and open-source, published so the full methodology
described below is verifiable directly in the source code.
============================================================
HOW IT WORKS
============================================================
Volume Profile Histogram
----------------------------
For the selected range, price is divided into rows (automatically sized
to the range, or set manually) and every historical bar's volume is
distributed across the rows its high-low span touches. Each bar's
volume is split into an estimated buy side and sell side based on where
that bar's close sits between its low and high — a bar that closed near
its high is treated as more buy-weighted, one that closed near its low
as more sell-weighted. The row with the most total volume becomes the
POC; rows are colored on a gradient between two configurable colors
based on that estimated buy/sell split, with opacity scaled to each
row's relative strength versus the POC.
Value Area
----------------------------
The Value Area is expanded outward from the POC two rows at a time —
comparing the volume of the next pair of rows above versus the next
pair below and adding whichever pair holds more volume — until the
accumulated volume reaches the configured Value Area percentage (70% by
default, the standard Market Profile convention). This is the same
textbook two-row-pair expansion method used for both the live profile
and the Prior Period snapshot below, so the two stay directly
comparable.
Anchor Modes
----------------------------
Six ways to define what range the profile is built from: Visible Range
(whatever's currently on screen), Fixed Bars (a set lookback), Day,
Week, Month, or a fully custom Session (configurable start/end time and
timezone, e.g. 0930-1600 for US regular trading hours). A dotted
vertical line marks exactly where the current profile's lookback
begins whenever that boundary isn't simply the edge of your screen.
Prior Period Value Area, Open Type & POC Migration
----------------------------------------------------
At each period boundary (Day or Week, configurable), the script
snapshots the period that just closed: its Value Area is drawn as a
dashed box extending forward, today's open is classified as Above,
Below, or Inside that prior value, and the new POC is compared against
the previous one to report whether it's migrating up, down, or holding
flat. This is the standard "open-type" read used to gauge whether a
session is likely to be rotational or trending.
Session VWAP & Standard Deviation Bands
------------------------------------------
A running volume-weighted average price with up to two configurable
standard-deviation bands on each side, calculated with the same
volume-weighted variance formula as TradingView's own VWAP tool. It can
reset either at calendar midnight or at your custom session's open
time — the same session window used by the Session anchor mode above,
so the two can be kept in sync.
Stats Panel
----------------------------
An optional on-chart table summarizing the active anchor mode, bar/row
count, POC, VAH/VAL, Value Area width, estimated buy/sell split and
delta, total volume, open type, POC migration, and current VWAP —
everything the script computes, in one place, without needing to
hover over individual lines.
Alerts
----------------------------
Two alert conditions: price crossing the POC, and price entering or
exiting the Value Area.
============================================================
ACCURACY NOTE — HOW BUY/SELL VOLUME IS ESTIMATED
============================================================
Pine Script does not have access to real trade-by-trade tape or
bid/ask data on standard bars, so no volume profile indicator can
measure "true" buy versus sell volume directly. This script — like
essentially every volume profile tool on TradingView — estimates it
from each bar's own OHLC: where the close sits between the low and the
high. This is a widely used, reasonable proxy, but it is an estimate,
not measured order flow. Treat the buy/sell split and Delta reading as
directional context, not a precise execution metric.
============================================================
HOW TO USE IT
============================================================
Add the indicator, pick an Anchor mode that matches how you trade
(Visible Range for manual exploration, Day/Week/Session for a
consistent recurring reference), and set the Value Area percentage if
you want something other than the 70% default. Every input has an
in-editor tooltip explaining exactly what it changes. The Prior Period
panel rows (Open Type, POC Migration) are most useful checked once at
the start of a session; the POC/VAH/VAL lines and histogram are
intended as a persistent reference for the rest of the period.
============================================================
REPAINTING & REAL-TIME BEHAVIOR
============================================================
The profile, its lines, and the stats panel are only (re)computed on
the most recent bar (barstate.islast) — not on every historical bar —
for performance, and are cleared and redrawn from scratch each time
they update. In Visible Range or Fixed Bars mode this means the profile
legitimately changes as you scroll, zoom, or as new bars form — that's
the tool responding to a different input range, not repainting of a
fixed historical value. In Day/Week/Month/Session mode, once a period
has closed its POC, VAH, and VAL are fixed and do not change on
subsequent reloads; only the currently forming period's profile updates
live as new bars print. The Prior Period Value Area snapshot is
computed once, at the moment its period closes, and is never
recalculated afterward.
============================================================
LIMITATIONS — PLEASE READ
============================================================
- Buy/sell volume is an OHLC-based estimate, not real tape data (see
the Accuracy Note above).
- The Value Area expansion is a discrete two-row-pair algorithm; on
very coarse row counts it can land a percentage point or two away
from the exact target rather than hitting it precisely.
- "Max Bars Stored" caps how much history is kept in memory for
performance; extremely long Fixed Bars or Visible Range lookbacks on
very low timeframes can exceed it and get truncated.
- The custom Session anchor and VWAP session-open reset depend on the
Session Time and Timezone inputs actually matching your instrument's
real trading session — mismatched inputs will produce a
technically-correct but practically meaningless boundary.
- This is a discretionary analysis tool intended to support your own
read of the market, not a mechanical, guaranteed-signal system.
============================================================
RISK DISCLAIMER
============================================================
This script is provided for educational and informational purposes
only. It is not financial advice, and it is not a recommendation to buy
or sell any security or instrument. Trading and investing involve
substantial risk of loss and are not suitable for every investor. Past
performance is not indicative of future results. Always do your own
research and consider consulting a licensed financial advisor before
making trading decisions. Use this indicator, and any alerts it
generates, entirely at your own risk.
============================================================
ORIGINALITY
============================================================
This is original work: the row-building and Value Area expansion
algorithms, the Prior Period snapshot and open-type/migration logic,
the session-anchor handling, and the visual design are all written
from scratch for this script. It is published free and open-source so
the full methodology described above is verifiable directly in the
source code.
อินดิเคเตอร์

HTF Auction Candle (Zeiierman)█ Overview
HTF Auction Candle (Zeiierman) is a multi-timeframe auction profiling indicator that reconstructs the currently forming Higher Timeframe candle and analyzes the lower-timeframe activity developing inside it.
Rather than viewing the Higher Timeframe candle only as a single OHLC structure, the indicator breaks its full high-to-low range into individual price cells. It estimates how buying and selling activity is distributed across those levels.
Battle Bubbles provide an additional view of the auction by showing which side is winning across broader price segments and the relative strength of each battle.
█ HTF Auction Structure
The center of the indicator displays the reconstructed Higher Timeframe candle.
⚪ Buy and sell activity is displayed on opposite sides of the candle:
• Sell activity extends to the left.
• Buy activity extends to the right.
The width of each profile section represents the estimated amount of activity concentrated at that price level. Wider areas therefore highlight prices where greater participation occurred during the developing Higher Timeframe auction.
⚪ When Delta Dominance is enabled, each price cell also compares estimated buying and selling activity.
• Positive Delta extends to the right.
• Negative Delta extends to the left.
• Larger Delta cells represent stronger directional imbalance.
⚪ Battle Bubbles summarize buyer-versus-seller control across 20 equal sections of the Higher Timeframe range.
• Green bubbles indicate a buyer win.
• Red bubbles indicate a seller win.
• Larger bubbles represent stronger battles with greater participation.
Together, the Volume Wings, Delta Dominance, and Battle Bubbles provide different views of participation, imbalance, and directional control inside the developing Higher Timeframe candle.
█ How It Works
⚪ Higher Timeframe Reconstruction
The indicator reconstructs the selected Higher Timeframe candle using its live open, high, low, and current close. The high and low are also linked back to the chart bars where those extremes first formed.
⚪ Lower Timeframe Sampling
The internal auction is built from Lower Timeframe candles, using their open, high, low, close, and volume. The selected Lower Timeframe must remain below the Higher Timeframe and cannot exceed the chart timeframe.
⚪ Buy and Sell Volume Estimation
Each Lower Timeframe candle’s volume is divided into estimated buy and sell activity using its close position, candle direction, and wick structure.
buyVolume = volume × buyShare
sellVolume = volume - buyVolume
A stronger bullish structure receives a larger estimated buy share, while a stronger bearish structure receives a larger sell share. This is an estimation model and does not use true bid and ask transaction data.
⚪ Price Cell Distribution
The Higher Timeframe range is divided into Price Cells, with each Lower Timeframe candle contributing activity only to the cells touched by its range.
Buy and sell volume is weighted toward separate directional areas, while Cell Concentration controls how tightly that activity is distributed.
⚪ Volume Wings
Estimated sell activity forms the left profile and buy activity forms the right profile. Wider sections indicate greater participation at that price level.
⚪ Delta Dominance
Delta measures the difference between estimated buy and sell activity inside each Price Cell.
delta = buyVolume - sellVolume
• Positive Delta indicates stronger estimated buying.
• Negative Delta indicates stronger estimated selling.
• Wider Delta areas represent stronger imbalance.
⚪ Battle Bubbles
The Higher Timeframe range is divided into 20 equal Battle segments.
Each segment combines estimated volume Delta with directional Lower Timeframe win consistency to determine buyer or seller control.
• Green bubbles indicate buyer control.
• Red bubbles indicate seller control.
• Larger bubbles represent stronger battles with greater participation.
Bubble size is normalized against the strongest Battle segment in the current Higher Timeframe candle.
⚪ Higher Timeframe Delta
The indicator also calculates estimated Delta across the entire Higher Timeframe candle.
Delta % = 100 × (Buy Volume - Sell Volume) / Total Volume
Positive values indicate overall buying dominance, while negative values indicate selling dominance.
█ How to Use
⚪ Analyze the Developing Higher Timeframe Candle
Use the reconstructed candle to monitor a Higher Timeframe auction without leaving the current chart timeframe.
Instead of waiting for the Higher Timeframe candle to close, traders can observe how its structure and internal participation are developing in realtime.
This can be useful when monitoring larger timeframe candles from lower execution timeframes.
⚪ Identify High-Participation Areas
Wide sections of the Volume Wings show price levels where more estimated activity has accumulated.
These areas can highlight important zones of acceptance, consolidation, support, resistance, or repeated participation within the current Higher Timeframe candle. Narrow profile areas show prices where relatively less activity occurred.
⚪ Use the Control Price
The Control Price identifies the price cell with the highest combined estimated activity.
Traders can use it as a reference for where the current Higher Timeframe auction has concentrated the greatest participation.
Price holding around the Control Price can suggest continued acceptance, while movement away from it can help highlight changes in the developing auction.
⚪ Read Delta Across the Range
Delta Dominance shows which side is stronger at individual price levels.
• Positive Delta highlights areas of stronger estimated buying activity.
• Negative Delta highlights areas of stronger estimated selling activity.
• Large Delta cells highlight stronger directional imbalance.
This can help reveal whether buying or selling pressure is concentrated near specific parts of the Higher Timeframe candle.
For example, strong positive Delta near the upper portion of the range can show aggressive bullish participation, while strong negative Delta near the highs can indicate selling pressure developing into higher prices.
⚪ Read the Battle Bubbles
Battle Bubbles provide a simplified view of which side is winning across different parts of the Higher Timeframe range.
Clusters of larger buyer or seller bubbles can highlight areas where directional control is especially strong, while smaller bubbles indicate weaker or less significant battles.
They can be used alongside the Volume Wings and Delta Dominance to distinguish broad directional control from the more detailed activity occurring inside individual price cells.
█ Settings
Higher Timeframe: Selects the Higher Timeframe candle used for the live auction. It must be greater than the chart timeframe.
Auto LTF: Automatically selects a suitable Lower Timeframe used to build the internal auction.
Manual LTF: Selects the Lower Timeframe manually when Auto LTF is disabled. It must remain below the Higher Timeframe and no higher than the chart timeframe.
Price Cells: Controls how many price levels divide the Higher Timeframe range. More cells provide finer profile and Delta resolution.
Cell Concentration: Controls how tightly estimated buy and sell activity is distributed around each Lower Timeframe candle's directional activity centers.
LTF Sample Capacity: Sets the maximum number of Lower Timeframe samples retained before older samples are compressed to maintain performance.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
อินดิเคเตอร์

HTF Log-Regression Volume Profile [BigBeluga]🔵 OVERVIEW
The HTF Log-Regression Volume Profile is an advanced technical indicator created by BigBeluga to map higher-timeframe logarithmic regression channels combined with an integrated volume profile distribution. Traditional volume profiles are often fixed to standard horizontal ranges or static session boxes that fail to capture curving price trends and logarithmic growth dynamics. In order to provide a solution to this problem, this indicator calculates adaptive higher-timeframe sessions using logarithmic regression curves and standard deviation boundaries, plotting internal volume histogram bins and Point of Control (POC) lines directly onto the chart.
The indicator aims to visualize institutional volume distribution, equilibrium pricing, and structural value areas across multi-bar sessions. The core element of its calculation involves evaluating logarithmic regression slope and intercept metrics alongside session standard deviations defined as:
= f_log_regression(close, htf_length)
float deviation = ta.stdev(close, htf_length)
where slope and intercept establish the curving regression baseline, and deviation dictates the channel width for the volume profile bounds. Higher values of bin counts and channel width multipliers allow the indicator to filter out minor market noise and isolate major high-volume structural nodes.
🔵 FEATURES
The system utilizes a multi-layered matrix structure to provide actionable market intelligence:
1 — Higher-Timeframe Adaptive Engine
Auto HTF Resolution: Automatically adapts higher-timeframe sessions based on the chart's current resolution or allows manual session customization.
Session Tracking & History: Maintains active session boundaries while archiving historical finished sessions up to a user-defined limit.
2 — Logarithmic Regression Channels & Projections
Regression Bounds: Plots session high, low, and equilibrium midlines curved along a logarithmic regression formula via math.exp(intercept + slope * htf_length) .
Level Extensions: Projects session boundaries and midlines forward into future bars using configurable extension limits.
3 — Integrated Volume Profile & POC Tracking
Horizontal Volume Bins: Projects dynamic volume profile histograms inside the regression channel using custom polylines and color-coded delta metrics.
Point of Control (POC): Highlights the highest-volume price node within the active session via a dedicated POC line and provides an interactive statistics dashboard box.
🔵 HOW TO USE
Apart from the basic visualization of regression channels, this tool can also act in alternative ways to support decision-making:
Identify Value Areas via Volume Profile: Observe the horizontal volume bins and the Point of Control (POC) line to spot where the heaviest volume concentration occurred during the higher-timeframe session.
Trade Channel Rejections: Use the upper and lower logarithmic regression boundaries and their forward extensions as dynamic support and resistance zones.
Monitor Buying and Selling Pressure: Check the integrated statistics label displaying buy volume, sell volume, and net delta percentage to gauge order flow dominance within the active session.
🔵 NOTES
Why this implementation is unique:
It merges logarithmic regression channels with an internal volume profile distribution across higher-timeframe sessions.
The dynamic polyline volume profile engine automatically adapts bin widths to curving regression slopes.
The script is fully optimized for Pine Script version 6, utilizing advanced user-defined types, custom arrays, and polyline rendering for maximum performance.
อินดิเคเตอร์

Order Flow Profiler (Zeiierman)█ Overview
Order Flow Profiler (Zeiierman) is a price-based volume profiling indicator that estimates how buying and selling activity is distributed across different price levels within a selected chart window.
Rather than displaying only total volume, the indicator divides the selected auction range into individual price cells and estimates how much buying and selling activity occurred inside each area.
Each candle’s volume is separated into estimated buy and sell participation using its close position, candle body direction, and wick structure. That activity is then distributed across the price levels the candle touched.
The result is a two-sided Order Flow Profile that helps visualize where buyers and sellers were most active, where one side dominated, and where significant pressure imbalances developed.
⚪ Order Flow Profile
The profile is divided around a central spine.
Sell activity extends to the left while buy activity extends to the right.
The width of each profile row represents the estimated amount of activity occurring at that price level. Larger profile sections therefore highlight prices where more participation was concentrated.
When Delta Dominance is enabled, the indicator also compares estimated buy and sell activity inside each individual price row.
• Positive Delta extends to the right and highlights prices where buying activity is stronger.
• Negative Delta extends to the left and highlights prices where selling activity is stronger.
• Larger and more prominent Delta cells indicate a stronger imbalance between both sides.
This allows the profile to show both where activity occurred and which side dominated at each price level.
█ How It Works
⚪ Buy and Sell Volume Estimation
Each candle’s volume is divided into estimated buy and sell activity using its close position, body direction, and wick structure.
buyVolume = volume × buyShare
sellVolume = volume - buyVolume
⚪ Price Cell Distribution
The profile range is divided into Price Cells, and each candle’s estimated buy and sell volume is distributed across the prices it traded through.
Cell Concentration controls how tightly that activity is focused around its estimated buy and sell centers.
⚪ Control Price
The Control Price is the price cell with the highest combined buy and sell activity.
Its color shows which side is dominant at that level.
⚪ Acceptance Area
Starting from the Control Price, the indicator expands through neighboring cells until the selected percentage of total profile activity is included.
This produces the Upper Acceptance Level and Lower Acceptance Level shown in the Data Window.
⚪ Delta Dominance
Delta measures the difference between estimated buy and sell activity at each price cell.
delta = buyVolume - sellVolume
• Positive Delta shows buy dominance.
• Negative Delta shows sell dominance.
Stronger imbalances create larger Delta cells.
⚪ Pressure Detection
Pressure Flags detect significant diagonal imbalances between neighboring price cells.
Buy Pressure compares buying activity with sell activity below, while Sell Pressure compares selling activity with buy activity above.
▲ indicates Buy Pressure.
▼ indicates Sell Pressure.
⚪ Active Profile Readout
The live profile is divided into broader price segments that compare total buy and sell activity within each area.
• BUY x MORE shows buyer dominance.
• SELL x MORE shows seller dominance.
• BALANCED shows no meaningful directional advantage.
This provides a faster summary of directional activity across the profile.
⚪ Historical Profiles
Historical Profiles preserve earlier profile snapshots, including the profile wings, Delta, Control Price, range caps, and Pressure Flags.
This allows traders to compare how the auction structure changes over time.
█ How to Use
⚪ Identify High-Volume Areas
Wide sections of the profile show price levels where activity was higher. These areas can help highlight important zones of participation, support, resistance, or consolidation.
⚪ Use the Control Price
The Control Price marks the price level with the highest combined buy and sell activity.
Traders can use it as a key reference level for acceptance, rejection, or potential mean reversion.
⚪ Read Buy and Sell Dominance
The profile wings, Delta cells, and Active Profile Readout help show which side is stronger at different price levels.
• Buy dominance can support bullish continuation or absorption.
• Sell dominance can support bearish continuation or rejection.
• Balanced areas show more even participation between both sides.
⚪ Compare Historical Profiles
Historical Profiles help show how the auction changes over time.
A rising Control Price and stronger buy activity can suggest improving bullish participation, while a falling Control Price and stronger sell activity can suggest increasing bearish participation.
The profile is most useful when combined with price structure, trend, support and resistance, and the surrounding market context.
█ Settings
Lookback Bars: Sets how many chart candles are used to build the profile.
Price Cells: Controls the number of price levels used inside the profile.
Cell Concentration: Controls how tightly estimated buy and sell activity is distributed around each candle’s activity centers.
Pressure Ratio %: Sets how strong a buy or sell imbalance must be before a Pressure Flag can appear.
Historical Profiles: Enables previous profile snapshots on the chart.
Snapshot Every Bars: Sets how often historical profiles are created.
Active Profile Readout: Enables the segmented BUY, SELL, and BALANCED summary beside the live profile.
Segments: Controls how many price sections are used in the Active Profile Readout.
Balanced Below x: Sets how close buy and sell activity must be for a segment to display BALANCED.
Delta Dominance: Shows which side dominates at each individual price cell.
Pressure Flags: Enables buy and sell pressure markers.
Wing Width: Controls the maximum width of the buy and sell profile wings.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
อินดิเคเตอร์

Structural Liquidity & POC Matrix [BigBeluga]🔵 OVERVIEW
The Structural Liquidity & POC Matrix is a clean, automated price action terminal built to track institutional key levels. It isolates important market highs and lows over a set lookback period and instantly projects them onto your chart as trailing liquidity lines.
Additionally, the script calculates a dynamic volume profile between those major high and low structural markers. Instead of scattering lines everywhere, it neatly draws this volume breakdown on the right side of your workspace to reveal exactly where the heaviest trading occurred and highlights the Point of Control (POC).
🔵 FEATURES
The toolkit maps out key market interaction zones using a streamlined structural tracking framework:
1 — Dynamic Liquidity Range Tracking
Automated Sweep Highs & Lows: The engine scans your chart using a set lookback period ( Liquidity Length ) to find key historical highs and lows, drawing sharp levels right at those turning points.
Smart Fading Level Lines: Once a liquidity line is plotted, it trails forward until it hits a customizable timer limit ( Fade Liquidity ). The line smoothly fades out and resets over time, ensuring your chart stays perfectly clean.
Visual Breakout Diamond Markers: The exact moment price action breaks or shifts out of a previously established liquidity level, the script prints a sharp diamond symbol (◆) to flag the market sweep.
2 — Adaptive Sidebar Volume Profile & Matrix
Right-Side Profile Alignment: To keep your workspace completely clear of clutter, the script shifts the historical volume breakdown out of the way, plotting it onto the right margin of your screen ( Profile Offset ).
Structural Volume Distribution: The engine tallies up all volume traded between the active major high and low blocks. It dynamically projects the results as a clean structural polyline matrix block, colored to match the dominant market flow.
Point of Control (POC) Target Line: The system automatically scans your volume data to pinpoint the absolute heaviest volume node ( Point of Control (POC) ). It stretches a bright line ( POC Color ) from the start of the structure all the way through the profile to reveal major institutional fair value anchors.
// Volume Profile Array Bins & POC Target Index Lookup
volBins = array.new(size, 0.0)
for i = start to bar_index
price = close
binIdx = math.floor((price - profBot) / atr)
if binIdx >= 0 and binIdx < size
array.set(volBins, binIdx, array.get(volBins, binIdx) + volume )
maxVol = array.max(volBins)
pocBinIdx = volBins.indexof(maxVol) // Find the exact index of the POC
🔵 HOW TO USE
Integrating these structural matrix lines into an everyday trading plan follows a clear, step-by-step strategy structure:
Isolate the Active Range Boundaries: Monitor the top orange and bottom blue tracking lines to instantly map the current structural playing field. These trailing boundaries reveal exactly where short-term stops and market liquidity pool rest.
Locate the Institutional Fair Value Anchor: Look for the bright yellow Point of Control line stretching across the chart. This level shows you where the largest amount of volume has changed hands, identifying a strong support or resistance anchor for future retests.
Execute Trades Off Range Sweeps: Watch the chart closely when price sweeps past an outer liquidity line and prints a diamond indicator. If price snaps back inside the range, look to ride the reversal momentum straight across the matrix toward the yellow POC target line.
🔵 NOTES
Why this implementation is unique:
It acts as a compact, self-cleaning support and resistance tool by automatically fading out old level lines before they can crowd your screen.
Rather than forcing you to look at a fixed, unmoving session volume profile, it anchors its volume calculation directly between the active high and low price pivots.
The smart polyline rendering engine keeps your trading window uncluttered by cleanly shifting detailed volume histograms entirely over to the right margin space.
อินดิเคเตอร์

Trade Wzrd - Tide [Rampage Series]✨ TRADE WZRD - TIDE ✨
Every price level has an owner. Not a metaphor - a measurement.
Tide splits the range's volume row by row into buy mass and sell mass , finds the levels one side owns outright, and draws them as living lines on the chart - with a graveyard of the levels that came before.
⚡ THE RAMPAGE SERIES ⚡
Tide is a release in the Rampage Series - a growing family of volume-and-levels tools built by Trade Wzrd. Every Rampage script ships with the same built-in automation layer: signals don't just paint, they speak. One alert, one webhook, and every entry, exit and fill fires a plain-text order string.
⚡ THE OWNERSHIP ZONES (THE HERO) ✨
Every bar's volume is divided by who won the close - bars that closed high are buyers' mass, bars that closed low are sellers' mass - then spread across the price rows it touched. When one side owns 65%+ of everything traded at a row (your threshold), that row is a SHELF. Tide paints the two that matter right now as ownership ZONES : the highest buyer shelf below price as a soft cyan field, the lowest seller shelf above it in red - the exact band one side owns, a glow bed under a bright edge, and the ownership printed right inside the zone: "78% OWNED BY BUYERS" . A tag at the right edge carries the price and the percentage; hover it for who owns it, since when, and exactly where it dies. A zone stays alive until price closes clean through it - then it dies where it fell, no ghost, because a failed level is just a line.
⚡ THE FOSSILS (THE HISTORY) ✨
When a shelf is replaced - not broken, just handed off to the next level - it fades into a fossil: a dotted ghost in its owner's color, frozen at the bar it was born. Fossils stay on the chart until the market mitigates them: price trades through a ghost and it's erased. What's left is the archaeology of the setup - every level that used to matter, still standing where it stood, until the market itself takes it down. Cap the graveyard or turn it off in the Fossils group.
⚡ THE POOLS (THE LIQUIDITY) ✨
Equal highs and equal lows are not coincidences - they're where the stops rest. Tide clusters swings within a tolerance you set into liquidity POOLS, and draws them as gold levels: the exact price, the touch count that built them (×3 = three equal highs worth of stops), dashed while the liquidity rests. Then the raid comes: a wick through the pool that closes back = the sweep. The chart stamps it in gold, the pool marks itself TAKEN in dots, and it dies honestly when price consumes it or time forgets it. And here's the fusion: a fresh sweep near a shelf fuels the defense - conviction rises, and the chip's hover tells you exactly why: "the sell stops are already taken." The dashboard's POOLS row names the nearest pool each side with its touches and distance in ATR.
⚡ THE CROWN & THE CENTER ✨
The dashed white line is the Point of Control - the row where the most mass traded in the range, price tagged at its end. The optional volume-center line is the 50/50 magnet every defense aims for. The full ownership numbers - undertow, POC, shelf count, balance - live on the dashboard, one glance away.
⚡ THE DEFENSE (THE SIGNAL) ✨
Price returns to a shelf and the owners defend it: a dip into a buyer shelf that closes back above = BUY · DEF. A poke into a seller shelf that closes back below = SELL · DEF. One defense per shelf per touch - a fired shelf releases only when price escapes it cleanly, so fresh touches can defend again but wick-spam cannot. Stops frame the shelf's far edge: if price trades through the shelf, the defense failed, honestly. Targets default to the VOLUME CENTER - the 50/50 magnet of the range's mass - capped at 3R with an R-multiple fallback.
⚡ THE UNDERTOW ✨
Beneath the rows, one number: the range's net delta. BULL +18% means the mass leans long; BEAR -12% means it leans short; BALANCED means the tide is slack. It's the dashboard's top row because it's the context every defense swims in.
⚡ CONVICTION & THE DATABASE ✨
Every defense carries one compact number - CONVICTION. Underneath: this chart's own live database, defenses bucketed by the shelf's dominance (owned / dominated / ruled) . That tier win rate is the base - then the score bends with the scenario: how owned the shelf is, balance alignment (defending from the side of value), kinetic fuel, absorption. Fused into one grade from 5 to 95. Hover any chip: the shelf's exact price band, who owns it and by how much, the tier's win rate and sample depth, balance, undertow, fuel. Nothing hidden.
⚡ THE SCHEDULE ✨
Every closed trade is filed by session - Asia, London, New York, off hours - and the dashboard learns which hours the defenses hold on this chart, with this logic. When the schedule has enough receipts, BEST SESSION names the shift.
⚡ BUILT-IN AUTOMATION ⚡
One alert ("Any alert() function call") + your webhook URL, and Tide speaks Trade Wzrd order strings:
⚡ Entries with SL/TP prices attached
⚡ Optional opposite-signal close prepended to new entries
⚡ TP/SL-hit close alerts that mirror the on-chart trade box
The same readable comma syntax drives automation across 7+ platforms - percent-risk or fixed-volume sizing, magic numbers, order comments. No lock-in: plain text, any endpoint.
✨ HOW TO READ IT ✨
⚡ Cyan zone below price = the band buyers own, defending longs - ownership % printed inside, price + % on the edge tag
⚡ Red zone above price = the band sellers own, defending shorts - same receipts
⚡ A zone that vanishes without a ghost = it broke: price closed clean through it. Failed levels leave no fossils
⚡ Dotted colored ghosts = fossils: shelves that handed the job off, standing until the market mitigates them
⚡ Gold dashed levels = liquidity pools: equal highs/lows where stops rest - tag shows price × touches
⚡ Gold POOL ×3 stamps = the raid: stops swept and rejected; the pool goes dotted TAKEN until it dies
⚡ A defense firing right after a sweep = the strongest setup Tide knows - conviction gets the fuel, hover says why
⚡ Dashed white line = the Point of Control, price tagged - where the most mass traded in the range
⚡ BUY · DEF 68 / SELL · DEF 71 chips = a shelf defended itself - the number is conviction
⚡ Gold diamonds = absorption: climax volume, no progress - someone ate the book right there
⚡ Dashboard: undertow, POC, shelf count, who's defending, database, best session, record, fuel
⚡ HOW TO USE ⚡
⚡ Drop it on any liquid symbol with volume, 15m to 4H - ownership maps everywhere
⚡ Let it run. The database and the session schedule start empty - they grow teeth from this chart's own history
⚡ Watch the tiers: if ruled shelves (90%+ ownership) earn more than owned ones, raise Shelf Dominance and let the weak ones go
⚡ Set Min Win Probability once the tiers have samples - cold tiers filter themselves out
⚡ Turn on Balance Alignment to defend only from the side of value
⚡ Wire one alert when you're ready to automate
✨ LIMITATIONS ✨
⚡ Buy/sell mass is estimated from where each bar closed inside its range - a proven approximation, not exchange order-flow. On symbols without volume, the profile, undertow and conviction stand down
⚡ Conviction starts from this chart's own history , tiered - a sample, not a promise. Small samples lie confidently; the hover tells you when a tier is young
⚡ The database resets when you change symbols, timeframes, or core settings - every context earns its own track record
⚡ Shelves defend best in rotation; in runaway breakouts price doesn't come back to defend anything - that's what the trade box's stop is for
Rift maps WHERE the volume traded. Tide knows WHO OWNS EVERY PRICE - and watches them defend it. Null Range knows WHERE THE VOLUME NETS TO NOTHING.
Educational shell. Not financial advice. Not a signal service.
อินดิเคเตอร์

Auction Regime Engine [v1.4 Historical Auction Spans]Here’s a polished TradingView-ready description in the same BBCode style you’ve used before.
Overview
Auction Regime Engine is a volume-profile and footprint-based auction analysis tool designed to visualize how value forms, migrates, compresses, expands and gets revisited over time.
The indicator combines a broad adaptive volume profile with historical auction episodes and a stateful regime engine.
Instead of asking only:
“Where is the current POC / VAH / VAL?”
it tries to answer a more useful set of questions:
Where has meaningful value formed?
Was that value built once or revisited multiple times?
Is participation increasing or decreasing between revisits?
Is price currently balancing, compressing, probing, accepting or rejecting value?
If price leaves value, is the auction migrating toward another volume cluster or rotating back toward POC?
Core Concept
Traditional volume profiles aggregate volume by price, but they do not always make it easy to understand when that volume was created.
Auction Regime Engine adds a time dimension.
A broad volume concentration may contain several separate historical auctions:
C2A — Initial value development
Price leaves the area
C2B — Later revisit and value development
Each episode is displayed separately so changes in participation and accepted value can be compared directly.
Adaptive Volume Cluster Map
The right-side profile builds a high-resolution composite volume map across a broad adaptive lookback.
The engine:
Aggregates native TradingView footprint volume by price
Automatically adapts the profile horizon to the chart timeframe
Adjusts profile resolution based on market range and volatility
Applies Gaussian smoothing to identify meaningful volume concentrations
Detects dominant HVN-style clusters
Uses low-volume valleys to separate neighboring distributions
Calculates local POC, VAH and VAL for each cluster
The result is a map of the major accepted-value regions currently present in the auction.
Historical Auction Spans
The indicator also searches the profile history for distinct periods where each price cluster was actively accepted.
For every significant episode it draws:
The full historical time span of the auction
Episode-specific VAH and VAL
Episode-specific POC
A compact volume profile inside the historical span
This makes repeated development in the same price region visible as separate auctions rather than combining everything into one historical box.
For example:
C2A BASE
...
C2B VOL -18% POC ↑
This means the same broad value region was revisited later, but the second auction developed approximately 18% less participation per bar while its accepted POC migrated higher.
Auction Evolution
Historical episodes belonging to the same cluster are connected with subtle dotted lines.
These connections help visualize two important changes:
Value migration — whether the episode POC moved higher or lower
Participation change — whether volume intensity strengthened or weakened on the revisit
This allows the historical map to show not only where value existed, but how the auction evolved each time price returned.
Current Auction Regime
The live engine evaluates the active cluster and classifies the current market environment.
Possible states include:
BALANCE
COMPRESSION
PROBE ↑ / ↓
ACCEPTED ↑ / ↓
ROTATING ↑ / ↓
MIGRATED ↑ / ↓
The goal is not to predict the next candle.
The goal is to distinguish between two very different auction outcomes:
Price leaves value + participation expands + acceptance develops
→ potential value migration / continuation
Price tests outside value + participation fails + price returns
→ rejection / rotation toward POC
Expansion and Acceptance Model
The live scoring engine evaluates several components together:
Relative volume
Range expansion relative to ATR
Footprint delta
Percentage of current footprint volume trading outside value
Current footprint POC migration
Consecutive closes outside the value area
These are combined into Participation, Expansion and Acceptance scores.
The dashboard displays them as:
P / E / A
for both bullish and bearish directions.
Dashboard
The compact dashboard separates three different concepts:
MARKET — compression / expansion environment
AUCTION — current cluster and whether price is inside or outside accepted value
FLOW — current state-machine transition such as rotation, probe or acceptance
It also displays:
Active VAH / VAL
Active cluster
Relative volume
Footprint delta
Participation / Expansion / Acceptance scores
Current auction target
Event Tape
Important auction transitions can also be shown directly on the candles.
Events include:
P↑ / P↓ — Probe
A↑ / A↓ — Accepted expansion
F↑ / F↓ — Failed break
M↑ / M↓ — Migration
R↑ / R↓ — Rejection / rotation
The indicator uses event priority and cooldown logic to reduce repeated signals and chart clutter.
Target Logic
When price remains inside accepted value, POC remains the natural rotational reference.
When price achieves accepted expansion outside value, the engine can instead reference the POC of the next detected volume cluster.
Conceptually:
Rejected breakout
→ rotate toward current POC
Accepted breakout
→ migrate toward neighboring value / next POC
Adaptive Mode
Adaptive Mode is enabled by default.
It automatically adjusts:
Profile lookback
Price-bin resolution
Gaussian smoothing
Cluster separation
Cluster selectivity
Historical event lookback
Structure refresh cadence
Compression thresholds
Expansion / acceptance thresholds
The intention is for the indicator to require minimal configuration across different timeframes.
Advanced manual overrides remain available for users who want more control.
Visual Modes
Clean
Designed for normal chart use.
Shows:
Current context profile
Most important historical auction spans
Active value structure
Sparse event markers
Dashboard
Full
Adds additional diagnostic information, including secondary events and more structural detail.
How I Use It
The indicator is intended as an auction-context tool rather than a standalone entry system.
A simple workflow is:
Identify the active value cluster.
Observe whether the market is balancing or compressing.
Watch what happens when price reaches VAH / VAL or an LVN transition.
Use the expansion and acceptance information to distinguish a genuine auction change from a failed excursion.
Use footprint / execution confirmation for the actual trade trigger.
Important Notes
Auction Regime Engine uses TradingView's native footprint data through Pine Script.
The high-resolution current map is built directly from footprint volume rows.
For performance, the historical event state machine uses a lighter structural model between profile refreshes rather than rebuilding the entire composite footprint map on every historical bar.
Historical auction episodes are analytical reconstructions based on volume participation and should be treated as contextual structure rather than exact exchange-defined sessions.
Requirements
This script uses `request.footprint()` and therefore requires access to TradingView's Pine footprint functionality.
Disclaimer
This indicator is an analytical tool and does not provide financial advice or guarantee future price movement.
Volume, footprint, value-area and regime information should be interpreted together with market context, liquidity, risk management and execution conditions.
อินดิเคเตอร์

NW Volume Profile - Kernel-Smoothed [Dots3Red]📊 NW VOLUME PROFILE - KERNEL-SMOOTHED
A volume profile answers a different question than a normal chart. Instead of "how much traded today," it asks "how much traded at each price." This version applies Nadaraya-Watson kernel smoothing to that profile before reading any level off it — turning a jagged, noisy histogram into the actual underlying distribution of where volume concentrated.
🎯 WHY THIS MATTERS
A raw volume profile is built from independent price bins — each one only knows its own volume, nothing about its neighbors. That makes it noisy: a single oversized candle can create a spike that looks like an important level but is really just where one bar happened to land. Reading real structure off a raw histogram means squinting past that noise.
This script smooths the profile before drawing anything. Every bin's displayed value becomes a weighted average of its neighborhood — nearby bins count heavily, distant bins barely at all, following a Gaussian curve. The lumps from individual candles melt away, and what's left is the true shape of the distribution that was underneath the noise the whole time. All the levels described below — POC, Value Area, HVN, LVN — are read from that smoothed curve, not the raw one.
🧮 HOW THE SMOOTHING WORKS
Each price bin's raw volume gets replaced by:
smoothed(i) = Σⱼ w(i,j) · raw / Σⱼ w(i,j)
where w(i,j) is a Gaussian weight based on how many bins apart i and j are, controlled by the Bandwidth setting. A small bandwidth stays close to the raw histogram; a large one produces one broad, simplified hump. This is genuine kernel regression applied across the price axis, not a moving average or a visual blur — it's the same mathematical technique used in the smoothed lines several Dots3Red scripts already use for slope/trend estimation, applied here to a distribution instead of a time series.
Toggle "Show Raw Histogram Behind" to see the original jagged bars faintly displayed underneath the smoothed profile — a direct before/after comparison on your own chart.
📏 WHAT EACH LEVEL MEANS
🟡 POC (Point of Control) — the single price with the highest smoothed volume. The market's center of gravity for the current window; price tends to be pulled back toward it.
🔵 Value Area — the price region around the POC containing a configurable share of total volume (default 70%). Price trading inside it is trading at a level the market recently agreed was fair — chop and rotation are common here. Price breaking out of it is the market rejecting that agreement, which is often when moves extend rather than stall.
🟢 HVN (High Volume Node) — a secondary local peak in the smoothed distribution. Acts like a sticky zone; price tends to slow down or pause when revisiting one.
🔴 LVN (Low Volume Node) — a local trough where very little volume ever traded. Acts like a thin spot; price tends to move through it quickly rather than lingering, since few positions were ever opened there.
HVN and LVN are drawn as full-width dotted lines across the chart (not just labels at the profile edge), specifically so they stay visible and trackable even after price has moved well away from where the profile itself was drawn.
🧭 HOW TO USE
👀 Start with where price sits relative to the Value Area. Inside it: expect rotation and two-way trade. Outside it: the move has already broken from recent consensus, which historically has more follow-through than reversion.
🧲 Treat POC as a magnet, not a wall. It is the level most likely to be revisited, not a guaranteed reversal point. How price behaves when it gets there — accepted or rejected — is the actual signal, not the level itself.
🐌 Expect hesitation at HVNs. A move approaching an HVN from your prior window is approaching a zone where the market has previously done a lot of business — some slowing or consolidation there is common.
⚡ Expect speed through LVNs. A thin zone with very little historical volume tends to get crossed quickly rather than acting as support or resistance. If price is moving toward one, a fast move through it before finding real support/resistance at the next node is a reasonable expectation.
🔧 Adjust Bandwidth to match what you're looking for. A tighter bandwidth reveals more granular structure (closer to raw); a wider one collapses the profile into its dominant, unmistakable levels. There's no universally correct setting — it depends on whether you want detail or clarity.
💡 EXAMPLE
Say the profile shows POC at 61,200, a Value Area from 60,400 to 62,100, and an LVN line sitting at 59,800. Price later drops to 60,450 — right at the edge of the Value Area. Two distinct scenarios are now readable from the profile: if price holds and turns back up, the 61,200 POC above is the natural target the market has repeatedly gravitated toward. If instead price breaks below 60,400, the empty LVN at 59,800 offers little historical volume to slow the decline — a fast move through that zone before finding the next real level is the more likely path. Same chart, two different expectations, both read directly off the same profile without any additional indicator.
⚙️ SETTINGS
📊 Profile
• Lookback (bars) — size of the rolling window the profile is built from
• Price Bins — vertical resolution of the profile
• Body Volume Only — distribute volume across the candle body instead of the full high-low range
🧮 Kernel Smoothing
• Bandwidth — width of the Gaussian kernel in bin units; controls detail vs. simplification
📏 Levels
• Value Area % — share of total volume the Value Area is expanded to contain
• Node Detection Leg — how many neighboring bins define a local peak/trough
• LVN Max Ratio of POC — how thin a trough must be, relative to POC, to count as an LVN
🎨 Visualization
• Show Raw Histogram Behind, POC Line, Value Area, HVN/LVN Marks — each independently toggleable
• Profile Width — how far the profile extends horizontally
🖥️ Dashboard
• Show/hide, position — displays current POC, Value Area bounds, node counts, and the active window/bandwidth settings
📝 NOTES
This profile is a rolling window — its levels update as the window slides forward with each new bar, which is expected behavior for a volume profile rather than a repainting signal (nothing appears and then vanishes; the underlying window is simply moving). Thin-volume symbols will produce a ragged profile regardless of smoothing settings — this tool is most informative on liquid instruments with consistent volume.
⚠️ DISCLAIMER
This is an analytical and visualization tool. It does not generate trade signals and does not constitute financial advice. Historical volume concentration at a given level does not guarantee how price will behave there in the future. อินดิเคเตอร์

NQ Signal Engine v1.0This Pine Script is designed for trading the NQ! (E-mini Nasdaq-100 Futures) by identifying high-probability trend-following opportunities. It uses the 20, 50, and 200 exponential moving averages (EMAs) to determine the overall market trend, along with VWAP to confirm intraday market bias. Long signals are generated when price is above the major moving averages, pulls back to the 20 EMA or VWAP, and resumes upward momentum, confirmed by an RSI reading above 50 and higher-than-average trading volume. Short signals follow the opposite criteria during bearish trends. The script includes ATR-based stop-loss placement and configurable profit targets based on a user-defined risk-to-reward ratio, with an optional trailing stop to lock in gains. It visually plots the moving averages and VWAP, displays buy and sell markers on the chart, shades the background to indicate bullish or bearish conditions, and supports customizable inputs for indicator settings, risk management, and trading sessions, making it suitable for backtesting and intraday trading on 1-, 5-, and 15-minute NQ! charts. อินดิเคเตอร์

Rogue VP ProRogue VP Pro is an advanced Previous Day Volume Profile indicator built for traders who rely on volume-based market structure to identify high-probability trading opportunities.
The indicator generates a detailed volume profile from the previous trading session and projects the most important price levels onto the current session, providing a clear framework for identifying support, resistance, acceptance, rejection, and potential liquidity areas.
Designed for intraday traders, Rogue VP Pro offers extensive customization while remaining lightweight and easy to read.
Features:
Previous Day Volume Profile
High-resolution volume profile with configurable calculation and rendering density.
Displays the previous session's volume distribution directly on the current trading day.
Supports:
Regular Trading Hours (RTH)
Previous Overnight Session
All Sessions
Automatically calculates and plots:
• Point of Control (POC)
• Value Area High (VAH)
• Value Area Low (VAL)
Optional labels display the exact price of each level.
Value Area Deviations
Project customizable deviation levels above and below the Value Area, allowing traders to identify potential extension targets and exhaustion zones.
Default deviation levels include:
• ±0.25 VA
• ±1.0 VA
• ±2.0 VA
Volume Nodes
Automatically identifies:
• High Volume Nodes (HVNs) – areas of heavy participation
• Low Volume Nodes (LVNs) – potential rejection or low-liquidity zones
Detection sensitivity and filtering thresholds are fully customizable.
Volume Surge Highlights
Identify unusually high-volume bars during Regular Trading Hours.
Bars exceeding a user-defined multiple of average volume are highlighted, making it easy to spot institutional participation and momentum events.
EMA Overlay
Includes an optional Exponential Moving Average for additional trend confirmation and trade confluence.
Customizable Appearance
Customize nearly every aspect of the indicator, including:
• Profile colors
• Value Area colors
• Node colors
• Deviation colors
• Line widths
• Label visibility
• Profile placement (left or right)
• Profile width and rendering resolution
Alerts
Create TradingView alerts whenever price touches one of the key Previous Day Volume Profile levels:
• POC
• VAH
• VAL
Alerts are limited to Regular Trading Hours for more relevant intraday notifications.
Ideal For
• Futures traders
• Index traders
• Options traders
• Scalpers
• Day traders
• Volume Profile enthusiasts
• Price Action traders
How It Can Be Used
Many traders use previous session volume information to:
• Identify high-probability support and resistance
• Monitor acceptance versus rejection around key value areas
• Locate potential breakout and reversal zones
• Trade rotations back toward the Point of Control
• Find confluence with other technical tools and market structure
Rogue VP Pro provides these important reference levels in a clean, highly configurable format, allowing traders to integrate volume profile analysis into virtually any trading strategy.
Disclaimer: This indicator is intended as a market analysis tool and should be used alongside sound risk management and your own trading plan. อินดิเคเตอร์

Time-Price Volume Heatmap with Liquidity SweepsWhat it does
Most volume tools compress everything into a single vertical profile, so you can see at which price volume traded, but not when. This script splits the lookback window into a grid of time columns × price rows and paints each cell by how much volume was actually traded inside it — producing a time-and-price heatmap of where activity concentrated as the market moved.
On top of that map it tracks the resting liquidity pools that price left behind, and flags the exact bar where each pool is taken.
How it is calculated
The heatmap
The lookback window (default 300 bars) is divided into Time Resolution columns (default 16) and Price Resolution rows (default 26), built between the highest high and lowest low of the window.
For every bar, its volume is distributed evenly across all price rows its high-low range covers. A bar spanning 5 rows adds one fifth of its volume to each. This approximates where inside the candle the activity sat, rather than assigning it all to the close.
Each cell is normalised against the busiest cell in the grid and coloured on a 3-stop gradient. Transparency scales with intensity, so cold zones stay faint and hot zones glow. Cells below Min Intensity are not drawn at all — this keeps the chart readable and stays inside the 500-object limit.
Point of Control Rows are summed across all columns; the heaviest row is drawn as the POC line. The panel also shows POC Density — that row's share of total mapped volume. A high number means volume is concentrated on one shelf; a low number means it is spread out.
Liquidity pools Confirmed pivot highs and lows (Pivot Strength, default 8) mark levels where stop orders typically rest. Each is drawn as a dotted line extending right, labelled with its price. When price trades through a level it is re-drawn solid grey and marked SWEPT, and the sweep counter increments. Levels older than Level Max Age are removed automatically.
Volume bursts Volume is converted to a z-score over Volume Window bars. Two dot sizes mark bars above the strong (2σ) and extreme (3.5σ) thresholds — useful for spotting which bar actually did the damage at a level.
Volume Pressure Volume of up-closes minus volume of down-closes across the window, expressed as a percentage of total. A rough directional bias for the mapped period.
How to read it
Hot zones = price spent time and volume there. They tend to act as magnets and as friction; moves through them are usually slower.
Cold gaps = thin areas. Price often travels through them quickly.
A sweep followed by an immediate move back inside the previous range is the classic liquidity-grab pattern. The sweep marker plus an extreme volume dot on the same bar is the strongest version of it.
POC as reference: the panel tells you whether price is above or below the heaviest shelf. อินดิเคเตอร์

Volume Profile XL**Volume Profile XL — Overview**
Volume Profile XL shows *where* trading activity concentrated across price, rather than just when it happened. It divides price into horizontal bins and draws a sideways histogram: the longer a row, the more volume traded at that price. This reveals the levels the market accepted (heavy rows) and the levels it passed through quickly (thin rows), plus three key reference prices — the POC and the Value Area boundaries.
**The two ways it can display**
- **Per Day (Historical)** — the default. It draws a separate profile over each of the last several periods, sitting on top of that period's candles. This lets you see how accepted price shifted from one day to the next.
- **Combined** — one single profile built from a fixed number of recent bars, drawn off to one side of price. This gives a clean, current read of fair value across the recent move without splitting it by day.
**The three reference markers on every profile**
- **POC (Point of Control)** — the single price with the most volume; the profile's center of gravity.
- **VAH / VAL (Value Area High / Low)** — the top and bottom of the price band containing the chosen percentage of volume. Price inside this band is "in balance"; price leaving it signals the market is exploring new territory.
---
**Mode settings (top of the panel)**
- **Profile Mode** — switches between Per Day and Combined, as described above.
- **Split Up/Down Volume** — when on, each row is colored in two parts, showing how much of that level's volume came from up-closing versus down-closing bars, so you can read buying vs. selling pressure within a level. When off, each row is a single color based on whichever side dominated. Turning it off also halves the drawing load, which lets you display roughly twice as many days at the same detail — the main lever when you want more history on screen.
**Calculation settings**
- **Number of Rows** — how finely price is sliced. More rows means more detail but, in Per Day mode, fewer days fit on screen at once. Fewer rows means a coarser profile but more history.
- **Value Area %** — the share of volume the Value Area captures. Seventy percent is the long-standing market convention; raising or lowering it widens or narrows the VAH–VAL band.
**Per Day (Historical) settings**
- **Period** — whether each profile covers a Day, a Week, or a Month.
- **Historical Lookback (Days)** — how many periods back to draw. If you request more than the screen can hold, it automatically shows as many as fit rather than erroring.
- **Profile Width (% of period)** — how much of each period's horizontal space the widest row fills. Lower values make slimmer, less overlapping profiles; higher values make bolder ones.
**Combined settings**
- **Lookback Bars** — how many recent bars feed the single combined profile.
- **Placement** — draws the profile to the Left or Right of current price.
- **Max Profile Width** — the on-screen length of the busiest row; controls the overall size of the histogram.
- **Gap From Price** — spacing between the profile and the candles.
**Colors & Lines settings**
- **Up Volume / Down Volume** — the two histogram colors.
- **Show POC** and **POC Color / POC Line Style** — toggle the Point of Control line and set its color and style (Solid, Dashed, or Dotted).
- **Show Value Area** and **VA Color / VA Line Style** — toggle the Value Area lines and set their color and style.
- **Label Size** — the size of the POC, VAH, and VAL price tags, from Tiny to Huge.
---
**How to use it in practice**
- **Read the shape first.** Fat rows are magnets where price tends to stall; thin rows and gaps are fast zones price tends to slice through.
- **Watch behavior at the edges.** Price stalling at VAH or VAL and turning back suggests balance and a move toward the POC. Price pushing through an edge and *holding* there suggests acceptance and a possible trend in that direction.
- **Compare day to day (Per Day mode).** Overlapping value areas across days point to a sideways, balancing market; value areas stepping steadily up or down point to a trend. Where today opens relative to yesterday's Value Area is one of the most useful tells for whether the session is likely to rotate or run.
- **Use Combined for the big picture.** When you want one clean map of the current support and resistance shelves rather than a day-by-day breakdown, switch to Combined and place it on whichever side keeps your price action clear.
**A note on the data**
The profile is built from each bar's price range and volume, which is the standard approach for this kind of tool on this platform. It's a close approximation of the true volume-at-price distribution, not a tick-by-tick reconstruction, so treat the levels as high-quality reference points rather than exact measurements. อินดิเคเตอร์

Volume Profile Multi-ModeDESCRIPTION
VP Multi-Mode builds a volume-by-price profile from REAL traded volume and lets you choose, from one dropdown, what stretch of the chart each profile covers.
WHAT A VOLUME PROFILE IS (skip if you know) A normal chart shows how much volume traded per unit of TIME — the bars along the bottom. A volume profile flips that: it shows how much volume traded at each PRICE. The result is a sideways histogram. Long bars are prices where a lot of business got done; short bars are prices the market passed through quickly. Traders use the fat areas as reference (price tends to revisit and pause there) and the thin areas as places price tends to move through fast.
Three levels come out of it:
POC (Point of Control) — the single price bin with the most volume. The fairest price of that range by traded-volume consensus.
VAH / VAL (Value Area High / Low) — the band around the POC containing a chosen share of the range's volume (70% by default, the Market Profile convention). Inside the value area = accepted price; outside = the market is exploring.
WHAT MAKES THIS ONE DIFFERENT
Real volume, not an approximation. Each chart bar is decomposed into intrabar sub-bars (1-minute by default) via request.security_lower_tf(), and each sub-bar's ACTUAL reported volume is distributed into the price grid. It does not use tick data and it does not use the up/down-tick estimate that the built-in SVP relies on. You can also choose how a sub-bar's volume is spread:
Range/Uniform (default, the honest one) — spread evenly over every bin the sub-bar's low-to-high touched.
Close — dump the whole sub-bar's volume in its closing-price bin.
Five range modes in one script. Most profile tools pick one anchoring scheme. This one lets you switch:
Time Window — any HHMM start/end, wraps past midnight.
Session Open->Close — Asia / London / US, each with editable open and close times. One profile per selected session per day.
External Swing — anchors between an external higher-high (a pivot high above the previous pivot high, i.e. liquidity taken above) and an external lower-low. Strictly point-in-time: a pivot is only used once confirmed.
Manual Drag — two click-to-place time handles, the Pine analog of dragging the built-in SVP's handles.
Weekly + N Days — anchored at the Monday 09:30 ET cash open and running to (that Monday + 7 + N) days. Rolling, so these profiles deliberately overlap.
Optional volume delta, labelled honestly. Turn on Show Volume Delta and each bin is coloured by net buying vs selling, with the profile's total delta printed on the POC label. This is a BAR-CLASSIFIED PROXY: each 1-minute sub-bar's real volume is signed by its own close-vs-open direction. It is NOT true aggressor / bid-ask delta — no tick or order-book data is used, and it cannot tell who lifted the offer from who hit the bid inside a sub-bar. It is stated that way in the tooltip too.
Placement that sits on the price action. The histogram is anchored to the range's right edge and grows LEFT across the candles by default, so it overlays the bars it was built from instead of being parked in the right margin. Anchor edge, direction, width and offset are all inputs. Everything is drawn on bar_index, so it does not drift when you zoom.
HOW TO USE
Quick start: add it to the chart and leave everything alone. You get the US cash session (09:30-16:00 ET) profiled once per day for the last 12 days, POC as a solid red line, VAH/VAL as dashed orange lines, and the value area shaded.
Then adjust in this order:
Pick the range that matches your question (Range Mode group).
"Where is value for today's session?" -> Session Open->Close, US.
"What did the overnight build?" -> Session Open->Close, Asia (or Time Window with your own hours).
"Where did volume sit across this leg up?" -> External Swing.
"Just profile this bit here" -> Manual Drag, then click the two handles on the chart when prompted.
"Where is the week's value, with carry-over into the next few days?" -> Weekly + N Days.
Set resolution and detail (Engine group).
Intrabar resolution: 1 minute is the default and works on most charts. Finer (e.g. 1S) is more faithful but TradingView only serves intrabar data for a limited number of recent bars, so finer settings shorten how far back profiles can be built.
Price bins: 25 default. More bins = finer profile, but see the limit below.
Value Area %: 70 is the convention; lower it to see a tighter core of value.
Timezone: America/New_York by default, since the session presets are ET.
Fit it to your chart (Display group). Profile extension sets how many bars wide the POC bin is drawn; the rest scale to their volume. Profile offset nudges the whole thing left or right. Extend direction flips it between overlaying the candles and sitting in the empty margin.
Optional: turn on Show Volume Delta to colour bins green/red by net direction and read the range's total delta off the POC label — bearing in mind the proxy caveat above.
READING IT
Price accepted inside the value area, POC flat and centred -> balanced/rotational; the edges (VAH/VAL) are the reference for fading.
Price leaving the value area and holding outside -> the market is seeking new value; the old VAH or VAL often becomes the level that has to hold on a retest.
A thin patch in the histogram is a price the market moved through with little business done. Revisits often travel across it quickly.
A POC that migrates day over day in one direction is a trend in where business is being done, not just in price.
The script draws levels and volume. It gives no buy/sell signals and makes no performance claims — it is a context tool.
IMPORTANT LIMIT (please read before reporting a bug)
TradingView caps a script at 500 boxes, 500 lines and 500 labels. Each profile costs roughly (bins + 1) boxes. With the defaults, 25 bins x 12 profiles is about 312 boxes. The script auto-clamps the number of profiles it draws to whichever is smaller: your "Max profiles back" setting, or floor(490 / (bins + 1)).
So: painting every session across all history is not possible in Pine, by any script. You always see the most recent N. If you raise the bin count, the number of visible profiles automatically drops to compensate.
Similarly, intrabar data is only available for a limited number of recent chart bars. Older profiles may thin out or stop — that is a data-availability limit, not a fault in the script.
Open source. Comments in the code explain the engine, the delta proxy, and the object budget. อินดิเคเตอร์
