Fr3d0's Volume Profile Visible RangeLow level implementation
At the core of VPVR there’s a concept called “bucketization”.
Question : what is bucketization?
Answer : bucketization consists of identifying metrics with high predictive power and combine them appropriately.
I think this is a problem of bucketization because what the VPVR does is to take a price range, divide it into buckets and fill them up with the volume that was produced in each bucket’s range over the given period.
The more we divide our price range the finer the resolution, but also the less significant each bucket will become.
The steps are :
1. Get the price range with min and max over the give period;
2. Divide the range into buckets;
3. Loop over each candle of the given period and proportionally assign volume to one or more bucket.
Question : how to assign volume to buckets?
Answer : we need to calculate the right amount to add to each bucket for each candle. If 20% of a candle lies on a bucket then that bucket needs to have 20% of the volume of that candle, the rest 80% belongs to other buckets.
To get the percentage of a candle on a given bucket we have to find the price range of the candle contained within the bucket, then divide that amount by the entire length of the candle.
How to bucketize
Question : what are the formulas of A, B, C and Target respectively?
Answer :
- A = Max(candle_high, bucket_top) - Min(candle_low, bucket_bottom);
- B = Max(candle_high, bucket_top) - Min(candle_high, bucket_top);
- C = Max(candle_low, bucket_bottom) - Min(candle_low, bucket_bottom);
- Target = A - B - C.
Now that we now how to calculate the price range belonging to each bucket we need to calculate a percentage of volume to fill the bucket with.
The formula is trivially simple :
Volume * Target / (candle_high - candle_low).
Question : can we distinguish between buy volume and sell volume? If so, how?
Answer : yes we can and the following paragraph will teach you how.
Put it simply we can use the difference between the extremes of a candle (low and high) and its close price to get the buy and sell volumes.
The formulas for that are :
- Buy volume = Volume * (close - low) / (high - low);
- Sell volume = Volume * (high - close) / (high - low).
I know this is rather simplicistic but it makes sense.
Closing thoughts
This script is a working progress and I’m going to give more details if necessary, just let me know in the comments down below.
Search in scripts for "Volume"
Net VolumeNet Volume, or NV in short, is a cumulative volume indicator similar to OBV and A/D. Though it might look similar to these two indicators (especially A/D), rest assured it's better and more accurate than both. What it basically does, is dividing the volume session into buyers and sellers volumes; then subtracts former from the latter and adds the result to previous session's net volume (In the script, these two intermediate volumes are not calculated and only the subtraction is formulated in an integrated form).
Another important difference between NV and A/D indicator, is that it brings price gaps into account. That's why it requires next session's open price to calculate current session's NV. What it actually mean is that the price gap, in either direction, is the result of the traders' efforts in respective direction in previous session, as if the current session closes where next session opens.
Close and Open for Volume Profile AnalysisThis script adds arrows to where Open and/or Close are.
It is usually better to study seasonal volume with candles off, yet it is worth knowing where the closing price is.
Open-source Buy and Sell VolumeVersión open source de scripts anteriores / Open source version of previous scripts
Confío en que esta vez no esté violando ninguna de las reglas...
A pesar de que el volumen simplemente son operaciones que se realizan en un determinado espacio de tiempo, este indicador intenta separar dentro de una vela el volumen de compra y de venta.
Una vez separado el volumen de cada vela el indicador se calcula en base a la media simple (larga) menos la media exponencial (corta)
Los puntos azules indican posibles zonas de soporte o resistencia.
----------------------------------------------------------
Although the volume is simply operations carried out in a certain period of time, this indicator tries to separate the long and short volume into a candle.
Once the volume of each candle is separated, the indicator is calculated based on the simple average (long length) minus the exponential average (short length)
The blue dots indicate possible areas of support or resistance.
Day's Buy Sell Volume label
This indicator looks simple but it was bit tricky to code and to make it work on all time frames .
I have used array in this to showcase the use of array, array give you more flexibly.
It works on all time frame 1m 2m 3m 5m 10m 15m 30m 60m 120m.
When the time frame is greater than the or equal to "D" it will show the current bar volume only.
Total volume is made up of buying volume and selling volume. Buying volume is the number of shares, contracts, or lots that were associated with buying trades, and selling volume is the number that were associated with selling trades.
This indicator shows two labels green one is showing the buying volume of the current day and the red label is showing the selling volume of the current day.
I am making this code available to all.
This code is for Total volume is made up of buying volume and selling volume. Buying volume is the number of shares,
contracts, or lots that were associated with buying trades, and selling volume is the number that were associated with selling trades.
//thanks to @Doc6272 who asked to make this indicator Label
Poor man's volume profileThis is an attempt to get something more or less similar to the volume profile for free.
The code is generated using a template. To change the settings, you may need to regenerate the code. The code has a link to the repository with the template.
Attributable VolumeA volume indicator which calculates "Attributable Volume”, the portion of volume which contributed to the direction in which the candle moved.
Attributable Volume is calculated as: Total volume excluding the "counter wick" volume.
Where for a green (up) candle, the "counter wick" volume is the top wick volume.
In theory, Attributable Volume should better represent the effort of directional thrust of each candle.
By default, this indicator displays “Attributable RVOL”, but can be set to:
Attributable RVOL
RVOL
Attributable Volume
Volume
Note: RVOL = Relative Volume, the current volume divided by the Volume moving average. RVOL can be used to identify major moves, and potential starts/ends to trends.
VSA VolumeVolume indicator judging level of volume per bar accordingly to Volume Spread Analysis rules. It allows either to set static volume levels or dynamic ones based on ratio comparable to Moving Average. Bars are coloured based on ratio or static levels, visually presenting level of Volume (low, average, high, ultra high).
Renko Weis Wave VolumeThis is live and non-repainting Renko Weis Wave Volume tool. The tool has it’s own engine and not using integrated function of Trading View.
Renko charts ignore time and focus solely on price changes that meet a minimum requirement. Time is not a factor on Renko chart but as you can see with this script Renko RSI created on time chart.
Renko chart provide several advantages, some of them are filtering insignificant price movements and noise, focusing on important price movements and making support/resistance levels much easier to identify.
As source Closing price or High/Low can be used.
Traditional or ATR can be used for scaling. If ATR is chosen then there is rounding algorithm according to mintick value of the security. For example if mintick value is 0.001 and brick size (ATR/Percentage) is 0.00124 then box size becomes 0.001. And also while using dynamic brick size (ATR), box size changes only when Renko closing price changed.
This tool is based on the Weis Wave described by David H. Weis (a Wyckoff specialist). The Weis Waves Indicator sums up volumes in each wave. This is how we receive a bar chart of cumulative volumes of alternating waves and The cumulative volume makes the Weis wave charts unique.
If there is no volume information for the security then this tool has an option to use “True Range” instead of volume .
Better to use this script with the following one:
Enjoy!
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.
Fibonacci Volume Average FIBOLUMEEl gráfico de volumen por defecto determina el promedio del volumen asignando el mismo peso o importancia a los volúmenes del rango de días, con FIBOLUME se asigna un peso o importancia mayor y de forma incremental a los últimos precios y asignando menos pesos o importancia a los mas antiguos. en algunos casos un gran volumen de un día afecta mucho el promedio de otros días con un volumen menor no devolviendo un dato real del comportamiento del mercado a lo largo del rango de fechas
[Xzhi] Net VolumeUse net volume to find areas of reversal. This is not meant to be used on its own, and requires others tools, but it is helpful in identifying possible points of entry. Area's with lots of market participants could signify a reversal, depending on the positions entered.
Edit the source code to suit the currency pair you are trading.
Volume Adaptive BandsIntroduction
I have been asked by @Coppermine and @Verbena to make bands that use volume to provide adaptive results. My first approach was to use exponential averaging, in order to do so i needed to quantify volume movement using rescaling with the objective to make the bands go away from each others when there is low volume, this approach is efficient and can work on any time frame, however i decided at the end to use another method which rely on recursive weighting, cleaner but more parametric. Those bands aim to highlight great breakouts point to go with the trend.
The Indicator
length control the period of the moving averages used in the script, however low length's don't necessarily provide indications for shorter terms breakouts as shown here :
As i said the bands are close to each others when there is high volume and away when there is low volumes.
Low volume period, bands will avoid to cross price
High volume, bands will be close to generate signals.
Correction Factor
Higher time frames will lower the distance between each band, this is because volume is higher during higher time frames, remember that the indicator bands are close to each others when volume is high.
1h chart eurusd.
This is why i added a correction factor, this factor can help you control the distance between each bands, when the correction factor is greater than 1 the bands will be closer to each others, this is useful for low time frames where the average volume is lower. When the time frame is high, use values between 0 and 1 to increase distance between each bands.
Correction factor = 0.2
Conclusion
I presented a new adaptive band indicator that adapt to trading volume by using recursive weighting, volume can be replaced by other indicators but you can have results going nuts, at the end its about experimentation. I hope you will find an use to it, thanks to @Coppermine and @Verbena for the request :)
Thanks for reading !
Highest Volume Index by ParaticaIt's an algorithm used in Paratica. It shows volume based volatility.
Ord Volume [LucF]Tim Ord came up with the Ord Volume concept. The idea is similar to Weis Wave , except that where Weis Wave keeps a cumulative tab of each wave’s successive volume columns, Ord Volume tracks the wave's average volume .
Features
You can choose to distinguish the area’s colors when the average is rising/falling (default).
You can show an EMA of the wave averages, which is different than an EMA on raw volume.
You can show (default) the last wave’s ending average over the current wave, to help in comparing relative levels.
You can change the length of the trend that needs to be broken for a new wave to start, as well as the price used in trend detection.
Use Cases
As with Weis Wave, what I look at first are three characteristics of the waves: their length, height and slope. I then compare those to the corresponding price movements, looking for discrepancies. For example, consecutive bearish waves of equal strength associated with lesser and lesser price movements are often a good indication of an impeding reversal.
Because Ord Volume uses average rather than cumulative volume, I find it is often easier to distinguish what is going on during waves, especially exhaustion at the end of waves.
Tim Ord has a method for entries and exits where he uses Ord Volume in conjunction with tests of support and resistance levels. Here are two articles published in 2004 where Ord explains his technique:
pr.b5z.net
n.b5z.net
Note
Being dependent on volume information as it is currently available in Pine, which does not include a practical way to retrieve delta volume information, the indicator suffers the same lack of precision as most other Pine-built volume indicators. For those not aware of the issue, the problem is that there is no way to distinguish the buying and selling volume (delta volume) in a bar, other than by looping through inside intervals using the security() function, which for me makes performance unsustainable in day to day use, while only providing an approximation of delta volume.
Up-Down Volume AMEX-Buschi
English:
This indicator shows the AMEX's up volume (green) and down volume (red).
Extreme trading days with more than 90 % up or down volume are marked via lines (theoretically values) and triangles (breaches).
Deutsch:
Dieser Indikator zeigt das Aufwärts- (grün) und Abwärts-Volumen (rot) der AMEX.
Extreme Handelstage mit mehr als 90 % Aufwärts- oder Abwärts-Volumen ist gekennzeichnet über Linien (theoretische Werte) und Dreiecke (Überschreitungen).
Up-Down Volume NASDAQ-Buschi
English:
This indicator shows the NASDAQ's up volume (green) and down volume (red).
Extreme trading days with more than 90 % up or down volume are marked via lines (theoretically values) and triangles (breaches).
Deutsch:
Dieser Indikator zeigt das Aufwärts- (grün) und Abwärts-Volumen (rot) der NASDAQ.
Extreme Handelstage mit mehr als 90 % Aufwärts- oder Abwärts-Volumen ist gekennzeichnet über Linien (theoretische Werte) und Dreiecke (Überschreitungen).
Up-Down Volume NYSE-Buschi
English:
This indicator shows the NYSE's up volume (green) and down volume (red).
Extreme trading days with more than 90 % up or down volume are marked via lines (theoretically values) and triangles (breaches).
Deutsch:
Dieser Indikator zeigt das Aufwärts- (grün) und Abwärts-Volumen (rot) der NYSE.
Extreme Handelstage mit mehr als 90 % Aufwärts- oder Abwärts-Volumen ist gekennzeichnet über Linien (theoretische Werte) und Dreiecke (Überschreitungen).
Accumulation/Distribution Volume (ADV) [cI8DH]This is the simplified and optimized version of my original ADV indicator. It shows both regular volume bars and the accumulated/distributed (A/D) portion of them. The equation is elegant and intuitive. It calculates candle body to candle height ratio and multiplies it by volume: volume*(close-open)/(high-low). This is the building block of my three other indicators, ADL, ADP and ADMF.
- The volume bars has two shades of green and red. The dark shade shows amount of A/D and the light shade shows total volume (what you see on a regular volume indicator).
When money volume is enabled, volume is multiplied by price. As you can see in the chart below, trade volume in terms of USD was growing over the past years.
- Blue line is the moving average of A/D and the orange line is for total volume. When "Baseline Chart" option is enabled, this moving average is identical to ADMF indicator which can be a powerful indicator for assessing buy/sell pressure as well as money flow and volume divergences. You can turn off volume bars (from style menu) for better visibility or you can use the below indicators.
Please note that ADMF is now available as a part of ADP indicator as well and I recommend using the latter since ADP can also replace CMF and MFI indicators.
- If you change the aggregation to cumulative (while having money volume disabled), the gray line becomes identical to On Balance Volume (OBV) and the blue line identical to my ADL indicator. The latter I would argue is more accurate than Chaikin's ADL, William's A/D and OBV.
Coloured Volume Grid 1.0Candles are coloured based on relative price and volume:
- If today’s closing price and volume are greater than (n) bars ago, color today’s volume bar green.
- If today’s closing price is greater than (n) bars ago but volume is not, color today’s volume bar lime.
- Similarly, if today’s closing price and volume is less than (n) bars ago, color today’s volume bar orange.
- If today’s closing price is less than (n) bars ago but volume is not, color today’s volume bar red.
The above logic in itself gives pretty remarkable considering how simple the idea is. I have added a multi-timeframe feature where the same logic is applied to 4 other timeframes. This way you can quickly be aware without having to check. There are four layers and the default settings show (from top to bottom) daily, 4h, 1h and 15m
All timeframes are adjustable in the settings.
Smart VolumeOut of beta!
This script distinguishes up/down volume based on lower resolution.
It's important to set correct input "Detailed Resolution" — it affects detalization/loading speed. If equal to chart resolution, should match builtin "volume". The lower it is, the more detalized up/down border.
Smart Volume (beta)This script distinguishes up/down volume based on lower resolution.
It's important to set correct inputs. Second - affects detalisation/loading speed. Third one needs to be set according to your chart resolution. 1440 for 'D', 30 for '30'.