Volume Profile + Pivot Levels [ChartPrime]⯁ OVERVIEW
Volume Profile + Pivot Levels combines a rolling volume profile with price pivots to surface the most meaningful levels in your selected lookback window. It builds a left-side profile from traded volume, highlights the session’s Point of Control (PoC) , and then filters pivot highs/lows so only those aligned with significant profile volume are promoted to chart levels. Each promoted level extends forward until price retests it—so your chart stays focused on levels that actually matter.
⯁ KEY FEATURES
Rolling Volume Profile (Period & Resolution)
Calculates a profile over the last Period bars (default 200). The profile is discretized into Volume Profile Resolution bins (default 50) between the highest high and lowest low inside the window. Each bin accumulates traded volume and is drawn as a smooth left-side polyline for compact, lightweight rendering.
HL = array.new()
// collect highs/lows over 'start' bars to define profile range
for i = 0 to start - 1
HL.push(high ), HL.push(low )
H = HL.max(), L = HL.min()
bin_size = (H - L) / bins
// accumulate per-bin volume
for i = 0 to bins - 1
for j = 0 to start - 1
if close >= (L + bin_sizei) - bin_size and close < (L + bin_size*(i+1)) + bin_size
Bins += volume
Delta-Aware Coloring
The script tracks up-minus-down volume across all period to compute a net Delta . The profile, PoC line, and PoC label adopt a teal tone when net positive, and maroon when net negative—an immediate read on buyer/seller dominance inside the window.
Point of Control (PoC) + Volume Label
Automatically marks the highest-volume bin as the PoC . A horizontal PoC line extends to the last bar, and a label shows the absolute volume at the PoC. Toggle visibility via PoC input.
Pivot Detection with Volume Filter
Identifies raw pivots using Length (default 10) on both sides of the bar. Each candidate pivot is then validated against the profile: only pivots that land within their bin and meet or exceed the Filter % threshold (percentage of PoC volume) are promoted to chart levels. This removes weak, low-participation pivots.
// pivot promotion when volume% >= pivotFilter
if abs(mid - p.value) <= bin_size and volPercent >= pivotFilter
// draw labeled pivot level
line.new(p.index - pivotLength, p.value, p.index + pivotLength, p.value, width = 2)
Forward-Extending, Self-Stopping Levels
Promoted pivot levels extend forward as dotted rays. As soon as price intersects a level (high/low straddles it), that level stops extending—so your chart doesn’t clutter with stale zones.
Concise Level Labels (Volume + %)
Each promoted pivot prints a compact label at the pivot bar with its bin’s absolute volume and percentage of PoC volume (ordering flips for highs vs. lows for quick read).
Lightweight Visuals
The volume profile is rendered as a smooth polyline rather than dozens of boxes, keeping charts responsive even at higher resolutions.
⯁ SETTINGS
Volume Profile → Period : Lookback window used to compute the profile (max 500).
Volume Profile → Resolution : Number of bins; higher = finer structure.
Volume Profile → PoC : Toggle PoC line and volume label.
Pivots → Display : Show/hide volume-validated pivot levels.
Pivots → Length : Pivot detection left/right bars.
Pivots → Filter % 0–100 : Minimum bin strength (as % of PoC) required to promote a pivot level.
⯁ USAGE
Read PoC direction/color for a quick net-flow bias within your window.
Prioritize promoted pivot levels —they’re backed by meaningful participation.
Watch for first retests of promoted levels; the line will stop extending once tested.
Adjust Period / Resolution to match your timeframe (scalps → higher resolution, shorter period; swings → lower resolution, longer period).
Tighten or loosen Filter % to control how selective the level promotion is.
⯁ WHY IT’S UNIQUE
Instead of plotting every pivot or every profile bar, this tool cross-checks pivots against the profile’s internal volume weighting . You only see levels where price structure and liquidity overlap—clean, data-driven levels that self-retire after interaction, so you can focus on what the market actually defends.
Cari skrip untuk "poc"
TPO[Fixed Range, Anchored, Bars Back]TPO Bars Back, Fixed Range and Anchored
Overview
The TPO Profile (Time Price Opportunity Profile) is a powerful market profile indicator that displays the amount of time price spent at different levels during a specified period. Unlike traditional volume profile indicators that show volume distribution, TPO Profile shows time distribution , providing insights into where price has spent the most time and identifying key support and resistance levels.
Key Advantages Over TradingView's Built-in TPO
Simplified Composite Creation : Automatically creates TPO profiles for any time range without manual split/merge operations
Instant Value Area Calculation : Immediately shows Value Area, POC, VAH, and VAL for your selected period
No Manual Assembly Required : TradingView's native TPO requires you to manually split sessions and merge them to create composites - this indicator does it automatically
Flexible Time Ranges : Create composites for any custom time period (multiple days, weeks, specific events) with a few clicks
Real-time Composite Updates : Anchor mode creates live composites that update as new data arrives
Multiple Composite Analysis : Easily compare different time periods without the tedious manual process
Key Features
Core Functionality
Time-Based Analysis : Shows time spent at each price level rather than volume
Configurable Time Blocks : Use any timeframe for TPO counting (30min, 1H, 4H, etc.)
Multiple Price Levels : Adjustable from 5 to 200 levels for granular analysis
Point of Control (POC) : Automatically identifies the price level with highest time activity
Value Area Calculation : Shows the price range containing 70% (configurable) of time activity
Automatic Composite Generation : Creates multi-session composites without manual intervention
Three Operating Modes
1. Bars Back Mode
Analyzes the last N bars from the current bar
Perfect for recent market activity analysis
Range: 10-500 bars
Use Case : Intraday analysis, recent session review
2. Fixed Range Mode
Analyzes a specific time period between start and end times
Ideal for historical analysis of specific events
Creates perfect composites for multi-day periods
Use Case : Earnings periods, news events, specific trading sessions, weekly/monthly composites
3. Anchor Mode (NEW)
Starts from a specific time and extends to the current bar
Dynamically updates as new bars form
Perfect for building live composites from any starting point
Use Case : Live session monitoring, event-based analysis from a specific point, growing composites
Visual Elements
TPO Bars
Horizontal bars showing time distribution at each price level
Longer bars = more time spent at that level
Color-coded to distinguish Value Area from outlying levels
Point of Control (POC)
Red line marking the price level with highest time activity
Most significant support/resistance level
Configurable line style (Solid/Dashed/Dotted) and width
Value Area High/Low (VAH/VAL)
Green and Orange lines marking the boundaries of the Value Area
Shows the price range containing the specified percentage of time activity
Optional display with customizable line styles
Single Print Detection
Identifies price levels touched by only one time block
Display options: Lines or Boxes
Purple color highlighting these significant levels
Often act as strong support/resistance in future trading
Customization Options
Time Block Configuration
Block Time : Choose timeframe for TPO counting (30min, 1H, 4H, etc.)
Allows analysis at different time granularities
Higher timeframes = broader perspective, Lower timeframes = finer detail
Visual Styling
Line Styles : Solid, Dashed, or Dotted for all line elements
Line Widths : 1-5 pixels for POC, VAH, and VAL lines
Colors : Fully customizable colors for all elements
Transparency : Adjustable transparency for better chart readability
Label Management
Show/Hide Labels : Toggle POC, VAH, VAL labels
Font Sizes : Tiny, Small, Normal, Large, Huge
Label Positioning : 8 different position options relative to lines
Offset Controls : Fine-tune label positioning
Line Extension
Level Offset Right : Controls how far lines extend
Smart extension logic:
Value ≤ 0: Infinite extension (extend.right)
Value ≥ 1: Extends exactly N bars ahead
Trading Applications
Support & Resistance
POC often acts as strong support/resistance
Value Area boundaries provide key levels
Single prints frequently become significant levels
Market Structure Analysis
Identify areas of price acceptance (thick TPO bars)
Spot areas of price rejection (thin TPO bars)
Understand where market participants are comfortable trading
Composite Profile Analysis
Create multi-day, weekly, or monthly composites instantly
Compare different composite periods without manual work
Analyze longer-term price acceptance levels
Build composites around specific events or announcements
Session Analysis
Monitor intraday session development in real-time
Compare different sessions (London, New York, Asia)
Track how profiles change throughout the trading day
Build live composites across multiple sessions
Event Analysis
Use Fixed Range mode for earnings, news events
Use Anchor mode to track price development from specific events
Compare pre/post event price acceptance levels
Create event-based composites automatically
Input Parameters
Mode Selection
Mode : Bars Back | Fixed Range | Anchor
Bars Back : Number of bars to analyze (10-500)
Start Time : Beginning time for Fixed Range and Anchor modes
End Time : Ending time for Fixed Range mode only
Analysis Configuration
Block Time : Timeframe for TPO blocks (e.g., "30" for 30-minute blocks)
TPO Levels : Number of price levels (5-200)
Value Area % : Percentage for Value Area calculation (50-95%)
Display Options
Show POC : Display Point of Control line
Show Value Area : Display Value Area box
Show VAH/VAL Lines : Display Value Area boundary lines
Show Single Prints : Display single print detection
Single Print Style : Lines or Boxes
Styling Controls
Colors : TPO, POC, Value Area, VAH, VAL, Single Print colors
Line Styles : POC, VAH, VAL line styles
Line Widths : POC, VAH, VAL line widths
Labels : Show/hide, font size, position, offset controls
Technical Details
Calculation Method
Divides the price range into equal levels based on TPO Levels setting
For each time block, determines which price levels it crosses
Adds +1 count to each crossed level
Identifies POC as the level with highest count
Calculates Value Area by expanding from POC until target percentage is reached
Performance Considerations
Historical data limited to prevent buffer overflow errors
Smart bounds checking for different timeframes
Optimized cleanup routines to prevent drawing object accumulation
Pine Script Version
Built on Pine Script v6
Uses modern Pine Script best practices
Efficient array handling and drawing object management
Best Practices
Timeframe Selection
Block Time = Chart Timeframe : Traditional TPO approach
Block Time > Chart Timeframe : Smoother, broader perspective
Block Time < Chart Timeframe : More granular, detailed analysis
Level Count Guidelines
Low levels (10-20) : Better for swing trading, major levels
High levels (50-100) : Better for scalping, precise entries
Very high levels (100+) : For very detailed analysis
Mode Selection
Bars Back : Daily analysis, recent activity
Fixed Range : Historical events, specific periods, manual composites
Anchor : Live monitoring, event-based analysis, growing composites
Composite Creation Workflow
Select Fixed Range or Anchor mode
Set your desired start time (and end time for Fixed Range)
Adjust TPO Levels for desired granularity
Enable VAH/VAL lines to see Value Area boundaries
The composite profile generates automatically with all key levels
This indicator eliminates the tedious manual process of creating composite TPO profiles in TradingView. Instead of splitting sessions and manually merging them, you get instant composite analysis with automatic Value Area calculation, POC identification, and single print detection. The combination of time-based analysis, multiple operating modes, and extensive customization options makes it a powerful tool for understanding market structure and price acceptance levels across any time period.
Volume Point of Control with Fib Based Profile🍀Description:
This indicator is a comprehensive volume profile analysis tool designed to identify key price levels based on trading activity within user-defined timeframes. It plots the Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL), along with dynamically calculated Fibonacci levels derived from the developing period's range. It offers extensive customization for both historical and developing levels.
🍀Core Features:
Volume Profiling (POC, VAH, VAL):
Calculates and plots the POC (price level with the highest volume), VAH, and VAL for a selected timeframe (e.g., Daily, Weekly).
The Value Area percentage is configurable. 70% is common on normal volume profiles, but this script allows you to configure multiple % levels via the fib levels. I recommend using 2 versions of this indicator on a chart, one has Value Area at 1 (100% - high and low of lookback) and the second is a specified VA area (i.e. 70%) like in the chart snapshot above. See examples at the bottom.
Historical Levels:
Plots POC, VAH, and VAL from previous completed periods.
Optionally displays only "Unbroken" levels – historical levels that price has not yet revisited, which can act as stronger magnets or resistance/support.
The user can manage the number of historical lines displayed to prevent chart clutter.
Developing Levels:
Shows the POC, VAH, and VAL as they form in real-time during the current, incomplete period. This provides insight into intraday/intra-period value migration.
Dynamic Fibonacci Levels:
Calculates and plots Fibonacci retracement/extension levels based dynamically on the range between the developing POC and the developing VAH/VAL.
Offers 8 configurable % levels above and below POC that can be toggled on/off.
Visual Customization:
Extensive options for colors, line styles, and widths for all plotted levels.
Optional gradient fill for the Value Area that visualizes current price distance from POC - option to invert the colors as well.
Labels for developing levels and Fibonacci levels for easy identification.
🍀Characteristics:
Volume-Driven: Levels are derived from actual trading volume, reflecting areas of high participation and price agreement/disagreement.
Timeframe Specific: The results are entirely dependent on the chosen profile timeframe.
Dynamic & Static Elements: Developing levels and Fibs update live, while historical levels remain fixed once their period closes.
Lagging (Historical) & Potentially Leading: Historical levels are based on the past, but are often respected by future price action. Developing levels show current dynamics.
🍀How to Use It:
Identifying Support & Resistance: Historical and developing POCs, VAHs, and VALs are often key areas where price may react. Unbroken levels are particularly noteworthy.
Market Context & Sentiment: Trading above the POC suggests bullish strength/acceptance of higher prices, while trading below suggests bearishness/acceptance of lower prices.
Entry/Exit Zones: Interactions with these levels (rejections, breakouts, tests) can provide potential entry or exit signals, especially when confirming with other analysis methods.
Dynamic Targets: The Fibonacci levels calculated from the developing POC-VA range offer potential intraday/intra-period price targets or areas of interest.
Understanding Value Migration: Observing the movement of the developing POC/VAH/VAL throughout the period reveals where value is currently being established.
🍀Potential Drawbacks:
Input Sensitivity: The choice of timeframe, Value Area percentage, and volume resolution heavily influences the generated levels. Experimentation is needed for optimal settings per instrument/market. (I've found that Range Charts can provide very accurate volume levels on TV since the time element is removed. This helps to refine the accuracy of price levels with high volume.)
Volume Data Dependency: Requires accurate volume data. May be less reliable on instruments with sparse or questionable volume reporting.
Chart Clutter: Enabling all features simultaneously can make the chart busy. Utilize the line management inputs and toggle features as needed.
Not a Standalone Strategy: This indicator provides context and key levels. It should be used alongside other technical analysis tools and price action reading for robust decision-making.
Developing Level Fluctuation: Developing POC/VA/Fib levels can shift considerably, especially early in a new period, before settling down as more volume accumulates and time passes.
🍀Recommendations/Examples:
I recommend have this indicator on your chart twice, one has the VA set at 1 (100%) and has the fib levels plotted. The second has the VA set to 0.7 (70%) to highlight the defined VA.
Here is an example with 3 on a chart. VA of 100%, VA of 80%, and VA of 20%
lib_profileLibrary "lib_profile"
a library with functions to calculate a volume profile for either a set of candles within the current chart, or a single candle from its lower timeframe security data. All you need is to feed the
method delete(this)
deletes this bucket's plot from the chart
Namespace types: Bucket
Parameters:
this (Bucket)
method delete(this)
Namespace types: Profile
Parameters:
this (Profile)
method delete(this)
Namespace types: Bucket
Parameters:
this (Bucket )
method delete(this)
Namespace types: Profile
Parameters:
this (Profile )
method update(this, top, bottom, value, fraction)
updates this bucket's data
Namespace types: Bucket
Parameters:
this (Bucket)
top (float)
bottom (float)
value (float)
fraction (float)
method update(this, tops, bottoms, values)
update this Profile's data (recalculates the whole profile and applies the result to this object) TODO optimisation to calculate this incremental to improve performance in realtime on high resolution
Namespace types: Profile
Parameters:
this (Profile)
tops (float ) : array of range top/high values (either from ltf or chart candles using history() function
bottoms (float ) : array of range bottom/low values (either from ltf or chart candles using history() function
values (float ) : array of range volume/1 values (either from ltf or chart candles using history() function (1s can be used for analysing candles in bucket/price range over time)
method tostring(this)
allows debug print of a bucket
Namespace types: Bucket
Parameters:
this (Bucket)
method draw(this, start_t, start_i, end_t, end_i, args, line_color)
allows drawing a line in a Profile, representing this bucket and it's value + it's value's fraction of the Profile total value
Namespace types: Bucket
Parameters:
this (Bucket)
start_t (int) : the time x coordinate of the line's left end (depends on the Profile box)
start_i (int) : the bar_index x coordinate of the line's left end (depends on the Profile box)
end_t (int) : the time x coordinate of the line's right end (depends on the Profile box)
end_i (int) : the bar_index x coordinate of the line's right end (depends on the Profile box)
args (LineArgs type from robbatt/lib_plot_objects/24) : the default arguments for the line style
line_color (color) : the color override for POC/VAH/VAL lines
method draw(this, forced_width)
draw all components of this Profile (Box, Background, Bucket lines, POC/VAH/VAL overlay levels and labels)
Namespace types: Profile
Parameters:
this (Profile)
forced_width (int) : allows to force width of the Profile Box, overrides the ProfileArgs.default_size and ProfileArgs.extend arguments (default: na)
method init(this)
Namespace types: ProfileArgs
Parameters:
this (ProfileArgs)
method init(this)
Namespace types: Profile
Parameters:
this (Profile)
profile(tops, bottoms, values, resolution, vah_pc, val_pc, bucket_buffer)
split a chart/parent bar into 'resolution' sections, figure out in which section the most volume/time was spent, by analysing a given set of (intra)bars' top/bottom/volume values. Then return price center of the bin with the highest volume, essentially marking the point of control / highest volume (poc) in the chart/parent bar.
Parameters:
tops (float ) : array of range top/high values (either from ltf or chart candles using history() function
bottoms (float ) : array of range bottom/low values (either from ltf or chart candles using history() function
values (float ) : array of range volume/1 values (either from ltf or chart candles using history() function (1s can be used for analysing candles in bucket/price range over time)
resolution (int) : amount of buckets/price ranges to sort the candle data into (analyse how much volume / time was spent in a certain bucket/price range) (default: 25)
vah_pc (float) : a threshold percentage (of values' total) for the top end of the value area (default: 80)
val_pc (float) : a threshold percentage (of values' total) for the bottom end of the value area (default: 20)
bucket_buffer (Bucket ) : optional buffer of empty Buckets to fill, if omitted a new one is created and returned. The buffer length must match the resolution
Returns: poc (price level), vah (price level), val (price level), poc_index (idx in buckets), vah_index (idx in buckets), val_index (idx in buckets), buckets (filled buffer or new)
create_profile(start_idx, tops, bottoms, values, resolution, vah_pc, val_pc, args)
split a chart/parent bar into 'resolution' sections, figure out in which section the most volume/time was spent, by analysing a given set of (intra)bars' top/bottom/volume values. Then return price center of the bin with the highest volume, essentially marking the point of control / highest volume (poc) in the chart/parent bar.
Parameters:
start_idx (int) : the bar_index at which the Profile should start drawing
tops (float ) : array of range top/high values (either from ltf or chart candles using history() function
bottoms (float ) : array of range bottom/low values (either from ltf or chart candles using history() function
values (float ) : array of range volume/1 values (either from ltf or chart candles using history() function (1s can be used for analysing candles in bucket/price range over time)
resolution (int) : amount of buckets/price ranges to sort the candle data into (analyse how much volume / time was spent in a certain bucket/price range) (default: 25)
vah_pc (float) : a threshold percentage (of values' total) for the top end of the value area (default: 80)
val_pc (float) : a threshold percentage (of values' total) for the bottom end of the value area (default: 20)
args (ProfileArgs)
Returns: poc (price level), vah (price level), val (price level), poc_index (idx in buckets), vah_index (idx in buckets), val_index (idx in buckets), buckets (filled buffer or new)
history(src, len, offset)
allows fetching an array of values from the history series with offset from current candle
Parameters:
src (int)
len (int)
offset (int)
history(src, len, offset)
allows fetching an array of values from the history series with offset from current candle
Parameters:
src (float)
len (int)
offset (int)
history(src, len, offset)
allows fetching an array of values from the history series with offset from current candle
Parameters:
src (bool)
len (int)
offset (int)
history(src, len, offset)
allows fetching an array of values from the history series with offset from current candle
Parameters:
src (string)
len (int)
offset (int)
Bucket
Fields:
idx (series int) : the index of this Bucket within the Profile starting with 0 for the lowest Bucket at the bottom of the Profile
value (series float) : the value of this Bucket, can be volume or time, for using time pass and array of 1s to the update function
top (series float) : the top of this Bucket's price range (for calculation)
btm (series float) : the bottom of this Bucket's price range (for calculation)
center (series float) : the center of this Bucket's price range (for plotting)
fraction (series float) : the fraction this Bucket's value is compared to the total of the Profile
plot_bucket_line (Line type from robbatt/lib_plot_objects/24) : the line that resembles this bucket and it's valeu in the Profile
ProfileArgs
Fields:
show_poc (series bool) : whether to plot a POC line across the Profile Box (default: true)
show_profile (series bool) : whether to plot a line for each Bucket in the Profile Box, indicating the value per Bucket (Price range), e.g. volume that occured in a certain time and price range (default: false)
show_va (series bool) : whether to plot a VAH/VAL line across the Profile Box (default: false)
show_va_fill (series bool) : whether to fill the 'value' area between VAH/VAL line (default: false)
show_background (series bool) : whether to fill the Profile Box with a background color (default: false)
show_labels (series bool) : whether to add labels to the right end of the POC/VAH/VAL line (default: false)
show_price_levels (series bool) : whether add price values to the labels to the right end of the POC/VAH/VAL line (default: false)
extend (series bool) : whether extend the Profile Box to the current candle (default: false)
default_size (series int) : the default min. width of the Profile Box (default: 30)
args_poc_line (LineArgs type from robbatt/lib_plot_objects/24) : arguments for the poc line plot
args_va_line (LineArgs type from robbatt/lib_plot_objects/24) : arguments for the va line plot
args_poc_label (LabelArgs type from robbatt/lib_plot_objects/24) : arguments for the poc label plot
args_va_label (LabelArgs type from robbatt/lib_plot_objects/24) : arguments for the va label plot
args_profile_line (LineArgs type from robbatt/lib_plot_objects/24) : arguments for the Bucket line plots
args_profile_bg (BoxArgs type from robbatt/lib_plot_objects/24)
va_fill_color (series color) : color for the va area fill plot
Profile
Fields:
start (series int) : left x coordinate for the Profile Box
end (series int) : right x coordinate for the Profile Box
resolution (series int) : the amount of buckets/price ranges the Profile will dissect the data into
vah_threshold_pc (series float) : the percentage of the total data value to mark the upper threshold for the main value area
val_threshold_pc (series float) : the percentage of the total data value to mark the lower threshold for the main value area
args (ProfileArgs) : the style arguments for the Profile Box
h (series float) : the highest price of the data
l (series float) : the lowest price of the data
total (series float) : the total data value (e.g. volume of all candles, or just one each to analyse candle distribution over time)
buckets (Bucket ) : the Bucket objects holding the data for each price range bucket
poc_bucket_index (series int) : the Bucket index in buckets, that holds the poc Bucket
vah_bucket_index (series int) : the Bucket index in buckets, that holds the vah Bucket
val_bucket_index (series int) : the Bucket index in buckets, that holds the val Bucket
poc (series float) : the according price level marking the Point Of Control
vah (series float) : the according price level marking the Value Area High
val (series float) : the according price level marking the Value Area Low
plot_poc (Line type from robbatt/lib_plot_objects/24)
plot_vah (Line type from robbatt/lib_plot_objects/24)
plot_val (Line type from robbatt/lib_plot_objects/24)
plot_poc_label (Label type from robbatt/lib_plot_objects/24)
plot_vah_label (Label type from robbatt/lib_plot_objects/24)
plot_val_label (Label type from robbatt/lib_plot_objects/24)
plot_va_fill (LineFill type from robbatt/lib_plot_objects/24)
plot_profile_bg (Box type from robbatt/lib_plot_objects/24)
ZigZag Volume Profile [ChartPrime]⯁ OVERVIEW
ZigZag Volume Profile combines swing structure with volume analytics by plotting a ZigZag of major price swings and overlaying a detailed volume profile around each swing. At the end of each swing, it highlights the Point of Control (POC) — the price level with the highest traded volume — and extends it forward to identify key areas of potential support or resistance.
⯁ KEY FEATURES
ZigZag Swing Detection:
Automatically detects swing highs and lows based on a user-defined length, creating clean visual segments of market structure.
These segments act as boundaries for volume profile calculations.
swingHigh = ta.highest(swingLength)
swingLow = ta.lowest(swingLength)
ZigZag Channel Visualization:
The ZigZag structure is connected with sloped lines, forming a visual “channel” of the price movement.
The ZigZag can optionally, scaled by ATR.
Volume Profile Around Each Swing:
For every completed swing (high to low or low to high), the indicator constructs a full volume profile using user-defined bin counts.
It scans volume across price levels in the swing and plots histogram-style bins using a gradient color to indicate volume magnitude.
Dynamic Bin Width and Slope Adjustment:
Bins are distributed across a vertical ATR-based range, and their width is adjusted based on the percentage of total swing volume.
The volume fill direction is adapted to the swing’s slope for visually aligned plotting.
POC Detection and Extension:
The highest volume bin in each swing is identified as the Point of Control (POC).
This level is plotted with a thicker line and extended horizontally into the future as a key reaction level.
Automatic POC Expiry on Price Interaction:
POC lines are continuously extended unless breached by price.
When price crosses the POC level, the extension is terminated — signaling that the level may have been absorbed.
Clean Volume Bin Visualization:
Bin colors range from green (low volume) to blue (higher volume), with the POC always marked in red by default for easy identification.
Volume percentages are optionally labeled at each bin level.
Flexible Swing Profile Parameters:
Users can control:
Number of volume bins
Bin width
Channel width (ATR factor)
Visibility of the swing channel or POC lines
Efficient Memory Handling:
Old POC lines and volume profiles are automatically removed from memory after a threshold to keep charts clean and performant.
⯁ USAGE
Use ZigZag swings to define market structure visually.
Analyze volume profile around each swing to understand where most trading activity occurred.
Use POC extensions as dynamic support/resistance zones for entries, stops, or take-profits.
Watch for price interaction with extended POC lines — breaks may suggest absorbed liquidity or breakout potential.
Use the ATR-based channel width to adapt profiles based on market volatility.
⯁ CONCLUSION
ZigZag Volume Profile offers a powerful fusion of structure and volume. By plotting detailed volume profiles over each price swing and extending the POC as actionable S/R levels, this tool provides deep insight into market participation zones — giving traders a tactical edge in both ranging and trending environments.
Volume Range Profile with Fair Value (Zeiierman)█ Overview
The Volume Range Profile with Fair Value (Zeiierman) is a precision-built volume-mapping tool designed to help traders visualize where institutional-level activity is occurring within the price range — and how that volume behavior shifts over time.
Unlike traditional volume profiles that rely on fixed session boundaries or static anchors, this tool dynamically calculates and displays volume zones across both the upper and lower ends of a price range, revealing point-of-control (POC) levels, directional volume flow, and a fair value drift line that updates live with each candle.
You’re not just looking at volume anymore. You’re dissecting who’s in control — and at what price.
⚪ In simple terms:
Upper Zone = The upper portion of the price range, showing concentrated volume activity — typically where selling or distribution may occur
Lower Zone = The lower portion of the price range, highlighting areas of high volume — often associated with buying or accumulation
POC Bin = The bin (price level) with the highest traded volume in the zone — considered the most accepted price by the market
Fair Value Trend = A dynamic trend line tracking the average POC price over time — visualizing the evolving fair value
Zone Labels = Display real-time breakdown of buy/sell volume within each zone and inside the POC — revealing who’s in control
█ How It Works
⚪ Volume Zones
Upper Zone: Anchored at the highest high in the lookback period
Lower Zone: Anchored at the lowest low in the lookback period
Width is user-defined via % of range
Each zone is divided into a series of volume bins
⚪ Volume Bins (Histograms)
Each zone is split into N bins that show how much volume occurred at each level:
Taller = More volume
The POC bin (Point of Control) is highlighted
Labels show % of volume in the POC relative to the whole zone
⚪ Buy vs Sell Breakdown
Each volume bin is split by:
Buy Volume = Close ≥ Open
Sell Volume = Close < Open
The script accumulates these and displays total Buy/Sell volume per zone.
⚪ Fair Value Drift Line
A POC trend is plotted over time:
Represents where volume was most active across each range
Color changes dynamically — green for rising, red for falling
Serves as a real-time fair value anchor across changing market structure
█ How to Use
⚪ Identify Key Control Zones
Use Upper/Lower Zone structures to understand where supply and demand is building.
Zones automatically adapt to recent highs/lows and re-center volume accordingly.
⚪ Follow Institutional Activity
Watch for POC clustering near price tops or bottoms.
Large volumes near extremes may indicate accumulation or distribution.
⚪ Spot Fair Value Drift
The fair value trend line (average POC price) gives insight into market equilibrium.
One strategy can be to trade a re-test of the fair value trend, trades are taken in the direction of the current trend.
█ Understanding Buy & Sell Volume Labels (Zone Totals)
These labels show the total buy and sell volume accumulated within each zone over the selected lookback period:
Buy Vol (green label) → Total volume where candles closed bullish
Sell Vol (red label) → Total volume where candles closed bearish
Together, they tell you which side dominated:
Higher Buy Vol → Bullish accumulation zone
Higher Sell Vol → Bearish distribution zone
This gives a quick visual insight into who controlled the zone, helping you spot areas of demand or supply imbalance.
█ Understanding POC Volume Labels
The POC (Point of Control) represents the price level where the most volume occurred within the zone. These labels break down that volume into:
Buy % – How much of the volume was buying (price closed up)
Sell % – How much was selling (price closed down)
Total % – How much of the entire zone’s volume happened at the POC
Use it to spot strong demand or supply zones:
High Buy % + High Total % → Strong buying interest = likely support
High Sell % + High Total % → Strong selling pressure = likely resistance
It gives a deeper look into who was in control at the most important price level.
█ Why It’s Useful
Track where fair value is truly forming
Detect aggressive volume accumulation or dumping
Visually split buyer/seller control at the most relevant price levels
Adapt volume structures to current trend direction
█ Settings Explained
Lookback Period: Number of bars to scan for highs/lows. Higher = smoother zones, Lower = reactive.
Zone Width (% of Range): Controls how much of the range is used to define each zone. Higher = broader zones.
Bins per Zone: Number of volume slices per zone. Higher = more detail, but heavier on resources.
-----------------
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.
Volume Profile [ActiveQuants]The Volume Profile indicator visualizes the distribution of trading volume across price levels over a user-defined historical period. It identifies key liquidity zones, including the Point of Control (POC) (price level with the highest volume) and the Value Area (price range containing a specified percentage of total volume). This tool is ideal for traders analyzing support/resistance levels, market sentiment , and potential price reversals .
█ CORE METHODOLOGY
Vertical Price Rows: Divides the price range of the selected lookback period into equal-height rows.
Volume Aggregation: Accumulates bullish/bearish or total volume within each price row.
POC: The row with the highest total volume.
Value Area: Expands from the POC until cumulative volume meets the user-defined threshold (e.g., 70%).
Dynamic Visualization: Rows are plotted as horizontal boxes with widths proportional to their volume.
█ KEY FEATURES
- Customizable Lookback & Resolution
Adjust the historical period ( Lookback ) and granularity ( Number of Rows ) for precise analysis.
- Configurable Profile Width & Horizontal Offset
Control the relative horizontal length of the profile rows, and set the distance from the current bar to the POC row’s anchor.
Important: Do not set the horizontal offset too high. Indicators cannot be plotted more than 500 bars into the future.
- Value Area & POC Highlighting
Set the percentage of total volume required to form the Value Area , ensuring that key volume levels are clearly identified.
Value Area rows are colored distinctly, while the POC is marked with a bold line.
- Flexible Display Options
Show bullish/bearish volume splits or total volume.
Place the profile on the right or left of the chart.
- Gradient Coloring
Rows fade in color intensity based on their relative volume strength .
- Real-Time Adjustments
Modify horizontal offset, profile width, and appearance without reloading.
█ USAGE EXAMPLES
Example 1: Basic Volume Profile with Value Area
Settings:
Lookback: 500 bars
Number of Rows: 100
Value Area: 70%
Display Type: Up/Down
Placement: Right
Image Context:
The profile appears on the right side of the chart. The POC (orange line) marks the highest volume row. Value Area rows (green/red) extend above/below the POC, containing 70% of total volume.
Example 2: Total Volume with Gradient Colors
Settings:
Lookback: 800 bars
Number of Rows: 100
Profile Width: 60
Horizontal Offset: 20
Display Type: Total
Gradient Colors: Enabled
Image Context:
Rows display total volume in a single color with gradient transparency. Darker rows indicate higher volume concentration.
Example 3: Left-Aligned Profile with Narrow Value Area
Settings:
Lookback: 600 bars
Number of Rows: 100
Profile Width: 45
Horizontal Offset: 500
Value Area: 50%
Profile Placement: Left
Image Context:
The profile shifts to the left, with a tighter Value Area (50%).
█ USER INPUTS
Calculation Settings
Lookback: Historical bars analyzed (default: 500).
Number of Rows: Vertical resolution of the profile (default: 100).
Profile Width: Horizontal length of rows (default: 50).
Horizontal Offset: Distance from the current bar to the POC (default: 50).
Value Area (%): Cumulative volume threshold for the Value Area (default: 70%).
Volume Display: Toggle between Up/Down (bullish/bearish) or Total volume.
Profile Placement: Align profile to the Right or Left of the chart.
Appearance
Rows Border: Customize border width/color.
Gradient Colors: Enable fading color effects.
Value Area Colors: Set distinct colors for bullish and bearish Value Area rows.
POC Line: Adjust color, width, and visibility.
█ CONCLUSION
The Volume Profile indicator provides a dynamic, customizable view of market liquidity. By highlighting the POC and Value Area, traders can identify high-probability reversal zones, gauge market sentiment, and align entries/exits with key volume levels.
█ IMPORTANT NOTES
⚠ Lookback Period: Shorter lookbacks prioritize recent activity but may omit critical levels.
⚠ Horizontal Offset Limitation: Avoid excessively high offsets (e.g., close to ±300). TradingView restricts plotting indicators more than 500 bars into the future, which may truncate or hide the profile.
⚠ Risk Management: While the indicator highlights areas of concentrated volume, always use it in combination with other technical analysis tools and proper risk management techniques.
█ RISK DISCLAIMER
Trading involves substantial risk. The Volume Profile highlights historical liquidity but does not predict future price movements. Always use stop-loss orders and confirm signals with additional analysis. Past performance is not indicative of future results.
📊 Happy trading! 🚀
Realtime FootprintThe purpose of this script is to gain a better understanding of the order flow by the footprint. To that end, i have added unusual features in addition to the standard features.
I use "Real Time 5D Profile by LucF" main engine to create basic footprint(profile type) and added some popular features and my favorites.
This script can only be used in realtime, because tradingview doesn't provide historical Bid/Ask date.
Bid/Ask date used this script are up/down ticks.
This script can only be used by time based chart (1m, 5m , 60m and daily etc)
This script use many labels and these are limited max 500, so you can't display many bars.
If you want to display foot print bars longer, turn off the unused sub-display function.
Default setting is footprint is 25 labels, IB count is 1, COT high and Ratio high is 1, COT low and Ratio low is 1 and Delta Box Ratio Volume is 1 , total 29.
plus UA , IB stripes , ladder fading mark use several labels.
///////// General Setting ///////////
Resets on Volume / Range bar
: If you want to use simple time based Resets on, please set Total Volume is 0.
Your timeframe is always the first condition. So if you set Total Volume is 1000, both conditions(Volume >= 1000 and your timeframe start next bar) must be met. (that is, new footprint bar doesn't start at when total volume = exactly 1000).
Ticks per row and Maximum row of Bar
: 1 is minimum size(tick). "Maximum row of Bar" decide the number of rows used in one footprint. 1 row is created from 1 label, so you need to reduce this number to display many footprints (Max label is 500).
Volume Filter and For Calculation and Display
: "Volume Filter" decide minimum size of using volume for this script.
"For Calculation and Display" is used to convert volume to an integer.
This script only use integer to make profile look better (I contained Bid number and Ask number in one row( one label) to saving labels. This require to make no difference in width by the number of digits and this script corresponds integers from 0 to 3 digits).
ex) Symbol average volume size is from 0.0001 to 0.001. You decide only use Volume >= 0.0005 by "Volume Filter".
Next, you convert volume to integer, by setting "For Calculation and Display" is 1000 (0.0005 * 1000 = 5).
If 0.00052 → 5.2 → 5, 0.00058 → 5.8 → 6 (Decimal numbers are rounded off)
This integer is used to all calculation in this script.
//////// Main Display ///////
Footprint, Total, Row Delta, Diagonal Delta and Profile
: "Footprint" display Ask and Bid per row. "Total" display Ask + Bid per row.
"Row Delta" display Ask - Bid per row. "Diagonal Delta" display Ask(row N) - Bid(row N -1) per row.
Profile display Total Volume(Ask + Bid) per row by using Block. Profile Block coloring are decided by Row Delta value(default: positive Row Delta (Ask > Bid) is greenish colors and negative Row Delta (Ask < Bid) is reddish colors.)
Volume per Profile Block, Row Imbalance Ratio and Delta Bull/Bear/Neutral Colors
: "Volume per Profile Block" decide one block contain how many total volume.
ex) When you set 20, Total volume 70 display 3 block.
The maximum number of blocks that can be used per low is 20.
So if you set 20, Total volume 400 is 20 blocks. total volume 800 is 20 blocks too.
"Row Imbalance Ratio" decide block coloring. The row imbalance is that the difference between Ask and Bid (row delta) is large.
default is x3, x2 and x1. The larger the difference, the brighter the color.
ex) Ask 30 Bid 10 is light green. Ask 20 Bid 10 is green. Ask 11 Bid 10 is dark green.
Ask 0 Bid 1 is light red. Ask 1 Bid 2 is red. ask 30 Bid 59 is dark green.
Ask 10 Bid 10 is neutral color(gray)
profile coloring is reflected same row's other elements(Ask, Bid, Total and Delta) too.
It's because one label can only use one text color.
/////// Sub Display ///////
Delta, total and Commitment of Traders
: "Delta" is total Ask - total Bid in one footprint bar. Total is total Ask + total Bid in one footprint bar.
"Commitment of traders" is variation of "Delta". COT High is reset to 0 when current highest is touched. COT Low is opposite.
Basic concept of Delta is to compare price with Delta. Ordinary, when price move up, delta is positive. Price move down is negative delta.
This is because market orders move price and market orders are counted by Delta (although this description is not exactly correct).
But, sometimes prices do not move even though many market orders are putting pressure on price , or conversely, price move strongly without many market orders.
This is key point. Big player absorb market orders by iceberg order(Subdivide large orders and pretend to be small limit orders.
Small limit orders look weak in the order book, but they are added each time you fill, so they are more powerful than they look.), so price don't move.
On the other hand, when the price is moving easily, smart players may be aiming to attract and counterattack to a better price for them.
It's more of a sport than science, and there's always no right response. Pay attention to the relationship between price, volume and delta.
ex) If COT Low is large negative value, it means many sell market orders is coming, but iceberg order is absorbing their attack at limit order.
you should not do buy entry, only this clue. but this is one of the hints.
"Delta, Box Ratio and Total texts is contained same label and its color are "Delta" coloring. Positive Delta is Delta Bull color(green),Negative Delta is Delta Bear Color
and Delta = 0 is Neutral Color(gray). When Delta direction and price direction are opposite is Delta Divergence Color(yellow).
I didn't add the cumulative volume delta because I prefer to display the CVD line on the price chart rather than the number.
Box Ratio , Box Ratio Divisor and Heavy Box Ratio Ratio
: This is not ordinary footprint features, but I like this concept so I added.
Box Ratio by Richard W. Arms is simple but useful tool. calculation is "total volume (one bar) divided by Bar range (highest - lowest)."
When Bull and bear are fighting fiercely this number become large, and then important price move happen.
I made average BR from something like 5 SMA and if current BR exceeds average BR x (Heavy Box Ratio Ratio), BR box mark will be filled.
Box Ratio Divisor is used to good looking display(BR multiplied by Box Ratio Divisor is rounded off and displayed as an integer)
Diagonal Imbalance Count , D IB Mark and D IB Stripes
: Diagonal Imbalance is defined by "Diagonal Imbalance Ratio".
ex) You set 2. When Ask(row N) 30 Bid(row N -1)10, it's 30 > 10*2, so positive Diagonal Imbalance.
When Ask(row N) 4 Bid(row N -1)9, it's 4*2 < 9, so negative Diagonal Imbalance.
This calculation does not use equals to avoid Ask(row N) 0 Bid(row N -1)0 became Diagonal Imbalance.
Ask(row N) 0 Bid(row N -1)0, it's 0 = 0*2, not Diagonal Imbalance. Ask(row N) 10 Bid(row N -1)5, it's 10 = 5*2, not Diagonal Imbalance.
"D IB Mark" emphasize Ask or Bid number which is dominant side(Winner of Diagonal Imbalance calculation), by under line.
"Diagonal Imbalance Count" compare Ask side D IB Mark to Bid side D IB Mark in one footprint.
Coloring depend on which is more aggressive side (it has many IB Mark) and When Aggressive direction and price direction are opposite is Delta Divergence Color(yellow).
"D IB Stripes" is a function that further emphasizes with an arrow Mark, when a DIB mark is added on the same side for three consecutive row. Three consecutive arrow is added at third row.
Unfinished Auction, Ratio Bounds and Ladder fading Mark
: "Unfinished Auction" emphasize highest or lowest row which has both Ask and Bid, by Delta Divergence Color(yellow) XXXXXX mark.
Unfinished Auction sometimes has magnet effect, price may touch and breakout at UA side in the future.
This concept is famous as profit taking target than entry decision.
But, I'm interested in the case that Big player make fake breakout at UA side and trapped retail traders, and then do reversal with retail traders stop-loss hunt.
Anyway, it's not stand alone signal.
"Ratio Bounds" gauge decrease of pressure at extreme price. Ratio Bounds High is number which second highest ask is divided by highest ask.
Ratio Bounds Low is number which second lowest bid is divided by lowest bid. The larger the number, the less momentum the price has.
ex)first footprint bar has Ratio Bounds Low 2, second footprint bar has RBL 4, third footprint bar has RBL 20.
This indicates that the bear's power is gradually diminishing.
"Ladder fading mark" emphasizes the decrease of the value in 3 consecutive row at extreme price. I added two type Marks.
Ask/Bid type(triangle Mark) is Ask/Bid values are decreasing of three consecutive row at extreme price.
Row Imbalance type(Diamond Mark) are row Imbalance values are decreasing of three consecutive row at extreme price.
ex)Third lowest Bid 40, second lowest Bid 10 and lowest Bid 5 have triangle up Mark. That is bear's power is gradually diminishing.
(This Mark only check Bid value at lowest price and Ask value at highest price).
Third highest row delta + 60, second highest row delta + 5, highest delta - 20 have diamond Mark. That is Bull's power is gradually diminishing.
Sub display use Delta colors at bottom of Sub display section.
////// Candle & POC /////////
candle and POC
: Ordinary, "POC" Point of Control is row of largest total volume, but this script'POC is volume weighted average.
This is because the regular POC was visually displayed by the profile ,and I was influenced LucF's ideas.
POC coloring is decided in relation to the previous POC. When current POC is higher than previous POC, color is UP Bar Color(green).
In the opposite case, Down Bar color is used.
POC Divergence Color is used when Current POC is up but current bar close is lower than open (Down price Bar),or in the opposite case.
POC coloring has option also highlight background by Delta Divergence Color(yellow). but bg color is displayed at your time frame current price bar not current footprint bar.
The basic explanation is over.
I add some image to promote understanding basic ideas.
DeltaFlow Volume Profile [BigBeluga]🔵 OVERVIEW
The DeltaFlow Volume Profile builds a compact volume profile next to price and enriches every bin with flow context : bullish vs. bearish participation (%), a per-bin Delta % , an optional Delta Heat Map , and a PoC band with the bin’s absolute volume. This lets you see not just where volume clustered, but who (buyers or sellers) dominated inside each price slice.
🔵 CONCEPTS
Binned Volume Profile : Price range over a user-defined LookBack is split into Bins ; each bin aggregates traded volume.
Bull/Bear Split : Within every bin, volume is separated by candle direction into Bull Volume and Bear Volume , then normalized to % of the bin’s displayed size.
Delta % : The difference between Bull % and Bear % for the bin. Positive = buyer dominance; negative = seller dominance.
Delta Heat Map : Bin background shading that scales with both total volume strength and delta bias.
PoC (Point of Control) : The most significant bin gets a PoC band and a label with its absolute volume.
🔵 FEATURES
Profile with Flow : A clean horizontal volume bar per bin plus stacked Bull % and Bear % .
Per-Bin Delta Label : A readable “Δ xx%” tag at the start of each bin shows dominance at a glance.
Delta Heat Map : Optional gradient that intensifies with higher volume and stronger delta.
PoC Highlight : Optional PoC band colored separately, labeled with absolute volume (e.g., “1.23M”).
Configurable Inputs : LookBack, number of Bins (10–100), toggles for Delta, Heat Map, Volume Bars, and PoC color.
Readable Colors : Separate inputs for bullish (volume +) and bearish (volume –) hues.
🔵 HOW TO USE
Set the window : Choose LookBack and Bins to balance detail vs. performance (more bins = finer resolution).
Enable “Volume Bars” to display the bull/bear split as two stacked percent bars inside each bin.
High Bull % near support → constructive demand.
High Bear % near resistance → active supply.
Use Δ labels (toggle “Delta”) to quickly spot bins with clear buyer/seller control; combine with price position for confluence.
Turn on Delta Heat Map to prioritize areas with both large volume and strong imbalance.
Watch the PoC : The PoC band marks the most traded (and often magnet) level; its label shows absolute size for context.
Trade ideas :
Breakout continuation when Δ stays positive across consecutive upper bins.
Reversion risk when price enters a large bearish-Δ cluster below.
Manage risk around the PoC; reactions there can be sharp.
🔵 CONCLUSION
DeltaFlow Volume Profile upgrades a classic profile with flow intelligence. The bull/bear split, explicit Δ %, heat-weighted backdrop, and PoC volume label make dominant participation and key price shelves obvious. Use it to filter levels, time entries with imbalance, and validate breakouts or fades with objective volume-flow evidence.
IDKFAIDKFA - Advanced Order Blocks & Volume Profile with Market Structure Analysis
Why IDKFA?
Named after the legendary DOOM cheat code that gives players "all weapons and full ammo," IDKFA provides traders with a comprehensive arsenal of market analysis tools. Just as the cheat code arms players with everything needed for combat, this indicator equips traders with essential market structure tools: Order Blocks, Volume Profile, LVN/HVN areas, Fibonacci retracements, and intelligent buy/sell signals - all in one unified system.
Core Features
Order Blocks Detection
Automatically identifies institutional order blocks using pivot high/low analysis
Extends blocks dynamically until price interaction occurs
Bullish blocks (demand zones) and bearish blocks (supply zones)
Customizable opacity and extend functionality
Advanced Volume Profile
Real-time volume profile calculation for multiple session types
Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL)
Mode 1: Side-by-side bull/bear volume display
Mode 2: Overlapped volume display with percentage analysis
Shows buying vs selling pressure at each price level
LVN/HVN Area Detection
Low Volume Nodes (LVN): Areas below VAL where price moves quickly
High Volume Nodes (HVN): Areas above VAH with strong resistance
NPOC (Naked Point of Control): Single print areas within Value Area
Volume-based gradient coloring shows relative activity levels
Smart Fibonacci Retracements
Auto-detects trend direction for proper fibonacci orientation
Dynamic color coding: Red levels in uptrends, Gold in downtrends
Special 88.6% level turns lime green in downtrends
Key levels: 23.6%, 38.2%, 50%, 61.8%, 65%, 78.6%, 88.6%
Intelligent Signal System
Works best on higher timeframes
Identifies high-probability reversal setups at key levels
Buy signals: Large bearish rejection followed by bullish reclaim
Sell signals: Large bullish rejection followed by bearish breakdown
Signals only trigger near significant support/resistance areas
Signal Analysis & Usage Guidelines
Buy Signal Mechanics
The buy signal triggers when:
Previous candle shows significant bearish movement (minimum ATR multiplier)
Current candle reclaims a configurable percentage of the previous candle's range
Price is near a key support level (order blocks, fibonacci, volume levels)
Sell Signal Mechanics
The sell signal triggers when:
Previous candle shows significant bullish movement (minimum ATR multiplier)
Current candle rejects below a configurable percentage of the previous candle's range
Price is near a key resistance level (order blocks, fibonacci, volume levels)
When to TAKE Signals
High Probability Buy Signals:
Signal appears AT or BELOW the VAL (Value Area Low)
Signal occurs at bullish order block confluence
Price is in LVN area below VAL (momentum acceleration zone)
Signal aligns with fibonacci 61.8% or 78.6% support
Multiple session POC levels provide support confluence
Previous session's VAL acting as current support
High Probability Sell Signals:
Signal appears AT or ABOVE the VAH (Value Area High)
Signal occurs at bearish order block confluence
Price is in HVN area above VAH (heavy resistance zone)
Signal aligns with fibonacci 61.8% or 78.6% resistance
Multiple session POC levels provide resistance confluence
Previous session's VAH acting as current resistance
When to AVOID Signals
Avoid Buy Signals When:
Signal appears ABOVE the VAH (buying into resistance)
Price is in HVN red zones (high volume resistance areas)
No clear support structure below current price
Volume profile shows heavy selling pressure (high bear percentages)
Signal occurs during low-volume periods between major sessions
Multiple bearish order blocks exist below current price
Avoid Sell Signals When:
Signal appears BELOW the VAL (selling into support)
Price is in LVN green zones (momentum could continue)
No clear resistance structure above current price
Volume profile shows heavy buying pressure (high bull percentages)
Signal occurs during Asian session ranges without clear direction
Multiple bullish order blocks exist above current price
Volume Profile Context for Signals
Understanding Bull/Bear Percentages:
70%+ Bull dominance at a level = Strong support expected
70%+ Bear dominance at a level = Strong resistance expected
50/50 Split = Neutral zone, less predictable
Use percentages to gauge conviction behind moves
POC (Point of Control) Interactions:
Signals above POC in uptrend = Higher probability
Signals below POC in downtrend = Higher probability
Signals against POC bias require extra confirmation
POC often acts as magnetic level for price return
Trading Strategies
Strategy 1: VAL/VAH Bounce Strategy
Wait for price to approach VAL (support) or VAH (resistance)
Look for signal confirmation at these critical levels
Enter with tight stops beyond the Value Area
Target opposite boundary or next session's levels
Strategy 2: Order Block + Volume Confluence
Identify order block alignment with VAL/VAH
Wait for signal within the confluence zone
Enter on signal with stop beyond order block
Use LVN areas as acceleration zones for targets
Strategy 3: LVN/HVN Strategy
LVN (Green) Areas: "Go Zones" - expect quick price movement through low volume
HVN (Red) Areas: "Stop Zones" - expect resistance and potential reversals
NPOC Areas: "Fill Zones" - price often returns to fill single print gaps
Strategy 4: Multi-Session Analysis
Use Daily/Weekly for major structure context
Use 4H for intermediate levels
Use 1H for precise entry timing
Ensure all timeframes align before taking signals
Strategy 5: Fibonacci + Volume Profile
Buy signals at 61.8% or 78.6% fibonacci near VAL
Sell signals at 61.8% or 78.6% fibonacci near VAH
Use 88.6% level as final support/resistance before major moves
50% level often aligns with POC for confluence
Signal Quality Assessment
Grade A Signals (Highest Probability):
Signal at VAL/VAH with order block confluence
Fibonacci level alignment (61.8%, 78.6%)
Volume profile shows 70%+ dominance in signal direction
Multiple timeframe structure alignment
Signal occurs during high-volume sessions (London/NY)
Grade B Signals (Moderate Probability):
Signal near POC with some confluence
Fibonacci 50% or 38.2% alignment
Mixed volume profile readings (50-70% dominance)
Some timeframe alignment present
Signal during overlap sessions
Grade C Signals (Lower Probability):
Signal with minimal confluence
Weak fibonacci alignment or none
Volume profile neutral or against signal
Conflicting timeframe signals
Signal during low-volume periods
Risk Management Guidelines
Position Sizing Based on Signal Quality:
Grade A: Standard position size
Grade B: Reduced position size (50-75%)
Grade C: Minimal position size (25%) or skip entirely
Stop Loss Placement:
Beyond order block boundaries
Outside Value Area (VAL/VAH)
Below/above fibonacci confluence levels
Account for session volatility ranges
Profit Targets:
First target: Opposite VAL/VAH boundary
Second target: Next session's key levels
Final target: Major order blocks or fibonacci extensions
Credits & Attribution
Original components derived from:
Market Sessions & Volume Profile by © Leviathan (Mozilla Public License 2.0)
Volume Profile elements inspired by @LonesomeTheBlue's volume profile script
Pivot Order Blocks by TradingWolf / © MensaTrader (Mozilla Public License 2.0)
Auto Fibonacci Retracement code (public domain)
Significant enhancements and modifications include:
Advanced LVN/HVN detection and visualization
Bull/Bear percentage analysis for Mode 2/3
Comprehensive alert system with market context
Integrated buy/sell signals at key levels
Performance optimizations and extended session support
Enhanced Mode 2/3 with percentage pressure analysis
Important Disclaimers
This indicator is a technical analysis tool designed for educational purposes. It does not provide financial advice, investment recommendations, or trading signals that guarantee profits. All trading involves substantial risk of loss, and past performance does not guarantee future results. Users should conduct their own research, understand the risks involved, and consider consulting with qualified financial advisors before making trading decisions. The signals and analysis provided are based on historical price patterns and volume data, which may not predict future market movements accurately.
Best Practices
Never trade signals blindly - always consider volume profile context
Wait for confluence between multiple tools before entering
Respect the Value Area - avoid buying above VAH or selling below VAL
Use session context - Asian ranges vs London/NY breakouts
Practice proper risk management - position size based on signal quality
Understand the bigger picture - use multiple timeframes for context
Remember: Like the IDKFA cheat code, having all the tools doesn't guarantee success. The key is learning to use them together effectively and understanding when NOT to take a signal is often more important than knowing when to take one.
Candle Volume Profile Marker# 📊 Candle Volume Profile Marker (CVPM)
**Transform your chart analysis with precision volume profile levels on every candle!**
The Candle Volume Profile Marker displays key volume profile levels (POC, VAH, VAL) for individual candles, giving you granular insights into price acceptance and rejection zones at the micro level.
## 🎯 **Key Features**
### **Core Levels**
- **POC (Point of Control)** - The price level with highest volume concentration
- **VAH (Value Area High)** - Upper boundary of the value area
- **VAL (Value Area Low)** - Lower boundary of the value area
- **Customizable Value Area** - Adjust percentage from 50% to 90%
### **Flexible Display Options**
- **Current Candle Only** or **Historical Lookback** (1-50 candles)
- **Multiple Visual Styles** - Lines, dots, crosses, triangles, squares, diamonds
- **Smart Line Extensions** - Right only, both sides, or left only
- **4 Line Length Modes** - Normal, Short, Ultra Short, Micro (for ultra-clean charts)
- **Full Color Customization** - Colors, opacity, line width
- **Adjustable Marker Sizes** - Tiny to Large
### **Advanced Calculation Methods**
Choose your POC calculation:
- **Weighted** - Smart estimation based on volume distribution (default)
- **Close** - Uses closing price
- **Middle** - High-Low midpoint
- **VWAP** - Volume weighted average price
### **Professional Tools**
- **Real-time Info Table** - Current levels display
- **Smart Alerts** - POC crosses and Value Area breakouts
- **Highlight Current Candle** - Extended dotted lines for current levels
- **Developing Levels** - Real-time updates for active candle
## 🚀 **Why Use CVPM?**
### **Precision Trading**
- Identify exact support/resistance on each candle
- Spot volume acceptance/rejection zones
- Plan entries and exits with micro-level precision
### **Clean & Customizable**
- Lines extend only right (eliminates confusion)
- Ultra-short line options for minimal chart clutter
- Professional appearance with full customization
### **Multiple Timeframes**
- Works on any timeframe from 1-minute to monthly
- Historical analysis with adjustable lookback
- Real-time developing levels
## 📈 **Perfect For**
- **Day Traders** - Micro-level entry/exit points
- **Swing Traders** - Key levels for position management
- **Volume Analysis** - Understanding price acceptance zones
- **Support/Resistance Trading** - Precise level identification
- **Breakout Trading** - Value area breakout alerts
## ⚙️ **Easy Setup**
1. Add indicator to your chart
2. Choose your preferred visual style (lines/dots)
3. Select line extension (right-only recommended)
4. Adjust line length (try "Ultra Short" for clean charts)
5. Customize colors and enable alerts
## 🎨 **Customization Groups**
- **Display Options** - What to show and how many candles
- **Calculation** - POC method and value area percentage
- **POC Visual** - Style, color, width, length for Point of Control
- **Value Area Visual** - Style, color, width, length for VAH/VAL
- **Line Settings** - Extension direction and length modes
- **Size** - Marker sizes and opacity
## 🔔 **Built-in Alerts**
- Price crosses above/below POC
- Value Area breakouts (up/down)
- Fully customizable alert messages
## 💡 **Pro Tips**
- Use "Right Only" extension to avoid confusion about which candle owns the levels
- Try "Ultra Short" or "Micro" line modes for cleaner charts
- Enable "Highlight Current Candle" for extended reference lines
- Combine with volume indicators for enhanced analysis
- Use different colors for easy POC/VAH/VAL identification
---
**Transform your volume analysis today with the most flexible and customizable candle-level volume profile indicator available!**
*Perfect for traders who demand precision and clean, professional charts.*
Volume Cluster Support & ResistanceVolume Cluster Support & Resistance
This indicator identifies potential Support and Resistance (S/R) levels on the chart using Volume-Based Point of Control (POC) Clustering. It offers extensive customization for calculation parameters, display styles, and visualization options, including S/R zones, color gradients, and historical reaction markers.
How It Works
Volume Based S/R:
Scans the specified Clustering Lookback period for "High Volume Bars", defined as bars where volume exceeds the average volume (over Volume Lookback Period) multiplied by the High Volume Threshold Multiplier.
Calculates the Point of Control (POC) for each high-volume bar using hl2.
Clusters these high-volume bar POCs: POCs within a proximity defined by Cluster Proximity (ATR) (Average True Range multiplier) are grouped together.
Filters these clusters, requiring a Min Bars in Cluster to form a valid S/R zone.
(Image showing the indicator being used on the Bitcoin 5min chart)
The center price of valid clusters determines the S/R level. Clusters above the current price become potential Resistance, and those below become potential Support.
Calculates the offset based on the most recent bar included in the cluster.
Level Selection & Display:
The indicator identifies multiple potential S/R levels.
It then selects and displays the top Number of S/R Levels to Display support levels below the current price and resistance levels above the current price.
(Image showing the indicator on the GBP/USD 5min chart)
ATR Usage:
The Average True Range (ta.atr(14)) is used in two key areas:
Determining the proximity threshold for grouping POCs in the 'Volume Based' clustering (clusterProximityAtr).
Calculating the width of the S/R zones when 'Use Zone Visualization' is enabled (zoneAtrMultiplier).
Key Features & Components
Dual Calculation Methods: Choose between Pivot-based S/R or Volume-based POC clustering.
Volume Confirmation: Pivots require volume confirmation; Volume method directly analyzes high-volume bars.
POC Clustering: Groups high-volume areas to identify significant price zones.
Configurable Lookbacks: Adjust periods for volume averaging, pivot detection, and clustering analysis.
Dynamic S/R Display: Shows a configurable number of the most relevant S/R levels relative to the current price.
Optional Zone Visualization: Display levels as filled zones with configurable width (ATR-based), fill transparency, and border transparency. Includes a dashed center line.
Optional Historical Reactions: Mark past price interactions (lows bouncing off support zones, highs rejecting from resistance zones) directly on the chart (Warning: Can significantly impact performance).
Customizable Styling: Control line style (Solid, Dashed, Dotted), width, color (separate for Support & Resistance), and horizontal extension (None, Left, Right, Both).
Price Labels: Toggle visibility of price labels next to each S/R level/zone.
Visual Elements Explained
S/R Lines/Zones: Plotted lines or filled zones representing calculated support and resistance levels. Color-coded for Support (default green) and Resistance (default magenta).
Line/Zone Borders: Appearance controlled by Style settings (Style, Width, Extension). Can have a gradient color effect based on age if enabled.
Zone Fills: Semi-transparent fills for zones (if enabled), with configurable transparency. Fill color matches the border color (including gradient effect if enabled).
Zone Center Line: A thin, dashed line indicating the exact calculated S/R price within a zone.
Price Labels: Text labels showing the exact price of the S/R level.
Historical Reactions: Small dot markers appearing on historical bars where price potentially reacted to a displayed zone (only if Show Historical Reactions is enabled).
Configuration Options
Users can adjust the following parameters in the indicator settings:
Calculation Method: Select "Pivot Based" or "Volume Based".
Volume Zone Settings (Volume Based): Threshold multiplier, clustering lookback, cluster proximity (ATR), minimum bars per cluster.
Display Options: Toggle S/R visibility, price tags, set the number of levels to show.
Volume Settings: Volume lookback period, volume multiplier (for Pivot confirmation).
Style Settings: Line style, width, extension, support/resistance text and line colors, enable gradient coloring, set gradient start/end colors.
Zone Visualization: Enable/disable zones, set zone width (ATR multiplier), fill and border transparency, enable/disable historical reaction markers (performance warning).
Interpretation Notes
This indicator identifies potential areas of support and resistance based on historical price action and volume analysis. These levels are not guaranteed reversal points.
The 'Volume Based' method focuses on areas where significant trading activity occurred, while the 'Pivot Based' method focuses on price turning points confirmed by volume.
Use the displayed levels in conjunction with other technical analysis tools, price action patterns, and risk management strategies.
Be mindful of the performance impact when enabling Show Historical Reactions, especially on longer timeframes or with large lookback periods. The default setting is false for optimal performance.
The max_bars_back setting is optimized for performance; increasing it significantly may slow down chart loading.
Risk Disclaimer
Trading involves significant risk. This indicator is provided for analytical and educational purposes only and does not constitute financial advice or a trading recommendation. Past performance is not indicative of future results. Always use sound risk management practices and never trade with capital you cannot afford to lose.
Price & Volume Profile (Expo)█ Overview
The Price & Volume Profile provides a holistic perspective on market dynamics by simultaneously tracking price action and trading volume across a range of price levels. So it is not only a volume-based indicator but also a price-based one. In addition to illustrating volume distribution, it quantifies how frequently the price has fallen within a particular range, thus offering a holistic perspective on market dynamics.
This unique and comprehensive approach to market analysis by considering both price action and trading volume, two crucial dimensions of market activity. Its distinctive methodology offers several advantages:
Holistic Market View: By simultaneously tracking the frequency of specific price ranges (Price Profile) and the volume traded at those ranges (Volume Profile), this indicator provides a more complete picture of market behavior. It shows not only where the market is trading but also how much it's trading, reflecting both price acceptance levels and market participation intensity.
Point of Control (POC): The POC, as highlighted by this indicator, serves as a significant reference point for traders. It identifies the price level with the highest trading activity, thus indicating a strong consensus among market participants about the asset's fair value. Observing how price interacts with the POC can offer valuable insights into market sentiment and potential trend reversals.
Support and Resistance Levels: Price levels with high trading activity often act as support or resistance in future price movements. The indicator visually represents these levels, enabling traders to anticipate potential price reactions.
Price Profile
Price and Volume Profile
█ Calculations
The algorithm analyzes both trade frequency and volume across different price levels. It identifies these levels within the visible chart range, then examines each bar to determine if the selected price falls within these levels. If so, it increases a counter and adds the trading volume. This process repeats across the visible range and is visualized as a horizontal histogram, each bar representing a price level and the bar length reflecting trade frequency and volume. Additionally, it calculates the Point of Control (POC), signifying the price level with the highest activity.
In summary: The histogram presents a dual perspective - not only the traded volume at each price level but also the frequency of the price hitting each range. The longer the bar, the more times the price has frequented that specific range, revealing key insights into price behavior and acceptance levels. These frequently visited areas often emerge as strong support or resistance zones, helping traders navigate market movements.
Please note that the indicator adjusts to the visible price range, making it adaptable to changing market conditions. This dynamic analysis can provide more relevant and timely information than static indicators.
█ How to use
This indicator is beneficial for traders as it offers insights into the distribution of trading activity across different price levels. It helps identify key areas of support and resistance and gives a visual representation of market sentiment and liquidity.
The point of control (POC) , which is the price level with the highest traded volume or frequency count, becomes even more crucial in this context. It marks the price at which the most trading activity occurred, signaling a strong consensus among market participants about the asset's fair value. If the market price deviates significantly from the POC, it could suggest an overbought or oversold condition, potentially leading to a price reversion.
Fair Price Areas/gaps are specific price levels or zones where an asset has spent limited time in the past. These areas are considered interesting or significant because they may have an impact on future price action.
Similar to the concept of fair value gaps, which refers to discrepancies between an asset's market price and its estimated intrinsic value, Fair Price Areas/gaps focus on price levels that have been relatively underutilized in terms of trading activity. When an asset's price reaches a Fair Price Area/gap, traders and investors pay attention because they expect the price to react in some way. The rationale behind this concept is that price tends to gravitate towards areas where it has spent less time in the past, as the market perceives them as significant levels.
█ Settings
The indicator is customizable, allowing users to define the number of price levels (rows), the offset, the data source, and whether to display volume or frequency count. It also adjusts dynamically to the visible price range on the chart, ensuring that the analysis remains relevant and timely with changing market conditions.
Source: The price to use for the calculation. Typically, this is the closing price. By considering the user-selected Source (typically the closing price), the indicator determines the frequency with which the price lands within each designated price level (row) over the selected period. In essence, the indicator provides a count of bars where the Source price falls within each range, essentially creating a "Price Profile."
Row Size: The number of price levels (rows) to divide the visible price range into.
Display: Choose whether to display the number of bars ("Counter") or the total volume ("Volume") for each price level.
Offset: The distance of the histogram from the price chart.
Point of Control (POC): If enabled, the indicator will highlight the price level with the most activity.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. 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.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
Chart Champions - Part 3 - SessionsThank you for sparing you time to read my indicator.
This indicator has been created as a suite of 3. This was to ensure that those with only the Free Trading View account could benefit (with their restriction to 3 indicators). Please ensure you install each indicator and read each indicator write up to fully understand what has tried to achieved.
Chart Champions – Part 1 –Lvls nPOC VWAPS
This indicator is broken down into:
• Levels
• VWAPS
• Naked Point of Control
Levels
It displays the levels to the right of the price Axis to enable the user to have a cleaner chart.
The below levels will automatically appear:
dOpen – pdHigh – pdLow – pdEQ – pwEQ
Optional Levels include:
mOpen – pmOpen – pdOpen – dbyOpen – wOpen – pwOpen
VWAPs
Optional VWAPs
Daily (including pdVWAP close) – Weekly – Monthly
Naked Points of Control (nPOC)
To view the nPOC move the chart back in time to pick up the nPOCs.
Chart Champions – Part 2 – CCV IBs POC
This indicator is broken down into:
• Chart Champions Value
• Initial Balance
• Points of Control
Chart Champions Value (CCV)
CCV is based on the 80% rule of the dOpen opening outside of the pdVAH/pdVAL. Please do you own research to fully understand how this trading strategy works (readily avaliable online).
Initial Balance (IB)
IB is based on the first 60 minutes of the market opening. It captures the highest and lowest points within that 60 minutes. Please do you own research to fully understand how this trading strategy works (readily avaliable online).
Points of Control (POCs)
POC are the price levels where the most volume was traded.
Developing POC (dPOC) will constantly move with volume/price action through out the day.
Optional POCs
Previous Day POC (pdPOC) – Day Before Yesterday POC (dbyPOC)
Chart Champions – Part 3 – Sessions - Manual Input
This indicator is broken down into:
• Manual Inputs (daily, weekly, monthly)
• IGOR SessionsTtimes
• Pre + Market Openings
Manual Input
Daily x3
Weekly x 3
Monthly x 3
This allows the trader to put in specific levels.
IGOR Session Times
This is a user specific requirement to highlight cetain times during the day, displayed at the bottom of the chart in the colour strip.
Pre + Market Openings
This allows the user to see when pre market trading has started and with the live maket has started, displayed at the top of the chart in colours.
A huge thank you goes out to:
Stackoverflow users AnyDozer and Bjorn.
TV user ahancock for allow me use of this code.
Disclaimer the lower the timeframe the more information it processes.
Chart Champions - Part 1 - nPOC - Levels - VWAPsThank you for sparing you time to read my indicator.
This indicator has been created as a suite of 3. This was to ensure that those with only the Free Trading View account could benefit (with their restriction to 3 indicators). Please ensure you install each indicator and read each indicator write up to fully understand what has tried to achieved.
Chart Champions – Part 1 –Lvls nPOC VWAPS
This indicator is broken down into:
• Levels
• VWAPS
• Naked Point of Control
Levels
It displays the levels to the right of the price Axis to enable the user to have a cleaner chart.
The below levels will automatically appear:
dOpen – pdHigh – pdLow – pdEQ – pwEQ
Optional Levels include:
mOpen – pmOpen – pdOpen – dbyOpen – wOpen – pwOpen
VWAPs
Optional VWAPs
Daily (including pdVWAP close) – Weekly – Monthly
Naked Points of Control (nPOC)
To view the nPOC move the chart back in time to pick up the nPOCs.
Chart Champions – Part 2 – CCV IBs POC
This indicator is broken down into:
• Chart Champions Value
• Initial Balance
• Points of Control
Chart Champions Value (CCV)
CCV is based on the 80% rule of the dOpen opening outside of the pdVAH/pdVAL. Please do you own research to fully understand how this trading strategy works (readily avaliable online).
Initial Balance (IB)
IB is based on the first 60 minutes of the market opening. It captures the highest and lowest points within that 60 minutes. Please do you own research to fully understand how this trading strategy works (readily avaliable online).
Points of Control (POCs)
POC are the price levels where the most volume was traded.
Developing POC (dPOC) will constantly move with volume/price action through out the day.
Optional POCs
Previous Day POC (pdPOC) – Day Before Yesterday POC (dbyPOC)
Chart Champions – Part 3 – Sessions - Manual Input
This indicator is broken down into:
• Manual Inputs (daily, weekly, monthly)
• IGOR SessionsTtimes
• Pre + Market Openings
Manual Input
Daily x3
Weekly x 3
Monthly x 3
This allows the trader to put in specific levels.
IGOR Session Times
This is a user specific requirement to highlight cetain times during the day, displayed at the bottom of the chart in the colour strip.
Pre + Market Openings
This allows the user to see when pre market trading has started and with the live maket has started, displayed at the top of the chart in colours.
A huge thank you goes out to:
Stackoverflow users AnyDozer and Bjorn.
TV user ahancock for allow me use of this code.
Disclaimer the lower the timeframe the more information it processes.
CVD Divergence & Volume ProfileThis Pine Script indicator, named "CVD Divergence & Volume Profile," is designed to identify potential trading opportunities by combining Cumulative Volume Delta (CVD) divergence with Volume Profile levels and an optional Simple Moving Average (SMA) trend filter. It plots signals directly on the price chart.
Here's a breakdown of what each component does and how to potentially trade with it:
1. Cumulative Volume Delta (CVD) Divergence
What it does: CVD measures the cumulative difference between buying and selling volume. A rising CVD indicates more buying pressure, while a falling CVD indicates more selling pressure. Divergence occurs when the price action contradicts the CVD's direction, suggesting a potential shift in momentum or trend reversal.
Bearish Divergence: The price makes a higher high, but the CVD makes a lower high (or fails to make a new high). This suggests that despite the price increasing, the underlying buying pressure is weakening.
Bullish Divergence: The price makes a lower low, but the CVD makes a higher low (or fails to make a new low). This suggests that despite the price decreasing, the underlying selling pressure is weakening.
Visualization:
Red triangle pointing down on the chart indicates a Bearish Divergence signal.
Green triangle pointing up on the chart indicates a Bullish Divergence signal.
2. Volume Profile Levels (VAH, VAL, POC)
What it does: The indicator calculates simplified Volume Profile levels over a user-defined vp_range (number of candles). These levels represent areas where significant trading activity has occurred:
VAH (Value Area High): The upper boundary of the "Value Area," where 70% of the volume traded.
VAL (Value Area Low): The lower boundary of the "Value Area," where 70% of the volume traded.
POC (Point of Control): The price level within the vp_range where the most volume was traded.
Significance: These levels often act as significant support and resistance zones.
Visualization:
Orange lines for VAH and VAL.
Yellow line for POC.
Zone Proximity (zone_thresh): The indicator only generates divergence signals if the current close price is within a specified percentage zone_thresh of either VAH, VAL, or POC. This filters signals to areas of high liquidity and potential turning points.
3. Trend Filter (SMA)
What it does: This is an optional filter (use_trend_filter) that uses a Simple Moving Average (sma_period, default 200).
Significance: It helps ensure that divergence signals are traded in alignment with the broader market trend, potentially increasing their reliability.
For long signals (bullish divergence), the price (close) must be above the SMA (indicating an uptrend).
For short signals (bearish divergence), the price (close) must be below the SMA (indicating a downtrend).
Visualization: A blue line on the chart representing the SMA.
How to Trade with It (Potential Strategies)
The indicator aims to provide high-probability entry points by combining multiple confirming factors. Here's how you might interpret and trade the signals:
Identify Divergence: Look for the triangle signals on your chart (red for bearish, green for bullish).
Confirm Proximity to Volume Profile Levels: The signal itself confirms that the price is near a significant Volume Profile level (VAH, VAL, or POC). These are areas where price often reacts.
Bullish Signal (Green Triangle): This suggests buying momentum is returning after a price decline, especially when the price is near VAL or POC, which might act as support.
Bearish Signal (Red Triangle): This suggests selling momentum is increasing after a price rally, especially when the price is near VAH or POC, which might act as resistance.
Check Trend Alignment (SMA Filter):
For a long trade: You would ideally want to see a green triangle (bullish divergence) while the price is above the blue SMA line. This indicates a bullish divergence confirming a potential bounce within an existing uptrend.
For a short trade: You would ideally want to see a red triangle (bearish divergence) while the price is below the blue SMA line. This indicates a bearish divergence confirming a potential rejection within an existing downtrend.
Entry and Exit Considerations:
Entry: Consider entering a trade on the candle where the signal appears, or on the subsequent candle for confirmation.
Stop Loss: For a long trade, a logical stop-loss could be placed below the lowest point of the divergence, or below the VAL/POC if the signal occurred near it. For a short trade, above the highest point of the divergence or VAH/POC.
Take Profit: Targets could be set at the opposite Volume Profile level, previous swing highs/lows, or using a fixed risk-reward ratio.
Example Trading Scenario:
Long Trade: You see a green triangle (bullish divergence) printed on the chart. You notice the price is currently at the VAL (orange line). You check the blue SMA line and confirm that the price is above it (uptrend). This confluence of factors (bullish divergence, support at VAL, and uptrend) provides a strong potential long entry signal. You might enter, place your stop loss just below VAL, and target VAH or the next resistance level.
Short Trade: You see a red triangle (bearish divergence). The price is at the VAH (orange line). The price is also below the blue SMA line (downtrend). This suggests a potential short entry. You might enter, place your stop loss just above VAH, and target VAL or the next support level.
Realtime Delta Volume Action [LucF]█ OVERVIEW
This indicator displays on-chart, realtime, delta volume and delta ticks information for each bar. It aims to provide traders who trade price action on small timeframes with volume and tick information gathered as updates come in the chart's feed. It builds its own candles, which are optimized to display volume delta information. It only works in realtime.
█ WARNING
This script is intended for traders who can already profitably trade discretionary on small timeframes. The high cost in fees and the excitement of trading at small timeframes have ruined many newcomers to trading. While trading at small timeframes can work magic for adrenaline junkies in search of thrills rather than profits, I DO NOT recommend it to most traders. Only seasoned discretionary traders able to factor in the relatively high cost of such a trading practice can ever hope to take money out of markets in that type of environment, and I would venture they account for an infinitesimal percentage of traders. If you are a newcomer to trading, AVOID THIS TOOL AT ALL COSTS — unless you are interested in experimenting with the interpretation of volume delta combined with price action. No tool currently available on TradingView provides this type of close monitoring of volume delta information, but if you are not already trading small timeframes profitably, please do not let yourself become convinced that it is the missing piece you needed. Avoid becoming a sucker who only contributes by providing liquidity to markets.
The information calculated by the indicator cannot be saved on charts, nor can it be recalculated from historical bars.
If you refresh the chart or restart the script, the accumulated information will be lost.
█ FEATURES
Key values
The script displays the following key values:
• Above the bar: ticks delta (DT), the total ticks for the bar, the percentage of total ticks that DT represents (DT%)
• Below the bar: volume delta (DV), the total volume for the bar, the percentage of total volume that DV represents (DV%).
Candles
Candles are composed of four components:
1. A top shaped like this: ┴, and a bottom shaped like this: ┬ (picture a normal Japanese candle without a body outline; the values used are the same).
2. The candle bodies are filled with the bull/bear color representing the polarity of DV. The intensity of the body's color is determined by the DV% value.
When DV% is 100, the intensity of the fill is brightest. This plays well in interpreting the body colors, as the smaller, less significant DV% values will produce less vivid colors.
3. The bright-colored borders of the candle bodies occur on "strong bars", i.e., bars meeting the criteria selected in the script's inputs, which you can configure.
4. The POC line is a small horizontal line that appears to the left of the candle. It is the volume-weighted average of all price updates during the bar.
Calculations
This script monitors each realtime update of the chart's feed. It first determines if price has moved up or down since the last update. The polarity of the price change, in turn, determines the polarity of the volume and tick for that specific update. If price does not move between consecutive updates, then the last known polarity is used. Using this method, we can calculate a running volume delta and ticks delta for the bar, which becomes the bar's final delta values when the bar closes (you can inspect values of elapsed realtime bars in the Data Window or the indicator's values). Note that these values will all reset if the script re-executes because of a change in inputs or a chart refresh.
While this method of calculating is not perfect, it is by far the most precise way of calculating volume delta available on TradingView at the moment. Calculating more precise results would require scripts to have access to tick data from any chart timeframe. Charts at seconds timeframes do use exchange/broker ticks when the feeds you are using allow for it, and this indicator will run on them, but tick data is not yet available from higher timeframes. Also, note that the method used in this script is far superior to the intrabar inspection technique used on historical bars in my other "Delta Volume" indicators. This is because volume and ticks delta here are calculated from many more realtime updates than the available intrabars in history. Unfortunately, the calculation method used here cannot be used on historical bars, where intrabar inspection remains, in my opinion, the optimal method.
Inputs
The script's inputs provide many ways to personalize all the components: what is displayed, the colors used to display the information, and the marker conditions. Tooltips provide details for many of the inputs; I leave their exploration to you.
Markers
Markers provide a way for you to identify the points of interest of your choice on the chart. You control the set of conditions that trigger each of the five available markers.
You select conditions by entering, in the field for each marker, the number of each condition you want to include, separated by a comma. The conditions are:
1 — The bar's polarity is up/dn.
2 — `close` rises/falls ("rises" means it is higher than its value on the previous bar).
3 — DV's polarity is +/–.
4 — DV% rises (↕).
5 — POC rises/falls.
6 — The quantity of realtime updates rises (↕).
7 — DV > limit (You specify the limit in the inputs. Since DV can be +/–, DV– must be less than `–limit` for a short marker).
8 — DV% > limit (↕).
9 — DV+ rises for a long marker, DV– falls for a short.
10 — Consecutive DV+/DV– on two bars.
11 — Total volume rises (↕).
12 — DT's polarity is +/–.
13 — DT% rises (↕).
14 — DT+ rises for a long marker, DT– falls for a short.
Conditions showing the (↕) symbol do not have symmetrical states; they act more like filters. If you only include condition 4 in a marker's setup, for example, both long and short markers will trigger on bars where DV% rises. To trigger only long or short markers, you must add a condition providing directional differentiation, such as conditions 1 or 2. Accordingly, you would enter "1,4" or "2,4".
For a marker to trigger, ALL the conditions you specified for it must be met. Long markers appear on the chart as "Mx▲" signs under the values displayed below candles. Short markers display "Mx▼" over the number of updates displayed above candles. The marker's number will replace the "x" in "Mx▲". The script loads with five markers that will not trigger because no conditions are associated with them. To activate markers, you will need to select and enter the set of conditions you require for each one.
Alerts
You can configure alerts on this script. They will trigger whenever one of the configured markers triggers. Alerts do not repaint, so they trigger at the bar's close—which is also when the markers will appear.
█ HOW TO USE IT
As a rule, I do not prescribe expected use of my indicators, as traders have proved to be much more creative than me in using them. Additionally, I tend to think that if you expect detailed recommendations from me to be able to use my indicators, it's a sign you are in a precarious situation and should go back to the drawing board and master the necessary basics that will allow you to explore and decide for yourself if my indicators can be useful to you, and how you will use them. I will make an exception for this thing, as it presents fairly novel information. I will use simple logic to surmise potential uses, as contrary to most of my other indicators, I have NOT used this one to actually trade. Markets have a way of throwing wrenches in our seemingly bullet-proof rationalizing, so drive cautiously and please forgive me if the pointers I share here don't pan out.
The first thing to do is to disable your normal bars. You can do this by clicking on the eye icon that appears when you hover over the symbol's name in the upper-left corner of your chart.
The absolute value and polarity of DV mean little without perspective; that's why I include both total volume for the bar and the percentage that DV represents of that total volume. I interpret a low DV% value as indecision. If you share that opinion, you could, let's say, configure one of the markers on "DV% > 80%", for example (to do so you would enter "8" in the condition field of any marker, and "80" in the limit field for condition 8, below the marker conditions).
I also like to analyze price action on the bar with DV%. Small DV% values should often produce small candle bodies. If a small DV% value occurs on a bar with much movement and high volume, I'm thinking "tough battle with potential explosive power when one side wins". Conversely, large bodies with high DV% mean that large volume is breaching through multiple levels, or that nobody is suddenly willing to take the other side of a normal volume of trades.
I find the POC lines really interesting. First, they tell us the price point where the most significant action (taking into account both price occurrences AND volume) during the bar occurred. Second, they can be useful when compared against past values. Third, their color helps us in figuring out which ones are the most significant. Unsurprisingly, bunches of orange POCs tend to appear in consolidation zones, in pauses, and before reversals. It may be useful to often focus more on POC progression than on `close` values. This is not to say that OHLC values are not useful; looking, as is customary, for higher highs or lower lows, or for repeated tests of precise levels can of course still be useful. I do like how POCs add another dimension to chart readings.
What should you do with the ticks delta above bars? Old-time ticker tape readers paid attention to the sounds coming from it (the "ticker" moniker actually comes from the sound they made). They knew activity was picking up when the frequency of the "ticks" increased. My thinking is that the total number of ticks will help you in the same way, since increasing updates usually mean growing interest—and thus perhaps price movement, as increasing volatility or volume would lead us to surmise. Ticks delta can help you figure out when proportionally large, random orders come in from traders with other perspectives than the short-term price action you are typically working with when you use this tool. Just as volume delta, ticks delta are one more informational component that can help you confirm convergence when building your opinions on price action.
What are strong bars? They are an attempt to identify significance. They are like a default marker, except that instead of displaying "Mx▲/▼" below/above the bar, the candle's body is outlined in bright bull/bear color when one is detected. Strong bars require a respectable amount of conditions to be met (you can see and re-configure them in the inputs). Think of them as pushes rather than indications of an upcoming, strong and multi-bar move. Pushes do, for sure, often occur at the beginning of strong trends. You will often see a few strong bars occur at 2-3 bar intervals at the beginning or middle of trends. But they also tend to occur at tops/bottoms, which makes their interpretation problematic. Another pattern that you will see quite frequently is a final strong bar in the direction of the trend, followed a few bars later by another strong bar in the reverse direction. My summary analyses seemed to indicate these were perhaps good points where one could make a bet on an early, risky reversal entry.
The last piece of information displayed by the indicator is the color of the candle bodies. Three possible colors are used. Bull/bear is determined by the polarity of DV, but only when the bar's polarity matches that of DV. When it doesn't, the color is the divergence color (orange, by default). Whichever color is used for the body, its intensity is determined by the DV% value. Maximum intensity occurs when DV%=100, so the more significant DV% values generate more noticeable colors. Body colors can be useful when looking to confirm the convergence of other components. The visual effect this creates hopefully makes it easier to detect patterns on the chart.
One obvious methodology that comes to mind to trade with this tool would be to use another indicator like Technical Ratings at a higher timeframe to identify the larger context's trend, and then use this tool to identify entries for short-term trades in that direction.
█ NOTES AND RAMBLINGS
Instant Calculations
This indicator uses instant values calculated on the bar only. No moving averages or calculations involving historical periods are used. The only exception to this rule is in some of the marker conditions like "Two consecutive DV+ values", where information from the previous bar is used.
Trading Small vs Long Timeframes
I never trade discretionary at the 5sec–5min timeframes this indicator was designed to be used with; I trade discretionary at 1D, 1W and 1M timeframes, and let systems trade at smaller timeframes. The higher the timeframe you trade at, the fewer fees you will pay because you trade less and are not churning trading volume, as is inevitable at smaller timeframes. Trading at higher timeframes is also a good way to gain an instant edge on most of the trading crowd that has its nose to the ground and often tends to forget the big picture. It also makes for a much less demanding trading practice, where you have lots of time to research and build your long-term opinions on potential future outcomes. While the future is always uncertain, I believe trades riding on long-term trends have stronger underlying support from the reality outside markets.
To traders who will ask why I publish an indicator designed for small timeframes, let me say that my main purpose here is to showcase what can be done with Pine. I often see comments by coders who are obviously not aware of what Pine is capable of in 2021. Since its humble beginnings seven years ago, Pine has grown and become a serious programming language. TradingView's growing popularity and its ongoing commitment to keep Pine accessible to newcomers to programming is gradually making Pine more and more of a standard in indicator and strategy programming. The technical barriers to entry for traders interested in owning their trading practice by developing their personal tools to trade have never been so low. I am also publishing this script because I value volume delta information, and I present here what I think is an original way of analyzing it.
Performance
The script puts a heavy load on the Pine runtime and the charting engine. After running the script for a while, you will often notice your chart becoming less responsive, and your chart tab can take longer to activate when you go back to it after using other tabs. That is the reason I encourage you to set the number of historical values displayed on bars to the minimum that meets your needs. When your chart becomes less responsive because the script has been running on it for many hours, refreshing the browser tab will restart everything and bring the chart's speed back up. You will then lose the information displayed on elapsed bars.
Neutral Volume
This script represents a departure from the way I have previously calculated volume delta in my scripts. I used the notion of "neutral volume" when inspecting intrabar timeframes, for bars where price did not move. No longer. While this had little impact when using intrabar inspection because the minimum usable timeframe was 1min (where bars with zero movement are relatively infrequent), a more precise way was required to handle realtime updates, where multiple consecutive prices often have the same value. This will usually happen whenever orders are unable to move across the bid/ask levels, either because of slow action or because a large-volume bid/ask level is taking time to breach. In either case, the proper way to calculate the polarity of volume delta for those updates is to use the last known polarity, which is how I calculate now.
The Order Book
Without access to the order book's levels (the depth of market), we are limited to analyzing transactions that come in the TradingView feed for the chart. That does not mean the volume delta information calculated this way is irrelevant; on the contrary, much of the information calculated here is not available in trading consoles supplied by exchanges/brokers. Yet it's important to realize that without access to the order book, you are forfeiting the valuable information that can be gleaned from it. The order book's levels are always in movement, of course, and some of the information they contain is mere posturing, i.e., attempts to influence the behavior of other players in the market by traders/systems who will often remove their orders when price comes near their order levels. Nonetheless, the order book is an essential tool for serious traders operating at intraday timeframes. It can be used to time entries/exits, to explain the causes of particular price movements, to determine optimal stop levels, to get to know the traders/systems you are betting against (they tend to exhibit behavioral patterns only recognizable through the order book), etc. This tool in no way makes the order book less useful; I encourage all intraday traders to become familiar with it and avoid trading without one.
Volume Voids [theUltimator5]Volume Voids highlights price regions with no or unusually thin participation over a chosen lookback. It bins the lookback’s full price range into equal steps, assigns each bar’s close to a bin, and accumulates volume per bin. Contiguous runs of zero-volume bins are shown as “voids,” while low-volume runs (below a dynamic threshold) mark thin-liquidity “corridors” where price often traverses quickly when revisited.
An optional PoC (Point of Control) line marks the mid-price of the highest-volume bin—commonly treated as a recent “value” area that price may revisit.
What it draws on your chart
Histogram (optional): Right-anchored horizontal volume-by-price bars built from your lookback and bin count. Bars tint green→red via a simple delta proxy (up-bar volume minus down-bar volume) to hint at directional participation inside each price band.
Point of Control (optional): A horizontal line at the highest-volume bin’s mid-price (the PoC).
Zero-Volume Voids: Translucent boxes where no bin volume printed within the window (detected between the first and last non-empty bins ).
Low-Volume Zones: Translucent boxes where bin volume is below a dynamic threshold (see formula below), often acting like low-friction corridors.
How it works
Slice the lookback’s high→low into N equal price bins.
Assign each bar’s closing price to a bin and add that bar’s volume to the bin total. A simple up/down-bar delta proxy drives the histogram’s tinting.
PoC = bin with the maximum accumulated volume.
Zero-Volume Voids = contiguous runs of bins with exactly zero volume (bounded by the first/last occupied bins).
Low-Volume Zones = contiguous runs of bins with volume below:
threshold = total_window_volume ÷ (divisor × number_of_bins)
Lower divisor → more LV boxes; higher divisor → stricter/fewer boxes.
Note: This is a lightweight, chart-native approximation of a volume profile. Volume is binned by bar close (not by tick-level prints or intrabar distribution), so “voids”/“thin” areas reflect this approximation.
Key inputs
Lookback Period: Window for calculations.
Number of Volume Boxes (bins): Histogram resolution.
PoC / Show Histogram / Anchor to Right Side: Visibility and layout controls.
Low-Volume Threshold Divisor: Sensitivity for LV detection.
Colors & Labels: Customize zero-volume / low-volume box colors and optional labels with offsets.
How to use (educational, not signals)
Context: High-volume = acceptance; thin/zero-volume = inefficiency. Price often rotates near acceptance and moves faster through thin areas.
Revisits: On returns to prior voids/LV zones, watch for accelerated moves or fills; PoC can serve as a balance reference.
Confluence: Pair with trend tools (e.g., ADX), VWAP/session markers, or structure levels for timing and risk.
Limitations & performance
Bins use closing price only; intrabar distribution is not modeled.
Detections refresh on the live bar; visuals can be heavy on large lookbacks/high bin counts—reduce bins/lookback or hide labels if needed.
Composite Time ProfileComposite Time Profile Overlay (CTPO) - Market Profile Compositing Tool
Automatically composite multiple time periods to identify key areas of balance and market structure
What is the Composite Time Profile Overlay?
The Composite Time Profile Overlay (CTPO) is a Pine Script indicator that automatically composites multiple time periods to identify key areas of balance and market structure. It's designed for traders who use market profile concepts and need to quickly identify where price is likely to find support or resistance.
The indicator analyzes TPO (Time Price Opportunity) data across different timeframes and merges overlapping profiles to create composite levels that represent the most significant areas of balance. This helps you spot where institutional traders are likely to make decisions based on accumulated price action.
Why Use CTPO for Market Profile Trading?
Eliminate Manual Compositing Work
Instead of manually drawing and compositing profiles across different timeframes, CTPO does this automatically. You get instant access to composite levels without spending time analyzing each individual period.
Spot Areas of Balance Quickly
The indicator highlights the most significant areas of balance by compositing overlapping profiles. These areas often act as support and resistance levels because they represent where the most trading activity occurred across multiple time periods.
Focus on What Matters
Rather than getting lost in individual session profiles, CTPO shows you the composite levels that have been validated across multiple timeframes. This helps you focus on the levels that are most likely to hold.
How CTPO Works for Market Profile Traders
Automatic Profile Compositing
CTPO uses a proprietary algorithm that:
- Identifies period boundaries based on your selected timeframe (sessions, daily, weekly, monthly, or auto-detection)
- Calculates TPO profiles for each period using the C2M (Composite 2 Method) row sizing calculation
- Merges overlapping profiles using configurable overlap thresholds (default 50% overlap required)
- Updates composite levels as new price action develops in real-time
Key Levels for Market Profile Analysis
The indicator displays:
- Value Area High (VAH) and Value Area Low (VAL) levels calculated from composite TPO data
- Point of Control (POC) levels where most trading occurred across all composited periods
- Composite zones representing areas of balance with configurable transparency
- 1.618 Fibonacci extensions for breakout targets based on composite range
Multiple Timeframe Support
- Sessions: For intraday market profile analysis
- Daily: For swing trading with daily profiles
- Weekly: For position trading with weekly structure
- Monthly: For long-term market profile analysis
- Auto: Automatically selects timeframe based on your chart
Trading Applications for Market Profile Users
Support and Resistance Trading
Use composite levels as dynamic support and resistance zones. These levels often hold because they represent areas where significant trading decisions were made across multiple timeframes.
Breakout Trading
When composite levels break, they often lead to significant moves. The indicator calculates 1.618 Fibonacci extensions to give you clear targets for breakout trades.
Mean Reversion Strategies
Value Area levels represent the price range where most trading activity occurred. These levels often act as magnets, drawing price back when it moves too far from the mean.
Institutional Level Analysis
Composite levels represent areas where institutional traders have made significant decisions. These levels often hold more weight than traditional technical analysis levels because they're based on actual trading activity.
Key Features for Market Profile Traders
Smart Compositing Logic
- Automatic overlap detection using price range intersection algorithms
- Configurable overlap thresholds (minimum 50% overlap required for merging)
- Dead composite identification (profiles that become engulfed by newer composites)
- Real-time updates as new price action develops using barstate.islast optimization
Visual Customization
- Customizable colors for active, broken, and dead composites
- Adjustable transparency levels for each composite state
- Premium/Discount zone highlighting based on current price vs composite range
- TPO aggression coloring using TPO distribution analysis to identify buying/selling pressure
- Fibonacci level extensions with 1.618 target calculations based on composite range
Clean Chart Presentation
- Only shows the most relevant composite levels (maximum 10 active composites)
- Eliminates clutter from individual session profiles
- Focuses on areas of balance that matter most to current price action
Real-World Trading Examples
Day Trading with Session Composites
Use session-based composites to identify intraday areas of balance. The VAH and VAL levels often act as natural profit targets and stop-loss levels for scalping strategies.
Swing Trading with Daily Composites
Daily composites provide excellent swing trading levels. Look for price reactions at composite zones and use the 1.618 extensions for profit targets.
Position Trading with Weekly Composites
Weekly composites help identify major trend changes and long-term areas of balance. These levels often hold for months or even years.
Risk Management
Composite levels provide natural stop-loss levels. If a composite level breaks, it often signals a significant shift in market sentiment, making it an ideal place to exit losing positions.
Why Composite Levels Work
Composite levels work because they represent areas where significant trading decisions were made across multiple timeframes. When price returns to these levels, traders often remember the previous price action and make similar decisions, creating self-fulfilling prophecies.
The compositing process uses a proprietary algorithm that ensures only levels validated across multiple time periods are displayed. This means you're looking at levels that have proven their significance through actual market behavior, not just random technical levels.
Technical Foundation
The indicator uses TPO (Time Price Opportunity) data combined with price action analysis to identify areas of balance. The C2M row sizing method ensures accurate profile calculations, while the overlap detection algorithm (minimum 50% price range intersection) ensures only truly significant composites are displayed. The algorithm calculates row size based on ATR (Average True Range) divided by 10, then converts to tick size for precise level calculations.
How the Code Actually Works
1. Period Detection and ATR Calculation
The code first determines the appropriate timeframe based on your chart:
- 1m-5m charts: Session-based profiles
- 15m-2h charts: Daily profiles
- 4h charts: Weekly profiles
- 1D charts: Monthly profiles
For each period type, it calculates the number of bars needed for ATR calculation:
- Sessions: 540 minutes divided by chart timeframe
- Daily: 1440 minutes divided by chart timeframe
- Weekly: 7 days worth of minutes divided by chart timeframe
- Monthly: 30 days worth of minutes divided by chart timeframe
2. C2M Row Size Calculation
The code calculates True Range for each bar in the determined period:
- True Range = max(high-low, |high-prevClose|, |low-prevClose|)
- Averages all True Range values to get ATR
- Row Size = (ATR / 10) converted to tick size
- This ensures each TPO row represents a meaningful price movement
3. TPO Profile Generation
For each period, the code:
- Creates price levels from lowest to highest price in the range
- Each level is separated by the calculated row size
- Counts how many bars touch each price level (TPO count)
- Finds the level with highest count = Point of Control (POC)
- Calculates Value Area by expanding from POC until 68.27% of total TPO blocks are included
4. Overlap Detection Algorithm
When a new profile is created, the code checks if it overlaps with existing composites:
- Calculates overlap range = min(currentVAH, prevVAH) - max(currentVAL, prevVAL)
- Calculates current profile range = currentVAH - currentVAL
- Overlap percentage = (overlap range / current profile range) * 100
- If overlap >= 50%, profiles are merged into a composite
5. Composite Merging Logic
When profiles overlap, the code creates a new composite by:
- Taking the earliest start bar and latest end bar
- Using the wider VAH/VAL range (max of both profiles)
- Keeping the POC from the profile with more TPO blocks
- Marking the composite as "active" until price breaks through
6. Real-Time Updates
The code uses barstate.islast to optimize performance:
- Only recalculates on the last bar of each period
- Updates active composite with live price action if enabled
- Cleans up old composites to prevent memory issues
- Redraws all visual elements from scratch each bar
7. Visual Rendering System
The code uses arrays to manage drawing objects:
- Clears all lines/boxes arrays on every bar
- Iterates through composites array to redraw everything
- Uses different colors for active, broken, and dead composites
- Calculates 1.618 Fibonacci extensions for broken composites
Getting Started with CTPO
Step 1: Choose Your Timeframe
Select the period type that matches your trading style:
- Use "Sessions" for day trading
- Use "Daily" for swing trading
- Use "Weekly" for position trading
- Use "Auto" to let the indicator choose based on your chart timeframe
Step 2: Customize the Display
Adjust colors, transparency, and display options to match your charting preferences. The indicator offers extensive customization options to ensure it fits seamlessly into your existing analysis.
Step 3: Identify Key Levels
Look for:
- Composite zones (blue boxes) - major areas of balance
- VAH/VAL lines - value area boundaries
- POC lines - areas of highest trading activity
- 1.618 extension lines - breakout targets
Step 4: Develop Your Strategy
Use these levels to:
- Set entry points near composite zones
- Place stop losses beyond composite levels
- Take profits at 1.618 extension levels
- Identify trend changes when major composites break
Perfect for Market Profile Traders
If you're already using market profile concepts in your trading, CTPO eliminates the manual work of compositing profiles across different timeframes. Instead of spending time analyzing each individual period, you get instant access to the composite levels that matter most.
The indicator's automated compositing process ensures you're always looking at the most relevant areas of balance, while its real-time updates keep you informed of changes as they happen. Whether you're a day trader looking for intraday levels or a position trader analyzing long-term structure, CTPO provides the market profile intelligence you need to succeed.
Streamline Your Market Profile Analysis
Stop wasting time on manual compositing. Let CTPO do the heavy lifting while you focus on executing profitable trades based on areas of balance that actually matter.
Ready to Streamline Your Market Profile Trading?
Add the Composite Time Profile Overlay to your charts today and experience the difference that automated profile compositing can make in your trading performance.
Value Matrix – Previous Day VAValue Matrix – Previous Day Volume Profile Indicator
Description:
The Value Matrix – Previous Day VA indicator plots the previous trading session’s Volume Profile key levels directly on your chart, providing clear reference points for intraday trading. This indicator calculates the Value Area High (VAH), Value Area Low (VAL), and Point of Control (POC) from the prior session and projects them across the current trading day, helping traders identify potential support, resistance, and high-volume zones.
Features:
Calculates previous day VAH, VAL, and POC based on a user-defined session (default 09:30–16:00).
Uses Volume Profile bins for precise distribution calculation.
Fully customizable line colors for VAH, VAL, and POC.
Lines extend across the current session for easy intraday reference.
Works on any timeframe, optimized for 1-minute charts for precision.
Optional toggles to show/hide VAH, VAL, and POC individually.
Inputs:
Session Time: Define the trading session for which the volume profile is calculated.
Profile Bins: Number of price intervals used to divide the session range.
Value Area %: Percentage of volume to include in the value area (default 70%).
Show POC / VAH & VAL: Toggle visibility of each level.
Line Colors: Customize VAH, VAL, and POC colors.
Use Cases:
Identify previous session support and resistance levels for intraday trading.
Gauge areas of high liquidity and potential market reaction zones.
Combine with other indicators or price action strategies for improved entries and exits.
Recommended Timeframe:
Works on all timeframes; best used on 1-minute or 5-minute charts for precise intraday analysis.
Piman2077: Previous Day Volume Profile levelsPrevious Day Volume Profile Indicator
Description:
Previous Day Volume Profile Indicator plots the previous trading session’s Volume Profile key levels directly on your chart, providing clear reference points for intraday trading. This indicator calculates the Value Area High (VAH), Value Area Low (VAL), and Point of Control (POC) from the prior session and projects them across the current trading day, helping traders identify potential support, resistance, and high-volume zones.
Features:
Calculates previous day VAH, VAL, and POC based on a user-defined session (default 09:30–16:00).
Uses Volume Profile bins for precise distribution calculation.
Fully customizable line colors for VAH, VAL, and POC.
Lines extend across the current session for easy intraday reference.
Works on any timeframe, optimized for 1-minute charts for precision.
Optional toggles to show/hide VAH, VAL, and POC individually.
Inputs:
Session Time: Define the trading session for which the volume profile is calculated.
Profile Bins: Number of price intervals used to divide the session range.
Value Area %: Percentage of volume to include in the value area (default 68%).
Show POC / VAH & VAL: Toggle visibility of each level.
Line Colors: Customize VAH, VAL, and POC colors.
Use Cases:
Identify previous session support and resistance levels for intraday trading.
Gauge areas of high liquidity and potential market reaction zones.
Combine with other indicators or price action strategies for improved entries and exits.
Recommended Timeframe:
Works on all timeframes; best used on 1-minute or 5-minute charts for precise intraday analysis.
RSI with Trend LinesThe RSI with Trend Lines indicator is a tool designed to analyze the behavior of the Relative Strength Index (RSI) combined with dynamic trend lines. This indicator not only provides the standard RSI reading but also identifies pivot points on the RSI and draws bullish and bearish trend lines based on these points. It also includes customizable options for adjusting trend lines, displaying the RSI moving average, and highlighting key levels such as overbought, oversold, and the center line.
This indicator is ideal for finding and identifying clear trends in the RSI and taking advantage of market breakout or consolidation signals. It also includes a table with the POC value, which represents the price level at which the most trading activity has occurred, indicating the highest liquidity and highest trading volume.
Key Features:
1. Basic RSI:
• Calculates the RSI using a configurable period length (default 14).
• Colors the RSI based on its direction (green for rising, red for falling) and its position relative to the center line (50).
2. Key Levels:
• Displays overbought (70 and 80), oversold (20 and 30), and the center line (50) levels for easy visual interpretation.
3. RSI Moving Average:
• Enables and configures an RSI moving average (SMA, EMA, WMA, or ALMA) to smooth out fluctuations and detect clearer trends.
4. Dynamic Trend Lines:
• Identifies pivot points on the RSI and draws bullish and bearish trend lines.
• Trend lines can be extended into the future or limited to the visible range.
• Includes options to display broken lines (trends that are no longer valid) and customize the style (solid or dashed).
5. Pivot Points:
• Displays the high and low pivot points on the chart for a better understanding of trend changes.
6. Advanced Customization:
• Adjust the pivot point period.
• Control the number of pivot points to consider for trend lines.
• Customize the line thickness and style.
How to Use the Indicator:
1. RSI Interpretation:
• Overbought Zone (RSI > 70): Indicates that the asset may be overvalued and could correct downward.
• Oversold Zone (RSI < 30): Suggests that the asset may be undervalued and could rebound.
• Centerline Crossover (50): A cross above 50 indicates bullish strength, while a cross below suggests weakness.
2. Trend Lines:
• Bullish Lines: Drawn when the RSI forms ascending low pivot points. These lines represent dynamic support.
• Bearish Lines: These are drawn when the RSI forms descending high pivot points. These lines represent dynamic resistance.
• Broken Lines: When a trend line becomes invalid (the RSI breaks the line), they are displayed in a dotted style to highlight the breakout.
3. Possible Trading Signals:
• Buy: When the RSI breaks an upward downtrend line.
• Sell: When the RSI breaks a downward uptrend line.
• Trend Confirmation: When the RSI stays within a valid trend line, it suggests that the current trend is strong.
4. A chart with the POC value:
• The point of control is a price level at which the highest trading volume occurs in a given time period. It is a key component of the Volume Profile indicator, which displays volume by price.
• Use of the POC in trading:
• The POC is used to identify areas of high interest and liquidity for trading.
• The POC provides information about the equilibrium point where buyers and sellers are most evenly matched.
• Therefore, it can be considered a zone of interest, meaning it can act as support or resistance.
TPO IQ [TradingIQ]Hello Traders!
Introducing "TPO IQ"!
TPO IQ offers a Time Price Opportunity profile with several customization options that packs several related features to help traders navigate the generated profiles!
Features
TPO Profiles
Single Print identification
Initial Balance Identification
Can be anchored to timeframe change
Can be anchored to fixed time interval
Last profile detailed visuals
Customizable value area percentage
POC identification
Mid-point identification
TPO Profiles
A TPO profile is a market profile visualization that details how much time was spent at each price level throughout the time interval.
The image above further explains what a TPO Profile is!
Each letter corresponds to a candlestick. With this information, traders are able to visualize how much time was spent at each price area.
With customizable gradient colors, specifically in this example, blocks colored red are the earliest times in the profile, blocks colored green are in the beginning half of the time midpoint of the profile. Blue blocks represent the first half of the end of the time period, and purple blocks correspond to the end of the time period.
Please note that this form of TPO profile generation will only occur when the most recent profile uses less than 500 alphabet characters! If more than 500 characters are preset, TPO IQ will revert to using labels!
Initial Balance
TPO IQ also identifies the initial balance range and all alphabet characters that form within it!
The image above exemplifies this feature. The initial balance range is denoted by a a neon-blue line, with a blue circle showing the opening price. All characters within the initial balance range are highlighted blue, which is a feature that can be disabled with customizable colors.
POC
TPO IQ also identifies the point of control (POC) of the TPO Profile.
The point of control for the profile is labeled yellow by default, and shows where price spent the most time throughout the time period.
The image above shows the POC for the time period being identified by TPO IQ.
Value Area
TPO IQ also identifies the value area of the profile. A customizable percentage that is 70% by default, the value area of a TPO profile shows where price traded the majority of the time.
The image above further explains this feature. For this example, with the value area percentage being set to 70%, the value area high and value area low show the price zone that prices traded at 70% of the time throughout the profile.
TPO Midpoint
In addition to the POC, the TPO profile midpoint is also identified by TPO IQ.
The TPO midpoint simply corresponds to the middle price between the session's high and low!
Fixed Interval Mode
By default, TPO IQ recalculates every day, but this can also be changed to a customizable session time, such as 4 hours. If 4 hours is selected, then a new TPO profile will be generated every 4 hours.
However, in Fixed Interval mode, a TPO profile will be generated through a user-defined time range, such as 1300-1700.
In the image above, Fixed Interval mode is applied with a time range of 1300-1700 and, consequently, TPO IQ generates a new profile throughout every 1300-1700 time range!
This feature allows traders to specify time ranges of interest to generate TPO profiles for!
TPO Overview Label
The TPO overview label shows key statistics for the TPO profile generated throughout the trading session!
The "TPO Count" statistic shows how many alphabetical letters were generated for the profile, which is an adequate method to determine the session's volatility and price range.
The "Tick Levels" statistic shows how many tick levels were used to create the profile - another method to determine the volatility and price range of the session.
The "Top Letter" statistic shows which letter appears most throughout the profile. In this example, the top letter was "f", which means throughout creation of the profile, the letter "f" appeared the most!
And that's all for now!
If you have any feedback or new feature ideas for TPO IQ please feel free to share them with us!
Thank you traders!