NeoChartLabs POCOne of our Favorite Indicators - the High Time Frame Point of Control with a Volume Profile.
Shout out to p2pasta for the original script, we updated to v6.
Currently included: Monthly, 3 months and 6 months.
/* DEFINITION */
Point Of Control (= POC) is a price level at which the heaviest volumes were traded.
Value Area High/Low (=VAH/VAL) is a range of prices where the majority of trading volume took place. Naturally, Value Area High being the top price level and Value Area Low being the lowest. POC always is between the two.
/* HOW TO TRADE WITH THIS INDICATOR */
The basis for POC is determining bias on whichever timeframe you choose.
1. Identify a POC on the timeframe of your choosing.
/* If you choose a "low" timeframe (monthly here) then make sure to look at the higher timeframes to see how it is playing against a higher timeframe POC.
2. When the price is moving away from the POC (either to the upside or downside) this will confirm or invalidate the trade.
3. You can now enter the trade on bias or wait for a retest of the same POC.
Volume Profile
Multi-Distribution Volume Profile (Zeiierman)█ Overview
Multi-Distribution Volume Profile (Zeiierman) is a flexible, structure-first volume profile tool that lets you reshape how volume is distributed across price, from classic uniform profiles to advanced statistical curves like Gaussian, Lognormal, Student-t, and more.
Instead of forcing every market into a single "one-size-fits-all" profile, this tool lets you model how volume is likely concentrated inside each bar (body vs wicks, midpoint, tails, center bias, right-skew, heavy tails, etc.) and then stacks that behavior across a whole lookback window to build a rich, multi-distribution map of traded activity.
On top of that, it overlays a dynamic Center Band (value area) and a fade/gradient model that can color each price row by volume, hits, recency, volatility, reversals, or even liquidity voids, turning a plain profile into a multi-dimensional context map.
Highlights
Choose from multiple Profile Build Modes , including uniform, body-only, wick-only, midpoint/close/open, center-weighted, and a suite of probability-style distributions (Gaussian, Lognormal, Weibull, Student-t, etc.)
Flexible anchor layout: draw the profile on Right/Left (horizontal) or Bottom/Top (vertical) to fit any chart layout
Value Area / Center Band computed from volume quantiles around the POC.
Gradient-based Fade Metrics: volume, price hits, freshness (time decay), volatility impact, dwell time, reversal density, compression, and liquidity voids
Separate bullish vs bearish volume at each price row for directional structure insights
█ How It Works
⚪ Profile Construction
The script scans a user-defined Bars Included window and finds the full high–low span of that zone. It then divides this range into a user-controlled number of Price Levels (rows).
For each historical bar within the window:
It measures the candle’s price range, body, and wicks.
It assigns volume to rows according to the selected Profile Build Mode, for example:
* Range Uniform – volume spread evenly across the full high–low range.
* Range Body Only / Range Wick Only – concentrate volume inside the body or wicks only.
* Midpoint / Close / Open Only – allocate volume entirely into one price row (pinpoint modeling).
HL2 / Body Center Weighted – center weights around the middle of the range/body.
Recent-Weighted Volume – amplify newer bars using exponential time decay.
Volume Squared (Hard) – aggressively boost bars with large volume.
Up Bars Only / Down Bars Only – filter volume to only bullish or bearish bars.
For more advanced shapes, the script uses continuous distributions across the bar’s span:
Linear, Triangular, Exponential to High
Cosine Centered, PERT
Gaussian, Lognormal, Cauchy, Laplace
Pareto, Weibull, Logistic, Gumbel
Gamma, Beta, Chi-Square, Student-t, F-Shape
Each distribution produces a weight for each row within the bar’s range, normalized so the total volume remains consistent, but the shape of where that volume lands changes.
⚪ POC & Center Band (Value Area)
Once all rows are accumulated:
The row with the highest total volume becomes the Point of Control (POC)
The script computes cumulative volume and finds the band that wraps a user-defined Center of Profile % (e.g., 68%) around the center of distribution.
This range is displayed as a central band, often treated like a value area where price has spent the most “effort” trading.
⚪ Gradient Fade Engine
Each row also gets a fade metric, chosen in Fade Metric:
Volume – opacity based on relative volume.
Price Hits – how frequently that row was touched.
Blended (Vol+Hits) – average of volume & hits.
Freshness – emphasizes recent activity, controlled by Decay.
Volatility Impact – rows that saw larger ranges contribute more.
Dwell Time – where price “camped” the longest.
Reversal Density – where direction changes cluster.
Compression – tight-range compression zones.
Liquidity Void – inverse of volume (thin liquidity zones).
When Apply Gradient is enabled, the row’s bullish/bearish colors are tinted from faint to strong based on this chosen metric, effectively turning the profile into a heatmap of your chosen structural property.
█ How to Use
⚪ Explore Different Distribution Assumptions
Switch between multiple Profile Build Modes to see how your assumptions about intrabar volume affect structure:
Use Range Uniform for classical profile reading.
Deploy Gaussian, Logistic, or Cosine shapes to emphasize central clustering.
Try Pareto, Lognormal, or F-Shape to focus on tail / extremal activity.
Use Recent-Weighted Volume to prioritize the most recent structural behavior.
This is especially useful for traders who want to test how different modeling assumptions change perceived value areas and levels of interest.
⚪ Identify Value, Acceptance & Rejection Zones
Use the POC and Center of Profile (%) band to distinguish:
High-acceptance zones – wide central band, thick rows, strong gradient → fair value areas
Rejection zones & tails – thin extremes, low dwell time, high volatility or reversal density
These regions can be used as:
Targets and origin zones for mean reversion
Context for breakout validation (leaving value)
Bias reference for intraday rotations or swing rotations
⚪ Read Directional Structure Within the Profile
Because each row is split into bullish vs bearish contributions, you can visually read:
Where buyers dominated a price region (large bullish slice)
Where sellers absorbed or defended (large bearish slice)
Combining this with Fade Metrics like Reversal Density, Dwell Time, or Freshness turns the profile into a structural order-flow map, without needing raw tick-by-tick volume data.
⚪ Use Fade Metrics for Contextual Heatmaps
Each Fade Metric can be used for a different analytical lens:
Volume / Blended – emphasize where volume and activity are concentrated.
Freshness – highlight the most recently active zones that still matter.
Volatility Impact & Compression – spot areas of explosive moves vs coiled ranges.
Reversal Density – locate micro turning points and battle zones.
Liquidity Void – visually pop out thin regions that may act as speedways or magnets.
█ Settings
Profile Build Mode – Selects how each bar’s volume is distributed across its price range (uniform, body/wick, midpoint/close/open, center-weighted, or statistical distribution families).
Bars Included – Number of bars used to build the profile from the current bar backward.
Price Levels – Vertical resolution of the profile: more levels = smoother but heavier.
Anchor Side – Where the profile is drawn on the chart: Right, Left, Bottom, or Top.
Offset (bars) – Horizontal offset from the last bar to the profile when using Right/Left modes.
Apply Gradient – Toggles the fade/heatmap coloring based on the selected metric.
Fade Metric – Chooses the property driving row opacity (Volume, Hits, Freshness, Volatility Impact, Dwell Time, Reversal Density, Compression, Liquidity Void).
Decay – Time-decay factor for Freshness (values close to 1 keep older activity relevant for longer).
Profile Thickness – Relative thickness of the profile along the time axis, as a % of the lookback window.
Center of Profile (%) – Volume percentage used to define the central band (value area) around the POC.
-----------------
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.
(SM3) Volume Profile Tool-kit1st pine script. It is a work in progress. I use this to mark previous day high and low value areas as well as overnight volume profile for NYSE open strategy.
(SM3) Volume Profile Tool-kitCore Concept
This indicator is a right-aligned fixed-range Volume Profile + SMT-style tools:
Volume Profile
Shows volume distribution over a fixed lookback window
Bars are colored by volume delta:
Teal = buyers (bullish volume ≥ bearish volume)
Fuchsia = sellers (bearish volume > bullish volume)
POC: highest volume price level
Value Area: price region containing X% of total volume (default 68%)
Liquidity Sweeps
Marks Buy-side Liquidity Sweeps (BSL) and Sell-side Liquidity Sweeps (SSL) based on pivot highs/lows
PDH/PDL Liquidity Boxes
Previous Day High (PDH) zone = red box
Previous Day Low (PDL) zone = green box
Based on the prior full calendar day’s high/low
Boxes extend across the current day only, adjusting bar by barCore Concept
This indicator is a right-aligned fixed-range Volume Profile + SMT-style tools:
Volume Profile
Shows volume distribution over a fixed lookback window
Bars are colored by volume delta:
Teal = buyers (bullish volume ≥ bearish volume)
Fuchsia = sellers (bearish volume > bullish volume)
POC: highest volume price level
Value Area: price region containing X% of total volume (default 68%)
Liquidity Sweeps
Marks Buy-side Liquidity Sweeps (BSL) and Sell-side Liquidity Sweeps (SSL) based on pivot highs/lows
PDH/PDL Liquidity Boxes
Previous Day High (PDH) zone = red box
Previous Day Low (PDL) zone = green box
Based on the prior full calendar day’s high/low
Boxes extend across the current day only, adjusting bar by barCore Concept
This indicator is a right-aligned fixed-range Volume Profile + SMT-style tools:
Volume Profile
Shows volume distribution over a fixed lookback window
Bars are colored by volume delta:
Teal = buyers (bullish volume ≥ bearish volume)
Fuchsia = sellers (bearish volume > bullish volume)
POC: highest volume price level
Value Area: price region containing X% of total volume (default 68%)
Liquidity Sweeps
Marks Buy-side Liquidity Sweeps (BSL) and Sell-side Liquidity Sweeps (SSL) based on pivot highs/lows
PDH/PDL Liquidity Boxes
Previous Day High (PDH) zone = red box
Previous Day Low (PDL) zone = green box
Based on the prior full calendar day’s high/low
Boxes extend across the current day only, adjusting bar by bar
Volume Profile VisionVolume Profile Vision - Complete Description
Overview
Volume Profile Vision (VPV) is an advanced volume profile indicator that visualizes where trading activity has occurred at different price levels over a specified time period. Unlike traditional volume indicators that show volume over time, this indicator displays volume distribution across price levels, helping traders identify key support/resistance zones, fair value areas, and potential reversal points.
What Makes This Indicator Original
Volume Profile Vision introduces several unique features not found in standard volume profile tools:
Dual-Direction Histogram Display:
Unlike conventional volume profiles that only show bars extending in one direction, VPV displays volume bars extending both left (into historical candles) and right (as a traditional histogram). This bi-directional approach allows traders to see exactly where historical price action intersected with high-volume nodes.
Real-Time Candle Highlighting: The indicator dynamically highlights volume bars that intersect with the current candle's price range, making it immediately obvious which volume levels are currently in play.
Four Professional Color Schemes: Each color scheme uses distinct gradient algorithms and visual encoding systems:
Traffic Light: Uses red (POC), green (VA boundaries), yellow (HVN), with grayscale gradients outside the value area
Aurora Glass: Modern cyan-to-magenta gradient with hot magenta POC highlighting
Obsidian Precision: Professional dark theme with white POC and electric cyan accents
Black Ice: Monochromatic cyan family with graduated intensity
Adaptive Transparency System: Automatically adjusts bar transparency based on position relative to value area, with special handling for each color scheme to maintain visual clarity.
Core Concepts & Calculations
Volume Distribution Analysis
The indicator divides the visible price range into user-defined price levels (default: 80 levels) and calculates the total volume traded at each level by:
Scanning back through the specified lookback period (customizable or visible range)
For each historical bar, determining which price levels the bar's high/low range intersects
Accumulating volume for each intersected price level
Optionally filtering by bullish/bearish volume only
Point of Control (POC)
The POC is the price level with the highest traded volume during the analyzed period. This represents the "fairest" price where most traders agreed on value. The indicator marks this with distinct coloring (red in Traffic Light, magenta in Aurora Glass, white in Obsidian Precision, cyan in Black Ice).
Trading Significance: POC acts as a strong magnet for price - markets tend to return to fair value. When price is away from POC, traders watch for:
Mean reversion opportunities when price is far from POC
Rejection signals when price tests POC from above/below
Breakout confirmation when price breaks through and holds beyond POC
Value Area (VA)
The Value Area encompasses the price range where a specified percentage (default: 68%) of all volume traded. This represents the range of "accepted value" by market participants.
Calculation Method:
Start at the POC (highest volume level)
Expand upward and downward, adding adjacent price levels
Always add the level with higher volume next
Continue until accumulated volume reaches the VA percentage threshold
Value Area High (VAH): Upper boundary of accepted value - acts as resistance
Value Area Low (VAL): Lower boundary of accepted value - acts as support
Trading Significance:
Price spending time inside VA indicates market equilibrium
Breakouts above VAH suggest bullish momentum shift
Breakdowns below VAL suggest bearish momentum shift
Returns to VA boundaries often provide high-probability entry zones
High Volume Nodes (HVN)
Price levels with volume exceeding a threshold percentage (default: 80%) of POC volume. These represent areas of strong agreement and consolidation.
Trading Significance:
HVNs act as strong support/resistance zones
Price tends to consolidate at HVNs before making directional moves
Breaking through an HVN often signals strong momentum
Low Volume Nodes (LVN)
Price levels within the Value Area with volume ≤30% of POC volume. These are zones price moved through quickly with minimal consolidation.
Trading Significance:
LVNs represent areas of rejection - price finds little acceptance
Price tends to move rapidly through LVN zones
Useful for setting stop-losses (below LVN for longs, above for shorts)
Can identify potential gaps or "air pockets" in the market structure
Grayscale POC Detection
A secondary POC detection system identifies the highest volume level outside the Value Area (with a 2-level buffer to avoid confusion). This helps identify significant volume accumulation zones that exist beyond the main value area.
How to Use This Indicator
Setup
Choose Lookback Period:
Enable "Use Visible Range" to analyze only what's on your chart
Or set "Fixed Range Lookback Depth" (default: 200 bars) for consistent analysis
Adjust Profile Resolution:
"Number of Price Levels" (default: 80) - higher = more granular analysis, lower = broader zones
Select Color Scheme:
Traffic Light: Best for clear POC/VA/HVN identification
Aurora Glass: Modern aesthetic for dark charts
Obsidian Precision: Professional trader preference
Black Ice: Minimalist single-color family
Visual Customization
Left Extension: How far back the left-side histogram extends into historical candles (default: 490 bars)
Right Extension: Width of the traditional histogram bars on the right (default: 50 bars)
Right Margin: Space between current price bar and histogram (default: 0 for flush alignment)
Left Profile Gap: Space between left-side histogram and candles (default: 0)
Trading Strategies
Strategy 1: Value Area Mean Reversion
Wait for price to move outside the Value Area (above VAH or below VAL)
Look for rejection signals (wicks, bearish/bullish candles)
Enter trades toward the POC
Take profits as price returns to POC or opposite VA boundary
Strategy 2: Breakout Confirmation
Identify when price is consolidating within the Value Area
Wait for a strong close above VAH (bullish) or below VAL (bearish)
Enter on the breakout or on first pullback to the VA boundary
Target previous HVNs or swing highs/lows outside the VA
Strategy 3: POC Support/Resistance
Watch for price approaching the POC level
If approaching from below, look for bullish reversal patterns at POC (support)
If approaching from above, look for bearish reversal patterns at POC (resistance)
Trade in the direction of the bounce with stops beyond the POC
Strategy 4: LVN Fast Movement Zones
Identify LVN zones within the Value Area (marked with "LVN" label)
When price enters an LVN, expect rapid movement through the zone
Avoid entering trades within LVNs
Use LVNs as confirmation of directional momentum
Alert System
The indicator includes 7 customizable alert conditions:
POC Touch: Alerts when price comes within 0.5 ATR of POC
VAH/VAL Touch: Alerts at Value Area boundaries
VA Breakout: Alerts on breakouts above VAH or below VAL
HVN Touch: Alerts when price contacts High Volume Nodes
LVN Entry: Alerts when entering Low Volume zones
POC Shift: Alerts when POC moves to a new price level
Reading the Profile
Price Labels (shown on the right side):
POC: Point of Control - highest volume price level
VAH: Value Area High - upper boundary of accepted value
VAL: Value Area Low - lower boundary of accepted value
LVN: Low Volume Node - expect fast movement through this zone
Color Intensity Interpretation:
Brighter colors = higher volume concentration
Dimmer colors = lower volume
Abrupt color changes = transition between volume zones
Gaps in the histogram = price levels with no trading activity
Technical Details
Volume Accumulation Logic:
For each bar in lookback period:
For each price level:
If bar's high/low range intersects price level:
Add bar's volume to that price level's total
Gradient Algorithm:
Traffic Light: Dual-range piecewise gradient (0-50% and 50-100% volume intensity)
Aurora Glass: Linear cyan-to-magenta interpolation
Obsidian Precision: Dark blue gradient with cyan highlights
Black Ice: Three-stage cyan intensity progression
Real-Time Updates:
The profile recalculates on every bar, including real-time tick data, ensuring the volume distribution always reflects current market structure.
Best Practices
Timeframe Selection: Use higher timeframes (4H, Daily) for swing trading, lower timeframes (5min, 15min) for day trading
Combine with Price Action: Volume profile shows WHERE, price action shows WHEN
Multiple Timeframe Analysis: Check daily VP for major levels, then drill down to intraday for entries
Volume Type Selection: Use "Bullish" volume in uptrends, "Bearish" in downtrends, or "Both" for complete picture
Adjust VA Percentage: 68% (default) captures one standard deviation; try 70% for tighter or 60% for broader value areas
Performance Notes
Maximum bars back: 5000 (handles deep historical analysis)
Maximum boxes: 500 (handles complex profiles)
Optimized calculation: Only recalculates on last bar for efficiency
Real-time capable: Updates as new ticks arrive
AR-Volume ProfileAR-Volume Profile plots two volume profiles on your chart at the same time:
• Daily Volume Profiles (multiple days back, always visible)
• Hourly Volume Profiles (last N hours, designed for ≤ 15m timeframes)
It’s built to stay clean, readable, and performance-safe, while still letting you see where volume built up across recent structure.
________________________________________
What You See On Chart
- Daily Profiles (Multi-day) Increased using Polylines
• Shows Volume Profile histograms for the last X days back (you choose).
• Each day is drawn as a horizontal histogram inside that day’s session.
• Color logic:
o Base (all volume)
o Value Area (VA)
o POC (Point of Control)
- Daily Levels (POC / VAH / VAL)
• Adds optional horizontal levels:
o POC
o VAH
o VAL
• You can choose whether to draw these:
o Today only, or
o Past days too (if enabled in your version)
• Levels can optionally extend to the right to act like HTF references.
- Hourly Profiles (Intraday context)
• Shows profiles for the last N hours (you choose).
• Meant to be used on 15m and below for clean intraday mapping.
• Optional hourly level lines are available too.
________________________________________
How It Calculates Volume
This is a bar-based approximation of a volume profile:
• Each candle’s volume is distributed across its price range based on overlap with bins.
• Flat candles (very small range) are placed into the nearest bin.
• This gives a reliable “where volume accumulated” view without needing exchange order-by-order data.
________________________________________
Key Inputs Explained
Daily Profile (Always Visible)
• Days back to show (Daily)
How many previous daily profiles you want displayed.
• Daily bins
Higher bins = more detail (but higher object usage).
• Daily Value Area %
Default 70% like traditional VP.
• Daily profile width (% of day)
Controls how wide the histogram is inside the day.
• Daily profile side
Left or Right inside each day.
• Show Daily POC/VAH/VAL lines
Enable level lines.
• Extend Daily levels to the right
Makes daily levels act like forward HTF liquidity/targets.
Hourly Profile (15m and below)
• How many hours
Number of hourly profiles to display.
• Hourly bins
• Hourly profile width (% of hour)
• Hourly profile side
• Show Hourly POC/VAH/VAL lines
________________________________________
Best Use Cases
- Intraday trading (scalping + day trading)
- Mapping premium/discount volume build-ups
- Pairing with:
• liquidity sweeps
• order blocks
• HTF levels
• session ranges
• breaker / mitigation concepts
________________________________________
Recommended Settings (Practical)
If you want more daily history, you must balance line budget.
Example setups:
“Clean Daily Focus” (more days)
• Daily bins: 60–80
• Days back: 10–20
• Hours: 0–4 (or lower)
• Budget mode: Daily First
“Intraday Heavy” (more hourly detail)
• Hourly bins: 30–50
• Hours: 8–12
• Days back: 3–7
• Budget mode: Hourly First
________________________________________
Notes / Limitations
• Hourly profiles are designed for ≤ 15m timeframes.
• This uses approximate volume distribution from candle ranges (not exchange tick VP).
• If volume data is missing on the symbol/broker, results will be less meaningful.
• Visual output depends on instrument liquidity + chart zoom.
121 Pattern ULTRA V6 [NXT2017] Harmonic Pattern + Volume ProfileHello Big Players! 🌍
Let’s get real for a second. Drawing lines on a chart is easy. Geometry is nice. But do you know what actually moves price? Volume.
If you are trading Harmonic Patterns blindly without checking where the money actually changed hands, you are gambling. That is why I created the 121 Pattern ULTRA. It combines precise geometric symmetry with the raw truth of the Volume Profile.
🔥 The Game Changer: Pattern-Specific Volume Profile
This is the feature that separates the pros from the amateurs. Whenever a valid "121 Pattern" is detected, this script doesn't just show you the entry (D-Point). It automatically calculates and draws a Volume Profile (VP) explicitly covering the range of the pattern.
Why is this huge?
Validation: It shows you exactly where the volume was traded during the pattern formation.
The POC (Point of Control): The script highlights the POC (Red Line). If price reacts at the D-Point and you see volume support/resistance from the profile, you have a high-probability setup.
No Clutter: The profile only appears on the valid pattern. No messy charts.
🦅 The "121" Geometry
This isn't your standard ABCD. The "121" is a specialized retracement pattern designed to catch the end of a correction and the start of a new impulse.
Precision Ratios: It checks for strict Fibonacci ratios (AB is 61.8% or 78.6% of XA).
Symmetry: It ensures the time/price slope of the X-B leg matches the B-D leg.
Fractal Scanning: The engine scans 9 different dimensions simultaneously (Pivot lengths from 5 up to 233). It finds the small scalps AND the big swings at the same time.
⚙️ Features under the Hood
History Filter: No more spam. The script remembers the last 30 patterns and filters out duplicates.
Live Statistics: A dashboard table shows you exactly how many Bullish vs. Bearish setups have formed on the current chart and timeframe.
Fully Customizable: Toggle specific sizes, change colors, or adjust the Volume Profile resolution (Rows/Width) to fit your style.
🚀 How to trade it?
Wait for the "121" label to appear.
Look at the Volume Profile: Is the market accepting or rejecting specific levels?
Check the POC: Are we bouncing off a high-volume node?
Execute at the D-Point.
Drop a boost 🚀 if you like the tool and let me know your results in the comments!
Disclaimer: This tool is for educational purposes only. Always manage your risk.
Scrolling through some screenshots:
The sizes can be displayed all at once, but you can also select individual sizes separately.
Volume Flow Anatomy [Kodexius]Volume Flow Anatomy is a dynamic, multi-dimensional volume map that reconstructs how buy, sell, and “stealth” activity is distributed across price rather than just across time. Instead of relying on a static, session-based volume profile, it uses an exponentially decaying memory of recent bars to build a constantly evolving “anatomy” of the auction, where each price level carries an adaptive history of order flow.
The script separates buy vs. sell pressure, adds a third “Stealth Flow” dimension for low-volume price movement (ease of movement / divergence), and automatically derives POC, Value Area, imbalances, absorption zones, and classic profile shapes (D, P, b, B). This gives the trader a compact but highly information-dense map on the right side of the chart to read control (buyers vs. sellers), structure (balanced vs. trending vs. double distribution), and key reaction levels (support/resistance born from flow, not just wicks).
🔹 Features
🔸 Dynamic Lookback with Decay
- The script computes an effective lookback N from the Decay Factor and caps it with Max Lookback.
- Higher decay keeps more history; lower decay emphasizes the most recent flow.
- The profile continuously adapts as new bars are printed.
🔸 Price-Bucketed Flow Map
Each bucket accumulates:
- Sell Flow (sell pressure)
- Buy Flow (buy pressure)
- Stealth Flow (low-volume price movement)
- Box width at each bucket is proportional to the relative intensity of that component.
🔸 Stealth Flow (Low-Volume Price Movement)
- Measures close to close movement relative to volume, emphasizing price movement that occurs on comparatively low volume.
- Helps reveal hidden participation, inefficient moves, and areas that may be vulnerable to re-tests or reversions.
🔸 POC & 70% Value Area (VA)
- Identifies the Point of Control (price bucket with the highest total volume) over the effective lookback.
- Builds a 70% Value Area by expanding from POC towards the nearest high volume neighbors until 70% of the total volume is included.
- POC is drawn as a line over the analyzed range; VA is displayed as a shaded band in the profile area.
🔸 Market Profile Shape Detection
Splits the profile vertically into three zones (bottom / middle / top) and compares their volume distribution.
Classifies structure as:
- D-Shape (Balanced)
- P-Shape (Short Covering)
- b-Shape (Long Liquidation)
- B-Shape (Double Distribution)
Displays a shape label with color coded bias for quick auction context interpretation.
🔸 Imbalance Zones & Absorption
Imbalance: detects buckets where Buy Flow or Sell Flow exceeds the opposite side by at least Imbalance Ratio.
Absorption: flags zones with high volume but low price “ease”, where price is not moving much despite significant volume.
Extends these levels into horizontal zones, marking potential support/resistance and trap areas.
Bullish Imbalance Zone :
Bearish Imbalance Zone :
Absorption Zone :
🔸 Range Context & On-Chart Legend
Draws a Range Box covering the dynamically determined lookback (N bars), with a label displaying the effective bar count.
A bottom-right legend summarizes:
- Color keys for Buy / Sell / Stealth
- POC / VA status
- Bullish vs. Bearish dominance percentage
- Profile shape classification
- Imbalance and Absorption conventions
🔹 Calculations
1. Dynamic Lookback & Price Buckets
int N = math.min(int(4 / (1 - decayFactor) - 1), maxHistory)
float priceHigh = ta.highest(high, N)
float priceLow = ta.lowest(low, N)
float bucketSize = (priceHigh - priceLow) / bucketCount
The effective lookback N is derived from the Decay Factor, using the approximation 4 / (1 - decay) to capture roughly 99% of the decayed influence, then capped with maxHistory to control performance. Over that adaptive range, the script finds the highest and lowest prices and divides the band into bucketCount equal slices (bucketSize). Each slice is a price bucket that will accumulate volume-flow information.
2. Exponentially Decayed Volume Allocation
addValue(array profile, float weight, float minPrice, float maxPrice) =>
for j = 0 to bucketCount - 1
float bucketMin = priceLow + j * bucketSize
float bucketMax = bucketMin + bucketSize
float overlapMin = math.max(minPrice, bucketMin)
float overlapMax = math.min(maxPrice, bucketMax)
float overlapRange = overlapMax - overlapMin
if overlapRange > 0
profile.set(j, profile.get(j) * decayFactor + weight * overlapRange)
This function is the core engine of the indicator. For a given price span and intensity, it checks every bucket for overlap, distributes the weight proportionally to the overlapping range, and before adding new value, decays the existing bucket content by decayFactor. This results in an exponentially weighted profile: recent activity dominates, while older levels retain a gradually fading footprint.
3. POC and 70% Value Area
array totalProfile = array.new(bucketCount, 0)
for j = 0 to bucketCount - 1
float total = sellProfile.get(j) + buyProfile.get(j)
totalProfile.set(j, total)
if total > eaMax
eaMax := total
int pocIdx = 0
float pocVal = 0.0
for j = 0 to bucketCount - 1
if totalProfile.get(j) > pocVal
pocVal := totalProfile.get(j)
pocIdx := j
float totalSum = totalProfile.sum()
float targetSum = totalSum * 0.70
int vaLow = pocIdx
int vaHigh = pocIdx
float currentSum = pocVal
while currentSum < targetSum and (vaLow > 0 or vaHigh < bucketCount - 1)
float lowVal = vaLow > 0 ? totalProfile.get(vaLow - 1) : 0.0
float highVal = vaHigh < bucketCount - 1 ? totalProfile.get(vaHigh + 1) : 0.0
First, totalProfile is built as the sum of buy and sell flow per bucket, and eaMax (the maximum total) is tracked for later normalization. The POC bucket (pocIdx) is simply the index with the highest totalProfile value.
To compute the 70% Value Area, the algorithm starts at the POC bucket and expands outward, each step adding either the upper or lower neighbor depending on which has more volume. This continues until the cumulative volume reaches 70% of totalSum. The result is a volume-driven VA, not necessarily symmetric around POC, which more accurately represents where the market has truly traded.
4. Market Profile Shape Classification
float volTopThird = 0.0
float volMidThird = 0.0
float volBotThird = 0.0
int thirdIdx = int(bucketCount / 3)
for j = 0 to bucketCount - 1
float val = totalProfile.get(j)
if j < thirdIdx
volBotThird += val
else if j < thirdIdx * 2
volMidThird += val
else
volTopThird += val
float totalVolShape = totalProfile.sum()
string shapeStr = "D-Shape (Balanced)"
if (volTopThird > totalVolShape * 0.20) and (volBotThird > totalVolShape * 0.20) and (volMidThird < totalVolShape * 0.50)
shapeStr := "B-Shape (Double Dist)"
else
if pocIdx > bucketCount * 0.5 and volTopThird > volBotThird * 1.3
shapeStr := "P-Shape (Short Covering)"
else if pocIdx < bucketCount * 0.5 and volBotThird > volTopThird * 1.3
shapeStr := "b-Shape (Long Liquidation)"
else
shapeStr := "D-Shape (Balanced)"
The profile is split into bottom, middle, and top thirds. The script compares how much volume is concentrated in each and combines that with the relative location of POC. If both extremes are heavy and the middle light, it labels a B-Shape (double distribution). If the POC is high and the top dominates the bottom, it’s a P-Shape (short covering). If the POC is low and the bottom dominates, it’s a b-Shape (long liquidation). Otherwise, it defaults to a D-Shape (balanced). This provides a quick, at-a-glance assessment of auction structure.
5. Imbalances, Absorption & Zones
bool isBuyImb = showImb and sVal > 0 and (bVal / sVal >= imbRatio)
bool isSellImb = showImb and bVal > 0 and (sVal / bVal >= imbRatio)
float volRatio = eaMax > 0 ? tVal / eaMax : 0
float stRatio = esmRange > 0 ? (stVal - esmMin) / esmRange : 1.0
bool isAbsorp = showAbsorp and volRatio > 0.6 and stRatio < 0.25
if showImbZone
if isSellImb
zoneBoxes.push(box.new(bar_index - N + 1, bucketHi, bar_index + 1, bucketLo, ...))
if isBuyImb
zoneBoxes.push(box.new(bar_index - N + 1, bucketHi, bar_index + 1, bucketLo, ...))
if isAbsorp
zoneBoxes.push(box.new(bar_index - N + 1, bucketHi, bar_index + 1, bucketLo, ...))
Imbalances are identified where one side’s volume (buy or sell) exceeds the other by at least Imbalance Ratio. These buckets are marked as buy or sell imbalance zones, indicating aggressive participation from one side.
Absorption is detected by combining a high volume ratio (volRatio) with a low normalized stealth ratio (stRatio). High volume with limited price movement suggests that opposing orders are absorbing flow at that level. Both imbalance and absorption buckets are extended into horizontal zones from the start of the lookback to the current bar, visually emphasizing key support/resistance and liquidity areas.
6. Building Buy, Sell & Stealth Profiles
sellProfile := array.new(bucketCount, 0)
buyProfile := array.new(bucketCount, 0)
stealthProfile := array.new(bucketCount, 0)
Three arrays are used to store Sell Flow, Buy Flow, and Stealth Flow. Bars are processed from oldest to newest so that decay is applied in correct chronological order. For each bar, a volume density (volume / range) is calculated and distributed across the candle range. Bull candles feed buyProfile, bear candles feed sellProfile.
Stealth Flow computes the close-to-close move between consecutive bars, scaled by 1 / (1 + volume). Big moves on low volume produce high stealth values, which are then allocated across the move’s price span into stealthProfile. This yields a three-layer profile per price level: directional volume and stealthy price movement.
RSI Profile [Kodexius]RSI Profile is an advanced technical indicator that turns the classic RSI into a distribution profile instead of a single oscillating line. Rather than only showing where the RSI is at the current bar, it displays where the RSI has spent most of its time or most of its volume over a user defined lookback period.
The script builds a histogram of RSI values between 0 and 100, splits that range into configurable bins, and then projects the result to the right side of the chart. This gives you a clear visual representation of the RSI structure, including the Point of Control (POC), the Value Area High (VAH), and the Value Area Low (VAL). The POC marks the RSI level with the highest activity, while VAH and VAL bracket the percentage based value area around it.
By combining standard RSI, a distribution profile, and value area logic, this tool lets you study RSI behavior statistically instead of only bar by bar. You can immediately see whether the current RSI reading is located inside the dominant zone, extended above it, or depressed below it, and whether the recent regime has been biased toward overbought, oversold, or neutral territory. This is particularly useful for swing traders, mean reversion systems, and anyone who wants to integrate RSI context into a more profile oriented workflow.
🔹 Features
1. RSI-Based Distribution Profile
-Builds a histogram of RSI values between 0 and 100.
-The RSI range is divided into a user-defined number of bins (e.g., 30 bins).
-Each bin represents a band of RSI values, such as 0–3.33, 3.33–6.66, ..., 96.66–100.
-For each bar in the lookback period, the script:
-Finds which bin the RSI value belongs to
Adds either:
-1.0 → if using time/frequency
-volume → if using volume-weighted RSI distribution
This creates a clear profile of where RSI has been concentrated over the chosen lookback window.
2. Time / Volume Weighting Mode
Under Profile Settings, you can choose:
-Weight by Volume = false
→ Profile is built using time spent at each RSI level (frequency).
-Weight by Volume = true
→ Profile is built using volume traded at each RSI level.
This flexibility allows you to decide whether you want:
-A pure momentum structure (time spent at each RSI)
-Or a participation-weighted structure (where higher-volume zones are emphasized)
3. Configurable Lookback & Resolution
-Profile Lookback: number of historical bars to analyze.
-Number of Bins: controls the resolution of the histogram:
Fewer bins → smoother, fewer gaps
More bins → more detail, but potentially more visual sparsity
-Profile Width (Bars): defines how wide the histogram extends into the future (visually), converted into time using average bar duration.
This provides a balance between performance, clarity, and visual density.
4. Value Area, POC, VAH, VAL
The script computes:
-POC (Point of Control)
→ The RSI bin with the highest total value (time or volume).
-Value Area (VA)
→ The range of RSI bins that contain a user-specified percentage of total activity (e.g., 70%).
-VAH & VAL
→ Upper and lower RSI boundaries of this Value Area.
These are then drawn as horizontal lines and labeled:
-POC line and label
-VAH line and label
-VAL line and label
This gives you a profile-style view similar to classical volume profile, but entirely on the RSI axis.
5. Color Coding & Visual Design
The histogram bars (boxes) are colored using a smart scheme:
-Below 30 RSI → Oversold zone, uses the Oversold Color (default: green).
-Above 70 RSI → Overbought zone, uses the Overbought Color (default: red).
-Between 30 and 70 RSI → Neutral zone, uses a gradient between:
A soft blue at lower mid levels
A soft orange at higher mid levels
Additional styling:
-POC bin is highlighted in bright yellow.
-Bins inside the Value Area → lower transparency (more solid).
-Bins outside the Value Area → higher transparency (faded).
This makes it easy to visually distinguish:
-Core RSI activity (VA)
-Extremes (oversold/overbought)
-The single dominant zone (POC)
🔹 Calculations
This section summarizes the core logic behind the script and highlights the main building blocks that power the profile.
1. Profile Structure and Bin Initialization
A custom Profile type groups together configuration, bins and drawing objects. During initialization, the script splits the 0 to 100 RSI range into evenly spaced bins, each represented by a Bin record:
method initBins(Profile p) =>
p.bins := array.new()
float step = 100.0 / p.binCount
for i = 0 to p.binCount - 1
float low = i * step
float high = (i + 1) * step
p.bins.push(Bin.new(low, high, 0.0, box(na)))
2. Filling the Profile Over the Lookback Window
On the last bar, the script clears previous drawings and walks backward through the selected lookback window. For each historical bar, it reads the RSI and volume series and feeds them into the profile:
if barstate.islast
myProfile.reset()
int start = math.max(0, bar_index - lookback)
int end = bar_index
for i = 0 to (end - start)
float r = rsi
float v = volume
if not na(r)
myProfile.add(r, v)
The add method converts each RSI value into a bin index and accumulates either a frequency count or the bar volume, depending on the chosen mode:
method add(Profile p, float rsiValue, float volumeValue) =>
int idx = int(rsiValue / (100.0 / p.binCount))
if idx >= p.binCount
idx := p.binCount - 1
if idx < 0
idx := 0
Bin targetBin = p.bins.get(idx)
float addedValue = p.useVolume ? volumeValue : 1.0
targetBin.value += addedValue
3. Finding POC and Building the Value Area
Inside the draw method, the script first scans all bins to determine the maximum value and the total sum. The bin with the highest value becomes the POC. The value area is then constructed by expanding from that center bin until the desired percentage of total activity is covered:
for in p.bins
totalVal += b.value
if b.value > maxVal
maxVal := b.value
pocIdx := i
float vaTarget = totalVal * (p.vaPercent / 100.0)
float currentVaVol = maxVal
int upIdx = pocIdx
int downIdx = pocIdx
while currentVaVol < vaTarget
float upVol = (upIdx < p.binCount - 1) ? p.bins.get(upIdx + 1).value : 0.0
float downVol = (downIdx > 0) ? p.bins.get(downIdx - 1).value : 0.0
if upVol == 0 and downVol == 0
break
if upVol >= downVol
upIdx += 1
currentVaVol += upVol
else
downIdx -= 1
currentVaVol += downVol
VPOCS ZScoreAn indicator Showing Candle POC's.
Added a Zscore Filter to filter out the High volume candle's.
I like to use at Key Support and resistance Area's to see Absorbtion and Offside positions only on High volume Candles ( The high volume candle part is Key! ). Thoose candles Generally indicate forced participants opening or closing positions, or "Breakout traders entering" positions. When i see a Hi-Volume at S/R levels and price is rejecting ( trading away from the POC ) ill take that as a trigger for a trade.
- Dynamic Support and resistance.
- Show Offside and and Trapped traders
You can tweak the Zscore nominator for Less of more Frequent hits.
Price Volume Heatmap [MHA Finverse]Price Volume Heatmap - Advanced Volume Profile Analysis
Unlock the power of institutional-level volume analysis with the Price Volume Heatmap indicator. This sophisticated tool visualizes market structure through volume distribution across price levels, helping you identify key support/resistance zones, high-probability reversal areas, and optimal entry/exit points.
🎯 What Makes This Indicator Unique?
Unlike traditional volume indicators that only show volume over time, this heatmap displays volume distribution across price levels , revealing where the most significant trading activity occurred. The gradient coloring system instantly highlights high-volume nodes (areas of strong interest) and low-volume nodes (potential breakout zones).
📊 Core Features
1. Dynamic Volume Heatmap
- Visualizes volume concentration across 250 customizable price levels
- Gradient color scheme from high volume (white) to low volume (teal/green)
- Adjustable brightness multiplier for enhanced contrast and clarity
- Real-time updates as market conditions evolve
2. Point of Control (POC)
- Automatically identifies the price level with the highest traded volume
- Acts as a magnetic price level where markets often return
- Critical for identifying fair value areas and potential reversal zones
- Customizable line style, width, and color
3. Flexible Lookback Settings
- Lookback Bars: Set any value from 1-5000 bars to control analysis depth
- Visible Range Mode: Analyze only what's currently visible on your chart
- Timeframe-Specific Settings: Different lookback periods for 1m, 5m, 15m, 30m, 1h, Daily, and Weekly charts
- Adapts to your trading style - scalping to position trading
4. Session Separation Analysis
- Tokyo Session: 00:00-09:00 UTC
- London Session: 07:00-16:00 UTC
- New York Session: 13:00-22:00 UTC
- Sydney Session: 21:00-06:00 UTC
- Daily Reset: Analyze each trading day independently
Session separation allows you to understand volume distribution specific to each major trading session, revealing institutional order flow patterns and session-specific support/resistance levels.
5. Profile Width Options
- Dynamic: Profile width adjusts based on lookback period
- Fixed Bars: Set a specific bar count for consistent profile width
- Extend Forward: Project the profile into future bars for planning trades
6. Smart Alerts
- POC crossover/crossunder alerts
- New session start notifications
- Never miss critical price action at high-volume nodes
📈 How to Use This Indicator Professionally
Understanding Market Structure:
High Volume Nodes (HVN):
- Appear as bright/white areas in the heatmap
- Represent price levels where significant trading occurred
- Act as strong support/resistance zones
- Markets often consolidate or bounce from these levels
- Trading Strategy: Look for entries when price tests HVN areas with confluence from other indicators
Low Volume Nodes (LVN):
- Appear as darker/teal areas in the heatmap
- Represent price levels with minimal trading activity
- Price tends to move quickly through these areas
- Often form "gaps" in the volume profile
- Trading Strategy: Expect rapid price movement through LVN zones; avoid placing stop losses here
Point of Control (POC):
- The single most important price level in your analysis window
- Represents the fairest price where maximum volume traded
- Price gravitates toward POC like a magnet
- Trading Strategy:
* When price is above POC: bullish bias, POC acts as support
* When price is below POC: bearish bias, POC acts as resistance
* POC breaks often lead to significant trend changes
Session-Based Analysis:
Use session separation to understand how different market participants trade:
Asian Session (Tokyo/Sydney):
- Typically lower volatility and range-bound
- Volume profiles often show tight, balanced distribution
- Use for identifying overnight ranges and gap fill zones
London Session:
- Highest volume session for forex pairs
- Often shows strong directional bias
- Look for breakouts from Asian ranges during London open
New York Session:
- Maximum participation when overlapping with London
- Institutional order flow most visible
- POC during NY session often becomes key level for following sessions
🎯 Practical Trading Applications
1. Identifying Support & Resistance:
High volume nodes from the heatmap are far more reliable than traditional swing highs/lows. When price approaches an HVN, expect reaction - either a bounce or a significant breakout if breached.
2. Trend Confirmation:
- Healthy uptrend: POC rising over time, HVN forming at higher levels
- Healthy downtrend: POC falling over time, HVN forming at lower levels
- Consolidation: POC relatively flat, volume balanced across range
3. Breakout Trading:
When price breaks through a Low Volume Node with momentum, it often continues to the next High Volume Node. Use LVN areas as measured move targets.
4. Reversal Zones:
Multiple HVN stacking on top of each other creates a "volume shelf" - an extremely strong support/resistance zone where reversals are highly probable.
5. Risk Management:
- Place stops beyond HVN areas (not within LVN zones)
- Size positions based on distance to nearest HVN
- Use POC as trailing stop level in trending markets
⚙️ Recommended Settings
For Day Trading (Scalping/Intraday):
- Lookback: 200-500 bars
- Rows: 200-250
- Enable session separation for your primary trading session
- Profile Width: Dynamic or Fixed Bars (30-50)
For Swing Trading:
- Lookback: 500-1000 bars
- Rows: 250
- Session separation: Daily Reset
- Profile Width: Dynamic
For Position Trading:
- Lookback: 1000-3000 bars
- Rows: 250
- Use timeframe-specific settings
- Profile Width: Extend Forward (20-50 bars)
💡 Pro Tips
1. Combine this indicator with price action analysis - volume confirms what price is telling you
2. Watch for POC convergence with other technical levels (fibonacci, pivot points, moving averages)
3. Volume at extremes (tops/bottoms of heatmap) often indicates exhaustion
4. Session POC from previous sessions often acts as magnet for current session
5. Increase brightness multiplier (1.5-2.5) for clearer visualization on busy charts
6. Use "Number of Sessions to Display" to analyze consistency of volume levels across multiple sessions
🎨 Customization
Fully customizable visual appearance:
- Gradient colors for volume visualization
- POC line thickness, color, and style
- Session line colors and visibility
- All settings organized in intuitive groups
⚠️ Disclaimer
This indicator is a technical analysis tool and should not be used as the sole basis for trading decisions. Always combine volume analysis with proper risk management, fundamental analysis, and other technical indicators. Past performance does not guarantee future results.
---
Support & Updates
Regular updates and improvements are made to enhance functionality. For questions, suggestions, or bug reports, please use the comments section below.
Happy Trading! 📊💹
Double Whammy Stop‑Run IndicatorThis indicator simulates the institutional "Double Whammy" order flow setup—for order flow traders—using standard Price Action and Volume analysis.
Since TradingView does not provide native access to Level 3 data (Stop Orders and Iceberg Orders), this script uses a proprietary algorithm to create a "proxy" for these events using relative volume anomalies, candle body strength, and market structure breaks.
The Concept
The "Double Whammy" is a reversal pattern that relies on the interaction between trapped retail traders and institutional absorption. It occurs in two specific phases:
The Stop Run (The Trap): Price aggressively breaks a significant recent High or Low on high volume. This represents retail stop-losses being triggered or breakout traders getting trapped.
The Absorption (The Whammy): Instead of continuing in the direction of the breakout, price is immediately absorbed by "Iceberg" orders (limit orders) and reverses with high intensity.
How It Works (The Logic)
This script identifies these two phases using the following logic:
1. Identifying the Stop-Run Proxy
The script monitors for a specific set of conditions to identify a potential trap:
Market Structure: The price must make a new High or Low based on the user-defined Lookback period (default 50 bars).
Volume Spike: The bar must have a volume significantly higher than the average (defined by the Volume Multiplier), suggesting a capitulation or stop-cascade.
Candle Strength: The bar must be a strong trend bar (large body relative to wicks) to mimic the look of a breakout.
2. Identifying the Absorption
Once a Stop-Run is detected, the script opens a "Window of Opportunity" (shaded background). For a valid signal to generate, a reversal must occur within Max Bars (default 3):
Reversal: A candle of the opposite color must appear.
Engulfing Logic: The reversal candle must close back inside the range (below the High of a bullish trap, or above the Low of a bearish trap).
Momentum: The reversal candle must also show significant volume and body strength.
Visual Guide
Background Shading (Green/Red): Indicates a Stop-Run has just occurred. This is a warning zone. Do not trade yet.
"DW" Label (Double Whammy): An immediate reversal occurred on the very next bar after the stop run.
"DDW" Label (Delayed Double Whammy): The reversal occurred 2 or 3 bars later, but still within the valid window.
Settings
Lookback Bars: The range used to determine significant Support/Resistance levels (Default: 50).
Max Bars to Absorption: How many bars the market has to reverse before the setup is considered invalid (Default: 3).
Volume Multiplier: How much larger current volume must be compared to the SMA to qualify as a "Stop Run" (Default: 1.5x).
Body/Range Ratio: Filters out Doji candles or weak moves. Higher numbers require stronger candles.
Disclaimer
This tool is intended for educational purposes and to assist in identifying high-volatility reversal zones. It uses price and volume proxies to estimate order flow events and does not track actual Level 3 limit orders. Always combine this indicator with your own risk management and market analysis.
Use Arrow Up and Arrow Down to select a turn, Enter to jump to it, and Escape to return to the chat.
MFI Volume Profile [Kodexius]The MFI Volume Profile indicator blends a classic volume profile with the Money Flow Index so you can see not only where volume traded, but also how strong the buying or selling pressure was at those prices. Instead of showing a simple horizontal histogram of volume, this tool adds a money flow dimension and turns the profile into a price volume momentum heat map.
The script scans a user controlled lookback window and builds a set of price levels between the lowest and highest price in that period. For every bar inside that window, its volume is distributed across the price levels that the bar actually touched, and that volume is combined with the bar’s MFI value. This creates a volume weighted average MFI for each price level, so every row of the profile knows both how much volume traded there and what the typical money flow condition was when that volume appeared.
On the chart, the indicator plots a stack of horizontal boxes to the right of current price. The length of each box represents the relative amount of volume at that price, while the color represents the average MFI there. Levels with stronger positive money flow will lean toward warmer shades, and levels with weaker or negative money flow will lean toward cooler or more neutral shades inside the configured MFI band. Each row is also labeled in the format Volume , so you can instantly read the exact volume and money flow value at that level instead of guessing.
This gives you a detailed map of where the market really cared about price, and whether that interest came with strong inflow or outflow. It can help you spot areas of accumulation, distribution, absorption, or exhaustion, and it does so in a compact visual that sits next to price without cluttering the candles themselves.
Features
Combined volume profile and MFI weighting
The indicator builds a volume profile over a user selected lookback and enriches each price row with a volume weighted average MFI. This lets you study both participation and money flow at the same price level.
Volume distributed across the bar price range
For every bar in the window, volume is not assigned to a single price. Instead, it is proportionally distributed across all price rows between the bar low and bar high. This creates a smoother and more realistic profile of where trading actually happened.
MFI based color gradient between 30 and 70
Each price row is colored according to its average MFI. The gradient is anchored between MFI values of 30 and 70, which covers typical oversold, neutral and overbought zones. This makes strong demand or distribution areas easier to spot visually.
Configurable structure resolution and depth
Main user inputs are the lookback length, the number of rows, the width of the profile in bars, and the label text size. You can quickly switch between coarse profiles for a big picture and higher resolution profiles for detailed structure.
Numeric labels with volume and MFI per row
Every box is labeled with the total volume at that level and the average MFI for that level, in the format Volume . This gives you exact values while still keeping the visual profile clean and compact.
Calculations
Money Flow Index calculation
currentMfi is calculated once using ta.mfi(hlc3, mfiLen) as usual,
Creation of the profileBins array
The script creates an array named profileBins that will hold one VPBin element per price row.
Each VPBin contains
volume which is the total volume accumulated at that price row
mfiProduct which is the sum of volume multiplied by MFI for that row
The loop;
for i = 0 to rowCount - 1 by 1
array.push(profileBins, VPBin.new(0.0, 0.0))
pre allocates a clean structure with zero values for all rows.
Finding highest and lowest price across the lookback
The script starts from the current bar high and low, then walks backward through the lookback window
for i = 0 to lookback - 1 by 1
highestPrice := math.max(highestPrice, high )
lowestPrice := math.min(lowestPrice, low )
After this loop, highestPrice and lowestPrice define the full price range covered by the chosen lookback.
Price range and step size for rows
The code computes
float rangePrice = highestPrice - lowestPrice
rangePrice := rangePrice == 0 ? syminfo.mintick : rangePrice
float step = rangePrice / rowCount
rangePrice is the total height of the profile in price terms. If the range is zero, the script replaces it with the minimum tick size for the symbol. Then step is the price height of each row. This step size is used to map any price into a row index.
Processing each bar in the lookback
For every bar index i inside the lookback, the script checks that currentMfi is not missing. If it is valid, it reads the bar high, low, volume and MFI
float barTop = high
float barBottom = low
float barVol = volume
float barMfi = currentMfi
Mapping bar prices to bin indices
The bar high and low are converted into row indices using the known lowestPrice and step
int indexTop = math.floor((barTop - lowestPrice) / step)
int indexBottom = math.floor((barBottom - lowestPrice) / step)
Then the indices are clamped into valid bounds so they stay between zero and rowCount - 1. This ensures that every bar contributes only inside the profile range
Splitting bar volume across all covered bins
Once the top and bottom indices are known, the script calculates how many rows the bar spans
int coveredBins = indexTop - indexBottom + 1
float volPerBin = barVol / coveredBins
float mfiPerBin = volPerBin * barMfi
Here the total bar volume is divided equally across all rows that the bar touches. For each of those rows, the same fraction of volume and volume times MFI is used.
Accumulating into each VPBin
Finally, a nested loop iterates from indexBottom to indexTop and updates the corresponding VPBin
for k = indexBottom to indexTop by 1
VPBin binData = array.get(profileBins, k)
binData.volume := binData.volume + volPerBin
binData.mfiProduct := binData.mfiProduct + mfiPerBin
Over all bars in the lookback window, each row builds up
total volume at that price range
total volume times MFI at that price range
Later, during the drawing stage, the script computes
avgMfi = bin.mfiProduct / bin.volume
for each row. This is the volume weighted average MFI used both for coloring the box and for the numeric MFI value shown in the label Volume .
MACD Momentum Structure & Volume Profile Sniper [MTF]**Description and Methodology**
This script offers a unique approach to Market Structure by moving away from traditional fractal-based highs and lows (which can be noisy). Instead, it utilizes **MACD Momentum Swings** to identify significant structural points, combined with an automated Fixed Range Volume Profile to pinpoint high-probability entry zones.
**1. Why MACD Structure? (The Core Concept)**
Traditional "ZigZag" or Fractal indicators rely solely on price action, often leading to fake-outs during low-volume consolidation.
* This script defines a "Swing High" only when the MACD Histogram crosses below zero (Momentum shifts Bearish).
* This script defines a "Swing Low" only when MACD crosses above zero (Momentum shifts Bullish).
By linking structure to momentum, we filter out weak price movements and focus on the true "heartbeat" of the trend.
**2. The "Mashup" Synergy: Structure + Volume + Logic**
This is not a random combination of indicators. Each component serves a specific step in the trading execution sequence:
* **Step 1 (Structure):** The script identifies a Change of Character (CHoCH) based on the MACD peaks described above.
* **Step 2 (Liquidity/Value):** When a CHoCH occurs, the script *automatically* draws a **Fixed Range Volume Profile (FRVP)** specifically covering the impulse leg that caused the break. This reveals the "Point of Control" (POC)—the hidden price level where the most volume occurred during the move.
* **Step 3 (The Sniper Entry):** The script creates a "Zone" around that POC. It then waits for Price to retrace into this zone.
* **Step 4 (Confirmation):** Once the zone is touched, the script monitors a lower timeframe (User selectable, default M1) for a fresh MACD crossover to trigger the final entry signal.
**Features**
* **Multi-Timeframe Dashboard:** Monitor the MACD Trend direction across 4 different timeframes simultaneously.
* **Dynamic Trendlines:** Automatically connects confirmed MACD peaks to visualize trend integrity.
* **Fibo Time Zones:** Projects potential future pivot points based on the duration of the previous swing.
* **Alert System:** Integrated alerts for Zone Touches and "Sniper" entries (Zone Touch + LTF Momentum Confirmation).
**How to Use**
1. **Identify Trend:** Look for the CHoCH labels. Green indicates a shift to Bullish, Red to Bearish.
2. **Wait for Pullback:** Do not chase the break. Wait for price to return to the Yellow POC Zone generated by the Volume Profile.
3. **Entry Trigger:** Watch for the "BUY" or "SELL" marks. These appear only when price hits the zone AND the lower-timeframe momentum aligns with the trade direction.
**Settings & Inputs**
* **Global MACD:** Adjust the sensitivity of the swing detection (Default 12, 26, 9).
* **Sniper Entry:** Select the timeframe used for the final confirmation (e.g., use M1 confirmation for an H1 chart structure).
* **VP Settings:** Customize how the Volume Profile looks on the chart.
*Disclaimer: This script is intended for educational purposes and market analysis. It does not provide financial advice.*
Bookmap Style Aggressor Bubbles
This indicator is designed to emulate the visual aesthetic of professional Order Flow software (such as Bookmap) directly within TradingView. It replaces the traditional candlestick view with a clean "Microstructure" Step Line and highlights significant volume events using dynamic "Aggressor Bubbles."
This tool is perfect for traders who practice Order Flow analysis, Scalping, or VSA (Volume Spread Analysis) and want to visualize the relative intensity of buyers and sellers without the noise of traditional wicks and bodies.
1. How it Works
Since TradingView Pine Script operates on OHLCV (Level 1) data, this indicator uses a heuristic model to approximate Order Flow dynamics:
Aggressor Bubbles (Volume Spikes):
The script calculates a Relative Volume (RVOL) metric by comparing the current bar's volume against a 50-period Simple Moving Average (SMA).
If the current volume exceeds a user-defined threshold (e.g., 2.0x the average), a bubble is plotted.
Size: The bubble size scales dynamically based on how massive the volume spike is (Small, Normal, Large, Huge).
Direction (Color): The aggressor side is approximated using the price action of the bar. If Close >= Open, it is treated as Buy Aggression (Green). If Close < Open, it is treated as Sell Aggression (Red).
Microstructure Price Line:
Standard candles can obscure the immediate path of price. This indicator includes a Step Line option that plots the closing price. This mimics the "Last Price" feed seen in DOM-based software, allowing you to see exactly where price held or broke.
2. Features
Smart Filtering: Filters out low-volume noise. You only see bubbles when "Whales" or significant liquidity changes occur.
Visual Customization: Fully adjustable colors for Buy/Sell bubbles and the price line.
Alert System: Includes a built-in alert that triggers whenever a significant Aggressor Bubble appears, allowing you to be notified of high-activity moments instantly.
Clean Aesthetic: Optimized for Dark Mode/Black backgrounds.
3. How to Use
Chart Setup (Important): For the best experience, hide your standard candles. Go to Chart Settings > Symbol and uncheck Body, Borders, and Wick.
Settings: Set your background to Black.
Interpretation:
Breakouts: Look for large bubbles pushing price through a key level. This indicates strong momentum.
Absorptions: Look for large bubbles appearing at the top/bottom of a range without price follow-through. This often suggests a reversal (Passive limit orders absorbing the aggressive market orders).
4. Technical Disclosure & Limitations
Please note that TradingView Pine Script provides access to OHLCV (History) data, not historical Tick-by-Tick or Level 2 (Depth of Market) data. Therefore, this indicator is a simulation. The "Aggressor" side is derived from bar direction, and the bubbles represent executed volume per bar, not individual tick clusters. It is intended for visual analysis and identifying high-volume nodes relative to recent history.
MTProChart XAUUSD⭐ MTProChart XAUUSD — Quick Professional Description
MTProChart XAUUSD is a professional trading indicator designed specifically for Gold (XAUUSD).
It combines trend detection, market structure analysis, and dynamic price zones to deliver clear, reliable trading signals with minimal noise.
✔ Accurate Trend Detection
Identifies the true market direction (uptrend or downtrend) using a refined trend-filtering algorithm.
✔ Dynamic Support & Resistance Zone
Displays a real-time adaptive zone (green band) that acts as:
• Dynamic support in uptrends
• Dynamic resistance in downtrends
This helps traders avoid false breakouts and stay aligned with market structure.
✔ Clear Buy & Sell Signals
The indicator highlights strategic entry and exit points using:
• Trend flips
• Retests
• Momentum confirmations
This gives traders a structured approach instead of guessing.
✔ Optimized for 1M Scalping & Intraday Trading
Perfect for fast-paced XAUUSD conditions with low lag and high accuracy.
⸻
💡 In short:
MTProChart XAUUSD simplifies gold trading by showing:
• Where the trend is
• Where price should bounce
• When to enter
• When to exit
with clean, visually clear signals suitable for both beginners and professional day traders.
DeepFlow Zones SNIPER# DeepFlow Zones SNIPER - Documentation & Cheatsheet
## 🎯 DeepFlow Zones - SNIPER Edition
**Horizontal Limit Order Zones | Institutional FVG + Single Prints**
> **Philosophy:** *Only mark the zones where institutions MUST have orders. Everything else is noise.*
---
## ⚡ QUICK CHEATSHEET
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ DEEPFLOW ZONES SNIPER - QUICK REFERENCE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 🎯 ZONE CREATION REQUIREMENTS (ALL MUST BE TRUE): │
│ ══════════════════════════════════════════════════ │
│ ✓ FVG exists → Gap between candle low and 2-bar-ago high │
│ ✓ Gap Size → At least 30% of ATR (significant gap) │
│ ✓ Impulse Candle → 1.8x average range + 65% body ratio │
│ ✓ Volume → 2.0x+ average on impulse candle │
│ ✓ Direction → Middle candle confirms gap direction │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 📊 ZONE TYPES: │
│ ══════════════ │
│ 🟢 BULLISH ZONE → Green box BELOW price (buy zone) │
│ 🔴 BEARISH ZONE → Red box ABOVE price (sell zone) │
│ ⚫ TESTED ZONE → Gray box (CE level touched) │
│ ⬛ BROKEN ZONE → Dark gray (price closed through) │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ⭐ SINGLE PRINT LINES: │
│ ══════════════════════ │
│ Requirements: │
│ • Range 1.8x+ average │
│ • Body 65%+ of range │
│ • Volume 2.0x+ average │
│ • Delta 60%+ confirms direction │
│ │
│ Usage: │
│ • Gold lines at HIGH and LOW of impulse candle │
│ • Price often returns to these levels │
│ • Use as support/resistance for entries │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 🚨 ENTRY SIGNALS: │
│ ═══════════════════ │
│ BUY🎯 appears when: │
│ • Price is inside BULLISH zone │
│ • Delta shows 60%+ buy dominance │
│ • Volume is 1.5x+ average │
│ │
│ SELL🎯 appears when: │
│ • Price is inside BEARISH zone │
│ • Delta shows 60%+ sell dominance │
│ • Volume is 1.5x+ average │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 📐 ZONE ANATOMY: │
│ ═════════════════ │
│ │
│ BULLISH FVG ZONE: BEARISH FVG ZONE: │
│ │
│ Current Low ───────────────── ───────────────── 2-bar-ago Low │
│ ┌─────────────────────────┐ ┌─────────────────────────┐ │
│ │ █████ ZONE █████████████│ │ █████ ZONE █████████████│ │
│ │- - - CE (50%) - - - - - │ │- - - CE (50%) - - - - - │ │
│ │ ████████████████████████│ │ ████████████████████████│ │
│ └─────────────────────────┘ └─────────────────────────┘ │
│ 2-bar-ago High ────────────── ───────────────── Current High │
│ │
│ Entry: At or near CE line Entry: At or near CE line │
│ Stop: Below zone bottom Stop: Above zone top │
│ Target: 1:1 or 2:1 R:R Target: 1:1 or 2:1 R:R │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ⛔ ZONE IS INVALID WHEN: │
│ ═════════════════════════ │
│ ✗ Gap size < 30% of ATR (too small) │
│ ✗ No impulse candle (weak move) │
│ ✗ Volume < 2x average (retail move) │
│ ✗ Zone age > 50 bars (stale) │
│ ✗ Price already closed through zone │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## 📋 DETAILED DOCUMENTATION
### What Makes SNIPER Zones Different?
Standard FVG indicators create zones everywhere. SNIPER zones only appear when there's **institutional footprint**:
| Filter | Standard FVG | SNIPER Zones | Why It Matters |
|--------|-------------|--------------|----------------|
| Gap Size | Any gap | **≥30% ATR** | Significant imbalance |
| Volume | Optional | **2.0x+ avg** | Institutional volume |
| Impulse | None | **1.8x range** | Real momentum |
| Body | None | **65%+ ratio** | Conviction candle |
| Max Zones | 20-50 | **10 max** | Only the best |
| Zone Life | 100 bars | **50 bars** | Fresh zones only |
---
### How Zones Are Created
```
BULLISH FVG FORMATION:
═══════════════════════
Bar 0 (2 bars ago): Bar 1 (Impulse): Bar 2 (Current):
┌─────┐ ┌─────┐ ┌─────┐
│ │ │█████│ │ │
│ │ HIGH ────── │█████│ │ │
│ │ │ │█████│ │ │
└─────┘ │ │█████│ │ │── LOW
│ └─────┘ └─────┘
│ │
└──────── GAP ────────────────┘
(FVG ZONE)
Requirements Met:
✓ Current LOW > 2-bar-ago HIGH (gap exists)
✓ Gap ≥ 30% of ATR (significant)
✓ Bar 1 range ≥ 1.8x average (impulse)
✓ Bar 1 body ≥ 65% of range (conviction)
✓ Bar 1 volume ≥ 2x average (institutional)
✓ Bar 1 was bullish (direction confirms)
RESULT: VALID SNIPER BULLISH ZONE CREATED
```
---
### Single Print Lines Explained
Single Prints mark **institutional impulse candles** where price moved so fast that no orders were filled at those levels. These levels often act as magnets for price.
```
SINGLE PRINT CANDLE:
════════════════════
HIGH ═══════════════════════════════ (Gold Line)
│
┌─────────────────┤
│█████████████████│ ← Large body (65%+)
│█████████████████│ ← Strong volume (2x+)
│█████████████████│ ← Clear delta (60%+)
│█████████████████│
└─────────────────┤
│
LOW ═══════════════════════════════ (Gold Line)
These horizontal lines extend 500 bars into the future.
Price often returns to test these levels.
```
---
### Entry Strategy
#### Zone Entry Checklist
```
□ Zone is active (green/red, not gray)
□ Price enters zone from outside
□ Wait for entry signal (BUY🎯 or SELL🎯)
□ Verify: Delta + Volume confirming
□ Enter at CE line (dotted white line)
□ Stop below/above zone
□ Target: Opposite side of zone (1:1) or 2:1
```
#### Single Print Entry
```
□ Price returns to single print level
□ Look for reaction (rejection candle)
□ Combine with GRA signal if possible
□ Enter on confirmation candle
□ Stop beyond the single print line
```
---
### Table Legend
| Field | Reading | Color Meaning |
|-------|---------|---------------|
| **Delta** | Buy/Sell % | 🟢 Buy dom, 🔴 Sell dom, ⚪ Neutral |
| **Vol** | Volume ratio | 🟢 ≥2x, ⚪ <2x |
| **Buy ⬚** | Active buy zones | Count of bullish zones |
| **Sell ⬚** | Active sell zones | Count of bearish zones |
| **Zone** | Current position | AT BUY / AT SELL / --- |
| **Impulse** | Current bar status | 🟡 Yes (impulse), ⚫ No |
---
### Zone States
| State | Visual | Meaning | Action |
|-------|--------|---------|--------|
| **Fresh** | Bright color | Never tested | Best entries |
| **Tested** | Gray | CE touched | Still valid, less reliable |
| **Broken** | Dark gray | Price closed through | Invalid, ignore |
---
### Integration with GRA v5
The magic happens when you combine both indicators:
```
HIGHEST PROBABILITY SETUP:
══════════════════════════
1. DeepFlow shows active zone (green/red box)
2. Price enters the zone
3. GRA5 fires a signal INSIDE the zone
4. Delta confirms on both indicators
5. Volume confirms on both indicators
This is your SNIPER entry. Take it.
Example:
┌─────────────────────────────────────────┐
│ Price enters BULLISH zone │
│ GRA5 shows: A🎯 LONG │
│ DFZ shows: BUY🎯 │
│ Table: Vol 2.1x, Delta 67%B │
│ │
│ ACTION: Full size LONG at CE │
│ STOP: Below zone bottom │
│ TARGET: 2:1 R:R │
└─────────────────────────────────────────┘
```
---
### Settings by Instrument
| Instrument | Vol Mult | Gap ATR | Impulse | Max Zones |
|------------|----------|---------|---------|-----------|
| **NQ/ES** | 2.0x | 30% | 1.8x | 10 |
| **YM** | 2.0x | 30% | 1.8x | 10 |
| **GC** | 2.5x | 40% | 2.0x | 8 |
| **BTC** | 2.0x | 25% | 1.5x | 10 |
---
### Common Mistakes
| Mistake | Why It's Bad | Solution |
|---------|-------------|----------|
| Trading every zone | Most zones fail | Wait for entry signal |
| Entering at zone edge | Wrong R:R | Enter at CE (middle) |
| Ignoring broken zones | Already invalidated | Gray = don't trade |
| No delta confirmation | Could be false zone | BUY🎯/SELL🎯 required |
| Too many zones | Chart noise | Max 10 zones |
---
### Alert Configuration
| Alert | Priority | Action |
|-------|----------|--------|
| 🎯 BUY/SELL ZONE ENTRY | 🔴 High | Check chart immediately |
| NEW BULL/BEAR ZONE | 🟠 Medium | Note new zone location |
| 🎯 SINGLE PRINT | 🟢 Low | Mark potential S/R |
---
### Pine Script v6 Notes
This indicator uses Pine Script v6 features:
- Array-based zone management
- `request.security_lower_tf()` for delta
- Dynamic zone state tracking
- Efficient garbage collection
**Minimum TradingView Plan:** Pro (for intrabar data)
---
## 🏆 Golden Rules
1. **Fewer zones = Better zones.** If you see more than 5 active zones, your settings are too loose.
2. **Fresh zones > Tested zones.** The first touch is always the best.
3. **CE is king.** The middle of the zone (50% level) is your entry point.
4. **Zone + GRA signal = Sniper entry.** This confluence is what we're hunting for.
5. **Gray zones don't exist.** Once broken, pretend the zone was never there.
---
*© Alexandro Disla - DeepFlow Zones SNIPER*
*Pine Script v6 | TradingView*
Absorption PROOF - Absorption PRO (Clean & Smart)Ultra-clean, high-precision absorption reversal strategy.Detects institutional buying/selling pressure using volume-weighted delta proxy and VWAP deviation zones.Smart RSI + early-session range filter automatically separates valid range-bound reversals from trend exhaustion.Green/Red circles → High-probability entries (fully tradable)
Small crosses + colored zones → Rejected signals (avoid)
Blue dotted lines → Session range ±100% deviation levels (optional)
By default: only signals and rejection zones displayed — zero clutter.Minimalist, professional, and deadly accurate on futures & forex (1m–15m).Less noise. Better trades.
Liquidity Spectrum Visualizer (with option volume)This the Liquidity Spectrum Visualizer from BigBeluga, BUT, I took the script and changed it a little bit.
I added the ability to add option volume for a contract of your choosing. You can turn this off with a toggle switch.
If you are looking at option volume, its better to look at it on a smaller time frame (i.e., 15-min).
Volume Gaps & Imbalances (Zeiierman)█ Overview
Volume Gaps & Imbalances (Zeiierman) is an advanced market-structure and order-flow visualizer that maps where the market traded, where it did not, and how buyer-vs-seller pressure accumulated across the entire price range.
The core of the indicator is a price-by-price volume profile built from Bullish and Bearish volume assignments. The script highlights:
True zero-volume voids (regions of no traded volume)
Bull/Bear imbalance rows (horizontal volume slices)
A multi-section Delta Panel, showing aggregated Buy–Sell pressure per vertical sector
A clean separation between profile structure, volume efficiency, and delta flows
Together, these components reveal market inefficiencies, displacement zones, and fair-value regions that price tends to revisit — making it an exceptional tool for structural trading, order-flow analysis, and contextual confluence.
Highlights
Identifies true volume voids (untraded price regions), more precisely than standard FVG tools
Plots Bull vs Bear volume at each price row for fine-grained imbalance reading
Includes a sector-based Delta Grid that aggregates Buy–Sell dominance
█ How It Works
⚪ Profile Construction
The indicator scans a user-defined Lookback window and divides the full high–low range into Rows. Each bar's volume is allocated into the correct price bucket:
Bullish volume when close > open
Bearish volume when close <= open
This produces three values per price level:
Bull Volume
Bear Volume
Total Volume & Imbalance Profile
Rows where no volume at all occurred are marked as volume gaps — signaling true untraded zones, often produced by impulsive imbalanced moves.
⚪ Zero-Volume Gaps (True Voids)
Unlike candle-based Fair Value Gaps (FVGs), volume gaps identify the deeper, structural inefficiency: Price moved so fast through a region that no trades occurred at those prices. These areas often attract revisits because liquidity never exchanged hands there.
⚪ Bull/Bear Volume Imbalance
Every price row is drawn using two colored horizontal segments:
Bull segment proportional to bullish volume
Bear segment proportional to bearish volume
This reveals where buyers or sellers dominated individual price levels.
⚪ Delta Panel
The full volume profile is cut into Summary Sections. For each block, the script computes: Δ = (Bull Volume − Bear Volume) ÷ Total Volume × 100%
█ How to Use
⚪ Spot True Voids & Inefficiencies
Zero-volume zones highlight where the price moved without trading. These areas often behave like:
Refill zones during retracements
Targets during displacement
Thin regions price slices through quickly
Ideal for both SMC-style trading and structural mapping.
⚪ Identify Bull/Bear Control at Each Price Level
Broad bullish segments show zones of buyer absorption, while wide bearish slices reveal seller control.
This helps you interpret:
Where buyers supported the price
Where sellers defended a level
Which price levels matter for continuation or reversal
⚪ Use Delta Sectors for Contextual Direction
The delta panel shows where market pressure is accumulating, revealing whether the profile is dominated by:
Bullish flow (positive delta)
Bearish flow (negative delta)
Neutral flow (balanced or minimal delta)
█ Settings
Lookback – Number of bars scanned to build the profile.
Rows – Vertical resolution of price bins.
Source – Price source used to assign volume into rows.
Summary Sections – Number of vertical delta sectors.
Summary Width – Horizontal size of the delta bar panel.
Gap From Profile – Distance between profile and delta grid.
Show Delta Text – Toggle Δ% labels.
-----------------
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.
Daily POC Lines - Clustered
Overview
This indicator automatically plots horizontal lines at the Point of Control (POC) for each daily candle, intelligently clustering nearby levels to reduce visual noise and highlight the most significant price zones where volume concentration occurred.
What Makes This Original
Unlike standard volume profile indicators that show static profiles for the entire chart, this script:
Calculates individual POC levels for each daily candle within a user-defined lookback period
Implements an intelligent clustering algorithm that merges POC levels within a customizable percentage threshold, preventing chart clutter from redundant lines
Dynamically highlights high-significance clusters (multiple days sharing the same POC level) with customizable visual styling
Provides granular control over line extension, label positioning, and visual appearance
How It Works
The script divides each daily candle's price range into configurable bins (default 20) and distributes the day's volume across these levels to approximate the POC. When multiple days produce POC levels within the specified clustering threshold (default 2%), they merge into a single line with a counter showing how many days share that level.
Key Features
Adjustable lookback period (1-500 candles)
Intelligent clustering with customizable threshold percentage
Separate styling controls for regular POCs vs. high-count clusters
Toggle visibility for lines and labels independently
Configurable line colors, widths, styles (solid/dashed/dotted), and extension
Date labels with cluster count indicators
Adjustable label positioning and offset
Use Cases
Traders can use clustered POC levels to:
Identify key support and resistance zones based on historical volume concentration
Recognize high-significance price levels where multiple days' POCs converge
Reduce chart clutter while maintaining visibility of important volume-based levels
Combine with other technical analysis methods for confluence
Settings
The indicator organizes inputs into four logical groups:
General Settings - Lookback period, cluster threshold, volume bins
Line Settings - Visibility, color, width, style, and extension options
Label Settings - Visibility, position, offset, and color
Cluster Highlights - Threshold and custom styling for high-count clusters
Important Notes
This script uses an approximation method for POC calculation by dividing each candle's range into bins. For maximum accuracy, use on daily timeframe charts. The clustering feature is particularly useful when analyzing longer lookback periods where many POC levels may naturally converge around similar price zones.
Technical Details
Written in Pine Script v5
Maximum 500 lines on chart
Requests daily timeframe data using security function
Uses arrays to store and manage POC data efficiently
Redraws all lines on the last bar for optimal performance
Accumulation And Distribution Zones (Zeiierman)█ Overview
Accumulation And Distribution Zones (Zeiierman) is a structural zone indicator that highlights where the market has recently been absorbing sell pressure (Accumulation) or releasing buy pressure (Distribution).
The indicator tracks a refined sequence of swing highs and lows and measures how these swings tighten, expand, or step directionally. When they form staircase-style structures such as higher lows with compressing highs for Accumulation or lower highs with compressing lows for Distribution, the script marks these areas as shifts in market control.
Once the full pattern completes, the indicator converts it into an Accumulation or Distribution zone. Each zone is based on a confirmed structural sequence rather than a single point, making it more reliable and reflective of actual market behavior.
The indicator can also display a mini-volume profile within each zone and extend POC levels forward, showing where trading activity clustered most. Combined, these features reveal areas where price has recently shown acceptance, absorption, or rejection, helping you understand whether current price action is reacting to, breaking from, or retesting these important structural regions.
█ How It Works
⚪ Swing Structure
The indicator builds its foundation by detecting swing highs and lows using a configurable Swing Detection Window. Each confirmed swing is stored with its price, time, bar index, and direction. If two consecutive swings share the same direction, only the more extreme one is kept. This produces a clean structural sequence that removes noise and keeps only meaningful turning points.
⚪ Accumulation vs Distribution Pattern Logic
Using the refined swing sequence, the script looks for staircase-style formations that signal shifts in control:
Accumulation (bottoming): higher lows combined with compressing highs.
Distribution (topping): lower highs combined with compressing lows.
Two detection modes are available:
Quick for compact 4-swing formations
Slow for broader 6-swing structures
When a full structural pattern completes, the indicator marks the zone and resets the swing buffer for the next formation.
⚪ Volume Profile Construction
The price range between the zone’s upper and lower boundary is divided into several Rows. For every bar within the zone’s swing range, the bar’s volume is added to the appropriate price row.
Volume is classified as:
Bullish volume when close > open
Bearish volume when close < open
Each row is drawn as two horizontal segments (bull and bear), colored with smooth gradients based on your bull/bear color settings. This creates a compact profile that reveals where trading activity is concentrated inside the zone and whether buyers or sellers dominate those price levels.
█ How to Use
The indicator is designed to provide context and confluence, not raw buy/sell signals.
⚪ Spot Fresh Accumulation & Distribution
Use newly printed zones as a map of where the market has recently:
Absorbed selling and formed a floor (Accumulation below price).
Absorbed buying and formed a cap (Distribution above price).
In a trending environment, fresh accumulation zones below price are often areas to watch for pullbacks, while distribution zones above price can act as sell zones or targets.
⚪ Volume Profile
Longer horizontal bars show where the market traded the most volume inside the zone.
Bull-leaning rows inside an accumulation zone often signal strong buying interest during the formation.
Bear-leaning rows inside a distribution zone highlight concentrated selling pressure.
By combining this volume distribution with the zone label and the broader trend context, you can judge whether the structure is more likely to hold, break, or retest as the price approaches it again.
⚪ POC (Point of Control) Trading
Extended POC zones (Regular or Faded) can be treated as dynamic support/resistance rails:
When price revisits a prior accumulation POC and rejects it from above, the level may act as support. When price retests a distribution POC from below and fails to break through, it can act as resistance.
⚪ Combine with Your Own Strategy
The script does not decide direction for you. You get the most value by combining it with:
Your own trend filters (moving averages, higher timeframe structure, volatility measures).
Your preferred entry models (reversal candles, momentum breaks, liquidity grabs, etc.).
Higher-timeframe mapping.
Think of this tool as a map of where the market did meaningful business. You decide how to trade around those areas.
█ Settings
Acc/Dist Ranges – Master switch for drawing all Accumulation and Distribution zones. Turn this off to temporarily hide boxes while leaving supporting logic active.
Pattern – Shows or hides the swing-based pattern outline that formed each zone. Good for structural debugging and education.
Pattern Sensitivity
Quick – more responsive, detects smaller compact structures.
Slow – stricter, focuses on wider and more established zones.
Swing Detection Window – Pivot width used to confirm swing highs and lows. Larger values filter noise and produce bigger zones; smaller values pick up more minor structures.
Volume Profile – Enables the embedded volume profile inside each zone.
Rows – Number of price slices used to aggregate volume in the zone. Higher values give more detail but increase visual density.
Switch Order – Flips the horizontal order of bull vs bear volume segments within each row.
Extend Zones – Behaviour of POC and zone extension:
None – No forward extension.
Faded Zones – Store and draw up to four past POC zones as faded horizontal levels.
Regular Zones – Extend POC boxes forward until price breaks out.
-----------------
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.
Pso VP 2.0This indicator provides an advanced volume analysis tool that visualizes trading activity across different price levels and automatically identifies key support and resistance zones.
How It Works:
The Volume Profile analyzes historical price and volume data within a specified lookback period, distributing volume across horizontal price levels. Unlike traditional volume indicators that show volume over time, this tool displays volume at price, revealing where the most significant trading activity has occurred.
The algorithm:
Divides the price range into customizable horizontal bars (bins)
Calculates and accumulates volume for each price level
Identifies high-volume nodes that often act as support or resistance levels
Uses percentile filtering to highlight the most significant trading areas
Key Features:
Automatic S/R Detection: Uses volume percentile filtering to identify the most significant price levels
Dynamic Support/Resistance Lines: Automatically draws horizontal black lines at high-volume areas that typically act as price magnets or barriers
Customizable Parameters: Full control over lookback period, number of price bars, percentile thresholds, profile width, opacity, and line projections
Clean Aesthetic: Monochrome design for professional chart presentation






















