Key Levels Suite - By LeviathanThis is a comprehensive script, designed to display over 100 key price levels across multiple dimensions, including volume profile levels, HTF levels, VWAPs, SMAs/EMAs, market session levels, day of week levels and more. The indicator offers high flexibility in features, settings and visual appearance.
● The script organizes levels into six main categories:
Higher Timeframe (HTF) Levels
- Current and/or previous period: Open, High, Low, and Midpoint for Daily, Weekly, Monthly, Quarterly, and Yearly timeframes (eg. levels for current weekly high/low and previous weekly high/low).
- These levels provide a clear structure for identifying key support and resistance zones. Traders often use HTF levels to anticipate price reactions, such as bounces or rejections, at major highs and lows. For example, a price nearing the weekly high could signal an area of resistance.
VWAP Levels
- Current and/or previous period: VWAP and upper/lower standard deviations for Daily, Weekly, Monthly, Quarterly, and Yearly timeframes (eg. levels for current daily VWAP and previous weekly VWAP).
- VWAP levels give traders insight into whether the current price is above or below the fair market value for a given period. It’s often used as a reference point for trend direction or S/R. If the price remains above VWAP, the trend may be seen as bullish, while breaks below VWAP can suggest a shift toward bearish sentiment. Standard deviations help identify areas where the price may be overextended, offering opportunities for mean reversion trades.
Moving Average Levels
- EMA and SMA for three customizable lengths (eg. levels for 200 EMA, 50 EMA and 100 SMA).
- These levels act as dynamic support and resistance lines that adjust with price movement. Traders use them to confirm trend direction and watch for reactions around these levels, particularly in trending markets. For example, when the price pulls back to a 200 EMA, it could present an opportunity to enter a trade in line with the prevailing trend.
Volume Profile Levels
- Current and previous: Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL) for Daily, Weekly, Monthly, Quarterly, and Yearly timeframes (eg. levels for current day POC and previous day POC).
- Volume Profile levels highlight price areas where significant trading occurred. The POC indicates the price where the most volume was traded and can act as a strong magnet for price. VAH and VAL mark the boundaries of value areas, making them excellent spots for breakout or mean reversion trades. Traders look for price reactions around these zones to either join or fade moves.
Market Session Levels
- Current and previous: Open, high, low, and midpoint for three user-defined sessions, with default being Tokyo, London, and New York (eg. levels for current New York session open and previous New York session high and low).
- Session levels allow traders to track how price behaves across different global market sessions. For instance, the New York open often brings increased liquidity and volatility. Traders often use these levels to anticipate sharp moves or continuations, especially after session highs and lows are broken, signaling shifts in market momentum.
Day of Week Levels
- Open, high, low, and midpoint for Monday through Sunday (eg. levels for Monday's high and low and Tuesday open).
- These levels help traders identify recurring intraday or intraweek price behaviors. For example, highs or lows established earlier in the week can serve as benchmarks for breakouts or retracements later on. Monday’s open or Friday’s high/low often reflect market sentiment going into or out of the weekend, providing valuable clues for planning trades.
● About the script
I published this script because it was heavily requested by my Tradingview followers who wanted a clean and feature-rich indicator that can display various levels they use in their analysis. The indicator can display levels that are not available in other similar public scripts and makes sure to calculate and load calculation-intensive levels (like volume profile levels, higher timeframe vwap levels, etc) as fast and efficiently as possible. It is one of the only scripts I've published that is not open source. The code is protected because it includes some proprietary calculations (eg: for POC/VAH/VAL), that I don't wish to open source, but I still want to publish a heavily requested script in a public and free format.
● How to use the script
1. Add the script to your chart
Start by adding the script to your chart like any other indicator.
2. Open the indicator settings
Click the settings icon to access all customization options.
3. Select which level groups to display
In the "Controls" section, choose which groups of levels (HTF, VWAP, Moving Averages, etc.) you want displayed. This allows you to quickly toggle between different sets of levels depending on your analysis needs, without overcrowding the chart.
4. Adjust group-specific settings
Scroll down to access detailed settings for each group. For any group, you can choose:
- The relevant time parameter (e.g., Daily, Weekly, Monthly, etc for HTF/VWAP/Volume Profile levels, length for Moving Average levels, day for Day of Week Levels, etc).
- Specific levels to display (e.g., Open/High/Low/Midpoint for HTF, VWAP, Day of Week, Session levels and POC/VAH/VAL for Volume Profile levels).
- For applicable groups, you can also toggle previous period levels by selecting them from the row starting with the "↳" icon.
5. Customize visual appearance
In the "Appearance" section, you have full control over how the levels and labels look. You can:
- Choose what details appear in the labels (e.g., level name, price, or percentage distance from current price).
- Pick from different line types, line style (solid, dashed, dotted), adjust line width, and manage the length of the lines using "Offset Right" and "Offset Left" settings.
- Modify font, label size, and color options. If multiple levels overlap at the same price, use the “Merge Levels” option to combine them into one, reducing visual clutter.
6. Customize level names to your preference
In the "Labels" section, you can rename any parameter to match your preferred abbreviations (e.g., change “Weekly Open” to “wO” or any other shorthand that works for you).
● Key Features:
- Display various different important levels, all in one indicator
- Seamless control of which group of levels / specific level to display
- Choose from various line and label styles to display levels.
- Labels can show the level's title (customizable abbreviations), price, and percentage distance from the current price.
- Merge nearby levels to reduce chart clutter, either for identical levels or those within a user-defined percentage range.
- Fully customizable visual appearance of levels to suit individual preferences.
在腳本中搜尋"volume profile"
Delta Volume Channels [LucF]█ OVERVIEW
This indicator displays on-chart visuals aimed at making the most of delta volume information. It can color bars and display two channels: one for delta volume, another calculated from the price levels of bars where delta volume divergences occur. Markers and alerts can also be configured using key conditions, and filtered in many different ways. The indicator caters to traders who prefer chart visuals over raw values. It will work on historical bars and in real time, using intrabar analysis to calculate delta volume in both conditions.
█ CONCEPTS
Delta Volume
The volume delta concept divides a bar's volume in "up" and "down" volumes. The delta is calculated by subtracting down volume from up volume. Many calculation techniques exist to isolate up and down volume within a bar. The simplest techniques use the polarity of interbar price changes to assign their volume to up or down slots, e.g., On Balance Volume or the Klinger Oscillator . Others such as Chaikin Money Flow use assumptions based on a bar's OHLC values. The most precise calculation method uses tick data and assigns the volume of each tick to the up or down slot depending on whether the transaction occurs at the bid or ask price. While this technique is ideal, it requires huge amounts of data on historical bars, which usually limits the historical depth of charts and the number of symbols for which tick data is available.
This indicator uses intrabar analysis to achieve a compromise between the simplest and most precise methods of calculating volume delta. In the context where historical tick data is not yet available on TradingView, intrabar analysis is the most precise technique to calculate volume delta on historical bars on our charts. TradingView's Volume Profile built-in indicators use it, as do the CVD - Cumulative Volume Delta Candles and CVD - Cumulative Volume Delta (Chart) indicators published from the TradingView account . My Volume Delta Columns Pro indicator also uses intrabar analysis. Other volume delta indicators such as my Realtime 5D Profile use realtime chart updates to achieve more precise volume delta calculations. Indicators of that type cannot be used on historical bars however; they only work in real time.
This is the logic I use to assign intrabar volume to up or down slots:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars making up a chart bar have been analyzed and the up or down property of each intrabar's volume determined, the up volumes are added and the down volumes subtracted. The resulting value is volume delta for that chart bar, which can be used as an estimate of the buying/selling pressure on an instrument.
Delta Volume Percent (DV%)
This value is the proportion that delta volume represents of the total intrabar volume in the chart bar. Note that on some symbols/timeframes, the total intrabar volume may differ from the chart's volume for a bar, but that will not affect our calculations since we use the total intrabar volume.
Delta Volume Channel
The DV channel is the space between two moving averages: the reference line and a DV%-weighted version of that reference. The reference line is a moving average of a type, source and length which you select. The DV%-weighted line uses the same settings, but it averages the DV%-weighted price source.
The weight applied to the source of the reference line is calculated from two values, which are multiplied: DV% and the relative size of the bar's volume in relation to previous bars. The effect of this is that DV% values on bars with higher total volume will carry greater weight than those with lesser volume.
The DV channel can be in one of four states, each having its corresponding color:
• Bull (teal): The DV%-weighted line is above the reference line.
• Strong bull (lime): The bull condition is fulfilled and the bar's close is above the reference line and both the reference and the DV%-weighted lines are rising.
• Bear (maroon): The DV%-weighted line is below the reference line.
• Strong bear (pink): The bear condition is fulfilled and the bar's close is below the reference line and both the reference and the DV%-weighted lines are falling.
Divergences
In the context of this indicator, a divergence is any bar where the slope of the reference line does not match that of the DV%-weighted line. No directional bias is assigned to divergences when they occur.
Divergence Channel
The divergence channel is the space between two levels (by default, the bar's low and high ) saved when divergences occur. When price has breached a channel and a new divergence occurs, a new channel is created. Until that new channel is breached, bars where additional divergences occur will expand the channel's levels if the bar's price points are outside the channel.
Prices breaches of the divergence channel will change its state. Divergence channels can be in one of five different states:
• Bull (teal): Price has breached the channel to the upside.
• Strong bull (lime): The bull condition is fulfilled and the DV channel is in the strong bull state.
• Bear (maroon): Price has breached the channel to the downside.
• Strong bear (pink): The bear condition is fulfilled and the DV channel is in the strong bear state.
• Neutral (gray): The channel has not been breached.
█ HOW TO USE THE INDICATOR
Load the indicator on an active chart (see here if you don't know how).
The default configuration displays:
• The DV channel, without the reference or DV%-weighted lines.
• The Divergence channel, without its level lines.
• Bar colors using the state of the DV channel.
The default settings use an Arnaud-Legoux moving average on the close and a length of 20 bars. The DV%-weighted version of it uses a combination of DV% and relative volume to calculate the ultimate weight applied to the reference. The DV%-weighted line is capped to 5 standard deviations of the reference. The lower timeframe used to access intrabars automatically adjusts to the chart's timeframe and achieves optimal balance between the number of intrabars inspected in each chart bar, and the number of chart bars covered by the script's calculations.
The Divergence channel's levels are determined using the high and low of the bars where divergences occur. Breaches of the channel require a bar's low to move above the top of the channel, and the bar's high to move below the channel's bottom.
No markers appear on the chart; if you want to create alerts from this script, you will need first to define the conditions that will trigger the markers, then create the alert, which will trigger on those same conditions.
To learn more about how to use this indicator, you must understand the concepts it uses and the information it displays, which requires reading this description. There are no videos to explain it.
█ FEATURES
The script's inputs are divided in four sections: "DV channel", "Divergence channel", "Other Visuals" and "Marker/Alert Conditions". The first setting is the selection method used to determine the intrabar precision, i.e., how many lower timeframe bars (intrabars) are examined in each chart bar. The more intrabars you analyze, the more precise the calculation of DV% results will be, but the less chart coverage can be covered by the script's calculations.
DV Channel
Here, you control the visibility and colors of the reference line, its weighted version, and the DV channel between them.
You also specify what type of moving average you want to use as a reference line, its source and length. This acts as the DV channel's baseline. The DV%-weighted line is also a moving average of the same type and length as the reference line, except that it will be calculated from the DV%-weighted source used in the reference line. By default, the DV%-weighted line is capped to five standard deviations of the reference line. You can change that value here. This section is also where you can disable the relative volume component of the weight.
Divergence Channel
This is where you control the appearance of the divergence channel and the key price values used in determining the channel's levels and breaching conditions. These choices have an impact on the behavior of the channel. More generous level prices like the default low and high selection will produce more conservative channels, as will the default choice for breach prices.
In this section, you can also enable a mode where an attempt is made to estimate the channel's bias before price breaches the channel. When it is enabled, successive increases/decreases of the channel's top and bottom levels are counted as new divergences occur. When one count is greater than the other, a bull/bear bias is inferred from it.
Other Visuals
You specify here:
• The method used to color chart bars, if you choose to do so.
• The display of a mark appearing above or below bars when a divergence occurs.
• If you want raw values to appear in tooltips when you hover above chart bars. The default setting does not display them, which makes the script faster.
• If you want to display an information box which by default appears in the lower left of the chart.
It shows which lower timeframe is used for intrabars, and the average number of intrabars per chart bar.
Marker/Alert Conditions
Here, you specify the conditions that will trigger up or down markers. The trigger conditions can include a combination of state transitions of the DV and the divergence channels. The triggering conditions can be filtered using a variety of conditions.
Configuring the marker conditions is necessary before creating an alert from this script, as the alert will use the marker conditions to trigger.
Markers only appear on bar closes, so they will not repaint. Keep in mind, when looking at markers on historical bars, that they are positioned on the bar when it closes — NOT when it opens.
Raw values
The raw values calculated by this script can be inspected using a tooltip and the Data Window. The tooltip is visible when you hover over the top of chart bars. It will display on the last 500 bars of the chart, and shows the values of DV, DV%, the combined weight, and the intermediary values used to calculate them.
█ INTERPRETATION
The aim of the DV channel is to provide a visual representation of the buying/selling pressure calculated using delta volume. The simplest characteristic of the channel is its bull/bear state. One can then distinguish between its bull and strong bull states, as transitions from strong bull to bull states will generally happen when buyers are losing steam. While one should not infer a reversal from such transitions, they can be a good place to tighten stops. Only time will tell if a reversal will occur. One or more divergences will often occur before reversals.
The nature of the divergence channel's design makes it particularly adept at identifying consolidation areas if its settings are kept on the conservative side. A gray divergence channel should usually be considered a no-trade zone. More adventurous traders can use the DV channel to orient their trade entries if they accept the risk of trading in a neutral divergence channel, which by definition will not have been breached by price.
If your charts are already busy with other stuff you want to hold on to, you could consider using only the chart bar coloring component of this indicator:
At its simplest, one way to use this indicator would be to look for overlaps of the strong bull/bear colors in both the DV channel and a divergence channel, as these identify points where price is breaching the divergence channel when buy/sell pressure is consistent with the direction of the breach. I have highlighted all those points in the chart below. Not all of them would have produced profitable trades, but nothing is perfect in the markets. Also, keep in mind that the circles identify the visual you would be looking for — not the trade's entry level.
█ LIMITATIONS
• The script will not work on symbols where no volume is available. An error will appear when that is the case.
• Because a maximum of 100K intrabars can be analyzed by a script, a compromise is necessary between the number of intrabars analyzed per chart bar
and chart coverage. The more intrabars you analyze per chart bar, the less coverage you will obtain.
The setting of the "Intrabar precision" field in the "DV channel" section of the script's inputs
is where you control how the lower timeframe is calculated from the chart's timeframe.
█ NOTES
Volume Quality
If you use volume, it's important to understand its nature and quality, as it varies with sectors and instruments. My Volume X-ray indicator is one way you can appraise the quality of an instrument's intraday volume.
For Pine Script™ Coders
• This script uses the new overload of the fill() function which now makes it possible to do vertical gradients in Pine. I use it for both channels displayed by this script.
• I use the new arguments for plot() 's `display` parameter to control where the script plots some of its values,
namely those I only want to appear in the script's status line and in the Data Window.
• I wrote my script using the revised recommendations in the Style Guide from the Pine v5 User Manual.
█ THANKS
To PineCoders . I have used their lower_tf library in this script, to manage the calculation of the LTF and intrabar stats, and their Time library to convert a timeframe in seconds to a printable form for its display in the Information box.
To TradingView's Pine Script™ team. Their innovations and improvements, big and small, constantly expand the boundaries of the language. What this script does would not have been possible just a few months back.
And finally, thanks to all the users of my scripts who take the time to comment on my publications and suggest improvements. I do not reply to all but I do read your comments and do my best to implement your suggestions with the limited time that I have.
CVD - Cumulative Volume Delta Candles█ OVERVIEW
This indicator displays cumulative volume delta in candle form. It uses intrabar information to obtain more precise volume delta information than methods using only the chart's timeframe.
█ CONCEPTS
Bar polarity
By bar polarity , we mean the direction of a bar, which is determined by looking at the bar's close vs its open .
Intrabars
Intrabars are chart bars at a lower timeframe than the chart's. Each 1H chart bar of a 24x7 market will, for example, usually contain 60 bars at the lower timeframe of 1min, provided there was market activity during each minute of the hour. Mining information from intrabars can be useful in that it offers traders visibility on the activity inside a chart bar.
Lower timeframes (LTFs)
A lower timeframe is a timeframe that is smaller than the chart's timeframe. This script uses a LTF to access intrabars. The lower the LTF, the more intrabars are analyzed, but the less chart bars can display CVD information because there is a limit to the total number of intrabars that can be analyzed.
Volume delta
The volume delta concept divides a bar's volume in "up" and "down" volumes. The delta is calculated by subtracting down volume from up volume. Many calculation techniques exist to isolate up and down volume within a bar. The simplest techniques use the polarity of interbar price changes to assign their volume to up or down slots, e.g., On Balance Volume or the Klinger Oscillator . Others such as Chaikin Money Flow use assumptions based on a bar's OHLC values. The most precise calculation method uses tick data and assigns the volume of each tick to the up or down slot depending on whether the transaction occurs at the bid or ask price. While this technique is ideal, it requires huge amounts of data on historical bars, which usually limits the historical depth of charts and the number of symbols for which tick data is available.
This indicator uses intrabar analysis to achieve a compromise between the simplest and most precise methods of calculating volume delta. In the context where historical tick data is not yet available on TradingView, intrabar analysis is the most precise technique to calculate volume delta on historical bars on our charts. Our Volume Profile indicators use it. Other volume delta indicators in our Community Scripts such as the Realtime 5D Profile use realtime chart updates to achieve more precise volume delta calculations, but that method cannot be used on historical bars, so those indicators only work in real time.
This is the logic we use to assign intrabar volume to up or down slots:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars making up a chart bar have been analyzed and the up or down property of each intrabar's volume determined, the up volumes are added and the down volumes subtracted. The resulting value is volume delta for that chart bar.
█ FEATURES
CVD Candles
Cumulative Volume Delta Candles present volume delta information as it evolves during a period of time.
This is how each candle's levels are calculated:
• open : Each candle's' open level is the cumulative volume delta for the current period at the start of the bar.
This value becomes zero on the first candle following a CVD reset.
The candles after the first one always open where the previous candle closed.
The candle's high, low and close levels are then calculated by adding or subtracting a volume value to the open.
• high : The highest volume delta value found in intrabars. If it is not higher than the volume delta for the bar, then that candle will have no upper wick.
• low : The lowest volume delta value found in intrabars. If it is not lower than the volume delta for the bar, then that candle will have no lower wick.
• close : The aggregated volume delta for all intrabars. If volume delta is positive for the chart bar, then the candle's close will be higher than its open, and vice versa.
The candles are plotted in one of two configurable colors, depending on the polarity of volume delta for the bar.
CVD resets
The "cumulative" part of the indicator's name stems from the fact that calculations accumulate during a period of time. This allows you to analyze the progression of volume delta across manageable chunks, which is often more useful than looking at volume delta cumulated from the beginning of a chart's history.
You can configure the reset period using the "CVD Resets" input, which offers the following selections:
• None : Calculations do not reset.
• On a fixed higher timeframe : Calculations reset on the higher timeframe you select in the "Fixed higher timeframe" field.
• At a fixed time that you specify.
• At the beginning of the regular session .
• On a stepped higher timeframe : Calculations reset on a higher timeframe automatically stepped using the chart's timeframe and following these rules:
Chart TF HTF
< 1min 1H
< 3H 1D
<= 12H 1W
< 1W 1M
>= 1W 1Y
The indicator's background shows where resets occur.
Intrabar precision
The precision of calculations increases with the number of intrabars analyzed for each chart bar. It is controlled through the script's "Intrabar precision" input, which offers the following selections:
• Least precise, covering many chart bars
• Less precise, covering some chart bars
• More precise, covering less chart bars
• Most precise, 1min intrabars
As there is a limit to the number of intrabars that can be analyzed by a script, a tradeoff occurs between the number of intrabars analyzed per chart bar and the chart bars for which calculations are possible.
Total volume candles
You can choose to display candles showing the total intrabar volume for the chart bar. This provides you with more context to evaluate a bar's volume delta by showing it relative to the sum of intrabar volume. Note that because of the reasons explained in the "NOTES" section further down, the total volume is the sum of all intrabar volume rather than the volume of the bar at the chart's timeframe.
Total volume candles can be configured with their own up and down colors. You can also control the opacity of their bodies to make them more or less prominent. This publication's chart shows the indicator with total volume candles. They are turned off by default, so you will need to choose to display them in the script's inputs for them to plot.
Divergences
Divergences occur when the polarity of volume delta does not match that of the chart bar. You can identify divergences by coloring the CVD candles differently for them, or by coloring the indicator's background.
Information box
An information box in the lower-left corner of the indicator displays the HTF used for resets, the LTF used for intrabars, and the average quantity of intrabars per chart bar. You can hide the box using the script's inputs.
█ INTERPRETATION
The first thing to look at when analyzing CVD candles is the side of the zero line they are on, as this tells you if CVD is generally bullish or bearish. Next, one should consider the relative position of successive candles, just as you would with a price chart. Are successive candles trending up, down, or stagnating? Keep in mind that whatever trend you identify must be considered in the context of where it appears with regards to the zero line; an uptrend in a negative CVD (below the zero line) may not be as powerful as one taking place in positive CVD values, but it may also predate a movement into positive CVD territory. The same goes with stagnation; a trader in a long position will find stagnation in positive CVD territory less worrisome than stagnation under the zero line.
After consideration of the bigger picture, one can drill down into the details. Exactly what you are looking for in markets will, of course, depend on your trading methodology, but you may find it useful to:
• Evaluate volume delta for the bar in relation to price movement for that bar.
• Evaluate the proportion that volume delta represents of total volume.
• Notice divergences and if the chart's candle shape confirms a hesitation point, as a Doji would.
• Evaluate if the progress of CVD candles correlates with that of chart bars.
• Analyze the wicks. As with price candles, long wicks tend to indicate weakness.
Always keep in mind that unless you have chosen not to reset it, your CVD resets for each period, whether it is fixed or automatically stepped. Consequently, any trend from the preceding period must re-establish itself in the next.
█ NOTES
Know your volume
Traders using volume information should understand the volume data they are using: where it originates and what transactions it includes, as this can vary with instruments, sectors, exchanges, timeframes, and between historical and realtime bars. The information used to build a chart's bars and display volume comes from data providers (exchanges, brokers, etc.) who often maintain distinct feeds for intraday and end-of-day (EOD) timeframes. How volume data is assembled for the two feeds depends on how instruments are traded in that sector and/or the volume reporting policy for each feed. Instruments from crypto and forex markets, for example, will often display similar volume on both feeds. Stocks will often display variations because block trades or other types of trades may not be included in their intraday volume data. Futures will also typically display variations.
Note that as intraday vs EOD variations exist for historical bars on some instruments, differences may also exist between the realtime feeds used on intraday vs 1D or greater timeframes for those same assets. Realtime reporting rules will often be different from historical feed reporting rules, so variations between realtime feeds will often be different from the variations between historical feeds for the same instrument. The Volume X-ray indicator can help you analyze differences between intraday and EOD volumes for the instruments you trade.
If every unit of volume is both bought by a buyer and sold by a seller, how can volume delta make sense?
Traders who do not understand the mechanics of matching engines (the exchange software that matches orders from buyers and sellers) sometimes argue that the concept of volume delta is flawed, as every unit of volume is both bought and sold. While they are rigorously correct in stating that every unit of volume is both bought and sold, they overlook the fact that information can be mined by analyzing variations in the price of successive ticks, or in our case, intrabars.
Our calculations model the situation where, in fully automated order handling, market orders are generally matched to limit orders sitting in the order book. Buy market orders are matched to quotes at the ask level and sell market orders are matched to quotes at the bid level. As explained earlier, we use the same logic when comparing intrabar prices. While using intrabar analysis does not produce results as precise as when individual transactions — or ticks — are analyzed, results are much more precise than those of methods using only chart prices.
Not only does the concept underlying volume delta make sense, it provides a window on an oft-overlooked variable which, with price and time, is the only basic information representing market activity. Furthermore, because the calculation of volume delta also uses price and time variations, one could conceivably surmise that it can provide a more complete model than ones using price and time only. Whether or not volume delta can be useful in your trading practice, as usual, is for you to decide, as each trader's methodology is different.
For Pine Script™ coders
As our latest Polarity Divergences publication, this script uses the recently released request.security_lower_tf() Pine Script™ function discussed in this blog post . It works differently from the usual request.security() in that it can only be used at LTFs, and it returns an array containing one value per intrabar. This makes it much easier for programmers to access intrabar information.
Look first. Then leap.
Delta Volume Columns Pro [LucF]█ OVERVIEW
This indicator displays volume delta information calculated with intrabar inspection on historical bars, and feed updates when running in realtime. It is designed to run in a pane and can display either stacked buy/sell volume columns or a signal line which can be calculated and displayed in many different ways.
Five different models are offered to reveal different characteristics of the calculated volume delta information. Many options are offered to visualize the calculations, giving you much leeway in morphing the indicator's visuals to suit your needs. If you value delta volume information, I hope you will find the time required to master Delta Volume Columns Pro well worth the investment. I am confident that if you combine a proper understanding of the indicator's information with an intimate knowledge of the volume idiosyncrasies on the markets you trade, you can extract useful market intelligence using this tool.
█ WARNINGS
1. The indicator only works on markets where volume information is available,
Please validate that your symbol's feed carries volume information before asking me why the indicator doesn't plot values.
2. When you refresh your chart or re-execute the script on the chart, the indicator will repaint because elapsed realtime bars will then recalculate as historical bars.
3. Because the indicator uses different modes of calculation on historical and realtime bars, it's critical that you understand the differences between them. Details are provided further down.
4. Calculations using intrabar inspection on historical bars can only be done from some chart timeframes. See further down for a list of supported timeframes.
If the chart's timeframe is not supported, no historical volume delta will display.
█ CONCEPTS
Chart bars
Three different types of bars are used in charts:
1. Historical bars are bars that have already closed when the script executes on them.
2. The realtime bar is the current, incomplete bar where a script is running on an open market. There is only one active realtime bar on your chart at any given time.
The realtime bar is where alerts trigger.
3. Elapsed realtime bars are bars that were calculated when they were realtime bars but have since closed.
When a script re-executes on a chart because the browser tab is refreshed or some of its inputs are changed, elapsed realtime bars are recalculated as historical bars.
Why does this indicator use two modes of calculation?
Historical bars on TradingView charts contain OHLCV data only, which is insufficient to calculate volume delta on them with any level of precision. To mine more detailed information from those bars we look at intrabars , i.e., bars from a smaller timeframe (we call it the intrabar timeframe ) that are contained in one chart bar. If your chart Is running at 1D on a 24x7 market for example, most 1D chart bars will contain 24 underlying 1H bars in their dilation. On historical bars, this indicator looks at those intrabars to amass volume delta information. If the intrabar is up, its volume goes in the Buy bin, and inversely for the Sell bin. When price does not move on an intrabar, the polarity of the last known movement is used to determine in which bin its volume goes.
In realtime, we have access to price and volume change for each update of the chart. Because a 1D chart bar can be updated tens of thousands of times during the day, volume delta calculations on those updates is much more precise. This precision, however, comes at a price:
— The script must be running on the chart for it to keep calculating in realtime.
— If you refresh your chart you will lose all accumulated realtime calculations on elapsed realtime bars, and the realtime bar.
Elapsed realtime bars will recalculate as historical bars, i.e., using intrabar inspection, and the realtime bar's calculations will reset.
When the script recalculates elapsed realtime bars as historical bars, the values on those bars will change, which means the script repaints in those conditions.
— When the indicator first calculates on a chart containing an incomplete realtime bar, it will count ALL the existing volume on the bar as Buy or Sell volume,
depending on the polarity of the bar at that point. This will skew calculations for that first bar. Scripts have no access to the history of a realtime bar's previous updates,
and intrabar inspection cannot be used on realtime bars, so this is the only to go about this.
— Even if alerts only trigger upon confirmation of their conditions after the realtime bar closes, they are repainting alerts
because they would perhaps not have calculated the same way using intrabar inspection.
— On markets like stocks that often have different EOD and intraday feeds and volume information,
the volume's scale may not be the same for the realtime bar if your chart is at 1D, for example,
and the indicator is using an intraday timeframe to calculate on historical bars.
— Any chart timeframe can be used in realtime mode, but plots that include moving averages in their calculations may require many elapsed realtime bars before they can calculate.
You might prefer drastically reducing the periods of the moving averages, or using the volume columns mode, which displays instant values, instead of the line.
Volume Delta Balances
This indicator uses a variety of methods to evaluate five volume delta balances and derive other values from those balances. The five balances are:
1 — On Bar Balance : This is the only balance using instant values; it is simply the subtraction of the Sell volume from the Buy volume on the bar.
2 — Average Balance : Calculates a distinct EMA for both the Buy and Sell volumes, and subtracts the Sell EMA from the Buy EMA.
3 — Momentum Balance : Starts by calculating, separately for both Buy and Sell volumes, the difference between the same EMAs used in "Average Balance" and
an SMA of double the period used for the "Average Balance" EMAs. The difference for the Sell side is subtracted from the difference for the Buy side,
and an RSI of that value is calculated and brought over the −50/+50 scale.
4 — Relative Balance : The reference values used in the calculation are the Buy and Sell EMAs used in the "Average Balance".
From those, we calculate two intermediate values using how much the instant Buy and Sell volumes on the bar exceed their respective EMA — but with a twist.
If the bar's Buy volume does not exceed the EMA of Buy volume, a zero value is used. The same goes for the Sell volume with the EMA of Sell volume.
Once we have our two intermediate values for the Buy and Sell volumes exceeding their respective MA, we subtract them. The final "Relative Balance" value is an ALMA of that subtraction.
The rationale behind using zero values when the bar's Buy/Sell volume does not exceed its EMA is to only take into account the more significant volume.
If both instant volume values exceed their MA, then the difference between the two is the signal's value.
The signal is called "relative" because the intermediate values are the difference between the instant Buy/Sell volumes and their respective MA.
This balance flatlines when the bar's Buy/Sell volumes do not exceed their EMAs, which makes it useful to spot areas where trader interest dwindles, such as consolidations.
The smaller the period of the final value's ALMA, the more easily you will see the balance flatline. These flat zones should be considered no-trade zones.
5 — Percent Balance : This balance is the ALMA of the ratio of the "On Bar Balance" value, i.e., the volume delta balance on the bar (which can be positive or negative),
over the total volume for that bar.
From the balances and marker conditions, two more values are calculated:
1 — Marker Bias : It sums the up/down (+1/‒1) occurrences of the markers 1 to 4 over a period you define, so it ranges from −4 to +4, times the period.
Its calculation will depend on the modes used to calculate markers 3 and 4.
2 — Combined Balances : This is the sum of the bull/bear (+1/−1) states of each of the five balances, so it ranges from −5 to +5.
█ FEATURES
The indicator has two main modes of operation: Columns and Line .
Columns
• In Columns mode you can display stacked Buy/Sell volume columns.
• The buy section always appears above the centerline, the sell section below.
• The top and bottom sections can be colored independently using eight different methods.
• The EMAs of the Buy/Sell values can be displayed (these are the same EMAs used to calculate the "Average Balance").
Line
• Displays one of seven signals: the five balances or one of two complementary values, i.e., the "Marker Bias" or the "Combined Balances".
• You can color the line and its fill using independent calculation modes to pack more information in the display.
You can thus appraise the state of 3 different values using the line itself, its color and the color of its fill.
• A "Divergence Levels" feature will use the line to automatically draw expanding levels on divergence events.
Default settings
Using the indicator's default settings, this is the information displayed:
• The line is calculated on the "Average Balance".
• The line's color is determined by the bull/bear state of the "Percent Balance".
• The line's fill gradient is determined by the advances/declines of the "Momentum Balance".
• The orange divergence dots are calculated using discrepancies between the polarity of the "On Bar Balance" and the chart's bar.
• The divergence levels are determined using the line's level when a divergence occurs.
• The background's fill gradient is calculated on advances/declines of the "Marker Bias".
• The chart bars are colored using advances/declines of the "Relative Balance". Divergences are shown in orange.
• The intrabar timeframe is automatically determined from the chart's timeframe so that a minimum of 50 intrabars are used to calculate volume delta on historical bars.
Alerts
The configuration of the marker conditions explained further is what determines the conditions that will trigger alerts created from this script. Note that simply selecting the display of markers does not create alerts. To create an alert on this script, you must use ALT-A from the chart. You can create multiple alerts triggering on different conditions from this same script; simply configure the markers so they define the trigger conditions for each alert before creating the alert. The configuration of the script's inputs is saved with the alert, so from then on you can change them without affecting the alert. Alert messages will mention the marker(s) that triggered the specific alert event. Keep in mind, when creating alerts on small chart timeframes, that discrepancies between alert triggers and markers displayed on your chart are to be expected. This is because the alert and your chart are running two distinct instances of the indicator on different servers and different feeds. Also keep in mind that while alerts only trigger on confirmed conditions, they are calculated using realtime calculation mode, which entails that if you refresh your chart and elapsed realtime bars recalculate as historical bars using intrabar inspection, markers will not appear in the same places they appeared in realtime. So it's important to understand that even though the alert conditions are confirmed when they trigger, these alerts will repaint.
Let's go through the sections of the script's inputs.
Columns
The size of the Buy/Sell columns always represents their respective importance on the bar, but the coloring mode for tops and bottoms is independent. The default setup uses a standard coloring mode where the Buy/Sell columns are always in the bull/bear color with a higher intensity for the winning side. Seven other coloring modes allow you to pack more information in the columns. When choosing to color the top columns using a bull/bear gradient on "Average Balance", for example, you will have bull/bear colored tops. In order for the color of the bottom columns to continue to show the instant bar balance, you can then choose the "On Bar Balance — Dual Solid Colors" coloring mode to make those bars the color of the winning side for that bar. You can display the averages of the Buy and Sell columns. If you do, its coloring is controlled through the "Line" and "Line fill" sections below.
Line and Line fill
You can select the calculation mode and the thickness of the line, and independent calculations to determine the line's color and fill.
Zero Line
The zero line can display dots when all five balances are bull/bear.
Divergences
You first select the detection mode. Divergences occur whenever the up/down direction of the signal does not match the up/down polarity of the bar. Divergences are used in three components of the indicator's visuals: the orange dot, colored chart bars, and to calculate the divergence levels on the line. The divergence levels are dynamic levels that automatically build from the line's values on divergence events. On consecutive divergences, the levels will expand, creating a channel. This implementation of the divergence levels corresponds to my view that divergences indicate anomalies, hesitations, points of uncertainty if you will. It precludes any attempt to identify a directional bias to divergences. Accordingly, the levels merely take note of divergence events and mark those points in time with levels. Traders then have a reference point from which they can evaluate further movement. The bull/bear/neutral colors used to plot the levels are also congruent with this view in that they are determined by the line's position relative to the levels, which is how I think divergences can be put to the most effective use. One of the coloring modes for the line's fill uses advances/declines in the line after divergence events.
Background
The background can show a bull/bear gradient on six different calculations. As with other gradients, you can adjust its brightness to make its importance proportional to how you use it in your analysis.
Chart bars
Chart bars can be colored using seven different methods. You have the option of emptying the body of bars where volume does not increase, as does my TLD indicator, and you can choose whether you want to show divergences.
Intrabar Timeframe
This is the intrabar timeframe that will be used to calculate volume delta using intrabar inspection on historical bars. You can choose between four modes. The three "Auto-steps" modes calculate, from the chart's timeframe, the intrabar timeframe where the said number of intrabars will make up the dilation of chart bars. Adjustments are made for non-24x7 markets. "Fixed" mode allows you to select the intrabar timeframe you want. Checking the "Show TF" box will display in the lower-right corner the intrabar timeframe used at any given moment. The proper selection of the intrabar timeframe is important. It must achieve maximal granularity to produce precise results while not unduly slowing down calculations, or worse, causing runtime errors. Note that historical depth will vary with the intrabar timeframe. The smaller the timeframe, the shallower historical plots you will be.
Markers
Markers appear when the required condition has been confirmed on a closed bar. The configuration of the markers when you create an alert is what determines when the alert will trigger. Five markers are available:
• Balances Agreement : All five balances are either bullish or bearish.
• Double Bumps : A double bump is two consecutive up/down bars with +/‒ volume delta, and rising Buy/Sell volume above its average.
• Divergence confirmations : A divergence is confirmed up/down when the chosen balance is up/down on the previous bar when that bar was down/up, and this bar is up/down.
• Balance Shifts : These are bull/bear transitions of the selected signal.
• Marker Bias Shifts : Marker bias shifts occur when it crosses into bull/bear territory.
Periods
Allows control over the periods of the different moving averages used to calculate the balances.
Volume Discrepancies
Stock exchanges do not report the same volume for intraday and daily (or higher) resolutions. Other variations in how volume information is reported can also occur in other markets, namely Forex, where volume irregularities can even occur between different intraday timeframes. This will cause discrepancies between the total volume on the bar at the chart's timeframe, and the total volume calculated by adding the volume of the intrabars in that bar's dilation. This does not necessarily invalidate the volume delta information calculated from intrabars, but it tells us that we are using partial volume data. A mechanism to detect chart vs intrabar timeframe volume discrepancies is provided. It allows you to define a threshold percentage above which the background will indicate a difference has been detected.
Other Settings
You can control here the display of the gray dot reminder on realtime bars, and the display of error messages if you are using a chart timeframe that is not greater than the fixed intrabar timeframe, when you use that mode. Disabling the message can be useful if you only use realtime mode at chart timeframes that do not support intrabar inspection.
█ RAMBLINGS
On Volume Delta
Volume is arguably the best complement to interpret price action, and I consider volume delta to be the most effective way of processing volume information. In periods of low-volatility price consolidations, volume will typically also be lower than normal, but slight imbalances in the trend of the buy/sell volume balance can sometimes help put early odds on the direction of the break from consolidation. Additionally, the progression of the volume imbalance can help determine the proximity of the breakout. I also find volume delta and the number of divergences very useful to evaluate the strength of trends. In trends, I am looking for "slow and steady", i.e., relatively low volatility and pauses where price action doesn't look like world affairs are being reassessed. In my personal mythology, this type of trend is often more resilient than high-volatility breakouts, especially when volume balance confirms the general agreement of traders signaled by the low-volatility usually accompanying this type of trend. The volume action on pauses will often help me decide between aggressively taking profits, tightening a stop or going for a longer-term movement. As for reversals, they generally occur in high-volatility areas where entering trades is more expensive and riskier. While the identification of counter-trend reversals fascinates many traders to no end, they represent poor opportunities in my view. Volume imbalances often precede reversals, but I prefer to use volume delta information to identify the areas following reversals where I can confirm them and make relatively low-cost entries with better odds.
On "Buy/Sell" Volume
Buying or selling volume are misnomers, as every unit of volume transacted is both bought and sold by two different traders. While this does not keep me from using the terms, there is no such thing as “buy only” or “sell only” volume. Trader lingo is riddled with peculiarities.
Divergences
The divergence detection method used here relies on a difference between the direction of a signal and the polarity (up/down) of a chart bar. When using the default "On Bar Balance" to detect divergences, however, only the bar's volume delta is used. You may wonder how there can be divergences between buying/selling volume information and price movement on one bar. This will sometimes be due to the calculation's shortcomings, but divergences may also occur in instances where because of order book structure, it takes less volume to increase the price of an asset than it takes to decrease it. As usual, divergences are points of interest because they reveal imbalances, which may or may not become turning points. To your pattern-hungry brain, the divergences displayed by this indicator will — as they do on other indicators — appear to often indicate turnarounds. My opinion is that reality is generally quite sobering and I have no reliable information that would tend to prove otherwise. Exercise caution when using them. Consequently, I do not share the overwhelming enthusiasm of traders in identifying bullish/bearish divergences. For me, the best course of action when a divergence occurs is to wait and see what happens from there. That is the rationale underlying how my divergence levels work; they take note of a signal's level when a divergence occurs, and it's the signal's behavior from that point on that determines if the post-divergence action is bullish/bearish.
Superfluity
In "The Bed of Procrustes", Nassim Nicholas Taleb writes: To bankrupt a fool, give him information . This indicator can display lots of information. While learning to use a new indicator inevitably requires an adaptation period where we put it through its paces and try out all its options, once you have become used to it and decide to adopt it, rigorously eliminate the components you don't use and configure the remaining ones so their visual prominence reflects their relative importance in your analysis. I tried to provide flexible options for traders to control this indicator's visuals for that exact reason — not for window dressing.
█ LIMITATIONS
• This script uses a special characteristic of the `security()` function allowing the inspection of intrabars — which is not officially supported by TradingView.
It has the advantage of permitting a more robust calculation of volume delta than other methods on historical bars, but also has its limits.
• Intrabar inspection only works on some chart timeframes: 3, 5, 10, 15 and 30 minutes, 1, 2, 3, 4, 6, and 12 hours, 1 day, 1 week and 1 month.
The script’s code can be modified to run on other resolutions.
• When the difference between the chart’s timeframe and the intrabar timeframe is too great, runtime errors will occur. The Auto-Steps selection mechanisms should avoid this.
• All volume is not created equally. Its source, components, quality and reliability will vary considerably with sectors and instruments.
The higher the quality, the more reliably volume delta information can be used to guide your decisions.
You should make it your responsibility to understand the volume information provided in the data feeds you use. It will help you make the most of volume delta.
█ NOTES
For traders
• The Data Window shows key values for the indicator.
• While this indicator displays some of the same information calculated in my Delta Volume Columns ,
I have elected to make it a separate publication so that traders continue to have a simpler alternative available to them. Both code bases will continue to evolve separately.
• All gradients used in this indicator determine their brightness intensities using advances/declines in the signal—not their relative position in a pre-determined scale.
• Volume delta being relative, by nature, it is particularly well-suited to Forex markets, as it filters out quite elegantly the cyclical volume data characterizing the sector.
If you are interested in volume delta, consider having a look at my other "Delta Volume" indicators:
• Delta Volume Realtime Action displays realtime volume delta and tick information on the chart.
• Delta Volume Candles builds volume delta candles on the chart.
• Delta Volume Columns is a simpler version of this indicator.
For coders
• I use the `f_c_gradientRelativePro()` from the PineCoders Color Gradient Framework to build my gradients.
This function has the advantage of allowing begin/end colors for both the bull and bear colors. It also allows us to define the number of steps allowed for each gradient.
I use this to modulate the gradients so they perform optimally on the combination of the signal used to calculate advances/declines,
but also the nature of the visual component the gradient applies to. I use fewer steps for choppy signals and when the gradient is used on discrete visual components
such as volume columns or chart bars.
• I use the PineCoders Coding Conventions for Pine to write my scripts.
• I used functions modified from the PineCoders MTF Selection Framework for the selection of timeframes.
█ THANKS TO:
— The devs from TradingView's Pine and other teams, and the PineCoders who collaborate with them. They are doing amazing work,
and much of what this indicator does could not be done without their recent improvements to Pine.
— A guy called Kuan who commented on a Backtest Rookies presentation of their Volume Profile indicator using a `for` loop.
This indicator started from the intrabar inspection technique illustrated in Kuan's snippet.
— theheirophant , my partner in the exploration of the sometimes weird abysses of `security()`’s behavior at intrabar timeframes.
— midtownsk8rguy , my brilliant companion in mining the depths of Pine graphics.
Cantana Algo | ES - NQ - YMCantana Algo | CME_MINI:ES1! CME_MINI:NQ1! CBOT_MINI:YM1!
Cantana Algo is a market structure and volume analysis tool for the S&P 500 (ES), Nasdaq 100 (NQ), and Dow Jones (YM) futures. It combines POE boxes, multi-VWAP analysis, volatility profiling, and a compact info panel to provide a clear and structured market overview.
🔹 Key Features
Dynamic POE Boxes – automatically highlight relevant price areas.
POE Breaks & Retest Attention on the 70% Value Area – informs the user that a manually drawn Fixed Volume Profile is recommended to monitor price action around the 70% Value Area.
Multi-VWAP Framework – session, weekly, and monthly VWAPs with tolerance bands for bias detection.
Daily & Weekly Bias Detection – color-coded overview for quick orientation.
Volatility Analysis – displays minimum, maximum, average, and quartile statistics of current market volatility.
Alert on Volatility Reversal – optional alert triggers when the market drops back below the average ATR after a period of high volatility. Works with any alert function call.
Risk-On / Risk-Off Dashboard – provides a high-level market view, showing overall risk sentiment based on Gold, S&P, and Dollar Index.
⚙️ Customizable
Info and statistics panels can be freely positioned.
Modules (Market Profile / Volume Profile / tables) can be toggled individually.
Alerts can be activated according to user preference.
📜 Note
The script does not draw a Fixed Volume Profile – the “Retest Attention on 70% VA” message serves solely as a reminder for the user to manually add a profile in order to detect setups based on the Value Area. Additionally, this script only works on the 1-minute timeframe (1M).
This script is currently available for free. It may become a paid version in the future.
⚠️ Disclaimer
This script is provided for educational and analytical purposes only. It does not constitute financial advice, a trading strategy, or a recommendation to buy or sell any financial instrument.
All decisions based on this script are solely the responsibility of the user.
Trading involves risks, including the potential loss of invested capital.
CAPITAL 121//@version=5
indicator("CAPITAL X", overlay=true)
// === הגדרות משתמש ===
yPos = input.string("Top", "מיקום אנכי של ה־Watermark", options = , inline = '1')
xPos = input.string("Right", "מיקום אופקי של ה־Watermark", options = , inline = '1')
offsetY = input.int(20, "מרחק אנכי מהקצה", minval=0, maxval=100)
txtCol = input.color(color.rgb(255, 255, 255, 80), 'צבע טקסט', inline = '2')
txtSize = input.string('Large', 'גודל טקסט', options = , inline = '2')
// ATR והגדרות תנודתיות
lengthATR = input.int(14, title='אורך ATR')
atrRedThreshold = input.float(7.0, "רף אדום (%)", minval=0)
atrYellowThreshold = input.float(3.0, "רף צהוב (%)", minval=0)
// חישוב ATR
atrValue = ta.atr(lengthATR)
atrPercent = (atrValue / close) * 100
atrDisplay = "ATR (" + str.tostring(lengthATR) + "): " + str.tostring(atrValue, "#.##") + " (" + str.tostring(atrPercent, "#.##") + "%)"
atrEmoji = atrPercent >= atrRedThreshold ? "🔴" : atrPercent >= atrYellowThreshold ? "🟡" : "🟢"
// גודל טקסט
sizer = switch txtSize
"Huge" => size.huge
"Large" => size.large
"Normal" => size.normal
=> size.small
// מיקום טבלה על המסך
posTable = str.lower(yPos) + '_' + str.lower(xPos)
// === תצוגת טבלת Watermark ===
var table watermarkTable = table.new(posTable, 1, 1, border_width=0)
if barstate.islast
table.cell(watermarkTable, 0, 0, atrDisplay + " " + atrEmoji, text_color=txtCol, text_size=sizer, text_halign=text.align_left)
// === חישוב ממוצעים נעים ===
smaShortLength = input.int(20, title='SMA Short Length', minval=1)
smaLongLength = input.int(100, title='SMA Long Length', minval=1)
smaShort = ta.sma(close, smaShortLength)
smaLong = ta.sma(close, smaLongLength)
// ממוצע נוסף (ניטרלי)
showCustomMA = input.bool(true, title='הצג ממוצע נע מותאם אישית')
customMALength = input.int(50, title='Custom MA Length')
customMA = ta.sma(close, customMALength)
plot(showCustomMA ? customMA : na, color=color.orange, linewidth=1, title='Custom MA')
// ציור ממוצעים עיקריים
plot(smaShort, color=color.yellow, linewidth=2, title='SMA 20')
plot(smaLong, color=color.blue, linewidth=2, title='SMA 100')
// איתותים
buySignal = ta.crossover(smaShort, smaLong)
sellSignal = ta.crossunder(smaShort, smaLong)
// הצגת אזורי קנייה ומכירה
plotshape(buySignal, title='אזור קנייה', text='אזור קנייה', location=location.belowbar,
style=shape.labelup, size=size.small, color=color.green, textcolor=color.white)
plotshape(sellSignal, title='אזור מכירה', text='אזור מכירה', location=location.abovebar,
style=shape.labeldown, size=size.small, color=color.red, textcolor=color.white)
// התראות
alertcondition(buySignal, title='אזור קנייה', message='זוהה אזור קנייה!')
alertcondition(sellSignal, title='אזור מכירה', message='זוהה אזור מכירה!')
// === Volume Profile Zone (פרופיל ווליום בסיסי) ===
showVolumeProfile = input.bool(true, title="הצג Volume Profile איזורי (ניסיוני)")
vpRange = input.int(100, title="טווח ברים לניתוח Volume Profile")
var float maxVol = na
var float vwap = na
if showVolumeProfile and bar_index > vpRange
float totalVol = 0.0
float volWeightedPrice = 0.0
for i = 0 to vpRange
totalVol += volume
volWeightedPrice += volume * close
maxVol := totalVol
vwap := volWeightedPrice / totalVol
plot(showVolumeProfile and not na(vwap) ? vwap : na, color=color.purple, style=plot.style_line, linewidth=2, title='Volume Profile VWAP')
Advanced Range Analyzer ProAdvanced Range Analyzer Pro – Adaptive Range Detection & Breakout Forecasting
Overview
Advanced Range Analyzer Pro is a comprehensive trading tool designed to help traders identify consolidations, evaluate their strength, and forecast potential breakout direction. By combining volatility-adjusted thresholds, volume distribution analysis, and historical breakout behavior, the indicator builds an adaptive framework for navigating sideways price action. Instead of treating ranges as noise, this system transforms them into opportunities for mean reversion or breakout trading.
How It Works
The indicator continuously scans price action to identify active range environments. Ranges are defined by volatility compression, repeated boundary interactions, and clustering of volume near equilibrium. Once detected, the indicator assigns a strength score (0–100), which quantifies how well-defined and compressed the consolidation is.
Breakout probabilities are then calculated by factoring in:
Relative time spent near the upper vs. lower range boundaries
Historical breakout tendencies for similar structures
Volume distribution inside the range
Momentum alignment using auxiliary filters (RSI/MACD)
This creates a live probability forecast that updates as price evolves. The tool also supports range memory, allowing traders to analyze the last completed range after a breakout has occurred. A dynamic strength meter is displayed directly above each consolidation range, providing real-time insight into range compression and breakout potential.
Signals and Breakouts
Advanced Range Analyzer Pro includes a structured set of visual tools to highlight actionable conditions:
Range Zones – Gradient-filled boxes highlight active consolidations.
Strength Meter – A live score displayed in the dashboard quantifies compression.
Breakout Labels – Probability percentages show bias toward bullish or bearish continuation.
Breakout Highlights – When a breakout occurs, the range is marked with directional confirmation.
Dashboard Table – Displays current status, strength, live/last range mode, and probabilities.
These elements update in real time, ensuring that traders always see the current state of consolidation and breakout risk.
Interpretation
Range Strength : High scores (70–100) indicate strong consolidations likely to resolve explosively, while low scores suggest weak or choppy ranges prone to false signals.
Breakout Probability : Directional bias greater than 60% suggests meaningful breakout pressure. Equal probabilities indicate balanced compression, favoring mean-reversion strategies.
Market Context : Ranges aligned with higher timeframe trends often resolve in the dominant direction, while counter-trend ranges may lead to reversals or liquidity sweeps.
Volatility Insight : Tight ranges with low ATR imply imminent expansion; wide ranges signal extended consolidation or distribution phases.
Strategy Integration
Advanced Range Analyzer Pro can be applied across multiple trading styles:
Breakout Trading : Enter on probability shifts above 60% with confirmation of volume or momentum.
Mean Reversion : Trade inside ranges with high strength scores by fading boundaries and targeting equilibrium.
Trend Continuation : Focus on ranges that form mid-trend, anticipating continuation after consolidation.
Liquidity Sweeps : Use failed breakouts at boundaries to capture reversals.
Multi-Timeframe : Apply on higher timeframes to frame market context, then execute on lower timeframes.
Advanced Techniques
Combine with volume profiles to identify areas of institutional positioning within ranges.
Track sequences of strong consolidations for trend development or exhaustion signals.
Use breakout probability shifts in conjunction with order flow or momentum indicators to refine entries.
Monitor expanding/contracting range widths to anticipate volatility cycles.
Custom parameters allow fine-tuning sensitivity for different assets (crypto, forex, equities) and trading styles (scalping, intraday, swing).
Inputs and Customization
Range Detection Sensitivity : Controls how strictly ranges are defined.
Strength Score Settings : Adjust weighting of compression, volume, and breakout memory.
Probability Forecasting : Enable/disable directional bias and thresholds.
Gradient & Fill Options : Customize range visualization colors and opacity.
Dashboard Display : Toggle live vs last range, info table size, and position.
Breakout Highlighting : Choose border/zone emphasis on breakout events.
Why Use Advanced Range Analyzer Pro
This indicator provides a data-driven approach to trading consolidation phases, one of the most common yet underutilized market states. By quantifying range strength, mapping probability forecasts, and visually presenting risk zones, it transforms uncertainty into clarity.
Whether you’re trading breakouts, fading ranges, or mapping higher timeframe context, Advanced Range Analyzer Pro delivers a structured, adaptive framework that integrates seamlessly into multiple strategies.
Tick Ratio Simulator - Advanced Market Sentiment IndicatorOverview
The Tick Ratio Simulator is a sophisticated market sentiment indicator that provides real-time insights into buying and selling pressure dynamics. This proprietary indicator transforms complex market microstructure data into actionable trading signals.
Key Features
Real-Time Sentiment Analysis: Captures instantaneous shifts in market momentum
Multi-Timeframe Adaptability: Customizable calculation periods for any trading style
Visual Clarity: Color-coded histogram with dynamic zone highlighting
Integrated Alert System: Pre-configured alerts for key market transitions
Performance Dashboard: Live metrics display for informed decision-making
Trading Applications
✓ Trend Confirmation: Validate existing trends with momentum analysis
✓ Reversal Detection: Identify potential turning points at extreme readings
✓ Entry/Exit Timing: Optimize trade execution with overbought/oversold zones
✓ Risk Management: Clear visual boundaries for position sizing decisions
Signal Interpretation
Extreme Zones (±75): High probability reversal areas
Standard Thresholds (±50): Traditional overbought/oversold levels
Zero Line Crossings: Momentum shift confirmations
Histogram Expansion/Contraction: Strength of directional bias
Customization Options
Adjustable calculation and smoothing periods
Fully customizable color schemes
Toggle histogram and reference lines
Real-time information table positioning
Alert Conditions
Four pre-built alert templates for automated notifications:
Momentum threshold breaches
Directional changes
Extreme zone entries
Custom level crossovers
Best Practices
Works exceptionally well when combined with:
Volume analysis
Support/resistance levels
Price action patterns
Other momentum oscillators
Note: This indicator uses proprietary calculations to simulate institutional-grade tick analysis without requiring actual tick data feeds. Results are optimized for liquid markets with consistent volume profiles.
For optimal results, adjust parameters based on your specific instrument and timeframe. Past performance does not guarantee future results.
Ema With VoLume RangeEMA with Volume Range – Adaptive Trend, Trailing Stops & Volume Profile Zones
This sophisticated indicator integrates three powerful trading tools in a single overlay: a classic EMA200, precision ATR-based buy/sell signals, and a unique double-zone volume profile for deep market structure analysis. Ideal for swing traders, scalpers, and volume-driven investors seeking actionable, multi-dimensional price insights.
Core Features
EMA200 (Exponential Moving Average):
Plots a customizable EMA200 (blue line) for identifying primary trend direction and dynamic support/resistance.
Exponential smoothing is enabled by default for better tracking of recent price action.
ATR-Based Trailing Stop with Buy/Sell Signals:
Uses Average True Range (ATR) to set adaptive trailing stop levels that respond to current market volatility.
Buy and Sell signals (tiny green and red labels) trigger whenever price crosses the trailing stop for precise entries and exits.
All signals are alert-enabled for automated or semi-automated trading workflows.
Adjustable ATR multiplier and lookback for tuning responsiveness.
Dual Volume Range Zones & Profile Histogram:
Automatically highlights recent high/low price zones (upper and lower) using your lookback period and zone width settings.
Each zone is split into horizontal "bins," color-coded for buy/sell dominance and highlighting the Point of Control (POC)—the price with the most traded volume.
The indicator draws live volume histograms inside each zone, supplementing them with labels that show buy vs. sell volumes and POC statistics.
Adjustable bin count, transparency, colors, and histogram granularity to fit your visual preference.
Optional midlines and fair value drift line help visualize price equilibrium and value shifts over time.
How to Use
Trend Confirmation: Align trades with the EMA200—trade long above, short below, or wait for ATR-trailing stop triggers that coincide with the EMA bias.
Signal Generation: Use the ATR trailing stop Buy/Sell signals to spot shifts in volatility-adjusted direction early.
Volume Zone Analysis: Identify where the highest concentration of buy/sell activity occurred within the customizable upper/lower zones:
Use high volume bins and POC as magnets for price, support/resistance, or to confirm breakout/failure zones.
Leverage the fair value drift line and dynamic labels to detect changes in market sentiment and volume pressure.
Ema With Buy/Sell Signals Pro This advanced multi-tool indicator combines Exponential Moving Averages (EMAs), dynamic buy/sell signal logic, ATR-based trailing stops, and a custom volume profile heatmap, delivering a complete solution for identifying trend direction, momentum shifts, and high-activity price zones.
Core Components & Features
📊 1. Triple EMA Overlay
Plots 20, 50, and 200 EMA lines on the chart.
Visualizes short-term, medium-term, and long-term trend directions.
Acts as dynamic support/resistance levels and trend confirmation tools.
💡 2. Smart Buy/Sell Signal System (ATR-Based)
Utilizes an ATR Trailing Stop to detect trend reversals.
Generates Buy signals when price breaks above the ATR stop and confirms strength.
Generates Sell signals when price breaks below the ATR stop and confirms weakness.
Optionally triggers alerts on crossover signals to capture momentum moves early.
📈 3. ATR Extension Signal
Highlights strong momentum bursts using a price/ATR divergence logic.
Filters conditions where price is significantly extended from the 50 EMA.
Plots blue circles above bars to indicate potential breakout continuation.
🧮 4. Volume Profile Heatmap (Custom Coded)
Plots a horizontal Volume Distribution Profile over a customizable lookback window.
Visualizes buy vs sell volume density across price levels using colored boxes:
Green = Buy Dominant
Red = Sell Dominant
5. Fully Customizable Inputs
Adjustable EMAs, ATR period, multipliers, and signal sensitivity.
Fine-tune volume profile resolution, scale, and transparency.
Turn ON/OFF heatmap and lookback visualization for cleaner charts.
✅ Best Use-Cases
Trend-following strategies with reliable momentum confirmation.
Entry/exit signals based on volatility-adjusted stop loss logic.
Spotting key liquidity zones, support/resistance bands, and volume imbalances.
Works for intraday, swing, and position trading.
MojoPivots Breakout Signals [DonnieMojo]The MojoPivots Breakout Indicator is a precision-engineered tool designed for traders seeking high-probability breakout opportunities using dynamic pivot structures and real-time volume imbalances.
Built on DonnieMojo’s breakout framework, this indicator analyzes market structure via custom MR (Major Resistance) and MS (Major Support) levels, dynamically derived from intraday volume profiles and statistical price expansion. It intelligently tracks and visualizes potential breakout zones, key "line-in-the-sand" levels, and take-profit targets (TP1, TP2, TP3) based on volatility-adjusted zones.
🔑 Core Features:
Breakout Signal Detection
Identifies potential bullish and bearish breakouts when price breaches predefined resistance (MR1) or support (MS1) levels with confirmation from volume dynamics.
Smart Take-Profit System
Targets are automatically mapped to MR2–MR4 and MS2–MS4, offering structured TP zones based on standard deviation thresholds.
Delta Zone Visuals
Color-coded fills display real-time buyer/seller dominance in each zone using an imbalance-weighted volume model.
VPOC "Sand Line"
The Volume Point of Control is plotted to show the session's key battle line for trend continuation or rejection.
Statistical Performance Panel
Live breakout stats with hit-rate bars (TP1/TP2/TP3) help you evaluate performance and adjust trade management.
🧪 Usage Tips:
Timeframe Sync: The default detection logic is based on 15-minute candles, but pivot zones are calculated from higher timeframes (2H by default). Adjust these in the settings to suit your strategy.
Entry Trigger: Wait for price to close below MS1 or above MR1 and breach it on the next bar to confirm a breakout signal.
TP Scaling: Use TP1 for conservative exits or scale out progressively at TP2 and TP3 for extended moves.
Volume Confirmation: Delta zone fills (green/red) help validate whether breakout levels are supported by buyer/seller strength — fade low-delta signals with caution.
Combine with Trend Filters: Enhance results by using MojoPivots alongside trend indicators like EMAs, ADX, or macro S/R.
Dynamic VWAP: Fair Value & Divergence SuiteDynamic VWAP: Fair Value & Divergence Suite
Dynamic VWAP: Fair Value & Divergence Suite is a comprehensive tool for tracking contextual valuation, overextension, and potential reversal signals in trending markets. Unlike traditional VWAP that anchors to the start of a session or a fixed period, this indicator dynamically resets the VWAP anchor to the most recent swing low. This design allows you to monitor how far price has extended from the most recent significant low, helping identify zones of potential profit-taking or reversion.
Deviation bands (standard deviations above the anchored VWAP) provide a clear visual framework to assess whether price is in a fair value zone (±1σ), moderately extended (+2σ), or in zones of extreme extension (+3σ to +5σ). The indicator also highlights contextual divergence signals, including slope deceleration, weak-volume retests, and deviation failures—giving you actionable confluence around potential reversal points.
Because the anchor updates dynamically, this tool is particularly well suited for trend-following assets like BTC or stocks in sustained moves, where price rarely returns to deep negative deviation zones. For this reason, the indicator focuses on upside extension rather than symmetrical reversion to a long-term mean.
🎯 Key Features
✅ Dynamic Swing Low Anchoring
Continuously re-anchors VWAP to the most recent swing low based on your chosen lookback period.
Provides context for trend progression and overextension relative to structural lows.
✅ Standard Deviation Bands
Plots up to +5σ deviation bands to visualize levels of overextension.
Extended bands (+3σ to +5σ) can be toggled for simplicity.
✅ Conditional Zone Fills
Colored background fills show when price is inside each valuation zone.
Helps you immediately see if price is in fair value, moderately extended, or highly stretched territory.
✅ Divergence Detection
VWAP Slope Divergence: Flags when price makes a higher high but VWAP slope decelerates.
Low Volume Retest: Highlights weak re-tests of VWAP on low volume.
Deviation Failure: Identifies when price reverts back inside +1σ after closing beyond +3σ.
✅ Volume Fallback
If volume is unavailable, uses high-low range as a proxy.
✅ Highly Customizable
Adjust lookbacks, show/hide extended bands, toggle fills, and enable or disable divergences.
🛠️ How to Use
Identify Buy and Sell Zones
Price in the fair value band (±1σ) suggests equilibrium.
Reaching +2σ to +3σ signals increasing overextension and potential areas to take profits.
+4σ to +5σ zones can be used to watch for exhaustion or mean-reversion setups.
Monitor Divergence Signals
Use slope divergence and deviation failures to look for confluence with overextension.
Low volume retests can flag rallies lacking conviction.
Adapt Swing Lookback
30–50 bars: Faster re-anchoring for swing trading.
75–100 bars: More stable anchors for longer-term trends.
🧭 Best Practices
Combine the anchored VWAP with higher timeframe structure.
Confirm signals with other tools (momentum, volume profiles, or trend filters).
Use extended deviation zones as context, not as standalone signals.
⚠️ Disclaimer
This script is for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any security or asset. Always do your own research and consult a qualified financial professional before making any trading decisions. Past performance does not guarantee future results.
Senn System A"Senn System A" is a robust, all-in-one indicator engineered to enhance your market analysis by intelligently combining the power of Volume Weighted Average Price (VWAP) for range-bound conditions and Exponential Moving Average (EMA) Ribbons for trending environments. This script aims to provide traders with a clear, dynamic visual representation of market structure and momentum across multiple timeframes. A core feature allows you to select and display two distinct VWAP instances simultaneously, each anchoring to your choice of Daily, Weekly, Monthly, Quarterly, or Yearly periods. These VWAPs include clean, filled bands highlighting the area between Standard Deviation 1 and Standard Deviation 2, providing immediate visual cues for key price zones. Furthermore, a unique "Previous VWAP" feature, complete with its own selectable bands and fills, offers valuable historical context for understanding past price action relative to significant volume profiles.
Complementing the VWAP functionality, the indicator integrates an advanced EMA ribbon system, building upon the principles of effective trend visualization. You can customize the lengths of the primary EMA ribbon (defaulting to 25, 36, 50 periods) to suit your analysis of short to medium-term trends. Additionally, dedicated toggles enable the display of higher-timeframe trend ribbons, using EMAs of 100/200 for daily trend and 600/1200 for weekly trend. These ribbons are color-coded based on EMA crossovers, providing intuitive visual signals of trend direction and strength. The "Senn System A" is designed to be highly configurable, allowing traders to tailor the indicator's appearance and active components to their specific trading strategies and market conditions.
ZenAlgo - AvengerThe ZenAlgo - Avenger indicator provides a multi-layered view of market behavior by combining volume delta analytics, trend-following EMAs, average price comparison, and price-volume profiling into a unified overlay. It is designed to visually assist traders in identifying areas of interest, momentum shifts, and potential reversals using cumulative data from both spot and perpetual markets.
Volume Delta Calculation
This indicator computes delta as the difference between estimated buy and sell volumes using volume data from multiple centralized exchanges. It distinguishes between spot and perpetual volumes, combining them into total volume.
To estimate buying and selling volume from raw volume data, candle structure is broken down into body and wicks. The body is interpreted as the core directional movement (buy/sell), while the wicks are treated as uncertain or counteraction. This segmentation helps infer the likely share of buying and selling within each bar.
The delta is calculated per bar and then aggregated over a lookback period (default 14 bars) to generate a cumulative delta. This approach provides a smoothed value of volume pressure trends over time.
A moving average is applied to the delta values (using selectable MA types like EMA or SMA) to define signal crossovers and suppress noise.
Delta Visualization
To contextualize delta within price action, the delta is scaled dynamically (by ATR or user-defined value) and plotted as a band around the closing price. Positive delta expands upward from price, negative delta downward. This provides a visual overlay that reflects net market pressure in context with price movement.
In cases of extreme delta (threshold set at 80% of recent maximum), the indicator marks spike bars using symbols to indicate significant directional pressure.
Identification of Noteworthy Conditions
The indicator highlights points on the chart where specific conditions are met based on the interaction between volume delta and its moving average. These conditions may align with moments of market pressure imbalance and directional movement, but they are not to be interpreted as trade signals in isolation.
Instead, these chart markers serve as visual flags for potential interest. They are intended to draw the user’s attention to scenarios where:
The delta crosses above or below its moving average, suggesting a potential shift in volume pressure.
The cumulative delta supports the direction of this crossover.
Optional filters can further restrict these markings to periods where:
The short-term trend (as inferred from EMA slope) supports the direction.
Volume is elevated relative to a recent average.
A user-defined cooldown period prevents multiple markings within short succession to avoid clutter.
It is essential to underscore that these markers do not constitute buy or sell advice . Their role is diagnostic , helping the trader to identify potential moments of interest which should be analyzed in conjunction with broader context, such as trend structure, price action, support/resistance levels, or external market data.
EMA Structure
Six EMAs with fixed lengths (13 to 56) are plotted and colored dynamically based on the most recent crossover between the fastest and slowest (EMA1 and EMA6). These EMAs help visualize short- to mid-term trends. The crossover itself is marked with symbols, with vertical offset based on ATR to maintain chart readability.
Average Line (AVG)
The indicator also calculates an average price based on a fixed window (100 bars). This is not a standard moving average but rather a raw average of recent prices stored in a circular buffer. The average is plotted, and its relative distance to the current price is labeled as a percentage. This feature serves as a simplified representation of fair value or mean reversion anchor.
EMA6 vs AVG Cross
Another layer of point of interest detection involves EMA6 crossing the AVG line. This crossover is only considered valid if EMA6 shows slope consistency in the crossing direction. These events are marked using symbols and offset vertically to avoid overlapping price action.
Divergence Detection
The script detects both regular and hidden divergences between price and delta:
Regular divergences are defined when price makes a higher high or lower low, while delta fails to confirm (makes a lower high or higher low).
Hidden divergences occur when price retraces (lower high or higher low), but delta moves against this retracement, indicating underlying strength or weakness.
Divergence points are labeled with "R" (regular) or "H" (hidden) and appear at local pivot highs or lows. The number of visible divergence labels can be limited for chart clarity.
POC and nPOC Calculations
The script includes a simplified volume profile implementation, calculating:
POC (Point of Control): the price level with the highest volume for the given period.
nPOC (non-tested POC): historical POCs that have not yet been revisited by price.
Price levels are bucketed into rows (user-defined), and volume per bucket is tracked to identify the POC. Upon a new period (e.g., day, week), a horizontal POC line is drawn. Once tested by price, the line’s appearance changes (color fades, label shrinks), helping users distinguish between untouched and touched levels.
Limits are enforced on the number of retained POCs and their maximum distance from current bars to optimize performance and chart readability.
Exchange Aggregation
Volume data is aggregated across major exchanges. This ensures that the delta calculation captures a broader market picture beyond a single venue, reducing exchange-specific noise.
How to Interpret Values
Delta Band: Wide bands indicate strong directional imbalance. Narrow bands suggest indecision or low volume.
EMA Crossover Symbols: Appear on directional shifts in moving averages. Multiple EMAs reinforcing the same slope typically indicate stronger trend.
AVG Line: Represents average price over recent history. Large deviations can indicate overextension or potential mean reversion.
Divergences: Regular ones may point to weakening momentum; hidden ones can suggest continuation despite corrective price action.
POC / nPOC: Key volume-based support/resistance levels. Untested nPOCs can act as magnets for price retests.
How to Best Use This Indicator
Use in conjunction with trend context (e.g., higher timeframe EMAs) to avoid counter-trend indications.
Treat delta spikes as caution zones—especially if they occur at known support/resistance.
Watch for divergences as early warning signs before price reverses.
Use POC/nPOC as target levels, especially if aligned with delta signals.
Apply volume and trend filters to reduce noise on shorter timeframes.
Added Value
Multi-exchange volume aggregation makes the delta calculation more robust.
Real-time cumulative delta overlaid directly on the price chart provides immediate context.
Points of interest on chart are conservative and filterable, intended to reduce false positives.
The combination of delta, trend-following EMAs, fair value line, and volume profile data is rarely found in one overlay script.
POC/nPOC visualization based on real traded volume helps identify high-interest zones for future price interaction.
Why Is It Worth Paying For
While free alternatives may provide partial insights (e.g., basic delta or single EMA crossovers), this indicator integrates multiple domains—delta, divergence, average price, trend overlays, and profile levels—into a coherent, optimized chart tool. The value lies not just in having these tools, but in how they are synchronized and visualized.
Furthermore, sourcing and synchronizing volume data from multiple exchanges for delta estimation is not straightforward in Pine Script and adds to the indicator's complexity and utility.
Disclaimers and Limitations
Delta estimation is based on candle structure and assumes wick/body distribution reflects buyer/seller activity, which may not always be precise.
Multi-exchange volume data relies on availability via TradingView’s request.security() function; if exchange data is missing or delayed, results may be incomplete.
Divergences do not guarantee reversals—should be used as part of a broader analysis framework.
On illiquid instruments or exotic pairs, the value of delta and volume-based analytics may be reduced due to unreliable volume.
Exponential Action Map (EAM)### **Exponential Action Map (EAM) – Description and Differences from VPVR**
The Exponential Action Map (EAM) indicator is a Pine Script-based volume profile indicator that offers **a weighted representation of buying and selling activity**. Unlike the standard **Volume Profile Visible Range (VPVR)**, which simply shows traded volume at various price levels, the EAM provides the following additional features:
1. **Exponential Weighting**:
- Instead of treating the volume of all considered bars equally, the EAM uses a **decay factor** to gradually diminish the significance of older data. This allows **more recent price movements to have greater influence**, making it particularly useful for short-term analysis.
2. **Exponential Stealth Move (ESM)**:
- In addition to buy and sell volume, the EAM calculates and displays the **Exponential Stealth Move (ESM)**.
- This measures the relative price movement compared to volume and highlights areas where **significant price changes occur with low volume**, which may indicate institutional activity or strong momentum.
- The ESM visualization is not present in VPVR, making it a distinct and valuable feature.
3. **Visualization Methodology**:
- Instead of simple histograms like in VPVR, volume is represented by **dynamic boxes** that encompass Buy (EBA), Sell (ESA), and Stealth Move (ESM) activities.
- The size and color of these boxes are **customizable**, allowing for clear differentiation between various volume types.
4. **Flexibility & Configuration**:
- Users can adjust parameters such as **Number of Bars, Decay Factor, Bar Width, and Maximum History Data**.
- The ability to **toggle historical data visibility** offers a **tailored view** that VPVR does not provide.
**Conclusion:** The EAM extends the classic volume profile (VPVR) by introducing **time-weighted volume analysis and detection of Stealth Moves (ESM)**. This not only highlights price levels with high trading volume but also reveals **price movements with low liquidity**, which can potentially indicate institutional interest.
Simplified Market ProfileVolume Bins: This script divides the price range into num_bins equal price levels. Each bin holds the cumulative volume for that price range.
Profile Length: The number of past bars that the profile considers for building the volume histogram.
Bin Size: The price range between bins is determined by dividing the difference between the highest and lowest prices over the specified range.
Volume Calculation: The script iterates over each bar within the specified range, determining which price bin the bar’s volume should be added to.
Plotting: The script visualizes the volume profile as lines plotted horizontally at different price levels, with thickness proportional to the volume traded at that level.
CVD - Cumulative Volume Delta (Chart)█ OVERVIEW
This indicator displays cumulative volume delta (CVD) as an on-chart oscillator. It uses intrabar analysis to obtain more precise volume delta information compared to methods that only use the chart's timeframe.
The core concepts in this script come from our first CVD indicator , which displays CVD values as plot candles in a separate indicator pane. In this script, CVD values are scaled according to price ranges and represented on the main chart pane.
█ CONCEPTS
Bar polarity
Bar polarity refers to the position of the close price relative to the open price. In other words, bar polarity is the direction of price change.
Intrabars
Intrabars are chart bars at a lower timeframe than the chart's. Each 1H chart bar of a 24x7 market will, for example, usually contain 60 bars at the lower timeframe of 1min, provided there was market activity during each minute of the hour. Mining information from intrabars can be useful in that it offers traders visibility on the activity inside a chart bar.
Lower timeframes (LTFs)
A lower timeframe is a timeframe that is smaller than the chart's timeframe. This script utilizes a LTF to analyze intrabars, or price changes within a chart bar. The lower the LTF, the more intrabars are analyzed, but the less chart bars can display information due to the limited number of intrabars that can be analyzed.
Volume delta
Volume delta is a measure that separates volume into "up" and "down" parts, then takes the difference to estimate the net demand for the asset. This approach gives traders a more detailed insight when analyzing volume and market sentiment. There are several methods for determining whether an asset's volume belongs in the "up" or "down" category. Some indicators, such as On Balance Volume and the Klinger Oscillator , use the change in price between bars to assign volume values to the appropriate category. Others, such as Chaikin Money Flow , make assumptions based on open, high, low, and close prices. The most accurate method involves using tick data to determine whether each transaction occurred at the bid or ask price and assigning the volume value to the appropriate category accordingly. However, this method requires a large amount of data on historical bars, which can limit the historical depth of charts and the number of symbols for which tick data is available.
In the context where historical tick data is not yet available on TradingView, intrabar analysis is the most precise technique to calculate volume delta on historical bars on our charts. This indicator uses intrabar analysis to achieve a compromise between simplicity and accuracy in calculating volume delta on historical bars. Our Volume Profile indicators use it as well. Other volume delta indicators in our Community Scripts , such as the Realtime 5D Profile , use real-time chart updates to achieve more precise volume delta calculations. However, these indicators aren't suitable for analyzing historical bars since they only work for real-time analysis.
This is the logic we use to assign intrabar volume to the "up" or "down" category:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars comprising a chart bar are analyzed, we calculate the net difference between "up" and "down" intrabar volume to produce the volume delta for the chart bar.
█ FEATURES
CVD resets
The "cumulative" part of the indicator's name stems from the fact that calculations accumulate during a period of time. By periodically resetting the volume delta accumulation, we can analyze the progression of volume delta across manageable chunks, which is often more useful than looking at volume delta accumulated from the beginning of a chart's history.
You can configure the reset period using the "CVD Resets" input, which offers the following selections:
• None : Calculations do not reset.
• On a fixed higher timeframe : Calculations reset on the higher timeframe you select in the "Fixed higher timeframe" field.
• At a fixed time that you specify.
• At the beginning of the regular session .
• On trend changes : Calculations reset on the direction change of either the Aroon indicator, Parabolic SAR , or Supertrend .
• On a stepped higher timeframe : Calculations reset on a higher timeframe automatically stepped using the chart's timeframe and following these rules:
Chart TF HTF
< 1min 1H
< 3H 1D
<= 12H 1W
< 1W 1M
>= 1W 1Y
Specifying intrabar precision
Ten options are included in the script to control the number of intrabars used per chart bar for calculations. The greater the number of intrabars per chart bar, the fewer chart bars can be analyzed.
The first five options allow users to specify the approximate amount of chart bars to be covered:
• Least Precise (Most chart bars) : Covers all chart bars by dividing the current timeframe by four.
This ensures the highest level of intrabar precision while achieving complete coverage for the dataset.
• Less Precise (Some chart bars) & More Precise (Less chart bars) : These options calculate a stepped LTF in relation to the current chart's timeframe.
• Very precise (2min intrabars) : Uses the second highest quantity of intrabars possible with the 2min LTF.
• Most precise (1min intrabars) : Uses the maximum quantity of intrabars possible with the 1min LTF.
The stepped lower timeframe for "Less Precise" and "More Precise" options is calculated from the current chart's timeframe as follows:
Chart Timeframe Lower Timeframe
Less Precise More Precise
< 1hr 1min 1min
< 1D 15min 1min
< 1W 2hr 30min
> 1W 1D 60min
The last five options allow users to specify an approximate fixed number of intrabars to analyze per chart bar. The available choices are 12, 24, 50, 100, and 250. The script will calculate the LTF which most closely approximates the specified number of intrabars per chart bar. Keep in mind that due to factors such as the length of a ticker's sessions and rounding of the LTF, it is not always possible to produce the exact number specified. However, the script will do its best to get as close to the value as possible.
As there is a limit to the number of intrabars that can be analyzed by a script, a tradeoff occurs between the number of intrabars analyzed per chart bar and the chart bars for which calculations are possible.
Display
This script displays raw or cumulative volume delta values on the chart as either line or histogram oscillator zones scaled according to the price chart, allowing traders to visualize volume activity on each bar or cumulatively over time. The indicator's background shows where CVD resets occur, demarcating the beginning of new zones. The vertical axis of each oscillator zone is scaled relative to the one with the highest price range, and the oscillator values are scaled relative to the highest volume delta. A vertical offset is applied to each oscillator zone so that the highest oscillator value aligns with the lowest price. This method ensures an accurate, intuitive visual comparison of volume activity within zones, as the scale is consistent across the chart, and oscillator values sit below prices. The vertical scale of oscillator zones can be adjusted using the "Zone Height" input in the script settings.
This script displays labels at the highest and lowest oscillator values in each zone, which can be enabled using the "Hi/Lo Labels" input in the "Visuals" section of the script settings. Additionally, the oscillator's value on a chart bar is displayed as a tooltip when a user hovers over the bar, which can be enabled using the "Value Tooltips" input.
Divergences occur when the polarity of volume delta does not match that of the chart bar. The script displays divergences as bar colors and background colors that can be enabled using the "Color bars on divergences" and "Color background on divergences" inputs.
An information box in the lower-left corner of the indicator displays the HTF used for resets, the LTF used for intrabars, the average quantity of intrabars per chart bar, and the number of chart bars for which there is LTF data. This is enabled using the "Show information box" input in the "Visuals" section of the script settings.
FOR Pine Script™ CODERS
• This script utilizes `ltf()` and `ltfStats()` from the lower_tf library.
The `ltf()` function determines the appropriate lower timeframe from the selected calculation mode and chart timeframe, and returns it in a format that can be used with request.security_lower_tf() .
The `ltfStats()` function, on the other hand, is used to compute and display statistical information about the lower timeframe in an information box.
• The script utilizes display.data_window and display.status_line to restrict the display of certain plots.
These new built-ins allow coders to fine-tune where a script’s plot values are displayed.
• The newly added session.isfirstbar_regular built-in allows for resetting the CVD segments at the start of the regular session.
• The VisibleChart library developed by our resident PineCoders team leverages the chart.left_visible_bar_time and chart.right_visible_bar_time variables to optimize the performance of this script.
These variables identify the opening time of the leftmost and rightmost visible bars on the chart, allowing the script to recalculate and draw objects only within the range of visible bars as the user scrolls.
This functionality also enables the scaling of the oscillator zones.
These variables are just a couple of the many new built-ins available in the chart.* namespace.
For more information, check out this blog post or look them up by typing "chart." in the Pine Script™ Reference Manual .
• Our ta library has undergone significant updates recently, including the incorporation of the `aroon()` indicator used as a method for resetting CVD segments within this script.
Revisit the library to see more of the newly added content!
Look first. Then leap.
Bitcoin Stalemate IndicatorThe Bitcoin Stalemate Indicator examines periods in the market defined by a combination of high volume and low price volatility. These periods are a bit like a tug-of-war with both sides applying a lot of force but the rope moving very little. Periods of high volume and low volatility suggest both sides of the trade are stuck in a stalemate. This indicator may be useful in identifying psychologically important price levels.
The mechanics of the indicator are fairly simple: the indicator takes the volume and divides it by the candle’s size over it’s close for that same period.
volume / ((high - low) / close)
Candles that move very little but with high volume will produce higher reads and vice versa. Finally a smoothing average is applied to clean up the noise.
Volume profiles from the top 6 exchanges are averaged in order to avoid a single exchange’s popularity acting as an overriding factor. Single exchanges can be isolated but are of lesser use. Heat map functionality is only active when all exchanges are selected.
Market Profile Fixed ViewSome instruments does not provide any volume information, therefore, as a fixed volume profile user, I needed a fixed market profile indicator to use the same principles, regardless of whether the volumes are available or not.
This script draws a market profile histogram corresponding to price variations within a specific duration, you only need to specify Start and End date/time values to see the histogram on your chart.
Details
Two lines corresponding to highest/lowest prices are displayed around the histogram
The redline corresponds to the POC (point of control)
Options
Start calculation
End calculation
Bars number (histogram resolution, currently locked to a max value of 50 bars)
Display side/Width (allows to modify size of bars, to the left or to the right)
Bars/Borders/POC Color customization
Notes
This script will probably be updated (to add VAH/VAL zones, and maybe other options). However, some common market profile attributes have not been implemented yet since I don't really use them)
TIL Volume by Price SRTrading Indicator Lab's Volume by Price SR is a volume-based indicator for TradingView that reveals the strongest (and weakest) support and resistance levels in the chart among 12 price zones within a given period.
How It Works
The Volume by Price indicator uses a spectrum of blue to red colors to differentiate the strength of the volume within a price range for each bar. Think of it as a running volume profile with 12 price zones.
For each bar, the indicator calculates the rank of each price zone from the one that has the least number of volume to the highest within a given length of bars. Price zones that have less volume count are assigned colors that are closer to blue while price zones that have higher volume appear red. The indicator also marks the highest and lowest price levels in the rank with a red and blue dot which correspond to the same color code. The indicator repeats this in the next bar up to the last until it creates a stream of 12 lines that visually represent the gradual shift of volume strength in the price axis.
How to Use
The Volume by Price SR indicator is simple and can be used primarily to gauge support and resistance. Red lines represent price levels where there is a history of higher volume within the period, which also act as good support/resistance levels where price is more likely to be tested or bounce off.
As it can also be seen as a running volume profile indicator, the red and blue dots in each bar can be considered as high volume nodes (HVN) and low volume nodes (LVN) respectively. Though the calculation of the volume profile is continuous, the HVN and LVN dots can often appear consecutively or in a series within a single price level. The price tends to linger around or test lines that has the red dot (HVN). Meanwhile price rarely cross lines with the blue dot (LVN) or not spend as much time in these areas compared to other levels.
The height of the 12 price zones is determined by the difference between the highest high and lowest low of the period which can be useful in visualizing the chart's dynamic price range.
Inputs
- Length - sets the length of the period the indicator calculates for each bar
- Line Thickness - sets the thickness of the 12 lines all at once
- Dot Size - sets the size of the HVN and LVN dots
Multi Time Frame Trend, Volume and Momentum ProfileWHAT DOES THIS INDICATOR DO?
I created this indicator to address some of the significant inconveniences when analyzing a security, such as continually switching between different time frames to determine the trend and potential pullbacks, adding volume or volume-derived indicators, and finally, something that would help me determine the strength of the trend (maybe two additional indicators here). So I decided to code this all-in-one indicator that you can add multiple times to your chart depending on the settings you want to use, or just optimize the parameters for the particular asset and then switch between the options.
As the name suggests, it consists of three main sections - Trend , Volume , and Momentum . You have complete control over the parameters, including the Time Frames you want to use for each one (they can be different). So, let me explain each section in more detail.
HOW DOES THE INDICATOR WORK?
1. Trend Settings
In order to determine the trend, you need to set up two Moving Averages. You have a wide choice here - SMA, EMA, WMA, RMA, HMA, DEMA, TEMA, VWMA, and ALMA. Since the indicator does not plot the moving averages on the chart, I strongly suggest using this indicator along with the free "Trend Indicator for Directional Trading(main)" , which you can find in the Public Library. Once you set up the Trend Resolution, the Types of MAs, and their lengths, the indicator will generate a histogram of their convergences and divergences.
The change in colors should help you more easily determine the trend:
a) Bright Green - bull trend and price trending up (a good place to open long)
b) Dark Green - bull trend and price trending down (stay flat or open a long position with great caution)
c) Bright Red - bear trend and price trending down (a good place to open short)
d) Dark Red - bear trend and price trending up (stay flat or open a short position with great caution)
e) In addition, you can change the color palette to reflect the bull/bear trend momentum by scrolling to the bottom and selecting "Color Based on Bull/Bear Momentum", but I will discuss this in more detail below.
This part of the indicator is useful for opening a trade in the direction of the trend or for spotting a potential divergence. Both cases are illustrated below.
2. Volume Settings
The calculations for this part of the indicator are partially taken from "Multi Time Frame Effective Volume Profile" . I will quickly outline the specifics here, but if you want a more thorough understanding of how it works, please check the description of the MTF Effective Volume Profile indicator .
You have three elements with the following default settings - Resolution (5-min), Lookback (100), and Average (1). This means that the indicator will analyze the last one hundred 5-min bars and will plot a sum of only those that are at least 1 times bigger than the average. Those that are smaller than the average will be left out from the calculation. What you get is a trend line showing you accumulation/distribution based on modified volume parameters.
This part of the indicator is useful for spotting exhaustions and increased buying/selling volume that is opposite to the price trend. As you will see in the picture below, in frame 1 the selling pressure is decreasing, while buying volume is increasing. At one point supply dries out and the bulls take control, thus reverting the price. In frame 2, however, you can see that the higher high is not met with nearly as much buying volume as in the previous peak, showing that the bulls are exhausted and maybe a trend change will follow or at the very least that the bull trend will take a break.
3. Momentum Settings
The final part is an RSI smoothed through a Moving Average with the addition of some minor optimizations. Thus, the parameters you have to configure here aside from the resolution are the RSI length, the moving average that will be used, and its length. Out of the three, this is the most lagging component, but it's also the most accurate one. I must mention that due to the modified nature of this RSI, overbought and oversold levels carry less weight to the trading signals. Rather, pay attention to the change of colors, as they do so when the RSI changes direction based on preset parameters. The picture below shows such instances.
4. Additional Settings
This section consists of 4 elements:
a) Length of Trend - filters out the noise and gives a signal only when the trend becomes more established
b) ADX Threshold - filters out trading ranges and indecision zones when it's not recommended to open a trade
c) Select Analysis - choose what part of the indicator you want to see from a drop-down menu
d) Color Based on Bull/Bear Momentum - a global setting that will override the preset coloring of each indicator and will replace it with colors based on bull/bear strength and momentum - green for bulls, red for bears, and gray for non-trading zones.
The last part of this indicator is a combination of all of the above and is called a Points-Based System . It generates 3 rows of dots that go light green when bull criteria are met, orange when bear criteria are met, or gray when it's neither of the two. When you get a column of 3 green dots you get a buy signal. Similarly, a column of 3 orange dots gives you a sell signal. Grey zones are non-tradeable. It goes without saying that the frequency and quality of the signals you get will almost entirely depend on your settings, so feel free to experiment and adjust the indicator to catch the best moves for the given security.
In terms of indicator adjustments, I have left almost every part open to configuration. That is 15 parameters and 35 adjustable colors.
HOW MUCH DOES THE INDICATOR COST ?
As much as I would like to offer it for free (as some of my other ones), a great deal of work, trading logic, and testing have gone into creating this indicator. More than a few hundred iterations and a few dozen branches were required to reach the end result which is a precise combination of usefulness, simplicity, and practicality. Furthermore, this indicator will continue to be updated and user-requested features that improve its performance will be added.
Disclaimer: The purpose of all indicators is to indicate potential setups, which may lead to profitable results. No indicator is perfect and certainly, no indicator has a 100% success rate. They are subject to flaws, wrongful interpretation, bugs, etc. This indicator makes no exception. It must be used with a sound money management plan that puts the main emphasis on protecting your capital. Please, do not rely solely on any single indicator to make trading decisions instead of you. Indicators are storytellers, not fortune tellers. They help you see the bigger picture, not the future.
To find out more about how to gain access to this indicator, please use the provided information below or just message me. Thank you for your time.
Bar Balance [LucF]Bar Balance extracts the number of up, down and neutral intrabars contained in each chart bar, revealing information on the strength of price movement. It can display stacked columns representing raw up/down/neutral intrabar counts, or an up/down balance line which can be calculated and visualized in many different ways.
WARNING: This is an analysis tool that works on historical bars only. It does not show any realtime information, and thus cannot be used to issue alerts or for automated trading. When realtime bars elapse, the indicator will require a browser refresh, a change to its Inputs or to the chart's timeframe/symbol to recalculate and display information on those elapsed bars. Once a trader understands this, the indicator can be used advantageously to make discretionary trading decisions.
Traders used to work with my Delta Volume Columns Pro will feel right at home in this indicator's Inputs . It has lots of options, allowing it to be used in many different ways. If you value the bar balance information this indicator mines, I hope you will find the time required to master the use of Bar Balance well worth the investment.
█ OVERVIEW
The indicator has two modes: Columns and Line .
Columns
• In Columns mode you can display stacked Up/Down/Neutral columns.
• The "Up" section represents the count of intrabars where `close > open`, "Down" where `close < open` and "Neutral" where `close = open`.
• The Up section always appears above the centerline, the Down section below. The Neutral section overlaps the centerline, split halfway above and below it.
The Up and Down sections start where the Neutral section ends, when there is one.
• The Up and Down sections can be colored independently using 7 different methods.
• The signal line plotted in Line mode can also be displayed in Columns mode.
Line
• Displays a single balance line using a zero centerline.
• A variable number of independent methods can be used to calculate the line (6), determine its color (5), and color the fill (5).
You can thus evaluate the state of 3 different components with this single line.
• A "Divergence Levels" feature will use the line to automatically draw expanding levels on divergence events.
Features available in both modes
• The color of all components can be selected from 15 base colors, with 16 gradient levels used for each base color in the indicator's gradients.
• A zero line can show a 6-state aggregate value of the three main volume balance modes.
• The background can be colored using any of 5 different methods.
• Chart bars can be colored using 5 different methods.
• Divergence and large neutral count ratio events can be shown in either Columns or Line mode, calculated in one of 4 different methods.
• Markers on 6 different conditions can be displayed.
█ CONCEPTS
Intrabar inspection
Intrabar inspection means the indicator looks at lower timeframe bars ( intrabars ) making up a given chart bar to gather its information. If your chart is on a 1-hour timeframe and the intrabar resolution determined by the indicator is 5 minutes, then 12 intrabars will be analyzed for each chart bar and the count of up/down/neutral intrabars among those will be tallied.
Bar Balances and calculation methods
The indicator uses a variety of methods to evaluate bar balance and to derive other calculations from them:
1. Balance on Bar : Uses the relative importance of instant Up and Down counts on the bar.
2. Balance Averages : Uses the difference between the EMAs of Up and Down counts.
3. Balance Momentum : Starts by calculating, separately for both Up and Down counts, the difference between the same EMAs used in Balance Averages and an SMA of double the period used for the EMAs. These differences are then aggregated and finally, a bounded momentum of that aggregate is calculated using RSI.
4. Markers Bias : It sums the bull/bear occurrences of the four previous markers over a user-defined period (the default is 14).
5. Combined Balances : This is the aggregate of the instant bull/bear bias of the three main bar balances.
6. Dual Up/Down Averages : This is a display mode showing the EMA calculated for each of the Up and Down counts.
Interpretation of neutral intrabars
What do neutral intrabars mean? When price does not change during a bar, it can be because there is simply no interest in the market, or because of a perfect balance between buyers and sellers. The latter being more improbable, Bar Balance assumes that neutral bars reveal a lack of interest, which entails uncertainty. That is the reason why the option is provided to interpret ratios of neutral intrabars greater than 50% as divergences. It is also the rationale behind the option to dampen signal lines on the inverse ratio of neutral intrabars, so that zero intrabars do not affect the signal, and progressively larger proportions of neutral intrabars will reduce the signal's amplitude, as the balance calcs using the up/down counts lose significance. The impact of the dampening will vary with markets. Weaker markets such as cryptos will often contain greater numbers of neutral intrabars, so dampening the Line in that sector will have a greater impact than in more liquid markets.
█ FEATURES
1 — Columns
• While the size of the Up/Down columns always represents their respective importance on the bar, their coloring mode is independent. The default setup uses a standard coloring mode where the Up/Down columns over/under the zero line are always in the bull/bear color with a higher intensity for the winning side. Six other coloring modes allow you to pack more information in the columns. When choosing to color the top columns using a bull/bear gradient on Balance Averages, for example, you will end up with bull/bear colored tops. In order for the color of the bottom columns to continue to show the instant bar balance, you can then choose the "Up/Down Ratio on Bar — Dual Solid Colors" coloring mode to make those bars the color of the winning side for that bar.
• Line mode shows only the line, but Columns mode allows displaying the line along with it. If the scale of the line is different than that of the scale of the columns, the line will often appear flat. Traders may find even a flat line useful as its bull/bear colors will be easily distinguishable.
2 — Line
• The default setup for Line mode uses a calculation on "Balance Momentum", with a fill on the longer-term "Balance Averages" and a line color based on the "Markers Bias". With the background set on "Line vs Divergence Levels" and the zero line on the hard-coded "Combined Bar Balances", you have access to five distinct sources of information at a glance, to which you can add divergences, divergences levels and chart bar coloring. This provides powerful potential in displaying bar balance information.
• When no columns are displayed, Line mode can show the full scale of whichever line you choose to calculate because the columns' scale no longer interferes with the line's scale.
• Note that when "Balance on Bar" is selected, the Neutral count is also displayed as a ratio of the balance line. This is the only instance where the Neutral count is displayed in Line mode.
• The "Dual Up/Down Averages" is an exception as it displays two lines: one average for the Up counts and another for the Down counts. This mode will be most useful when Columns are also displayed, as it provides a reference for the top and bottom columns.
3 — Zero Line
The zero line can be colored using two methods, both based on the Combined Balances, i.e., the aggregate of the instant bull/bear bias of the three main bar balances.
• In "Six-state Dual Color Gradient" mode, a dot appears on every bar. Its color reflects the bull/bear state of the Combined Balances, and the dot's brightness reflects the tally of balance biases.
• In "Dual Solid Colors (All Bull/All Bear Only)" a dot only appears when all three balances are either bullish or bearish. The resulting pattern is identical to that of Marker 1.
4 — Divergences
• Divergences are displayed as a small circle at the top of the scale. Four different types of divergence events can be detected. Divergences occur whenever the bull/bear bias of the method used diverges with the bar's price direction.
• An option allows you to include in divergence events instances where the count of neutral intrabars exceeds 50% of the total intrabar count.
• The divergence levels are dynamic levels that automatically build from the line's values on divergence events. On consecutive divergences, the levels will expand, creating a channel. This implementation of the divergence levels corresponds to my view that divergences indicate anomalies, hesitations, points of uncertainty if you will. It excludes any association of a pre-determined bullish/bearish bias to divergences. Accordingly, the levels merely take note of divergence events and mark those points in time with levels. Traders then have a reference point from which they can evaluate further movement. The bull/bear/neutral colors used to plot the levels are also congruent with this view in that they are determined by price's position relative to the levels, which is how I think divergences can be put to the most effective use.
5 — Background
• The background can show a bull/bear gradient on four different calculations. You can adjust its brightness to make its visual importance proportional to how you use it in your analysis.
6 — Chart bars
• Chart bars can be colored using five different methods.
• You have the option of emptying the body of bars where volume does not increase, as does my TLD indicator, the idea behind this being that movement on bars where volume does not increase is less relevant.
7 — Intrabar Resolution
You can choose between three modes. Two of them are automatic and one is manual:
a) Fast, Longer history, Auto-Steps (~12 intrabars) : Optimized for speed and deeper history. Uses an average minimum of 12 intrabars.
b) More Precise, Shorter History Auto-Steps (~24 intrabars) : Uses finer intrabar resolution. It is slower and provides less history. Uses an average minimum of 24 intrabars.
c) Fixed : Uses the fixed resolution of your choice.
Auto-Steps calculations vary for 24/7 and conventional markets in order to achieve the proper target of minimum intrabars.
You can choose to view the intrabar resolution currently used to calculate delta volume. It is the default.
The proper selection of the intrabar resolution is important. It must achieve maximal granularity to produce precise results while not unduly slowing down calculations, or worse, causing runtime errors.
8 — Markers
Six markers are available:
1. Combined Balances Agreement : All three Bar Balances are either bullish or bearish.
2. Up or Down % Agrees With Bar : An up marker will appear when the percentage of up intrabars in an up chart bar is greater than the specified percentage. Conditions mirror to down bars.
3. Divergence confirmations By Price : One of the four types of balance calculations can be used to detect divergences with price. Confirmations occur when the bar following the divergence confirms the balance bias. Note that the divergence events used here do not include neutral intrabar events.
4. Balance Transitions : Bull/bear transitions of the selected balance.
5. Markers Bias Transitions : Bull/bear transitions of the Markers Bias.
6. Divergence Confirmations By Line : Marks points where the line first breaches a divergence level.
Markers appear when the condition is detected, without delay. Since nothing is plotted in realtime, markers do not appear on the realtime bar.
9 — Settings
• Two modes can be selected to dampen the line on the ratio of neutral intrabars.
• A distinct weight can be attributed to the count of the latter half of intrabars, on the assumption that later intrabars may be more important in determining the outcome of chart bars.
• Allows control over the periods of the different moving averages used in calculations.
• The default periods used for the various calculations define the following hierarchy from slow to fast:
Balance Averages: 50,
Balance Momentum: 20,
Dual Up/Down Averages: 20,
Marker Bias: 10.
█ LIMITATIONS
• This script uses a special characteristic of the `security()` function allowing the inspection of intrabars—which is not officially supported by TradingView.
• The method used does not work on the realtime bar—only on historical bars.
• The indicator only works on some chart resolutions: 3, 5, 10, 15 and 30 minutes, 1, 2, 4, 6, and 12 hours, 1 day, 1 week and 1 month. The script’s code can be modified to run on other resolutions, but chart resolutions must be divisible by the lower resolution used for intrabars and the stepping mechanism could require adaptation.
• When using the "Line vs Divergence Levels — Dual Color Gradient" color mode to fill the line, background or chart bars, keep in mind that a line calculation mode must be defined for it to work, as it determines gradients on the movement of the line relative to divergence levels. If the line is hidden, it will not work.
• When the difference between the chart’s resolution and the intrabar resolution is too great, runtime errors will occur. The Auto-Steps selection mechanisms should avoid this.
• Alerts do not work reliably when `security()` is used at intrabar resolutions. Accordingly, no alerts are configured in the indicator.
• The color model used in the indicator provides for fancy visuals that come at a price; when you change values in Inputs , it can take 20 seconds for the changes to materialize. Luckily, once your color setup is complete, the color model does not have a large performance impact, as in normal operation the `security()` calls will become the most important factor in determining response time. Also, once in a while a runtime error will occur when you change inputs. Just making another change will usually bring the indicator back up.
█ RAMBLINGS
Is this thing useful?
I'll let you decide. Bar Balance acts somewhat like an X-Ray on bars. The intrabars it analyzes are no secret; one can simply change the chart's resolution to see the same intrabars the indicator uses. What the indicator brings to traders is the precise count of up/down/neutral intrabars and, more importantly, the calculations it derives from them to present the information in a way that can make it easier to use in trading decisions.
How reliable is Bar Balance information?
By the same token that an up bar does not guarantee that more up bars will follow, future price movements cannot be inferred from the mere count of up/down/neutral intrabars. Price movement during any chart bar for which, let's say, 12 intrabars are analyzed, could be due to only one of those intrabars. One can thus easily see how only relying on bar balance information could be very misleading. The rationale behind Bar Balance is that when the information mined for multiple chart bars is aggregated, it can provide insight into the history behind chart bars, and thus some bias as to the strength of movements. An up chart bar where 11/12 intrabars are also up is assumed to be stronger than the same up bar where only 2/12 intrabars are up. This logic is not bulletproof, and sometimes Bar Balance will stray. Also, keep in mind that balance lines do not represent price momentum as RSI would. Bar Balance calculations have no idea where price is. Their perspective, like that of any historian, is very limited, constrained that it is to the narrow universe of up/down/neutral intrabar counts. You will thus see instances where price is moving up while Balance Momentum, for example, is moving down. When Bar Balance performs as intended, this indicates that the rally is weakening, which does necessarily imply that price will reverse. Occasionally, price will merrily continue to advance on weakening strength.
Divergences
Most of the divergence detection methods used here rely on a difference between the bias of a calculation involving a multi-bar average and a given bar's price direction. When using "Bar Balance on Bar" however, only the bar's balance and price movement are used. This is the default mode.
As usual, divergences are points of interest because they reveal imbalances, which may or may not become turning points. I do not share the overwhelming enthusiasm traders have for the purported ability of bullish/bearish divergences to indicate imminent reversals.
Superfluity
In "The Bed of Procrustes", Nassim Nicholas Taleb writes: To bankrupt a fool, give him information . Bar Balance can display lots of information. While learning to use a new indicator inevitably requires an adaptation period where we put it through its paces and try out all its options, once you have become used to Bar Balance and decide to adopt it, rigorously eliminate the components you don't use and configure the remaining ones so their visual prominence reflects their relative importance in your analysis. I tried to provide flexible options for traders to control this indicator's visuals for that exact reason—not for window dressing.
█ NOTES
For traders
• To avoid misleading traders who don't read script descriptions, the indicator shows nothing in the realtime bar.
• The Data Window shows key values for the indicator.
• All gradients used in this indicator determine their brightness intensities using advances/declines in the signal—not their relative position in a fixed scale.
• Note that because of the way gradients are optimized internally, changing their brightness will sometimes require bringing down the value a few steps before you see an impact.
• Because this indicator does not use volume, it will work on all markets.
For coders
• For those interested in gradients, this script uses an advanced version of the Advance/Decline gradient function from the PineCoders Color Gradient (16 colors) Framework . It allows more precise control over the range, steps and min/max values of the gradients.
• I use the PineCoders Coding Conventions for Pine to write my scripts.
• I used functions modified from the PineCoders MTF Selection Framework for the selection of timeframes.
█ THANKS TO:
— alexgrover who helped me think through the dampening method used to attenuate signal lines on high ratios of neutral intrabars.
— A guy called Kuan who commented on a Backtest Rookies presentation of their Volume Profile indicator . The technique I use to inspect intrabars is derived from Kuan's code.
— theheirophant , my partner in the exploration of the sometimes weird abysses of `security()`’s behavior at intrabar resolutions.
— midtownsk8rguy , my brilliant companion in mining the depths of Pine graphics. He is also the co-author of the PineCoders Color Gradient Frameworks .
Institutional Activity DetectorInstitutional Activity Detector - Complete Tutorial
Table of Contents
Installation
Understanding the Indicator
Signal Interpretation
Settings Configuration
Trading Strategies
Best Practices
Common Mistakes to Avoid
1. Installation {#installation}
Step-by-Step Setup:
Step 1: Access TradingView
Go to TradingView.com
Log in to your account (free account works fine)
Step 2: Open Pine Editor
Click on "Pine Editor" at the bottom of the chart
If you don't see it, go to the top menu and select "Pine Editor"
Step 3: Add the Script
Click "New" to create a new indicator
Delete any default code
Copy the entire Institutional Activity Detector code
Paste it into the editor
Step 4: Save and Apply
Click "Save" (give it a name like "Inst Detector")
Click "Add to Chart"
The indicator will now appear on your chart
2. Understanding the Indicator {#understanding}
What It Detects:
This indicator identifies institutional traders (banks, hedge funds, market makers) by analyzing:
Volume Analysis
Detects unusual volume spikes that indicate large players entering
Compares current volume to 20-period average
Institutional trades create volume 2-5x normal levels
Order Flow
Delta: Difference between buying and selling volume
Positive delta = More buying pressure
Negative delta = More selling pressure
Institutions leave "footprints" in order flow
Price Action Patterns
Bullish Rejection Wicks:
| <- Small upper wick
|
███ <- Small body
███
|
|
| <- Large lower wick (rejection)
Indicates institutions bought aggressively at lower prices
Bearish Rejection Wicks:
|
|
| <- Large upper wick (rejection)
|
███ <- Small body
███
| <- Small lower wick
Indicates institutions sold aggressively at higher prices
Liquidity Grabs
Institutions often:
Push price above resistance or below support
Trigger stop losses (grab liquidity)
Reverse direction and trade the other way
Dark Pool Activity
Large block trades executed off-exchange:
High volume with minimal price movement
Indicates institutional accumulation/distribution without moving price
3. Signal Interpretation {#signals}
Signal Types:
🟢 INSTITUTIONAL BUY Signal
Appears as green triangle below candle with strength number (2-5)
What it means:
Institutions are actively accumulating (buying)
Higher strength = More confirmation factors
Strength Levels:
2-3: Moderate confidence - Wait for confirmation
4: High confidence - Strong institutional interest
5: Maximum confidence - Multiple factors aligned
🔴 INSTITUTIONAL SELL Signal
Appears as red triangle above candle with strength number (2-5)
What it means:
Institutions are actively distributing (selling)
Higher strength = More confirmation factors
🟠 Dark Pool (DP) Marker
Small orange diamond
What it means:
Large block trade executed
Accumulation/distribution happening quietly
Often precedes significant moves
Liquidity Zones
Red boxes above price = Resistance/sell liquidity
Green boxes below price = Support/buy liquidity
Institutions target these zones to trigger stops
4. Settings Configuration {#settings}
Recommended Settings by Asset Type:
For Stocks (SPY, AAPL, TSLA):
Volume Spike Multiplier: 2.0
Volume Average Period: 20
Delta Threshold: 70%
Minimum Signal Strength: 3
Timeframe: 5m, 15m, 1H
For Forex (EUR/USD, GBP/USD):
Volume Spike Multiplier: 1.5
Volume Average Period: 30
Delta Threshold: 65%
Minimum Signal Strength: 3
Timeframe: 15m, 1H, 4H
For Crypto (BTC, ETH):
Volume Spike Multiplier: 2.5
Volume Average Period: 20
Delta Threshold: 70%
Minimum Signal Strength: 4
Timeframe: 15m, 1H, 4H
For Futures (ES, NQ):
Volume Spike Multiplier: 2.0
Volume Average Period: 20
Delta Threshold: 75%
Minimum Signal Strength: 3
Timeframe: 5m, 15m, 30m
Parameter Explanations:
Volume Spike Multiplier (1.0 - 10.0)
Lower = More sensitive (more signals, some false)
Higher = Less sensitive (fewer signals, more reliable)
Start with 2.0 and adjust based on your asset's volatility
Delta Threshold % (50 - 100)
Measures buying vs selling pressure
70% = Strong institutional bias required
Lower for ranging markets, higher for trending
Minimum Signal Strength (2 - 5)
Number of factors that must align for a signal
2 = Very sensitive (many signals)
5 = Very conservative (rare signals)
Recommended: 3-4 for balance
5. Trading Strategies {#strategies}
Strategy 1: Liquidity Grab Reversal
Setup:
Price approaches a liquidity zone (green/red box)
Price penetrates the zone briefly
Institutional BUY/SELL signal appears
Price reverses away from the zone
Entry:
Enter on the signal candle close
Or wait for next candle confirmation
Stop Loss:
Below the liquidity grab low (for buys)
Above the liquidity grab high (for sells)
Take Profit:
2:1 or 3:1 risk/reward ratio
Or next opposing liquidity zone
Example:
Price drops below support → Triggers stops →
Institutional BUY signal (4-5 strength) →
Enter LONG → Price rallies
Strategy 2: Trend Continuation
Setup:
Identify the trend (higher highs/higher lows for uptrend)
Wait for pullback to support in uptrend
Institutional BUY signal appears during pullback
Confirms institutions are adding to positions
Entry:
Enter on signal with strength ≥ 4
Or next candle after signal
Stop Loss:
Below the pullback low + small buffer
Take Profit:
Previous swing high
Or trailing stop using ATR
Strategy 3: Dark Pool Accumulation
Setup:
Dark Pool (DP) markers appear multiple times
Price consolidates in tight range
Institutional BUY signal with high strength appears
Breakout occurs
Entry:
Enter on breakout candle after signal
Or on retest of breakout level
Stop Loss:
Below consolidation range
Take Profit:
Measured move (height of consolidation projected)
Strategy 4: Divergence Play
Setup:
Price makes lower low
MFI/RSI makes higher low (bullish divergence)
Institutional BUY signal appears
Volume confirms with spike
Entry:
Enter on signal candle or next
Stop Loss:
Below the divergence low
Take Profit:
Previous swing high or resistance
6. Best Practices {#best-practices}
✅ DO's:
1. Use Multiple Timeframes
Check higher timeframe for trend direction
Trade signals that align with higher timeframe
Example: 15m signals in direction of 1H trend
2. Combine with Key Levels
Support/resistance
Supply/demand zones
Previous day high/low
Round numbers (psychological levels)
3. Wait for Confirmation
Don't rush into trades
Let the signal candle close
Watch next candle for follow-through
4. Check the Metrics Table
Look at Relative Volume (should be >2.0)
Check Delta % (should be strong positive/negative)
Verify Order Flow aligns with signal
5. Consider Market Context
News events can override signals
Low liquidity times (lunch, overnight) less reliable
Major economic releases need caution
6. Paper Trade First
Test the indicator for 2-4 weeks
Learn how it behaves on your chosen assets
Develop confidence before using real money
Best Times to Trade:
Stock Market Hours:
9:30-11:30 AM EST (high volume, strong moves)
2:00-4:00 PM EST (institutional positioning)
Avoid: 11:30 AM-2:00 PM (lunch, low volume)
Forex:
London Open: 3:00-6:00 AM EST
New York Open: 8:00-11:00 AM EST
London/NY Overlap: 8:00 AM-12:00 PM EST
Crypto:
24/7 market, but highest volume during US/European hours
Watch for weekend low liquidity
7. Common Mistakes to Avoid {#mistakes}
❌ DON'T:
1. Trade Every Signal
Not all signals are equal
Focus on strength 4-5 signals
Wait for optimal setups
2. Ignore Market Structure
Don't buy into strong downtrends (catch falling knife)
Don't sell into strong uptrends (fight the tape)
Respect major support/resistance
3. Use Too Small Timeframes
1m and 2m charts are too noisy
Minimum recommended: 5m for scalping
Better: 15m, 30m, 1H for reliability
4. Overtrade
Quality over quantity
2-5 good trades per day is excellent
Forcing trades leads to losses
5. Ignore Risk Management
Always use stop losses
Risk only 1-2% per trade
Don't revenge trade after losses
6. Trade During Low Volume
Signals less reliable with low volume
Check Relative Volume metric (should be >1.5)
Avoid pre-market/after-hours for stocks
7. Misread Liquidity Grabs
Not every wick is a liquidity grab
Need volume confirmation
Must have institutional signal
Advanced Tips:
Filtering False Signals:
Use Signal Strength Filter:
Minimum strength 3 = Balanced
Minimum strength 4 = Conservative (recommended)
Minimum strength 5 = Ultra conservative
Confluence Checklist:
Signal strength ≥ 4
Relative volume > 2.0
At key support/resistance
Aligns with higher timeframe trend
Delta % strongly positive/negative
Clean price action setup
If 4+ boxes checked = High probability trade
Setting Up Alerts:
Click the three dots on the indicator
Select "Create Alert"
Choose condition:
"Institutional Buy Signal"
"Institutional Sell Signal"
"Dark Pool Activity"
Set up notification (email, SMS, app)
Save alert
Alert Strategy:
Set minimum strength to 4 for fewer, better alerts
Use for assets you can't watch constantly
Don't rely solely on alerts - check chart context
Practice Exercise:
Week 1-2: Observation
Add indicator to your favorite assets
Watch how signals develop
Note which ones lead to profitable moves
Don't trade yet - just observe
Week 3-4: Paper Trading
Use TradingView's paper trading
Trade only strength 4-5 signals
Record results in a journal
Note: entry, exit, profit/loss, what worked/didn't
Week 5+: Small Live Positions
Start with smallest position size
Trade only your best setups
Gradually increase size as you gain confidence
Keep detailed journal
Quick Reference Card:
Signal Quality Ranking:
🔥 Best Setups (Take These):
Strength 5 + Liquidity grab + Key level
Strength 4-5 + Volume >3.0 + Trend alignment
Dark Pool markers + Strength 4+ signal
✅ Good Setups:
Strength 4 at support/resistance
Strength 3-4 with strong delta
Liquidity grab + Strength 3+
⚠️ Caution (Wait for More):
Strength 2-3 in middle of nowhere
Against higher timeframe trend
Low volume (Rel Vol <1.5)
❌ Avoid:
Strength 2 only
During major news
Low liquidity hours
Against strong trend
Troubleshooting:
"Too many signals"
→ Increase Minimum Signal Strength to 4
→ Increase Volume Spike Multiplier to 2.5-3.0
"Too few signals"
→ Decrease Minimum Signal Strength to 2-3
→ Decrease Volume Spike Multiplier to 1.5
"Signals not working"
→ Check if you're trading during low volume hours
→ Verify you're using recommended timeframes
→ Make sure signals align with market structure
"Can't see liquidity zones"
→ Enable "Show Liquidity Zones" in settings
→ Adjust Swing Detection Length (try 7-15)
Resources for Further Learning:
Concepts to Study:
Order Flow Trading
Market Profile / Volume Profile
Smart Money Concepts (SMC)
Liquidity Sweeps and Stop Hunts
Institutional Order Flow
Wyckoff Method
Volume Spread Analysis (VSA)
Recommended Practice:
Study past signals on chart
Replay market using TradingView's bar replay feature
Join trading communities to share setups
Keep a detailed trading journal
Final Thoughts:
This indicator is a tool, not a crystal ball. It identifies high-probability setups where institutions are active, but still requires:
Proper risk management
Market context understanding
Patience and discipline
Continuous learning
Success Formula:
Right Tool + Proper Training + Risk Management + Discipline = Consistent Profits
Start slow, master the basics, and gradually increase complexity as you gain experience.
Good luck and trade smart! 📊📈