VPOC Harmonics - Liquidity-Weighted Price / Time RatiosVPOC Harmonics - Liquidity-Weighted Price / Time Ratios
Summary
This indicator transforms a swing’s price range, duration, and liquidity profile into a structured set of price-per-bar ratios. By anchoring two points and manually entering the swing’s VPOC (highest-volume price), it generates candidate compression values that unify price, time, and liquidity structure. These values can be applied to chart scaling, harmonic testing, and liquidity-aware market geometry.
________________________________________
Overview
Most swing analysis tools only consider price (ΔP) and time (N bars). This script goes further by incorporating the VPOC (Point of Control) — the price with the highest traded volume — directly into swing geometry.
• Anchors define the swing’s Low (L), High (H), and bar count (N).
• The user manually enters the VPOC (highest-volume price).
• The indicator then computes a suite of ratios that integrate range, duration, and liquidity placement.
The output is a table of liquidity-weighted price-per-bar candidates, designed for compression testing and harmonic analysis across swings and instruments.
________________________________________
How to Use
1. Select a Swing
- Place Anchor A and Anchor B to define the swing’s Low, High, and bar count.
2. Find the VPOC
- Apply TradingView’s Fixed Range Volume Profile tool over the same swing.
- Identify the Point of Control (POC) — the price level with the highest traded volume.
3. Enter the VPOC
- Manually input the POC into the indicator settings.
4. Review Outputs
- The table will display candidate ratios expressed mainly as price-per-bar values.
5. Apply in Practice
- Use the ratios as chart compression inputs or as benchmarks for testing harmonic alignments across swings.
________________________________________
Outputs
Swing & Inputs
• Bars (N): total bar count of the swing.
• Low (L): swing low price.
• High (H): swing high price.
• ΔP = H − L: price range.
• Mid = (L + H) ÷ 2: midpoint price.
• VPOC (V): user-entered highest-volume price.
• Base slope s0 = ΔP ÷ N: average change per bar.
• π-adjusted slope sπ = (π × ΔP) ÷ (2 × N): slope adjusted for half-cycle arc geometry.
________________________________________
VPOC Harmony Ratios (L, H, V, N)
• λ = (V − L) ÷ ΔP: normalized VPOC position within the range.
• R = (V − L) ÷ (H − V): symmetry ratio comparing lower vs. upper segment.
• s1 = (V − L) ÷ N: slope from Low → VPOC.
• s2 = (H − V) ÷ N: slope from VPOC → High.
________________________________________
Blended Means (s1, s2)
These combine the two segment slopes in different ways:
• HM(s1,s2) = 2 ÷ (1/s1 + 1/s2): Harmonic mean, emphasizes the smaller slope.
• GM(s1,s2) = sqrt(s1 × s2): Geometric mean, balances both slopes proportionally.
• RMS(s1,s2) = sqrt((s1² + s2²) ÷ 2): Root-mean-square, emphasizes the larger slope.
• L2 = sqrt(s1² + s2²): Euclidean norm, the vector length of both slopes combined.
________________________________________
Slope Blends
• Quadratic weighting: s_quad = s0 × ((V−L)² + (H−V)²) ÷ (ΔP²)
• Tilted slope: s_tilt = s0 × (0.5 + λ)
• Entropy-scaled slope: s_ent = s0 × H2(λ), with H2(λ) = −
________________________________________
Curvature & Liquidity Extensions
• π-arc × λ: s_arc = sπ × λ
• Liquidity-π: s_piV = sπ × (V ÷ Mid)
________________________________________
Scale-Normalized Families
With k = sqrt(H ÷ L):
• k (scale factor) = sqrt(H ÷ L)
• s_comp = s0 ÷ k: compressed slope candidate
• s_exp = s0 × k: expanded slope candidate
• Exponentiated blends:
- s_kλ = s0 × k^(2λ−1)
- s_φλ = s0 × φ^(2λ−1), with φ = golden ratio ≈ 1.618
- s_√2λ = s0 × (√2)^(2λ−1)
________________________________________
Practical Application
All formulas generate liquidity-weighted price-per-bar ratios that integrate range, time, and VPOC placement.
These values are designed for:
• Chart compression settings
• Testing harmonic alignments across swings
• Liquidity-aware scaling experiments
________________________________________
ابحث في النصوص البرمجية عن "poc"
Dynamic Support and Resistance V2 | AnonycryptousThe Dynamic Support and Resistance V2 indicator, an easy tool to identify key support, resistance, trendline levels, pivot points and volume data.
Pivot Points.
Calculates support, resistance and trendline levels using pivot points, which are derived from the high, low, and close prices of previous trading periods.
Customize the pivot calculation by using Close' or 'High/Low' and adjusting the lookback periods for both the left and right sides of the pivot calculation.
Pivot points are crucial for forecasting potential market turning points, so it allows traders to adapt the indicator to different market conditions and timeframes.
By using pivot points, traders can spot reversal and consolidation levels or trendlines early on, allowing them to react to them in time.
Volume Levels.
This option focuses on identifying support and resistance levels based on volume data, specifically the Point of Control.
The POC is the highest traded volume price level during a time period.
This POC calculation, allow traders to areas of significant trading levels as support or resistance zones.
Volume-based levels gives insights into market sentiment and showes strong support and resistance based on trading volume.
Traders can choose between pivot-based and volume-based levels or use both simultaneously, depending on their analysis.
The indicator offers custom colors, so the trader can customize their visual analysis to their own style.
It calculates the importance of each level based on the number of touches and the duration it holds.
This indicator is intended for educational and informational purposes only and should not be considered financial advice.
Trading involves significant risk, and you should consult with a financial advisor before making any trading decisions.
The performance of this indicator is not guaranteed, and past results do not predict future performance.
Use at your own risk.
Smart MTF S/R Levels[BullByte]
Smart MTF S/R Levels
Introduction & Motivation
Support and Resistance (S/R) levels are the backbone of technical analysis. However, most traders face two major challenges:
Manual S/R Marking: Drawing S/R levels by hand is time-consuming, subjective, and often inconsistent.
Multi-Timeframe Blind Spots: Key S/R levels from higher or lower timeframes are often missed, leading to surprise reversals or missed opportunities.
Smart MTF S/R Levels was created to solve these problems. It is a fully automated, multi-timeframe, multi-method S/R detection and visualization tool, designed to give traders a complete, objective, and actionable view of the market’s most important price zones.
What Makes This Indicator Unique?
Multi-Timeframe Analysis: Simultaneously analyzes up to three user-selected timeframes, ensuring you never miss a critical S/R level from any timeframe.
Multi-Method Confluence: Integrates several respected S/R detection methods—Swings, Pivots, Fibonacci, Order Blocks, and Volume Profile—into a single, unified system.
Zone Clustering: Automatically merges nearby levels into “zones” to reduce clutter and highlight areas of true market consensus.
Confluence Scoring: Each zone is scored by the number of methods and timeframes in agreement, helping you instantly spot the most significant S/R areas.
Reaction Counting: Tracks how many times price has recently interacted with each zone, providing a real-world measure of its importance.
Customizable Dashboard: A real-time, on-chart table summarizes all key S/R zones, their origins, confluence, and proximity to price.
Smart Alerts: Get notified when price approaches high-confluence zones, so you never miss a critical trading opportunity.
Why Should a Trader Use This?
Objectivity: Removes subjectivity from S/R analysis by using algorithmic detection and clustering.
Efficiency: Saves hours of manual charting and reduces analysis fatigue.
Comprehensiveness: Ensures you are always aware of the most relevant S/R zones, regardless of your trading timeframe.
Actionability: The dashboard and alerts make it easy to act on the most important levels, improving trade timing and risk management.
Adaptability: Works for all asset classes (stocks, forex, crypto, futures) and all trading styles (scalping, swing, position).
The Gap This Indicator Fills
Most S/R indicators focus on a single method or timeframe, leading to incomplete analysis. Manual S/R marking is error-prone and inconsistent. This indicator fills the gap by:
Automating S/R detection across multiple timeframes and methods
Objectively scoring and ranking zones by confluence and reaction
Presenting all this information in a clear, actionable dashboard
How Does It Work? (Technical Logic)
1. Level Detection
For each selected timeframe, the script detects S/R levels using:
SW (Swing High/Low): Recent price pivots where reversals occurred.
Pivot: Classic floor trader pivots (P, S1, R1).
Fib (Fibonacci): Key retracement levels (0.236, 0.382, 0.5, 0.618, 0.786) over the last 50 bars.
Bull OB / Bear OB: Institutional price zones based on bullish/bearish engulfing patterns.
VWAP / POC: Volume Weighted Average Price and Point of Control over the last 50 bars.
2. Level Clustering
Levels within a user-defined % distance are merged into a single “zone.”
Each zone records which methods and timeframes contributed to it.
3. Confluence & Reaction Scoring
Confluence: The number of unique methods/timeframes in agreement for a zone.
Reactions: The number of times price has touched or reversed at the zone in the recent past (user-defined lookback).
4. Filtering & Sorting
Only zones within a user-defined % of the current price are shown (to focus on actionable areas).
Zones can be sorted by confluence, reaction count, or proximity to price.
5. Visualization
Zones: Shaded boxes on the chart (green for support, red for resistance, blue for mixed).
Lines: Mark the exact level of each zone.
Labels: Show level, methods by timeframe (e.g., 15m (3 SW), 30m (1 VWAP)), and (if applicable) Fibonacci ratios.
Dashboard Table: Lists all nearby zones with full details.
6. Alerts
Optional alerts trigger when price approaches a zone with confluence above a user-set threshold.
Inputs & Customization (Explained for All Users)
Show Timeframe 1/2/3: Enable/disable analysis for each timeframe (e.g., 15m, 30m, 1h).
Show Swings/Pivots/Fibonacci/Order Blocks/Volume Profile: Select which S/R methods to include.
Show levels within X% of price: Only display zones near the current price (default: 3%).
How many swing highs/lows to show: Number of recent swings to include (default: 3).
Cluster levels within X%: Merge levels close together into a single zone (default: 0.25%).
Show Top N Zones: Limit the number of zones displayed (default: 8).
Bars to check for reactions: How far back to count price reactions (default: 100).
Sort Zones By: Choose how to rank zones in the dashboard (Confluence, Reactions, Distance).
Alert if Confluence >=: Set the minimum confluence score for alerts (default: 3).
Zone Box Width/Line Length/Label Offset: Control the appearance of zones and labels.
Dashboard Size/Location: Customize the dashboard table.
How to Read the Output
Shaded Boxes: Represent S/R zones. The color indicates type (green = support, red = resistance, blue = mixed).
Lines: Mark the precise level of each zone.
Labels: Show the level, methods by timeframe (e.g., 15m (3 SW), 30m (1 VWAP)), and (if applicable) Fibonacci ratios.
Dashboard Table: Columns include:
Level: Price of the zone
Methods (by TF): Which S/R methods and how many, per timeframe (see abbreviation key below)
Type: Support, Resistance, or Mixed
Confl.: Confluence score (higher = more significant)
React.: Number of recent price reactions
Dist %: Distance from current price (in %)
Abbreviations Used
SW = Swing High/Low (recent price pivots where reversals occurred)
Fib = Fibonacci Level (key retracement levels such as 0.236, 0.382, 0.5, 0.618, 0.786)
VWAP = Volume Weighted Average Price (price level weighted by volume)
POC = Point of Control (price level with the highest traded volume)
Bull OB = Bullish Order Block (institutional support zone from bullish price action)
Bear OB = Bearish Order Block (institutional resistance zone from bearish price action)
Pivot = Pivot Point (classic floor trader pivots: P, S1, R1)
These abbreviations appear in the dashboard and chart labels for clarity.
Example: How to Read the Dashboard and Labels (from the chart above)
Suppose you are trading BTCUSDT on a 15-minute chart. The dashboard at the top right shows several S/R zones, each with a breakdown of which timeframes and methods contributed to their detection:
Resistance zone at 119257.11:
The dashboard shows:
5m (1 SW), 15m (2 SW), 1h (3 SW)
This means the level 119257.11 was identified as a resistance zone by one swing high (SW) on the 5-minute timeframe, two swing highs on the 15-minute timeframe, and three swing highs on the 1-hour timeframe. The confluence score is 6 (total number of method/timeframe hits), and there has been 1 recent price reaction at this level. This suggests 119257.11 is a strong resistance zone, confirmed by multiple swing highs across all selected timeframes.
Mixed zone at 118767.97:
The dashboard shows:
5m (2 SW), 15m (2 SW)
This means the level 118767.97 was identified by two swing points on both the 5-minute and 15-minute timeframes. The confluence score is 4, and there have been 19 recent price reactions at this level, indicating it is a highly reactive zone.
Support zone at 117411.35:
The dashboard shows:
5m (2 SW), 1h (2 SW)
This means the level 117411.35 was identified as a support zone by two swing lows on the 5-minute timeframe and two swing lows on the 1-hour timeframe. The confluence score is 4, and there have been 2 recent price reactions at this level.
Mixed zone at 118291.45:
The dashboard shows:
15m (1 SW, 1 VWAP), 5m (1 VWAP), 1h (1 VWAP)
This means the level 118291.45 was identified by a swing and VWAP on the 15-minute timeframe, and by VWAP on both the 5-minute and 1-hour timeframes. The confluence score is 4, and there have been 12 recent price reactions at this level.
Support zone at 117103.10:
The dashboard shows:
15m (1 SW), 1h (1 SW)
This means the level 117103.10 was identified by a single swing low on both the 15-minute and 1-hour timeframes. The confluence score is 2, and there have been no recent price reactions at this level.
Resistance zone at 117899.33:
The dashboard shows:
5m (1 SW)
This means the level 117899.33 was identified by a single swing high on the 5-minute timeframe. The confluence score is 1, and there have been no recent price reactions at this level.
How to use this:
Zones with higher confluence (more methods and timeframes in agreement) and more recent reactions are generally more significant. For example, the resistance at 119257.11 is much stronger than the resistance at 117899.33, and the mixed zone at 118767.97 has shown the most recent price reactions, making it a key area to watch for potential reversals or breakouts.
Tip:
“SW” stands for Swing High/Low, and “VWAP” stands for Volume Weighted Average Price.
The format 15m (2 SW) means two swing points were detected on the 15-minute timeframe.
Best Practices & Recommendations
Use with Other Tools: This indicator is most powerful when combined with your own price action analysis and risk management.
Adjust Settings: Experiment with timeframes, clustering, and methods to suit your trading style and the asset’s volatility.
Watch for High Confluence: Zones with higher confluence and more reactions are generally more significant.
Limitations
No Future Prediction: The indicator does not predict future price movement; it highlights areas where price is statistically more likely to react.
Not a Standalone System: Should be used as part of a broader trading plan.
Historical Data: Reaction counts are based on historical price action and may not always repeat.
Disclaimer
This indicator is a technical analysis tool and does not constitute financial advice or a recommendation to buy or sell any asset. Trading involves risk, and past performance is not indicative of future results. Always use proper risk management and consult a financial advisor if needed.
TrueTrend MaxRThe TrueTrend MaxR indicator is designed to identify the most consistent exponential price trend over extended periods. It uses statistical analysis on log-transformed prices to find the trendline that best fits historical price action, and highlights the most frequently tested or traded level within that trend channel.
For optimal results, especially on high timeframes such as weekly or monthly, it is recommended to use this indicator on charts set to logarithmic scale. This ensures proper visual alignment with the exponential nature of long-term price movements.
How it works
The indicator tests 50 different lookback periods, ranging from 300 to 1280 bars. For each period, it:
- Applies a linear regression on the natural logarithm of the price
- Computes the slope and intercept of the trendline
- Calculates the unbiased standard deviation from the regression line
- Measures the correlation strength using Pearson's R coefficient
The period with the highest Pearson R value is selected, meaning the trendline drawn corresponds to the log-scale trend with the best statistical fit.
Trendline and deviation bands
Once the optimal period is identified, the indicator plots:
- A main log-scale trendline
- Upper and lower bands, based on a user-defined multiple of the standard deviation
These bands help visualize how far price deviates from its core trend, and define the range of typical fluctuations.
Point of Control (POC)
Inside the trend channel, the space between upper and lower bands is divided into 15 logarithmic levels. The script evaluates how often price has interacted with each level, using one of two selectable methods:
- Touches: Counts the number of candles crossing each level
- Volume: Weighs each touch by the traded volume at that candle
The level with the highest cumulative interaction is considered the dynamic Point of Control (POC), and is plotted as a line.
Annualized performance and confidence display
When used on daily or weekly timeframes, the script also calculates the annualized return (CAGR) based on the detected trend, and displays:
- A performance estimate in percentage terms
- A textual label describing the confidence level based on the Pearson R value
Why this indicator is useful
- Automatically detects the most statistically consistent exponential trendline
- Designed for log-scale analysis, suited to long-term investment charts
- Highlights key price levels frequently visited or traded within the trend
- Provides objective, data-based trend and volatility insights
- Displays annualized growth rate and correlation strength for quick evaluation
Notes
- All calculations are performed only on the last bar
- No future data is used, and the script does not repaint
- Works on any instrument or timeframe, with optimal use on higher timeframes and logarithmic scaling
Forex Session + Volume Profile [RunRox]📊 Forex Session + Volume Profile is built especially for traders who work with intra-session liquidity concepts or any strategy that needs a clear visual of trading sessions and the liquidity inside them.
Our team created this indicator to give you better session visibility, flexible session styling, and extra tools that help you navigate the market more easily.
📌 Features:
6 fully customizable sessions
Kill Zone (the high-impact trading window)
Volume Profile for each session
POC / VAL / VAH / LVN levels (Point of Control, Value Area Low, Value Area High, Low Volume Node)
PDH / PDL levels (Previous Day High / Low)
PWH / PWL levels (Previous Week High / Low)
NYM level (New York Market level)
Active sessions table
5 style options for each session
All of this gives you the flexibility to set up exactly the layout you need for your trading. Below, you’ll find a more detailed look at each feature.
🗓️ 6 CUSTOMIZABLE SESSION
The indicator includes six sessions that you can fully customize to fit your needs—everything from naming each session and choosing line colors to adjusting opacity, showing the volume profile, or even turning off a session entirely if you don’t need it.
Plus, you can pick different display styles for each session. As shown in the screenshot below, there are five style options you can apply individually to every session.
5 Style Options for Sessions
BOX
AREA
ZONES
LINES
CURVED
These styles can be customized for each session individually to help you highlight the sessions you care about on your chart. Example below
📢 VOLUME PROFILE
We’ve also integrated a Volume Profile into the indicator to pinpoint important levels on the chart. On top of that, we’ve added extra volume-based levels. Below, you’ll find the settings and a visual demo of how it appears on your chart.
To identify optimal entry points, you can use the following key reference levels:
POC (Point of Control)
VAL (Value Area Low)
VAH (Value Area High)
LVN (Low Volume Node)
You can also customize colors and line styles, or hide any levels you don’t need on your chart.
📐 ADDITIONAL LEVELS
You can display the following levels on your chart:
NYM (New York Market)
PDH (Previous Day High)
PDL (Previous Day Low)
PWH (Previous Week High)
PWL (Previous Week Low)
All of these are fully customizable with color selection and the option to extend lines into the next period.
💹 ACTIVE SESSION TABLE
The active sessions table helps you quickly identify the trading times for the sessions you care about. It’s fully customizable, with options to choose border and background colors for the table itself.
🟠 USAGE
This indicator is highly versatile: use it to simply mark trading sessions on your chart, set up the Kill Zone at your chosen time, or identify the context of the previous session by its most traded range levels. All of this makes the indicator an invaluable tool for any trader!
Dynamic Liquidity Depth [BigBeluga]
Dynamic Liquidity Depth
A liquidity mapping engine that reveals hidden zones of market vulnerability. This tool simulates where potential large concentrations of stop-losses may exist — above recent highs (sell-side) and below recent lows (buy-side) — by analyzing real price behavior and directional volume. The result is a dynamic two-sided volume profile that highlights where price is most likely to gravitate during liquidation events, reversals, or engineered stop hunts.
🔵 KEY FEATURES
Two-Sided Liquidity Profiles:
Plots two separate profiles on the chart — one above price for potential sell-side liquidity , and one below price for potential buy-side liquidity . Each profile reflects the volume distribution across binned zones derived from historical highs and lows.
Real Stop Zone Simulation:
Each profile is offset from the current high or low using an ATR-based buffer. This simulates where traders might cluster their stop-losses above swing highs (short stops) or below swing lows (long stops).
Directional Volume Analysis:
Buy-side volume is accumulated only from bullish candles (close > open), while sell-side volume is accumulated only from bearish candles (close < open). This directional filtering enhances accuracy by capturing genuine pressure zones.
Dynamic Volume Heatmap:
Each liquidity bin is rendered as a horizontal box with a color gradient based on volume intensity:
- Low activity bins are shaded lightly.
- High-volume zones appear more vividly in red (sell) or lime (buy).
- The maximum volume bin in each profile is emphasized with a brighter fill and a volume label.
Extended POC Zones:
The Point of Control (PoC) — the bin with the most volume — is extended backwards across the entire lookback period to mark critical resistance (sell-side) or support (buy-side) levels.
Total Volume Summary Labels:
At the center of each profile, a summary label displays Total Buy Liquidity and Total Sell Liquidity volume.
This metric helps assess directional imbalance — when buy liquidity is dominant, the market may favor upward continuation, and vice versa.
Customizable Profile Granularity:
You can fine-tune both Resolution (Bins) and Offset Distance to adjust how far profiles are displaced from price and how many levels are calculated within the ATR range.
🔵 HOW IT WORKS
The indicator calculates an ATR-based buffer above highs and below lows to define the top and bottom of the liquidity zones.
Using a user-defined lookback period, it scans historical candles and divides the buffered zones into bins.
Each bin checks if bullish (or bearish) candles pass through it based on price wicks and body.
Volume from valid candles is summed into the corresponding bin.
When volume exists in a bin, a horizontal box is drawn with a width scaled by relative volume strength.
The bin with the highest volume is highlighted and optionally extended backward as a zone of importance.
Total buy/sell liquidity is displayed with a summary label at the side of the profile.
🔵 USAGE/b]
Identify Stop Hunt Zones: High-volume clusters near swing highs/lows are likely liquidation zones targeted during fakeouts.
Fade or Follow Reactions: Price hitting a high-volume bin may reverse (fade opportunity) or break with strength (confirmation breakout).
Layer with Other Tools: Combine with market structure, order blocks, or trend filters to validate entries near liquidity.
Adjust Offset for Sensitivity: Use higher offset to simulate wider stop placement; use lower for tighter scalping zones.
🔵 CONCLUSION
Dynamic Liquidity Depth transforms raw price and volume into a spatial map of liquidity. By revealing areas where stop orders are likely hidden, it gives traders insight into price manipulation zones, potential reversal levels, and breakout traps. Whether you're hunting for traps or trading with the flow, this tool equips you to navigate liquidity with precision.
Smart Range DetectorSmart Range Detector
What It Does
This indicator automatically detects and validates significant trading ranges using pivot point analysis combined with logarithmic fibonacci relationships. It operates by identifying specific pivot patterns (High-Low-High and Low-High-Low) that meet fibonacci validation criteria to filter out noise and highlight only the most reliable trading ranges. Each range is continuously monitored for potential mitigation (breakout) events.
Key Features
Identifies both High-Low-High and Low-High-Low range patterns
Validates each range using logarithmic fibonacci relationships (more accurate than linear fibs)
Detects range mitigations (breakouts) and visually differentiates them
Shows fibonacci levels within ranges (25%, 50%, 75%) for potential reversal points
Visualizes extension levels beyond ranges for breakout targets
Analyzes volume profile with customizable price divisions (default: 60)
Displays Point of Control (POC) and Value Area for traded volume analysis
Implements performance optimization with configurable range limits
Includes user-adjustable safety checks to prevent Pine Script limitations
Offers fully customizable colors, line widths, and transparency settings
How To Use It
Identify Valid Ranges : The indicator automatically detects and highlights trading ranges that meet fibonacci validation criteria
Monitor Fibonacci Levels : Watch for price reactions at internal fib levels (25%, 50%, 75%) for potential reversal opportunities
Track Extension Targets : Use the extension lines as potential targets when price breaks out of a range
Analyze Volume Structure : Enable the volume profile mode to see where most volume was traded within mitigated ranges
Trade Range Boundaries : Look for reactions at range highs/lows combined with volume POC for higher probability entries
Manage Performance : Adjust the maximum displayed ranges and history bars settings for optimal chart performance
Settings Guide
Left/Right Bars Look Back : Controls how far back the indicator looks to identify pivot points (higher values find more ranges but may reduce sensitivity)
Max History Bars : Limits how far back in history the indicator will analyze (stays within Pine Script's 10,000 bar limitation)
Max Ranges to Display : Restricts the total number of ranges kept in memory for improved performance (1-50)
Volume Profile : When enabled, shows volume distribution analysis for mitigated ranges
Volume Profile Divisions : Controls the granularity of the volume analysis (higher values show more detail)
Display Options : Toggle visibility of range lines, fibonacci levels, extension lines, and volume analysis elements
Transparency & Color Settings : Fully customize the visual appearance of all indicator elements
Line Width Settings : Adjust the thickness of lines for better visibility on different timeframes
Technical Details
The indicator uses logarithmic fibonacci calculations for more accurate price relationships
Volume profile analysis creates 60 price divisions by default (adjustable) for detailed volume distribution
All timestamps are properly converted to work with Pine Script's bar limitations
Safety checks prevent "array index out of bounds" errors that plague many complex indicators
Time-based coordinates are used instead of bar indices to prevent "bar index too far" errors
This indicator works well on all timeframes and instruments, but performs best on 5-minute to daily charts. Perfect for swing traders, range traders, and breakout strategists.
What Makes It Different
Most range indicators simply draw boxes based on recent highs and lows. Smart Range Detector validates each potential range using proven fibonacci relationships to filter out noise. It then adds sophisticated volume analysis to help traders identify the most significant price levels within each range. The performance optimization features ensure smooth operation even on lower timeframes and extended history analysis.
Casa_VolumeProfileSessionLibrary "Casa_VolumeProfileSession"
Analyzes price and volume during regular trading hours to provide a session volume profile,
including Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL).
Calculates and displays these levels historically and for the developing session.
Offers customizable visualization options for the Value Area, POC, histogram, and labels.
Uses lower timeframe data for increased accuracy and supports futures sessions.
The number of rows used for the volume profile can be fixed or dynamically calculated based on the session's price range and the instrument's minimum tick increment, providing optimal resolution.
calculateEffectiveRows(configuredRows, dayHigh, dayLow)
Determines the optimal number of rows for the volume profile, either using the configured value or calculating dynamically based on price range and tick size
Parameters:
configuredRows (int) : User-specified number of rows (0 means auto-calculate)
dayHigh (float) : Highest price of the session
dayLow (float) : Lowest price of the session
Returns: The number of rows to use for the volume profile
debug(vp, position)
Helper function to write some information about the supplied SVP object to the screen in a table.
Parameters:
vp (Object) : The SVP object to debug
position (string) : The position.* to place the table. Defaults to position.bottom_center
getLowerTimeframe()
Depending on the timeframe of the chart, determines a lower timeframe to grab volume data from for the analysis
Returns: The timeframe string to fetch volume for
get(volumeProfile, lowerTimeframeHigh, lowerTimeframeLow, lowerTimeframeVolume, lowerTimeframeTime, lowerTimeframeSessionIsMarket)
Populated the provided SessionVolumeProfile object with vp data on the session.
Parameters:
volumeProfile (Object) : The SessionVolumeProfile object to populate
lowerTimeframeHigh (array) : The lower timeframe high values
lowerTimeframeLow (array) : The lower timeframe low values
lowerTimeframeVolume (array) : The lower timeframe volume values
lowerTimeframeTime (array) : The lower timeframe time values
lowerTimeframeSessionIsMarket (array) : The lower timeframe session.ismarket values (that are futures-friendly)
drawPriorValueAreas(todaySessionVolumeProfile, extendYesterdayOverToday, showLabels, labelSize, pocColor, pocStyle, pocWidth, vahlColor, vahlStyle, vahlWidth, vaColor)
Given a SessionVolumeProfile Object, will render the historical value areas for that object.
Parameters:
todaySessionVolumeProfile (Object) : The SessionVolumeProfile Object to draw
extendYesterdayOverToday (bool) : Defaults to true
showLabels (bool) : Defaults to true
labelSize (string) : Defaults to size.small
pocColor (color) : Defaults to #e500a4
pocStyle (string) : Defaults to line.style_solid
pocWidth (int) : Defaults to 1
vahlColor (color) : The color of the value area high/low lines. Defaults to #1592e6
vahlStyle (string) : The style of the value area high/low lines. Defaults to line.style_solid
vahlWidth (int) : The width of the value area high/low lines. Defaults to 1
vaColor (color) : The color of the value area background. Defaults to #00bbf911)
drawHistogram(volumeProfile, bgColor, showVolumeOnHistogram)
Given a SessionVolumeProfile object, will render the histogram for that object.
Parameters:
volumeProfile (Object) : The SessionVolumeProfile object to draw
bgColor (color) : The baseline color to use for the histogram. Defaults to #00bbf9
showVolumeOnHistogram (bool) : Show the volume amount on the histogram bars. Defaults to false.
Object
Object Contains all settings and calculated values for a Volume Profile Session analysis
Fields:
numberOfRows (series int) : Number of price levels to divide the range into. If set to 0, auto-calculates based on price range and tick size
valueAreaCoverage (series int) : Percentage of total volume to include in the Value Area (default 70%)
trackDevelopingVa (series bool) : Whether to calculate and display the Value Area as it develops during the session
valueAreaHigh (series float) : Upper boundary of the Value Area - price level containing specified % of volume
pointOfControl (series float) : Price level with the highest volume concentration
valueAreaLow (series float) : Lower boundary of the Value Area
startTime (series int) : Session start time in Unix timestamp format
endTime (series int) : Session end time in Unix timestamp format
dayHigh (series float) : Highest price of the session
dayLow (series float) : Lowest price of the session
step (series float) : Size of each price row (calculated as price range divided by number of rows)
pointOfControlLevel (series int) : Index of the row containing the Point of Control
valueAreaHighLevel (series int) : Index of the row containing the Value Area High
valueAreaLowLevel (series int) : Index of the row containing the Value Area Low
lastTime (series int) : Tracks the most recent timestamp processed
volumeRows (map) : Stores volume data for each price level row (key=row number, value=volume)
ltfSessionHighs (array) : Stores high prices from lower timeframe data
ltfSessionLows (array) : Stores low prices from lower timeframe data
ltfSessionVols (array) : Stores volume data from lower timeframe data
Fixed Range FootprintFixed Range Footprint allows you to analyze the Footprint over a specified time period. By enabling the "Extend Right" option, the Footprint transforms into a classic mode, extending from the starting point to the most recent bar in real-time.
Input Options:
Group: Coordinates
"Start range": Defines the starting coordinate for the Footprint period.
"End range": Defines the ending coordinate for the Footprint period.
Group: Row Size
"Ticks Per Row": Directly sets the price step, calculated by multiplying the input value by syminfo.mintick.
"Auto": Activates automatic mode for selecting the "Ticks Per Row" value.
"Max row": Relevant in auto mode; it limits the number of rows within a bar. The automatic calculation for "Ticks Per Row" is based on the first available bar and applied to subsequent bars.
Group: Imbalance
"Imbalance Percent": Sets a percentage-based coefficient to determine price level Imbalance by comparing the diagonal buy price to the previous sell price.
"Stacked levels": Defines the minimum number of consecutive Imbalance levels required to draw extended lines.
Group: Support
"Show Footprint Info": Toggles the display of Footprint information.
Group: Value Area
"Value Area": Sets the percentage for the Value Area.
"POC": Toggles the Point of Control (POC).
"VAH": Toggles the Value Area High (VAH).
"VAL": Toggles the Value Area Low (VAL).
"Show Volume Profile": Displays buy/sell volume at each level.
Group: Alerts
"Alert on New Imbalance": Enables alerts for the creation of new Imbalance levels.
"Alert on New Imbalance Line": Enables alerts for the creation of new Imbalance lines.
"Alert on Stop Past Imbalance Line": Enables alerts when price stops past an Imbalance line.
Volume Profile Heatmap [UAlgo]The "Volume Profile Heatmap " indicator is a tool designed to visualize the distribution of trading volume across different price levels over a specified period. This heatmap-style indicator helps traders identify significant price levels where a high volume of trading activity has occurred, which can be crucial for making informed trading decisions. The indicator divides the price range into multiple levels and calculates the volume of trades occurring at each level, presenting this data in a visually intuitive manner using a gradient of colors.
By analyzing the volume profile, traders can gain insights into areas of support and resistance, as well as the Point of Control (POC)—the price level with the highest traded volume. This information is valuable in assessing market sentiment, potential reversal points, and key areas of interest where price action might consolidate or react.
🔶 Key Features
Customizable Analysis Period: The indicator allows users to specify the analysis period, defining the historical range over which the volume profile is calculated.
Adjustable Number of Levels: Users can set the number of price levels to divide the price range, offering flexibility in the granularity of the volume analysis.
Color-Coded Heatmap: The indicator uses a gradient color scheme to visually represent volume intensity at each price level. Higher volume areas are shaded differently than lower volume areas, making it easy to spot significant price levels.
Opacity Control: Users can adjust the opacity of the volume boxes, enabling a clearer or more subtle visualization according to their preferences.
Point of Control (POC) Display: The indicator highlights the Point of Control, the price level with the highest traded volume, with a distinct line on the chart, allowing traders to easily identify this critical level.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results.
Supply Demand Profiles [LuxAlgo]The Supply Demand Profiles is a charting tool that measures the traded volume at all price levels on the market over a specified time period and highlights the relationship between the price of a given asset and the willingness of traders to either buy or sell it, in other words, highlights key concepts as significant supply & demand zones, the distribution of the traded volume, and market sentiment at specific price levels within a specified time period, allowing traders to reveal dominant and/or significant price levels and to analyze the trading activity of a particular user-selected range.
In other words, this tool highlights key concepts as significant supply & demand zones, the distribution of the traded volume, and market sentiment at specific price levels within a specified time period, allowing traders to reveal dominant and/or significant price levels and to analyze the trading activity of a particular user-selected range.
Besides having the tool as a combo tool, the uniqueness of this version of the tool compared to its early versions is its ability to benefit from different volume data sources and its ability to use a variety of different polarity methods, where polarity is a measure used to divide the total volume into either up volume (trades that moved the price up) or down volume (trades that moved the price down).
🔶 USAGE
Supply & demand zones are presented as horizontal zones across the selected range, hence adding the ability to visualize the price interaction with them
By default, the right side of the profile is the volume profile which highlights the distribution of the traded activity at different price levels, emphasizing the value area, the range of price levels in which the specified percentage of all volume was traded during the time period, and levels of significance, such as developing point of control line, value area high/low lines, and profile high/low labels
The left side of the profile is the sentiment profile which highlights the market sentiment at specific price levels
🔶 DETAILS
🔹 Volume data sources
The users have the option to select volume data sources as either 'volume' (regular volume) or 'volume delta', where volume represents all the recorded trades that occur at a given bar and volume delta is the difference between the buying and the selling volume, that is, the net demand at a given bar
🔹 Polarity methods
The users are able to choose the methods of how the tool to take into consideration the polarity of the bar (the direction of a bar, green (bullish) or red (bearish) bar) among a variety of different options, such as 'bar polarity', 'bar buying/selling pressure', 'intrabar (chart bars at a lower timeframe than the chart's) polarity', 'intrabar buying/selling pressure', and 'heikin ashi bar polarity'.
Finally, the interactive mode of the tool is activated, as such users can easily modify the intervals of their interest just by selecting the indicator and moving the points on the chart
🔶 SETTINGS
The script takes into account user-defined parameters and plots the profiles and zones
🔹 Calculation Settings
Volume Data Source and Polarity: This option is to set the desired volume data source and polarity method
Lower Timeframe Precision: This option is applicable in case any of the 'Intrabar (LTF)' options are selected, please check the tooltip for further details
Value Area Volume %: Specifies the percentage for the value area calculation
🔹 Presentation Settings
Supply & Demand Zones: Toggles the visibility of the supply & demand zones
Volume Profile: Toggles the visibility of the volume profile
Sentiment Profile: Toggles the visibility of the sentiment profile
🔹 Presentation, Others
Value Area High (VAH): Toggles the visibility of the VAH line and color customization option
Point of Control (POC): Toggles the visibility of the developing POC line and color customization option
Value Area Low (VAL): Toggles the visibility of the VAL line and color customization option
🔹 Supply & Demand, Others
Supply & Demand Threshold %: This option is used to set the threshold value to determine supply & demand zones
Supply/Demand Zones: Color customization option
🔹 Volume Profile, Others
Profile, Up/Down Volume: Color customization option
Value Area, Up/Down Volume: Color customization option
🔹 Sentiment Profile, Others
Sentiment, Bullish/Bearish: Color customization option
Value Area, Bullish/Bearish: Color customization option
🔹 Others
Number of Rows: Specify how many rows the profile will have
Placment: Specify where to display the profile
Profile Width %: Alters the width of the rows in the profile, relative to the profile range
Profile Price Levels: Toggles the visibility of the profile price levels
Profile Background, Color: Fills the background of the profile range
Value Area Background, Color: Fills the background of the value area range
Start Calculation/End Calculation: The tool is interactive, where the user may modify the range by selecting the indicator and moving the points on the chart or can set the start/end time using these options
🔶 RELATED SCRIPTS
Volume-Profile
Volume-Profile-Maps
Volume-Delta
Time Profile [QuantVue]The Time Profile indicator provides traders with a comprehensive view of volume and time-based price activity. The indicator combines two essential components into one indicator: the volume profile and the time profile.
The volume profile represents the distribution of trading volume at different price levels over a specified period and is displayed as a circle on the chart.
It provides a visual representation of where the majority of trading volume occurred and often highlights significant support and resistance levels. The volume profile is calculated as the closing price of the highest volume intraday bar, based on the user selected lower time frame.
On the other hand, the time profile focuses on analyzing the time spent at certain price levels. The indicator divides the current bars range into 10 blocks and counts the number of user selected lower time frame closes within each time block.
The block with the most lower time frame closes in it is deemed the time point of control. Traders can use this information to identify time blocks where price movement was most significant.
The time profile is drawn on the Y axis of the current bar to allow for an easy visualization of where price spent most of its time. Historical time profiles are also noted on previous bars with a dash marking the level.
The Time Profile indicator offers several customization options. Traders can adjust the timeframe for the lower time frame data, decide whether to display the time profile, and customize colors for visual clarity.
Additionally, traders can choose to highlight instances where the Volume POC and Time POC align, indicating a strong concentration of volume and price activity.
Don't hesitate to reach out with any questions or concerns.
We hope you enjoy!
Cheers.
Net Positions (Net Longs & Net Shorts) - By LeviathanThis script is an experimental indicator that visualizes the entering and exiting of long and short positions in the market. It also includes other useful tools, such as NL/NS Profile, NL/NS Delta, NL/NS Ratio, Volume Heatmap, Divergence finder, Relative Strength Index of Net Longs and Net Shorts, EMAs and VWMAs and more.
To avoid misinterpretation, it's important to understand some basics. The “real” ratio between net long and net short positions in a given market is always 1:1. A futures contract is an agreement between two parties to buy or sell an underlying asset at an agreed-upon price. Each contract has a long side and a short side, with one party agreeing to buy (long) and the other party agreeing to sell (short) the asset at the agreed-upon price. The long position holder anticipates that the asset's price will rise, while the short position holder expects it to fall. Because every futures contract involves both a buyer and a seller, it is impossible to have more net longs than net shorts or vice versa (in terms of the net value). For every long position opened, there must be a corresponding short position taken by another market participant (and vice versa), thus maintaining the 1:1 ratio between longs and shorts. While there can be an imbalance in the number of traders/accounts holding long and short contracts, the net value of positions held on each side remains 1 to 1.
Open Interest (OI) is a metric that tracks the number of open (unsettled) contracts in a given market. For example, Open Interest of 100 BTC means that there are currently 100 BTC worth of longs and 100 BTC worth of shorts open in the market. There may be more traders on one side holding smaller positions, and fewer traders on the other side holding larger positions, but the net value of positions on one side is equal to the net value of positions on the other side → 100 BTC in longs and 100 BTC in shorts (1:1). Consider a scenario in which a trader decides to open a long position for 1 BTC at a price of HKEX:30 ,000. For this long order to be executed, a counterparty must take the opposite side of the contract by placing an order to short 1 BTC at the same price of HKEX:30 ,000. When both the long and short orders are matched and executed, the open interest increases by 1 BTC, reflecting the addition of this new contract to the market.
Changes in Open Interest essentially tell us 3 things:
- OI Increase - new positions entered the market (both longs and shorts!)
- OI Decrease - positions exited the market (both longs and shorts!)
- OI Flat - no change in open positions due to low activity or simply lots of transfers of contracts
However, different concepts can be used to analyze sentiment, aggressiveness, and activity in the market by analyzing data such as Open Interest, price, volume, etc. This indicator combines Open Interest data and price action to simplify the visualization of positions entering and exiting the market. It is based on the following concept:
Increase in Open Interest + Increase in price = Longs Opening
Decrease in Open Interest + Decrease in price = Longs Closing
Increase in Open Interest + Decrease in price = Shorts Opening
Decrease in Open Interest + Increase in price = Shorts Closing
When "Longs Opening" occurs, the OI Delta value is added to the running total of Net Longs, and when "Longs Closing" occurs, the OI Delta value is subtracted from the running total of Net Longs.
When "Shorts Opening" occurs, the OI Delta value is added to the running total of Net Shorts, and when "Shorts Closing" occurs, the OI Delta value is subtracted from the running total of Net Shorts.
To summarize:
Net Longs: Cumulative value of Longs Opening and Longs Closing (LO - LC)
Net Shorts: Cumulative value of Shorts Opening and Shorts Closing (SO - SC)
Net Delta: Net Longs - Net Shorts
Net Ratio: Net Longs / Net Shorts
This is the fundamental logic of how this script functions, but it also includes several other tools and options. Here is an overview of the settings:
Type:
- Net Positions (display values of Net Longs, Net Shorts, Net Delta, Net Ratio as described above)
- Relative Strength (display Net Longs, Net Shorts, Net Delta, Net Ratio in the form of a momentum oscillator that measures the speed and change of movements. Same logic as RSI for price)
Display as:
- Candles (display the data in the form of candlesticks)
- Lines (display the data in the form of candlesticks)
- Columns (display the data in the form of columns)
Cumulation:
- Visible Range (data is cumulated from the first visible bar on your chart)
- Full Data (data is cumulated from the beginning)
Quoted in:
- Base Currency (all data is presented in the pair’s base currency eg. BTC)
- Quote Currency (all data is presented in the pair’s quote currency eg USDT)
OI Sources
- Pick the sources from where the data is collected (if available).
Net Positions:
- NET LONGS (show/hide Net Longs plot, choose candle colors, choose line color)
- NET SHORTS (show/hide Net Shorts plot, choose candle colors, choose line color)
- NET DELTA (show/hide Net Delta plot, choose candle colors, choose line color)
- NET RATIO (show/hide Net Ratio plot, choose candle colors, choose line color)
Moving Averages:
- Type (choose between EMA and Volume Weighted Moving Average)
- NET LONGS (show/hide NL moving average plot, choose length, choose color)
- NET SHORTS (show/hide NS moving average plot, choose length, choose color)
- NET DELTA (show/hide ND moving average plot, choose length, choose color)
- NET RATIO (show/hide NR moving average plot, choose length, choose color)
Profile:
- Profile Data (choose the source data of the profile)
- Value Area % (set the percentage width of profile’s value area)
- Positions (set the position of the profile to left or right of the visible range)
- Node Size (set the relative size of nodes to make them appear smaller or larger)
- Rows (select the amount of rows displayed by the profile to control granularity)
- POC (show/hide POC- Point Of Control and select its color)
- VA (show/hide VA- Value Area and select its color)
Divergence finder
- Source (choose the source data used by the script to compare it with price pivot points)
- Maximum distance (the maximum distance between two divergent pivot points)
- Lookback Bars Left (the number of bars to the left of the current bar that the function will consider when looking for a pivot point)
- Lookback Bars Right (the number of bars to the right of the current bar that the function will consider when looking for a pivot point)
Stats:
- Show/Hide the Stats table
- Bars Back (choose the length of data analyzed for stats in number of bars)
- Position (choose the position of the Stats table)
- Select Data you want to display in the Stats table
Additional Settings:
- Volume Heatmap (show/hide volume heatmap and select its color)
- Label Offset (select how much the plot label is shifted to the right
- Position Relative Strength Length (select the length used in the calculation)
- Value Label (show/hide OI Delta values when candles are displayed)
- Plot Labels (show/hide the labels next to the plot)
- Wicks (show/hide wick when candles are displayed)
Code used for generating profiles is taken from @KioseffTrading's "Profile Any Indicator" script (used with author's permission)
RS: Market ProfileA Market Profile (time price opportunity) implementation with an option to mark a point of control (POC) based on volume.
Config: Hide default candles. Select a session time using exchange timezone. Experiment with tick multiplier value to achieve desired level of detail. Choose the symbols of your choice, e.g. squares or A-Z chars. For multiple sessions you will have to add additional instances of this script with a different time configuration.
Limitations: TradingView has a hard limit for the number of characters (500), if it's reached, label rendering stops. Try increasing tick multiplier value to reduce the number of labels rendered or reduce the window size.
Features:
Use symbols or A-Z chars for TPOs
Mark POC
Calculate Value Area (volume or time based)
Highlight single prints (SP)
Highlight VWAP
Show daily bar
Highlight Open and Close
Highlight current price row (during live market)
Highlight initial balance (IB)
[potatoshop] Volume Profile lower timeframeThis script is a volume profile that displays the volume of transactions in price blocks over a recent period of time.
For a more detailed representation, OHCLV values on the time frame lower than the time zone on the chart were called and expressed.
Low time frames are adjustable.
You can adjust the number of blocks and the most recent time period that you want to view.
Although it cannot be compared to the volume indicators provided for paid users of Trading-View, it has functioned by displaying transactions that are difficult to find on open source.
Displays the amount traded in each block and the percentage of the total over a given period.
POC represents the middle value of the block with the highest transaction volume as a line.
TPOC represents the block that stayed the longest regardless of the volume of transaction.
The reversal line appears when you determine the trading advantage of the rising and falling closing on a block basis and then have a different value from the neighboring blocks.
(I didn't mean it much, but I just put it in for fun.)
It represents the total volume of transactions traded in each block, and there are also check boxes in the settings window that represent the volume of transactions that closed higher and closed lower.
You can specify the color of each block.
The highest and lowest values for the set period and the total sum of each block are displayed at the bottom of the box.
Because it was made using a lot of arrays, the total transaction volume was marked separately to check the value.
When expressing the price block according to the trading volume percentage, it was a pity that the minimum pixel was 1 bar, so it could not be expressed delicately.
Although set to bar_time in Box properties xloc, 1 bar was actually the minimum unit of the X-axis value.
The logic used to place the transaction volume for each block is as follows.
1. Divide the difference between the high and low values of 1 LTF bar by the transaction volume .
2. Find the percentage of this LTF bar within each block.
3. Multiply the ratio by the transaction volume again.
4. Store the value in each block cell.
Below are the codes of the people I referred to this time.
1. ‘Time & volume point of control (TPOC & VPOC)’ by quantifytools
2. ‘Volume Profile ’ by LuxAlgo
3. ‘Volume Profile and Volume Indicator by DGT’ by dgtrd
The script is for informational and educational purposes only.
이 스크립트는 최근 일정 기간동안의 거래량을 가격 블록단위로 표시해 주는 볼륨 프로화일입니다.
좀 더 자세한 표현을 위해 차트상의 시간대보다 낮은 시간 프레임상의 OHCLV 값들을 호출하여 표현하였습니다.
낮은 시간 프레임은 조절 가능합니다..
보고 싶은 최근 일정 기간과 블럭 갯수를 조절할 수 있습니다.
트뷰 유료 사용자들을 위해 제공하는 지표와는 비교할 수는 없지만, 오픈 소스상에서는 찾기 힘든 거래량을 표시해 기능을 넣었습니다.
각 블럭에서 거래되었던 양 과 주어진 기간 동안의 총량 대비 퍼센트를 표시해 줍니다.
POC는 거래량이 가장 많았던 블럭의 중간값을 라인으로 표현해 줍니다.
TPOC는 거래량에 상관없이 가장 오랜 시간 머물렸던 블럭을 표현해 줍니다.
반전선은 블럭 단위로 상승 마감과 하락 마감의 거래량 우세를 결정한 뒤, 이웃 블럭들하고 다른 값을 가질 때 나타납니다.
(어떤 뜻을 갖고 만든 건 아니고 그냥 재미로 넣어 보았습니다.)
각 블럭에서 거래되었던 총거래량을 표현해 주며, 또한 설정창에서 상승 마감한 거래량과 하락 마감한 거래량을 표현하는 체크 박스가 있습니다.
각 블럭의 색깔을 지정하실 수 있습니다.
설정된 기간 동안의 최고값과 최저값, 각 블럭을 합친 총량을 박스 하단에 표시해 두었습니다.
어레이를 많이 사용하여 만들었기 때문에 값의 확인을 위해 전체 거래량을 따로 표시하였습니다.
가격 블럭을 거래량 퍼센트에 따라 표현할 때, 최소 픽셀이 1bar 이어서 섬세하게 표현 할 수 없어 안타까웠습니다.
박스 속성을 xloc.bar_time 로 설정하였지만 실제로는 1 bar가 X축 값의 최소 단위였습니다.
각 블록 별로 거래량을 배치 할 때 쓰인 로직은 다음과 같습니다.
1. 1 LTF bar의 하이 와 로우 값의 차이를 거래량으로 나누어 줍니다.
2. 각 블록 안에서 이 LTF bar가 차지 하는 비율을 구합니다.
3. 그 비율에 다시 거래량을 곱해 줍니다.
4. 그 값을 각 블록 셀에 저장해 줍니다.
밑에 제가 이번에 참고한 분들의 코드들입니다.
1. ‘Time & volume point of control (TPOC & VPOC)’ by quantifytools
2. ‘Volume Profile ’ by LuxAlgo
3. ‘Volume Profile and Volume Indicator by DGT’ by dgtrd
Estimated Time At Price [Kioseff Trading]Hello!
This script uses the same formula as the recently released "Volume Delta" script to ascertain lower timeframe values.
Instead, this script looks to estimate the approximate time spent at price blocks; all time estimates are in minute.second format.
The image above shows functionality. Time spent at price levels/blocks are estimated in duration. The highest estimated block is the highlighted level and a POC line is extended right until violated. Colors, the presence of POC lines and whether they're removed subsequent violation are all configurable.
As show in the image above, the data is displayable in an additional format. When select the "non-classic" format shown above - precise price levels are calculated and the estimated time spent at those levels is summed and displayed right of the current bar. The off-colored level (yellow in the example) denotes the price level encompassing the highest *estimated* time spent.
You can deselect the neon effect and choose to have the script recalculate after any conceivable amount of time has passed.
The script can also calculate for the most current bar should you configure it to do so.
That's all! (for now). A quick/easy script building off an existing foundation.
If you've any ideas for features and ways to "spice up" this script please let me know (: I'll gladly incorporate requests.
Thank you!
TPO Market Profile [Kioseff Trading]REPOST; SCRIPT WORKS!!
Due to technical error, this script was republished! Thank you for your support (:
Hello!
This indicator comprises a real time TPO Market Profile!
The script works on any timeframe 1 second or greater - the script calculates relative to the timeframe selected for your chart.
The image above shows the 1-minute BTCUSD chart; 650 +/- tick levels are set.
To see the script in full functionality - try using bar replay on a cryptocurrency 1-minute chart (start at the beginning of a regular hours session). Be sure to adjust the tick spread if necessary (:
So far, the script's held up in real time - I've not had any array loop errors or timeouts. The TPO profile updates accordingly with changes in time / high and low prices. Letters are appended to the profile in real time.
The image above shows configurations for the indicator. I plan to update the indicator quite a bit over the coming days - more to come.
You can select the timeframe change the indicator accounts for. For instance, you can have set the indicator to reset every day, every 30 minutes, every 5 minutes, every week, month, etc.
In the image above, I configured the indicator to recalculate every 3 months. Consequently, the indicator will record a TPO profile for three consecutive, reset, then record a TPO profile for the next 3 months. This setting makes the indicator compatible with any timeframe greater than 1 minute.
You can also use a drag & drop time-start bar to modify the starting point for the market profile TPO calculation.
The indicator hosts an option to auto calculate the tick spread between levels. However, as you switch timeframes and assets, sometimes, you'll have to manually set the tick range (:
Thanks for checking it out; more to come!
Sep 4
Release Notes: UPDATE: The indicator can work on seconds-based charts.
The image above shows the indicator working on the 1-second chart.
(Screenshot is old; characters are now numbered instead of strange unicode)
Release Notes: Added value area + vah + val. Font update. Changed characters to numbered once the alphabet is exhausted. POC, VAH, and VAL label located left of the first bar of the interval. Initial balance range can be toggled. Spaced the characters (more legible). Quite a bit of aesthetic changes so check it out!
Soon, I'll release a version of the script that shows VAH, POC, VAL, and TPO letters from previous sessions. I coded this feature into this indicator; however, it was removed due to load time complications. This feature will be its own script (:
If the script has trouble loading please let me know (:
Magnifying Glass (LTF Candles) by SiddWolf█ OVERVIEW
This indicator displays The Lower TimeFrame Candles in current chart, Like Zooming in on the Candle to see it's Lower TimeFrame Structure. It plots intrabar OHLC data inside a Label along with the volume structure of LTF candle in an eloquent format.
█ QUICK GUIDE
Just apply it to the chart, Hover the mouse on the Label and ta-da you have a Lower Timeframe OHLC candles on your screen. Move the indicator to the top and shrink it all the way up, because all the useful data is inside the label.
Inside the label: The OHLC ltf candles are pretty straightforward. Volume strength of ltf candles is shown at bottom and Volume Profile on the left. Read the Details below for more information.
In the settings, you will find the option to change the UI and can play around with Lower TimeFrame Settings.
█ DETAILS
First of all, I would like to thank the @TradingView team for providing the function to get access to the lower timeframe data. It is because of them that this magical indicator came into existence.
Magnifying Glass indicator displays a Candle's Lower TimeFrame data in Higher timeframe chart. It displays the LTF candles inside a label. It also shows the Volume structure of the lower timeframe candles. Range percentage shown at the bottom is the percentage change between high and low of the current timeframe candle. LTF candle's timeframe is also shown at the bottom on the label.
This indicator is gonna be most useful to the price action traders, which is like every profitable trader.
How this indicator works:
I didn't find any better way to display ltf candles other than labels. Labels are not build for such a complex behaviour, it's a workaround to display this important information.
It gets the lower timeframe information of the candle and uses emojis to display information. The area that is shown, is the range of the current timeframe candle. Range is a difference between high and low of the candle. Range percentage is also shown at the bottom in the label.
I've divided the range area into 20 parts because there are limitation to display data in the labels. Then the code checks out, in what area does the ltf candle body or wick lies, then displays the information using emojis.
The code uses matrix elements for each block and relies heavily on string manipulation. But what I've found most difficult, is managing to fit everything correctly and beautifully so that the view doesn't break.
Volume Structure:
Strength of the Lower TimeFrame Candles is shown at the bottom inside the label. The Higher Volume is shown with the dark shade color and Lower Volume is shown with the light shade. The volume of candles are also ranked, with 1 being the highest volume, so you can see which candle have the maximum to minimum volume. This is pretty important to make a price action analysis of the lower timeframe candles.
Inside the label on the left side you will see the volume profile. As the volume on the bottom shows the strength of each ltf candles, Volume profile on the left shows strength in a particular zone. The Darker the color, the higher the volume in the zone. The Highest volume on the left represents Point of Control (Volume Profile POC) of the candle.
Lower TimeFrame Settings:
There is a limitation for the lowest timeframe you can show for a chart, because there is only so much data you can fit inside a label. A label can show upto 20 blocks of emojis (candle blocks) per row. Magnifying Glass utilizes this behaviour of labels. 16 blocks are used to display ltf candles, 1 for volume profile and two for Open and Close Highlighter.
So for any chart timeframe, ltf candles can be 16th part of htf candle. So 4 hours chart can show as low as 15 minutes of ltf data. I didn't provide the open settings for changing the lower timeframe, as it would give errors in a lot of ways. You can change the timeframe for each chart time from the settings provided.
Limitations:
Like I mentioned earlier, this indicator is a workaround to display ltf candles inside a label. This indicator does not work well on smaller screens. So if you are not able to see the label, zoom out on your browser a bit. Move the indicator to either top or bottom of all indicators and shrink it's space because all details are inside the label.
█ How I use MAGNIFYING GLASS:
This indicator provides you an edge, on top of your existing trading strategy. How you use Magnifying Glass is entirely dependent on your strategy.
I use this indicator to get a broad picture, before getting into a trade. For example I see a Doji or Engulfing or any other famous candlestick pattern on important levels, I hover the mouse on Magnifying Glass, to look for the price action the ltf candles have been through, to make that pattern. I also use it with my "Wick Pressure" indicator, to check price action at wick zones. Whenever I see price touching important supply and demand zones, I check last few candles to read chart like a beautiful price action story.
Also volume is pretty important too. This is what makes Magnifying Glass even better than actual lower timeframe candles. The increasing volume along with up/down trend price shows upward/downward momentum. The sudden burst (peak) in the volume suggests volume climax.
Volume profile on the left can be interpreted as the strength/weakness zones inside a candle. The low volume in a price zone suggests weakness and High volume suggests strength. The Highest volume on the left act as POC for that candle.
Before making any trade, I read the structure of last three or four candles to get the complete price action picture.
█ Conclusion
Magnifying Glass is a well crafted indicator that can be used to track lower timeframe price action. This indicator gives you an edge with the Multi Timeframe Analysis, which I believe is the most important aspect of profitable trading.
~ @SiddWolf
Heisenberg's Uncertainty BandsHeisenberg's Uncertainty Bands:
This is a volatility indicator to determine and visualize the uncertainty in a securities' price.
In quantum mechanics, the uncertainty principle (also known as Heisenberg's uncertainty principle) is any of a variety of mathematical inequalities asserting a fundamental limit to the accuracy with which the values for certain pairs of physical quantities of a particle, such as position, x, and momentum, p, can be predicted from initial conditions.
It plots a Kalman filter average of the bars inside a higher timeframe bar, to attempt to find the most frequent price in that bar's timespan. To plot what is effectively a MA using POC (IvanLabrie's code, credits to the author).
It derives momentum from relative momentum, yielding results more sensitive to changes.
Then it uses Heisenberg's uncertainty principle to find an uncertainty range, and uses it as the channel distance from the POC MA, meaning price is likely to fluctuate within that range.
Since uncertainty must be greater than h/2, adding fib levels will make it a useful indicator. Essentially they are pseudo-Fibonacci Bollinger Bands, which uses a different calculation.
Benefits:
Prices fluctuate, and it can be helpful to visualize price as a range, rather than a single point or line. This visualization can help in managing risk, determining entries and exits, and prevent losing one's position due to price fluctuations during a trend.
If we use a particle model, the uncertainty principle dictates that it is impossible to predict the price within a range. This is a good model for risk management!
Usage:
There are 5 Fibonacci ratio outer bands that can be turned on or off according to user's preference.
Recommended that the length inputs should be increased in higher timeframes, to visualize trends, shorter timeframes should have lower lengths.
GLHF
- DPT
[RS]Market ProfileEXPERIMENTAL: this script is very crude and prone to errors..
Request for: FibTrader
instead of a POC line theres a POC area instead, since the script is checking a price area range for the frequency, its possible to average the values but this works as well.
Ram HTF Direction & Market ProfileRam HTF Direction & Markey Profile.
I am trying to identify the HTF(Daily) Direction and Market profiles POC,VAL,VAH to trade on 1HR.
Volume Bubbles & Liquidity Heatmap 30% + biasLuxAlgo gave us an open script, I just primmed it up with the use of Chat GPT:There is no single magic number (like “delta must be 800”) that will guarantee directional follow-through in every market. But you can make a mathematically rigorous filter that gives you a high-probability test — by normalizing the delta against that market’s typical behavior and requiring multiple confirmations. Below is a compact, actionable algorithm you can implement immediately (in your platform or spreadsheet) plus concrete thresholds and the math behind them.
High-IQ rule set (math + trade logic)
Use three independent checks. Only take the trade if ALL three pass.
1) Z-score (statistical significance of the delta)
Compute rolling mean
𝜇
μ and std dev
𝜎
σ of delta on the same timeframe (e.g. 5m) over a lookback window
𝑊
W (suggest
𝑊
=
50
W=50–200 bars).
𝑍
=
delta
bar
−
𝜇
𝑊
𝜎
𝑊
Z=
σ
W
delta
bar
−μ
W
Threshold: require
𝑍
≥
2.5
Z≥2.5 (strong) — accept 2.0 for less strict, 3.0 for very rare signals.
Why: a Z>=2.5 means this delta is an outlier (~<1% one-sided), not normal noise.
2) Relative Imbalance (strength vs total volume)
Compute imbalance ratio:
𝑅
=
∣
delta
bar
∣
volume
bar
R=
volume
bar
∣delta
bar
∣
Threshold: require
𝑅
≥
0.25
R≥0.25 (25% of the bar’s volume is one-sided). For scalping you can tighten to 0.30–0.40.
Why: a big delta with tiny volume isn’t meaningful; this normalizes to participation.
3) Net follow-through over a confirmation window
Look ahead
𝑁
N bars (or check the next bar if you need intrabar speed). Compute cumulative delta and price move:
cum_delta
𝑁
=
∑
𝑖
=
1
𝑁
delta
bar
+
𝑖
cum_delta
N
=
i=1
∑
N
delta
bar+i
price_move
=
close
bar
+
𝑁
−
close
bar
price_move=close
bar+N
−close
bar
Thresholds: require
cum_delta
𝑁
cum_delta
N
has the same sign as the trigger and
∣
cum_delta
𝑁
∣
≥
0.5
×
∣
delta
bar
∣
∣cum_delta
N
∣≥0.5×∣delta
bar
∣, and
price_move
price_move exceeds a minimum meaningful tick amount (instrument dependent). For ES / US30 type futures: price move ≥ 5–10 ticks; for forex pairs maybe 10–20 pips? Use ATR
20
20
×0.05 as a generic minimum.
Why: separates immediate absorption (buy delta then sellers soak it) from genuine continuation.
Bonus check — Structural context (must be satisfied)
Trigger should not occur against a strong structural barrier (VWAP, daily high/low, previous session POC) unless you’re explicitly trading exhaustion/absorption setups.
If signal occurs near resistance and price does not clear that resistance within
𝑁
N bars, treat as probable trap.
Putting it together — final trade decision
Take the long (example):
If
𝑍
≥
2.5
Z≥2.5 and
𝑅
≥
0.25
R≥0.25 and cum_delta_N confirms and no hard resistance above (or you’re willing to trade absorption), then enter.
Place stop: under the low of the last 2–3 bars or X ATR (instrument dependent).
Initial target: risk:reward 1:1 minimum, scale out at 1.5–2R after confirming further delta.
Concrete numeric illustration using your numbers
You saw FOL = 456, then sell reaction with ~350 opposite. How to interpret:
Suppose your 5-min rolling mean
𝜇
μ = 100 and
𝜎
σ=120 (example):
𝑍
=
(
456
−
100
)
/
120
≈
2.97
⇒
statistically big
Z=(456−100)/120≈2.97⇒statistically big
So it passes Z.
If volume on that bar = 2000 contracts:
𝑅
=
456
/
2000
=
0.228
⇒
just below 0.25 threshold
R=456/2000=0.228⇒just below 0.25 threshold
So it fails R (weak participation proportionally), explaining why 456 alone didn’t move price.
Seller came back with 350 opposite soon after — check cum_delta_N:
cum_delta
𝑛
𝑒
𝑥
𝑡
3
≈
456
−
350
=
106
net
cum_delta
next3
≈456−350=106 net
Net is small relative to the initial spike — not convincing follow-through.
Conclusion: despite a big absolute number (456), relative measures and lack of follow-through meant the move failed. That’s exactly why raw numbers alone are unreliable.
Advanced refinement (for elite performance)
Use rolling median + MAD instead of mean/std if delta distribution is skewed.
Scale Z by volume volatility: divide Z by
volume
bar
/
volume
‾
volume
bar
/
volume
to penalize low-volume bars.
Use a signed cumulative delta over micro-windows: compute windowed cumulative delta standardized:
𝑍
cum
=
∑
𝑖
=
0
𝑀
−
1
delta
𝑡
−
𝑖
−
𝑀
𝜇
𝑀
𝜎
Z
cum
=
M
σ
∑
i=0
M−1
delta
t−i
−Mμ
and require
𝑍
cum
≥
3
Z
cum
≥3 for very high confidence.
Add market-depth / DOM confirmation (if available): require that resting ask size above is less than resting bid size below by a factor (i.e. visible liquidity supports the move).
Practical thresholds to start with (tune per instrument)
Lookback
𝑊
W: 100 bars (5m → about a trading day)
Z threshold: 2.5
Imbalance ratio
𝑅
R: ≥ 0.25 (tighten to 0.30 for scalping)
Confirmation window
𝑁
N: next 1–3 bars for intraday scalps; 3–6 bars for short swings
Cum delta confirmation: ≥ 0.5 × initial delta and same sign
Price move confirmation: ≥ 0.03 × ATR20 (or set absolute ticks per instrument)
TL;DR — the single best rule
Don’t chase absolute numbers. Use Z-score of delta + delta/volume ratio + real follow-through. If all three align, odds are heavily in your favor.
If you want, I can:
give you a tiny script (pseudocode or Pine / Python) that computes Z, R, cum_delta_N and flags qualifying bars, or
run the calculation on a sample of your recent bars if you paste a small CSV of time, delta, volume, close.
Which do you want? (I’ll give code right away.)
You said:
give me a percentage of difference where we have a high probability
ChatGPT said:
Thought for 7s
Nice — straight to the point. Here’s a concise, practical set of percentage thresholds (and associated confidence estimates) you can use right now to flag a “high probability” delta signal. I’ll give you three tiers (good / strong / elite), explain what each means, show how to compute it, and give a short example using your 456/2000 bar.
One-line rule
Compute delta percent
𝑃
=
∣
delta
∣
volume
×
100
%
P=
volume
∣delta∣
×100%.
Then require Z-score of delta ≥ 2.5 and P to be at or above the threshold below for the desired confidence tier.
Threshold tiers (percent of bar volume)
Good (high-probability trade candidate)
P ≥ 20–25%
Typical success probability (when combined with Z≥2.5 and no hard structural resistance): ~60–70%.
Use when you want a steady flow of signals with decent edge.
Strong (high confidence)
P ≥ 30–35%
Typical success probability: ~70–80% (with Z≥2.5 + structural alignment).
Fewer signals, higher win-rate. Good default for intraday.
Elite (very high probability / low false positives)
P ≥ 40–50%
Typical success probability: ~80–90% (with Z≥3 and confirmation).
Rare signals. Use for meaningful size or when you need maximum certainty.
Why percentage matters (short)
Absolute delta (456) is meaningless without volume context. A 456 delta on 2,000 volume → P = 456/2000 = 22.8% → sits just below the Good threshold, which matches why it failed: decent but not dominant participation.
Additional required checks (don’t skip these)
To turn P into a reliable filter, always require:
Z-score of the delta ≥ 2.5 (or ≥3 for Elite signals).
No immediate structural barrier (VWAP, strong resistance) that would plausibly absorb the order.
Follow-through: within next N bars (N = 1–3 for scalps) price moves in the same direction by ≥ 0.03×ATR20 (or instrument-specific tick threshold). If this fails, cut fast.
Combine all three and your realized win-rate will approach the probabilities above.
Practical quick checklist (to apply each signal)
Compute P = |delta|/volume. Is P ≥ 30%? (or your chosen tier)
Compute Z = (delta − mean)/std over last 100 bars. Is Z ≥ 2.5?
Is price not pinned under a heavy resistance?
Enter on next bar close (or intrabar on continuation), stop under last 2-bar low (for longs).
If price fails to move ≥ 0.03×ATR20 within 3 bars, exit.
Example (your bar)
delta = 456, volume = 2000 → P = 22.8% → below Good threshold (25%).
Even if Z was high, P failed — explains the failure. You need P ≥ ~30% plus Z≥2.5 to call it a Strong signal.
Final notes (instrument & timeframe)
These percentages were calibrated for futures/US indices and short intraday bars (1–5m).
For FX or low-tick instruments, use absolute ticks + a smaller P threshold (start at 15–20%).
Always backtest on the specific instrument/timeframe and tune thresholds.
If you want, I’ll generate a tiny script (Python or Pine) that calculates P and Z and flags Good/Strong/Elite signals for your chart history so you can see exact historical hit rates. Which language (Python or Pine)?
You said:
so if we have 456 g vs 350 r what pct is that in favour of green?
ChatGPT said:
Perfect — let’s calculate it carefully, digit by digit so we don’t make a slip.
We have:
Green (buy) volume = 456
Red (sell) volume = 350
We want to know what percentage is in favor of green, relative to the total volume.
Step 1. Compute total volume
Total
=
456
+
350
=
806
Total=456+350=806
Step 2. Compute green’s share
\text{Green %} = \frac{456}{806} \times 100
Now do it precisely:
456
÷
806
=
0.565506
456÷806=0.565506 (rounded)
So:
0.565506
×
100
=
56.55
%
0.565506×100=56.55%
Step 3. Compute red’s share (for context)
350
806
=
0.434494
→
43.45
%
806
350
=0.434494→43.45%
Step 4. Compute difference (bias toward green)
56.55
%
−
43.45
%
=
13.10
%
56.55%−43.45%=13.10%
✅ Final answer:
Green = 56.6% of total
Red = 43.4% of total
Bias = +13.1 percentage points in favor of green
So that’s only a 13% advantage to buyers — modest pressure, not a dominant imbalance.
For a high-probability signal (as we discussed earlier), you generally want ≥30% imbalance (e.g. ~65/35 split or stronger).
Original:
''The Volume Bubbles & Liquidity Heatmap indicator is a powerful trading tool designed to give traders a clearer picture of volume dynamics and liquidity distribution across multiple timeframes. By combining dynamic volume bubbles with a liquidity heatmap, this indicator makes it easy to identify areas of price interest, spot market imbalances, and improve decision-making for both scalpers and swing traders.
This trading indicator is ideal for volume traders, price action traders, and liquidity-focused traders who need a clean, multi-dimensional view of buyer/seller activity and the zones where market participants are most active. With full customization over bubble display, timeframes, and visual settings, traders can tailor the tool to fit virtually any trading strategy or market.''
Просто и ясноThis indicator is a comprehensive trading tool that combines multiple moving averages (MA) and volume profile analysis. Here’s a brief overview of its main components:
Moving Averages System
The indicator displays several types of moving averages with customizable parameters:
Primary MA System:
Two main MAs (MA1 and MA2) with selectable types (SMA, EMA, WMA, VWMA, RMA, HMA)
Customizable lengths for both MAs
MA1 is plotted in blue, MA2 in red
Global Trend MA:
A long-term MA (green line) for trend identification
An additional multiplier line (purple) for support/resistance levels
Additional EMAs:
Multiple EMAs with different periods (from 5 to 150 periods)
Dynamic color coding (green/red) based on direction
Two key EMAs (35 and 90 periods) plotted in yellow
Volume Profile Analysis
The indicator includes a volume profile component that:
Analyzes price distribution over a specified number of bars
Displays volume-based histograms showing:
Buy volume (blue bars)
Sell volume (red bars)
Point of Control (PoC) area
Plots top and bottom range lines
Key Features
Customizable Parameters:
MA types and lengths
Volume profile settings
Visual appearance
Overlays:
All elements are plotted on the price chart
Multiple MA lines for trend analysis
Volume histograms for market depth analysis
Practical Use:
Trend identification using MA crossovers
Support/resistance levels from MA lines
Volume analysis for market sentiment
Potential reversal zones based on volume distribution
The indicator is designed for both trend following and reversal trading strategies, providing a combination of trend analysis tools and volume-based market structure insights.
Это комплексный индикатор для технического анализа, который объединяет несколько инструментов:
Скользящие средние (MA) разных типов (SMA, EMA, WMA, VWMA, RMA, HMA) с настраиваемыми периодами
Основная система из двух MA (синяя и красная линии) для определения трендов
Глобальная MA (зелёная линия) для анализа долгосрочного тренда
Дополнительные EMA с динамической раскраской (зелёный/красный)
Профиль объёма с гистограммами покупок (синие) и продаж (красные)
Индикатор помогает:
Определять тренды через пересечения MA
Находить уровни поддержки/сопротивления
Анализировать рыночный объём
Оценивать настроения участников рынка
Инструмент подходит как для внутридневной торговли, так и для долгосрочного анализа. Все элементы отображаются прямо на графике цены.