SVA - Simple Volume Analyzer, by BlueJayBird [bjb] ENGLISH & SPANISH
------------------------------------- ENSLIGH
The idea was initially inspired in the concepts shared by @LazyBear on his indicator "Better Volume Indicator" (). But I found it somewhat complicated and dull. So I came up with this.
Concept:
It changes the color of volume bars based on surrounding volume changes.
Volume changes are plotted as volume MAs lines in the volume pane.
Whenever the volume is higher than these MAs, the bar changes color.
For this reason, the bar color change is RELATIVE TO the surroundings, because the color change depends on how far the MA has been extended due to sudden (or not) changes in the volume.
BAR COLORS:
Weak Green and Red: Low volume. The calm before or after the storm.
Normal Green and Red: Mid volume. Still low volume, you may get bored.
Yellow: High volume. Players are playing hard and harder.
White: Ultra-High Volume. The elephants stepped in.
NOTES:
SVA works better at lower timeframes. Though as far as I can tell, it works pretty well as far as 1D timeframe.
------------------------------------- SPANISH
La idea estuvo inicialmente inspirada en los conceptos expuestos por @LazyBear en su indicador "Better Volume Indicator" (). Pero lo encontré un poco complicado y falto de claridad. Así que me inventé este.
Conceptp:
Cambia el color de las barras basándose en los últimos cambios de volumen.
Los cambios de volumen son ploteados como lineas de medias móviles (MAs, es decir "Moving Averages") en la sección del volumen (chart pane).
En cualquier momento que el volumen es mayor que estos MAs, el color de las barras cambia.
Por esta razon, el cambio de color de las barras es RELATIVO a lo que está sucediendo alrededor, ya que el cambio de color depende de qué tan lejos el MA se haya extendido por causa de los últimos cambios (o no) de volumen.
BAR COLORS:
Verde y rojo apagados: Volumen bajo (Low Volume). La calma antes de la tormenta.
Verde y rojo normales: Volumen medio (Mid volume). Volumen todavía bajo. Es posible que te aburras.
Amarillo: Volumen alto (High Volume). Los jugadores están jugando duro.
Blanco: Volumen ultra-alto (Ultra-High Volume). Los elefantes entran a la cancha.
NOTAS:
SVA funciona mejor en temporalidades menores. Pero por lo que he visto, funciona bien hasta la temporalidad de 1D.
Volumeanalysis
KINSKI Flexible Volume OscillatorThe Volume Oscillator is a trend-oriented indicator that shows the strength or weakness of price trends. This indicator calculates the volume from two moving averages (MA). The value of the slow volume MA is then subtracted from the value of the fast moving average. The Volume Oscillator measures volume by analyzing the relationship between these two moving averages.
The special feature of this indicator is that the type of moving average can be selected as the basis for calculation. Currently, it is possible to choose between the following MA variants:
"COVWMA", "DEMA", "EMA", "EHMA", "FRAMA", "HMA", "KAMA", "RMA", "SMA", "SMMA", "VIDYA", "VWMA", "WMA".
Upward and downward movements are represented in different colors. The following color variants are available:
Color green: Strong upward trend
Color green/dark: weakening upward trend
Color red: strong downward trend
Color red/dark: weakening downward trend
The colors, as well as the style can be adjusted in the settings according to your own needs.
Volume Profile Array's [fikira]Inspired by © IldarAkhmetgaleev (AkhIL) - "Poor man's volume profile" - "PMVolProf"
He did a fantastic job on "Volume Profile"!
My script is about making this with array's
Settings:
- period (last x bars) for calculation
- max width (visible horizontal range)
- amount of sections (vertical sections; to many sections can give an error -> lower the sections in that case)
Setting "high/low", "close":
- "high/low"
-> the volume of every bar (in the period) which low is lower than a particular section and which high is higher than that section is added to that section
- "close"
-> here the volume of every bar (in the period) which close closes in the range of a particular section is added to that section
The orange/blue coloured "Volume lines" are the highest/lowest values above and below present close
(can be used as Support/resistance )
"Only show max/min" shows only the orange/blue Volume lines
The period and highest/lowest is show by 2 thin blue lines
Color, line width is adjustable
Cheers!
Vol Buy/Sell %s, CMF, and Stocahstic Osc & UOPlots % Buy / Sell Volume , Chaikin Money Flow , Stochastic Oscillator, and Ultimate Oscillator on same axis, bound -1 to 1.
Show Volume Percentage, displaying buying as green and positive, selling as red and negative.
Showing the CMF, with green / red fill for positive / negative values.
Modified Stochastic Oscillator, converting bounds to -1 and 1, moving overbought/sold to -0.6 and 0.6, accordingly. Green fill (buy signal) with %D below -0.6 and %K lower than %D. Red fill (sell signal) with %D above 0.6 and %K higher than %D. Fill is between %D and bound, to be more visible.
Modified Ultimate Oscillator, converting bounds to -1 and 1, moving overbought/sold to -0.6 and 0.6, accordingly.
VOLatiliUMThis is a useful conjunction of volume and volatility together in one script, so I named it a blended name!
It can show the diagram of:
- Volume
- Volume Variation (Volume - Past Volume)
- Volume Density (Volume / (High - Low))
- Volatility in combination with the aforesaid ones
It also offers two concepts of bar colorizing, by using the size of the bars or by applying volatility from a higher time frame (HTF).
The option "Absolute Bar Values" is included for the ones who like to see all bars positive above the zero line!
Feel free to use the script and send me your opinions. Thanks.
VolumeHeatmap | Experimental Version of Marketorders MatrixDear all,
I wish a Happy New Year!
The last time I tried to developing a Volume Heatmap, that the Marketorders made.
With the currently version I achieve my skills for that and I present it for everyone - some bugs I cannot solve today.
It also possible to see the POC - also the dynamic of volume developing:
The background for that is to find the pricelevel with the most volume - this is for valuetrading always the target.
If someone find it useful or have question - let me know!
Kind regards
NXT2017
bulls vs bear for VSA(Google translation from Russian.)
This indicator is based on the efficiency of bulls and bears for VSA and has the same parameters.
Its only difference is that all the values of the efficiency of bulls and bears for VSA indicator are sequentially added here.
I want to note that the Period spread - Bars from close to close argument was made for experimental purposes, and shows interesting results for values 3-4-5, in theory this is not very logical. Because then the estimate of the spread for this interval (3-4-5) will be divided by the estimate of the volume of the current bar.
Also added here is a moving average with a default period of 10 - theoretically, if the indicator is above the moving average - the initiative is behind the bulls - if below - the initiative is behind the bears.
It is recommended to use this indicator with the indicator:
efficiency of bulls and bears for VSA
Volume on bar VSA - indicator V2
Russian language.
Этот индикатор сделан на основе efficiency of bulls and bears for VSA и имеет такие же параметры.
Единственное отличие его в том, что тут последовательно складываются все значения индикатора efficiency of bulls and bears for VSA .
Хочу отметить, что аргумент Period spread - Bars from close to close (Период спреда - Баров от закрытия до закрытия) сделан в экспериментальных целях, и показывает интересные результаты на значения 3-4-5, в теории это не очень логично. Потому-что тогда будет делиться оценка спреда за этот интервал (3-4-5), на оценку величины объема текущего бара.
Также тут добавлена скользящая средняя с периодом по умолчанию 10 – теоретически, если индикатор над скользящей средней – инициатива за быками – если ниже – инициатива за медведями.
Это индикатор рекомендуется использовать с индикатором:
efficiency of bulls and bears for VSA
Volume on bar VSA - indicator V2
efficiency of bulls and bears for VSA(Google translation from Russian.)
This indicator shows the effectiveness of selling or buying.
It is calculated as follows: using percentrank, the volume and the value of the spread are estimated (momentum = 1)
the resulting estimate of the volume value is divided by the estimate of the spread (momentum = 1) and thus we obtain the value. The larger it is, the more efficient and easier the price movement was.
If the indicator value is small, then this means that the movement was ineffective, because the volume (money) was invested. but no result.
The color of the volume bars is assigned as follows:
Buyers:
If the volume is large - Blue - green
If middle, then blue
Small - light blue
Sellers:
If the volume is large - Burgundy color
If middle, then purple
Small volume - light purple
Indicator parameters:
Comparison period - the period at which the volumes and spread are compared with each other - by default it is 50, selected as the most universal period suitable for different timeframes. But for daytime ones. Weekly and monthly timeframes may need to be shortened. This is true after significant spikes in volume that are exceptional over the long term.
Period spread - Bars from close to close - or in other words, it is momentum - defaults to 1
sensitivity of increased volumes - according to the percentrank indicator - the limit above which the volume will be considered large, the same as in the Volume on bar VSA - indicator V2 - for clarity, I recommend looking at it.
The default is 85, which means. that if the current value of the volume is greater than 85% of the remaining values in this period, then such a value of the volume will be considered high.
medium volume sensitivity - the same sensitivity of increased volumes but for medium volumes.
multiplier of increased volumes - this is an empirical factor to emphasize the importance of increased volumes - default = 20
multiplier of average volumes - the same. As above, but for medium volumes - the default is 10
reduced volume multiplier - Default is 1.
Knowledge of VSA is required to read this indicator
This indicator is recommended for use with indicators:
Volume on bar VSA - indicator V2
BAR for VSA
Russian language
Этот индикатор показывает эффективность продаж или покупок.
Рассчитывается следующим образом: с помощью percentrank оценивается величина объема и велечина спреда (momentum = 1)
полученная оценка велечины объема делится на оценку спреда (momentum = 1) и таким образом получаем значение. Чем оно больше, тем движение цены было эффективнее и легче.
Если значение индикатора маленькое, то это означает, что движение было неэффективным, поскольку объем (деньги) вложили. а результата нет.
Цвет барам объемов присваиваются следующим образом:
У покупателей:
Если объем большой - Сине – зелёный цвет
Если средний – то голубой
Маленький – свело-голубой
У продавцов:
Если объем большой - Бордовый цвет
Если средний – то пурпурный
Маленький объем – светло-пурпурный
Параметры индикатора:
Comparison period (период для сравнения) – период на котором между собой сравниваются объемы и спред – по умолчанию равно 50 , выбрано как наиболее универсальный период подходящий для различных таймфреймов. Но для дневных. Недельных и месячных таймфреймов может потребоваться уменьшить период. Это актуально после значительных всплесков объемов, которые являются исключительными на длительном периоде.
Period spread - Bars from close to close (Период спреда - Баров от закрытия до закрытия) – или другими словами это momentum – по умолчанию равно 1
sensitivity of increased volumes (чувствительность повышенных объемов) – согласно индикатору percentrank – граница выше которой объем будет считаться большим, то же самое, что в индикаторе Volume on bar VSA - indicator V2 – для наглядности как это работает рекомендую посмотреть его.
По умолчанию задано 85 – это означает. что если текущее значение объема больше, чем 85% остальных значений на этом периоде, то такое значение объема будет считаться высоким.
medium volume sensitivity (чувствительность средних объемов) – то же самое sensitivity of increased volumes но для средних объемов.
multiplier of increased volumes (множитель (вес) повышенных объемов) – это эмперический коэффициент для придания особой важности повышенным объемам- по умолчанию = 20
multiplier of average volumes (множитель (вес) средних объемов) – то же самое. Что и выше, но для средних объемов – по умолчанию равно 10
reduced volume multiplier (множитель (вес) пониженных объемов) – по умолчанию равно 1.
Для чтения данного индикатора необходимо знание VSA
Этот индикатор рекомендуется использовать с индикаторами:
Volume on bar VSA - indicator V2
BAR for VSA
Biggest VolumeShows the biggest volume.Seems to me so strange, but i didnt find that kind of indicator, so i post it.
Volume Color Bars with SMA MACD & Linear RegressionVolume Bars colored to make it easy to read with Volume Spread Analysis Indicator.
1. Red - Volume less than Simple Moving Average
2. Blue - Volume higher than Simple Moving Average
3. Black - Maximum volume of last Max_Count bar (default = 40 bars)
Additionally, you can plot Moving Average, Linear Regression and MACD of volume.
Multiple VWAPAn intraday indicator which plots the 3 different VWAP.
1. D-VWAP shows VWAP from the first candle of the day
2. W-VWAP shows VWAP from the first candle of the week
3. M-VWAP shows VWAP from the first candle of the month
Relative Volume RVOL AlertsRelative Volume or RVOL is an indicator used to help determine the amount of volume change over a given period of time.
It is often used to help traders determine how in-play a ticker is.
General rule of thumb is the higher the RVOL, the more in play a stock is.
I myself like to use it as a substitute of the volume indicator itself.
Basic Calculation:
Relative Volume = Current Volume / Average Volume
Crossover Signals:
Any time there is a volume spike which causes a crossover of the user set 'Smoothed Moving Average' or 'Threshold' a green/red dot will appear at the top. The color of the dot is dependent on closing of the candle. Therefore it does not necessarily mean price will continue in that direction since volume spikes often happen in peaks or valleys.
Threshold:
The level at which custom alerts and signal can be set. The higher the value, the more volume required to trigger.
Built in Alerts:
You can set custom alerts for the crossovers of the adjustable threshold, or the average RVOL band.
Volume Profile Free Ultra SLI (100 Levels Value Area VWAP) - RRBVolume Profile Free Ultra SLI by RagingRocketBull 2019
Version 1.0
This indicator calculates Volume Profile for a given range and shows it as a histogram consisting of 100 horizontal bars.
This is basically the MAX SLI version with +50 more Pinescript v4 line objects added as levels.
It can also show Point of Control (POC), Developing POC, Value Area/VWAP StdDev High/Low as dynamically moving levels.
Free accounts can't access Standard TradingView Volume Profile, hence this indicator.
There are several versions: Free Pro, Free MAX SLI, Free Ultra SLI, Free History. This is the Free Ultra SLI version. The Differences are listed below:
- Free Pro: 25 levels, +Developing POC, Value Area/VWAP High/Low Levels, Above/Below Area Dimming
- Free MAX SLI: 50 levels, 2x SLI modes for Buy/Sell or even higher res 150 levels
- Free Ultra SLI: 100 levels, packed to the limit, 2x SLI modes for Buy/Sell or even higher res 300 levels
- Free History: auto highest/lowest, historic poc/va levels for each session
Features:
- High-Res Volume Profile with up to 100 levels (line implementation)
- 2x SLI modes for even higher res: 300 levels with 3x vertical SLI, 100 buy/sell levels with 2x horiz SLI
- Calculate Volume Profile on full history
- POC, Developing POC Levels
- Buy/Sell/Total volume modes
- Side Cover
- Value Area, VAH/VAL dynamic levels
- VWAP High/Low dynamic levels with Source, Length, StdDev as params
- Show/Hide all levels
- Dim Non Value Area Zones
- Custom Range with Highlighting
- 3 Anchor points for Volume Profile
- Flip Levels Horizontally
- Adjustable width, offset and spacing of levels
- Custom Color for POC/VA/VWAP levels, Transparency for buy/sell levels
WARNING:
- Compilation Time: 1 min 20 sec
Usage:
- specify max_level/min_level/spacing (required)
- select range (start_bar, range length), confirm with range highlighting
- select volume type: Buy/Sell/Total
- select mode Value Area/VWAP to show corresponding levels
- flip/select anchor point to position the buy/sell levels
- use Horiz Buy/Sell SLI mode with 100 or Vertical SLI with 300 levels if needed
- use POC/Developing POC/VA/VWAP High/Low as S/R levels. Usually daily values from 1-3 days back are used as levels for the current day.
SLI:
use SLI modes to extend the functionality of the indicator:
- Horiz Buy/Sell 2x SLI lets you view 100 Buy/Sell Levels at the same time
- Vertical Max_Vol 3x SLI lets you increase the resolution to 300 levels
- you need at least 2 instances of the indicator attached to the same chart for SLI to work
1) Enable Horiz SLI:
- attach 2 indicator instances to the chart
- make sure all instances have the same min_level/max_level/range/spacing settings
- select volume type for each instance: you can have a buy/sell or buy/total or sell/total SLI. Make sure your buy volume instance is the last attached to be displayed on top of sell/total instances without overlapping.
- set buy_sell_sli_mode to true for indicator instances with volume_type = buy/sell, for type total this is optional.
- this basically tells the script to calculate % lengths based on total volume instead of individual buy/sell volumes and use ext offset for sell levels
- Sell Offset is calculated relative to Buy Offset to stack/extend sell after buy. Buy Offset = Zero - Buy Length. Sell Offset = Buy Offset - Sell Length = Zero - Buy Length - Sell Length
- there are no master/slave instances in this mode, all indicators are equal, poc/va levels are not affected and can work independently, i.e. one instance can show va levels, another - vwap.
2) Enable Vertical SLI:
- attach the first instance and evaluate the full range to roughly determine where is the highest max_vol/poc level i.e. 0..20000, poc is in the bottom half (third, middle etc) or
- add more instances and split the full vertical range between them, i.e. set min_level/max_level of each corresponding instance to 0..10000, 10000..20000 etc
- make sure all instances have the same range/spacing settings
- an instance with a subrange containing the poc level of the full range is now your master instance (bottom half). All other instances are slaves, their levels will be calculated based on the max_vol/poc of the master instance instead of local values
- set show_max_vol_sli to true for the master instance. for slave instances this is optional and can be used to check if master/slave max_vol values match and slave can read the master's value. This simply plots the max_vol value
- you can also attach all instances and set show_max_vol_sli to true in all of them - the instance with the largest max_vol should become the master
Auto/Manual Ext Max_Vol Modes:
- for auto vertical max_vol SLI mode set max_vol_sli_src in all slave instances to the max_vol of the master indicator: "VolumeProfileFree_MAX_RRB: Max Volume for Vertical SLI Mode". It can be tricky with 2+ instances
- in case auto SLI mode doesn't work - assign max_vol_sli_ext in all slave instances the max_vol value of the master indicator manually and repeat on each change
- manual override max_vol_sli_ext has higher priority than auto max_vol_sli_src when both values are assigned, when they are 0 and close respectively - SLI is disabled
- master/slave max_vol values must match on each bar at all times to maintain proper level scale, otherwise slave's levels will look larger than they should relative to the master's levels.
- Max_vol (red) is the last param in the long list of indicator outputs
- the only true max_vol/poc in this SLI mode is the master's max_vol/poc. All poc/va levels in slaves will be irrelevant and are disabled automatically. Slaves can only show VWAP levels.
- VA Levels of the master instance in this SLI mode are calculated based on the subrange, not the whole range and may be inaccurate. Cross check with the full range.
WARNING!
- auto mode max_vol_sli_src is experimental and may not work as expected
- you can only assign auto mode max_vol_sli_src = max_vol once due to some bug with unhandled exception/buffer overflow in Tradingview. Seems that you can clear the value only by removing the indicator instance
- sometimes you may see a "study in error state" error when attempting to set it back to close. Remove indicator/Reload chart and start from scratch
- volume profile may not finish to redraw and freeze in an ugly shape after an UI parameter change when max_vol_sli_src is assigned a max_vol value. Assign it to close - VP should redraw properly, but it may not clear the assigned max_vol value
- you can't seem to be able to assign a proper auto max_vol value to the 3rd slave instance
- 2x Vertical SLI works and tested in both auto/manual, 3x SLI - only manual seems to work (you can have a mixed mode: 2nd instance - auto, 3rd - manual)
Notes:
- This code uses Pinescript v3 compatibility framework
- This code is 20x-30x faster (main for cycle is removed) especially on lower tfs with long history - only 4-5 sec load/redraw time vs 30-60 sec of the old Pro versions
- Instead of repeatedly calculating the total sum of volumes for the whole range on each bar, vol sums are now increased on each bar and passed to the next in the range making it a per range vs per bar calculation that reduces time dramatically
- 100 levels consist of 50 main plot levels and 50 line objects used as alternate levels, differences are:
- line objects are always shown on top of other objects, such as plot levels, zero line and side cover, it's not possible to cover/move them below.
- all line objects have variable lengths, use actual x,y coords and don't need side cover, while all plot levels have a fixed length of 100 bars, use offset and require cover.
- all key properties of line objects, such as x,y coords, color can be modified, objects can be moved/deleted, while this is not possible for static plot levels.
- large width values cause line objects to expand only up/down from center while their length remains the same and stays within the level's start/end points similar to an area style.
- large width values make plot levels expand in all directions (both h/v), beyond level start/end points, sometimes overlapping zero line, making them an inaccurate % length representation, as opposed to line objects/plot levels with area style.
- large width values translate into different widths on screen for line objects and plot levels.
- you can't compensate for this unwanted horiz width expansion of plot levels because width uses its own units, that don't translate into bars/pixels.
- line objects are visible only when num_levels > 50, plot levels are used otherwise
- Since line objects are lines, plot levels also use style line because other style implementations will break the symmetry/spacing between levels.
- if you don't see a volume profile check range settings: min_level/max_level and spacing, set spacing to 0 (or adjust accordingly based on the symbol's precision, i.e. 0.00001)
- you can view either of Buy/Sell/Total volumes, but you can't display Buy/Sell levels at the same time using a single instance (this would 2x reduce the number of levels). Use 2 indicator instances in horiz buy/sell sli mode for that.
- Volume Profile/Value Area are calculated for a given range and updated on each bar. Each level has a fixed length. Offsets control visible level parts. Side Cover hides the invisible parts.
- Custom Color for POC/VA/VWAP levels - UI Style color/transparency can only change shape's color and doesn't affect textcolor, hence this additional option
- Custom Width - UI Style supports only width <= 4, hence this additional option
- POC is visible in both modes. In VWAP mode Developing POC becomes VWAP, VA High and Low => VWAP High and Low correspondingly to minimize the number of plot outputs
- You can't change buy/sell level colors from input (only transparency) - this requires 2x plot outputs => 2x reduces the number of levels to fit the max 64 limit. That's why 2 additional plots are used to dim the non Value Area zones
- You can change level transparency of line objects. Due to Pinescript limitations, only discrete values are supported.
- Inverse transp correlation creates the necessary illusion of "covered" line objects, although they are shown on top of the cover all the time
- If custom lines_transp is set the illusion will break because transp range can't be skewed easily (i.e. transp 0..100 is always mapped to 100..0 and can't be mapped to 50..0)
- transparency can applied to lines dynamically but nva top zone can't be completely removed because plot/mixed type of levels are still used when num_levels < 50 and require cover
- transparency can't be applied to plot levels dynamically from script this can be done only once from UI, and you can't change plot color for the past length bars
- All buy/sell volume lengths are calculated as % of a fixed base width = 100 bars (100%). You can't set show_last from input to change it
- Range selection/Anchoring is not accurate on charts with time gaps since you can only anchor from a point in the future and measure distance in time periods, not actual bars, and there's no way of knowing the number of future gaps in advance.
- Adjust Width for Log Scale mode now also works on high precision charts with small prices (i.e. 0.00001)
- in Adjust Width for Log Scale mode Level1 width extremes can be capped using max deviation (when level1 = 0, shift = 0 width becomes infinite)
- There's no such thing as buy/sell volume, there's just volume, but for the purposes of the Volume Profile method, assume: bull candle = buy volume, bear candle = sell volume
P.S. I am your grandfather, Luke! Now, join the Dark Side in your father's steps or be destroyed! Once more the Sith will rule the Galaxy, and we shall have peace...
Volume Profile Free MAX SLI (50 Levels Value Area VWAP) by RRBVolume Profile Free MAX SLI by RagingRocketBull 2019
Version 1.0
All available Volume Profile Free MAX SLI versions are listed below (They are very similar and I don't want to publish them as separate indicators):
ver 1.0: style columns implementation
ver 2.0: style histogram implementation
ver 3.0: style line implementation
This indicator calculates Volume Profile for a given range and shows it as a histogram consisting of 50 horizontal bars.
It can also show Point of Control (POC), Developing POC, Value Area/VWAP StdDev High/Low as dynamically moving levels.
Free accounts can't access Standard TradingView Volume Profile, hence this indicator.
There are several versions: Free Pro, Free MAX SLI, Free History. This is the Free MAX SLI version. The Differences are listed below:
- Free Pro: 25 levels, +Developing POC, Value Area/VWAP High/Low Levels, Above/Below Area Dimming
- Free MAX SLI: 50 levels, packed to the limit, 2x SLI modes for Buy/Sell or even higher res 150 levels
- Free History: auto highest/lowest, historic poc/va levels for each session
Features:
- High-Res Volume Profile with up to 50 levels (3 implementations)
- 20-30x faster than the old Pro versions especially on lower tfs with long history
- 2x SLI modes for even higher res: 150 levels with 3x vertical SLI, 50 buy/sell levels with 2x horiz SLI
- Calculate Volume Profile on full history
- POC, Developing POC Levels
- Buy/Sell/Total volume modes
- Side Cover
- Value Area, VAH/VAL dynamic levels
- VWAP High/Low dynamic levels with Source, Length, StdDev as params
- Show/Hide all levels
- Dim Non Value Area Zones
- Custom Range with Highlighting
- 3 Anchor points for Volume Profile
- Flip Levels Horizontally
- Adjustable width, offset and spacing of levels
- Custom Color for POC/VA/VWAP levels and Transparency for buy/sell levels
Usage:
- specify max_level/min_level/spacing (required)
- select range (start_bar, range length), confirm with range highlighting
- select volume type: Buy/Sell/Total
- select mode Value Area/VWAP to show corresponding levels
- flip/select anchor point to position the buy/sell levels
- use Horiz SLI mode for 50 Buy/Sell or Vertical SLI for 150 levels if needed
- use POC/Developing POC/VA/VWAP High/Low as S/R levels. Usually daily values from 1-3 days back are used as levels for the current day.
SLI:
- use SLI modes to extend the functionality of the indicator:
- Horiz Buy/Sell 2x SLI lets you view 50 Buy/Sell Levels at the same time
- Vertical Max_Vol 3x SLI lets you increase the resolution to 150 levels
- you need at least 2 instances of the indicator attached to the same chart for SLI to work
1) Enable Horiz SLI:
- attach 2 indicator instances to the chart
- make sure all instances have the same min_level/max_level/range/spacing settings
- select volume type for each instance: you can have a buy/sell or buy/total or sell/total SLI. Make sure your buy volume instance is the last attached to be displayed on top of sell/total instances without overlapping.
- set buy_sell_sli_mode to true for indicator instances with volume_type = buy/sell, for type total this is optional.
- this basically tells the script to calculate % lengths based on total volume instead of individual buy/sell volumes and use ext offset for sell levels
- Sell Offset is calculated relative to Buy Offset to stack/extend sell after buy. Buy Offset = Zero - Buy Length. Sell Offset = Buy Offset - Sell Length = Zero - Buy Length - Sell Length
- there are no master/slave instances in this mode, all indicators are equal, poc/va levels are not affected and can work independently, i.e. one instance can show va levels, another - vwap.
2) Enable Vertical SLI:
- attach the first instance and evaluate the full range to roughly determine where is the highest max_vol/poc level i.e. 0..20000, poc is in the bottom half (third, middle etc) or
- add more instances and split the full vertical range between them, i.e. set min_level/max_level of each corresponding instance to 0..10000, 10000..20000 etc
- make sure all instances have the same range/spacing settings
- an instance with a subrange containing the poc level of the full range is now your master instance (bottom half). All other instances are slaves, their levels will be calculated based on the max_vol/poc of the master instance instead of local values
- set show_max_vol_sli to true for the master instance. for slave instances this is optional and can be used to check if master/slave max_vol values match and slave can read the master's value. This simply plots the max_vol value
- you can also attach all instances and set show_max_vol_sli to true in all of them - the instance with the largest max_vol should become the master
Auto/Manual Ext Max_Vol Modes:
- for auto vertical max_vol SLI mode set max_vol_sli_src in all slave instances to the max_vol of the master indicator: "VolumeProfileFree_MAX_RRB: Max Volume for Vertical SLI Mode". It can be tricky with 2+ instances
- in case auto SLI mode doesn't work - assign max_vol_sli_ext in all slave instances the max_vol value of the master indicator manually and repeat on each change
- manual override max_vol_sli_ext has higher priority than auto max_vol_sli_src when both values are assigned, when they are 0 and close respectively - SLI is disabled
- master/slave max_vol values must match on each bar at all times to maintain proper level scale, otherwise slave's levels will look larger than they should relative to the master's levels.
- Max_vol (red) is the last param in the long list of indicator outputs
- the only true max_vol/poc in this SLI mode is the master's max_vol/poc. All poc/va levels in slaves will be irrelevant and are disabled automatically. Slaves can only show VWAP levels.
- VA Levels of the master instance in this SLI mode are calculated based on the subrange, not the whole range. Cross check with the full range.
WARNING!
- auto mode max_vol_sli_src is experimental and may not work as expected
- you can only assign auto mode max_vol_sli_src = max_vol once due to some bug with unhandled exception/buffer overflow in Tradingview. Seems that you can clear the value only by removing the indicator instance
- sometimes you may see a "study in error state" error when attempting to set it back to close. Remove indicator/Reload chart and start from scratch
- volume profile may not finish to redraw and freeze in an ugly shape after an UI parameter change when max_vol_sli_src is assigned a max_vol value. Assign it to close - VP should redraw properly, but it may not clear the assigned max_vol value
- you can't seem to be able to assign a proper auto max_vol value to the 3rd slave instance
- 2x Vertical SLI works and tested in both auto/manual, 3x SLI - only manual seems to work
Notes:
- This code is 20x-30x faster (main for cycle is removed) especially on lower tfs with long history - only 2-3 sec load/redraw time vs 30-60 sec of the old Pro versions
- Instead of repeatedly calculating the total sum of volumes for the whole range on each bar, vol sums are now increased on each bar and passed to the next in the range making it a per range vs per bar calculation that reduces time dramatically
- hist_base for levels still results is ugly redraw
- if you don't see a volume profile check range settings: min_level/max_level and spacing, set spacing to 0 (or adjust accordingly based on the symbol's precision, i.e. 0.00001)
- you can view either of Buy/Sell/Total volumes, but you can't display Buy/Sell levels at the same time using a single instance (this would 2x reduce the number of levels). Use 2 indicator instances in horiz buy/sell sli mode for that.
- Volume Profile/Value Area are calculated for a given range and updated on each bar. Each level has a fixed length. Offsets control visible level parts. Side Cover hides the invisible parts.
- Custom Color for POC/VA/VWAP levels - UI Style color/transparency can only change shape's color and doesn't affect textcolor, hence this additional option
- Custom Width - UI Style supports only width <= 4, hence this additional option
- POC is visible in both modes. In VWAP mode Developing POC becomes VWAP, VA High and Low => VWAP High and Low correspondingly to minimize the number of plot outputs
- You can't change buy/sell level colors from input (only plot transparency) - this requires 2x plot outputs => 2x reduces the number of levels to fit the max 64 limit. That's why 2 additional plots are used to dim the non Value Area zones
- All buy/sell volume lengths are calculated as % of a fixed base width = 100 bars (100%). You can't set show_last from input to change it
- There's no such thing as buy/sell volume, there's just volume, but for the purposes of the Volume Profile method, assume: bull candle = buy volume, bear candle = sell volume
P.S. Gravitonium Levels Are Increasing. Unobtainium is nowhere to be found!
Links on Volume Profile and Value Area calculation and usage:
www.tradingview.com
stockcharts.com
onlinelibrary.wiley.com
Volume Profile Free Pro (25 Levels Value Area VWAP) by RRBVolume Profile Free Pro by RagingRocketBull 2019
Version 1.0
All available Volume Profile Free Pro versions are listed below (They are very similar and I don't want to publish them as separate indicators):
ver 1.0: style columns implementation
ver 2.0: style histogram implementation
ver 3.0: style line implementation
This indicator calculates Volume Profile for a given range and shows it as a histogram consisting of 25 horizontal bars.
It can also show Point of Control (POC), Developing POC, Value Area/VWAP StdDev High/Low as dynamically moving levels.
Free accounts can't access Standard TradingView Volume Profile, hence this indicator.
There are 3 basic methods to calculate the Value Area for a session.
- original method developed by Steidlmayr (calculated around POC)
- classical method using StdDev (calculated around the mean VWAP)
- another method based on the mean absolute deviation (calculated around the median)
POC is a high volume node and can be used as support/resistance. But when far from the day's average price it may not be as good a trend filter as the other methods.
The 80% Rule: When the market opens above/below the Value Area and then returns/stays back inside for 2 consecutive 30min periods it has 80% chance of filling VA (like a gap).
There are several versions: Free, Free Pro, Free MAX. This is the Free Pro version. The Differences are listed below:
- Free: 30 levels, Buy/Sell/Total Volume Profile views, POC
- Free Pro: 25 levels, +Developing POC, Value Area/VWAP High/Low Levels, Above/Below Area Dimming
- Free MAX: 50 levels, packed to the limit
Features:
- Volume Profile with up to 25 levels (3 implementations)
- POC, Developing POC Levels
- Buy/Sell/Total/Side by Side View modes
- Side Cover
- Value Area, VAH/VAL dynamic levels
- VWAP High/Low dynamic levels with Source, Length, StdDev as params
- Show/Hide all levels
- Dim Non Value Area Zones
- Custom Range with Highlighting
- 3 Anchor points for Volume Profile
- Flip Levels Horizontally
- Adjustable width, offset and spacing of levels
- Custom Color for POC/VA/VWAP levels and Transparency for buy/sell levels
Usage:
- specify max_level/min_level for a range (required in ver 1.0/2.0, auto/optional in ver 3.0 = set to highest/lowest)
- select range (start_bar, range length), confirm with range highlighting
- select mode Value Area or VWAP to show corresponding levels.
- flip/select anchor point to position the buy/sell levels, adjust width and spacing as needed
- select Buy/Sell/Total/Side by Side view mode
- use POC/Developing POC/VA/VWAP High/Low as S/R levels. Usually daily values from 1-3 days back are used as levels for the current day.
- Green - buy volume of a specific price level in a range, Red - sell volume. Green + Red = Total volume of a price level in a range
There's no native support for vertical histograms in Pinescript (with price axis as base)
Basically, there are 4 ways to plot a series of horizontal bars stacked on top of each other:
1. plotshape style labeldown (ver 0 prototype discarded)
- you can have a set of fixed width/height text labels consisting of a series of underscores and moving dynamically as levels. Level offset controls visible length.
- you can move levels and scale the base width of the volume profile histogram dynamically
- you can calculate the highest/lowest range values automatically. max_level/min_level inputs are optional
- you can't fill the gaps between levels/adjust/extend width, height - this results in a half baked volume profile and looks ugly
- fixed text level height doesn't adjust and looks bad on a log scale
- fixed font width also doesn't scale and can't be properly aligned with bars when zooming
2. plot style columns + hist_base (ver 1.0)
- you can plot long horizontal bars using a series of small adjacent vertical columns with level offsets controlling visible length.
- you can't hide/move levels of the volume profile histogram dynamically on each bar, they must be plotted at all times regardless - you can't delete the history of a plot.
- you can't scale the base width of the volume profile histogram dynamically, can't set show_last from input, must use a preset fixed width for each level
- hist_base can only be a static const expression, can't be assigned highest/lowest range values automatically - you have to specify max_level/min_level manually from input
- you can't control spacing between columns - there's an equalizer bar effect when you zoom in, and solid bars when you zoom out
- using hist_base for levels results in ugly load/redraw times - give it 3-5 sec to finalize its shape after each UI param change
- level top can be properly aligned with another level's bottom producing a clean good looking histogram
- columns are properly aligned with bars automatically
3. plot style histogram + hist_base (ver 2.0)
- you can plot long horizontal bars using a series of small vertical bars (horizontal histogram) instead of columns.
- you can control the width of each histogram bar comprising a level (spacing/horiz density). Large enough width will cause bar overlapping and give level a "solid" look regardless of zoom
- you can only set width <= 4 in UI Style - custom textbox input is provided for larger values. You can set width and plot transparency from input
- this method still uses hist_base and inherits other limitations of ver 2.0
4. plot style lines (ver 3.0)
- you can also plot long horizontal bars using lines with level offsets controlling visible length.
- lines don't need hist_base - fast and smooth redraw times
- you can calculate the highest/lowest range values automatically. max_level/min_level inputs are optional
- level top can't be properly aligned with another level's bottom and have a proper spacing because line width uses its own units and doesn't scale
- fixed line width of a level (vertical thickness) doesn't scale and looks bad on log (level overlapping)
- you can only set width <= 4 in UI Style, a custom textbox input is provided for larger values. You can set width and plot transparency from input
Notes:
- hist_base for levels results in ugly load/redraw times - give it 3-5 sec to finalize its shape after each UI param change
- indicator is slow on TFs with long history 10000+ bars
- Volume Profile/Value Area are calculated for a given range and updated on each bar. Each level has a fixed width. Offsets control visible level parts. Side Cover hides the invisible parts.
- Custom Color for POC/VA/VWAP levels - UI Style color/transparency can only change shape's color and doesn't affect textcolor, hence this additional option
- Custom Widh for levels - UI Style supports only width <= 4, hence this additional option
- POC is visible in both modes. In VWAP mode Developing POC becomes VWAP, VA High and Low => VWAP High and Low correspondingly to minimize the number of plot outputs
- You can't change buy/sell level colors (only plot transparency) - this requires 2x plot outputs exceeding max 64 limit. That's why 2 additional plots are used to dim the non Value Area zones
- Use Side by Side view to compare buy and sell volumes between each other: base width = max(total_buy_vol, total_sell_vol)
- All buy/sell volume lengths are calculated as % of a fixed base width = 100 bars (100%). You can't set show_last from input
- Sell Offset is calculated relative to Buy Offset to stack/extend sell on top of buy. Buy Offset = Zero - Buy Length. Sell Offset = Buy Offset - Sell Length = Zero - Buy Length - Sell Length
- If you see "loop too long error" - change some values in UI and it will recalculate - no need to refresh the chart
- There's no such thing as buy/sell volume, there's just volume, but for the purposes of the Volume Profile method, assume: bull candle = buy volume, bear candle = sell volume
- Volume Profile Range is limited to 5000 bars for free accounts
P.S. Cantaloupia Will be Free!
Links on Volume Profile and Value Area calculation and usage:
www.tradingview.com
stockcharts.com
onlinelibrary.wiley.com
Chaikin Money FlowThis script plots the original Chaikin Money Flow in addition of highlighting positive/negative pressure areas.
Negative Volume IndexHello traders!
This indicator was originally developed by Paul L. Dysart in the 1930s and then described and popularized by Norman G. Fosback in his book "Stock Market Logic: A Sophisticated Approach to Profits on Wall Street" .
Like and follow for more cool indicators!
Happy Trading!
Positive Volume IndexHello traders!
This indicator was originally developed by Paul L. Dysart in the 1930s and then described and popularized by Norman G. Fosback in his book "Stock Market Logic: A Sophisticated Approach to Profits on Wall Street"
Like and follow for more cool indicators!
Happy Trading!
V-MACDHello traders!
This is a variation of classical MACD that uses volume instead of price.
Like and follow for more cool indicators!
Happy Trading!
VolumeRatioVolumeRatio plots the high volume bar when volume is 3 times greater than average 36 day volume.
Klinger Volume OscillatorThis indicator was originally developed by Stephen J. Klinger (Stocks & Commodities, V.15:12 (December, 1997): "Identifying Trends with Volume Analysis").
NOTE : this is the only correct version of Klinger Volume Oscillator in the public library.
Like and follow for more open source indicators!
Happy Trading!
On Balance VolumeThis indicator was originally described by Joseph E. Granville in his book "Granville's New Key To Stock Market Profits" (1963).