MTF Evolving Weighted Composite Value Area🧾 Description:
This indicator calculates evolving value areas across 3 different timeframes/periods and combines them into one composite, multi-timeframe evolving value area - with each of the underlying timeframes' VAs assigned their own weighting/importance in the final calculation. Layered with extra smoothing options, this creates an informative and useful 'rolling value area' effect that can give you a better perspective on the value area across multiple periods at once as it develops - without total calculation resets at the onset of every new period.
Let's start with a simplified primer on value areas and then jump in to the new ideas this indicator introduces.
🤔 What is a value area?
Value areas are a tool used in market profile analysis to determine the range of prices that represents where most trading activity occurred during a specific time period, typically within a single 'bar' of a certain higher timeframe, such as the 4-hour, daily, or weekly. It helps traders understand the levels where the market finds value.
To calculate the value area, we look at the distribution of prices and trading volume. We determine a percentage, usually 70% or 80%, that represents the significant portion of trading volume. Then, we identify the price range that contains this percentage of trading volume, which becomes the value area.
Value areas are useful because they provide insights into market dynamics and potential support and resistance levels. They show where traders have been most active and where they find value, and traders can use this information to make better-informed decisions.
For example, if price is trading within the value area, it suggests that it's within a range where traders see value and are actively participating, which could indicate a balanced market. If the price moves above or below the value area, it may signal a potential shift in market sentiment or a breakout/breakdown from the established range.
By understanding the value area, traders can identify potential areas of supply and demand, determine levels of interest for buyers and sellers, and make decisions based on the market's perception of value.
📑 Limitations of traditional value areas
Static representation: Value areas are usually represented as static zones calculated after the fact. For example, after a daily period is completed, a typical 1D VA indicator will display the value area for the past period with static horizontal lines. This approach doesn't give you the power to see how the value area evolved, or developed, during the time period, as it is only displayed retroactively. It also doesn't give you the ability to view it as it evolves in real-time. This is why we chose to use an evolving value area representation, specifically borrowed from @sourcey's Value Area POC/VAH/VAL script function for calculating evolving VAs.
Rollover resets - no memory of past periods!: The traditional value area is calculated over a static period - it is calculated from the beginning of the period, for example a 1 day period, to the end, and that's the end of it. When the next daily period begins, the calculation resets, and has no memory of the preceding period. This limits the usefulness of the value area visual when viewed near the beginning of a new period before price and volume have been given ample time to define an area.
Hard to absorb all of that information: Value areas aren't generally meant to be a hardline representation of something extremely exact - they're based on a percentage of the area where traders appeared to find value over a certain time period. Most traders use them as a guide for support and resistance levels or finding an expected range. Traders typically overlay multiple VAs - sometimes requiring several instances of the same indicator to be applied - to represent the VA across multiple timeframes such as the 4H, 1D, or 1W. The chart quickly gets cluttered and it's not necessarily easy to understand the relationship between these multiple periods' VAs at a glance.
🧪 New concepts introduced in this indicator
With the evolving weighted composite value area we tried to address these limitations, and we think the result can be useful and intuitive for traders who want more dynamic and practical VAs for their everyday technical analysis.
⚖️ 1. A composite, weighted multi-timeframe VA
This indicator's value areas represent a combination or composite of the value areas calculated across multiple timeframes. The VAs calculated across each timeframe are then given a weighting percentage, which determines their contribution to the final 'weighted composite value area'.
Pictured below: a 4H/1D/1W MTF evolving weighted composite VA on the BTCUSDT Perpetual Futures (Binance) 5 minute chart:
Traditionally, when traders wanted to get a view of where the majority of trading activity occurred over the past four hours, day, and week, they would need to apply three value area indicators (or sometimes one if it allows multiple custom timeframes), each set to a different period (4H, 1D, 1W). The chart gets cluttered quickly and the information is hard to absorb in one shot. Addressing this problem was the main impetus for creating this weighted composite process.
〰️ 2. Rolling and smoothed evolving VAs
Because the composite VA is calculated based on multiple period VAs, there is no one single point where the area calculation resets (unless all 3 selected timeframes happen to rollover on the same bar). This creates a 'rolling' effect that gives a sense of the progression of the VA as price transitions through the different underlying time periods, without the traditional 'jump' in calculations between periods.
Pictured below: a 1D/1W/1M MTF evolving weighted composite VA on the NQ futures 1H chart:
To help give even more of a sense of perspective and 'progression' of the VA, there are also smoothing options to even out the 'jumps' at period-rollover points.
✔️ What's it good for?
Smoothed, rolling, and evolving multi-timeframe VAs that give you a better real-time perspective of where traders are finding value across multiple time periods at once.
📎 References
1. @sourcey's Value Area POC/VAH/VAL script by adapting its f_poc(tf) function.
💠 Features:
A MTF evolving weighted composite value area based on 3 underlying VAs calculated across customizable timeframes
Aesthetic and flexible coloring and color theme styling options
Period-roller labels and options for ease-of-use and legibility
⚙️ Settings:
Calculation Decimal Resolution: This setting essentially determines how 'granular' the value area calculating process is. This value should be set to some multiple of the tick size/smallest decimal of the symbol's price chart. Eg. On BTCUSDT, the tick size/decimal is usually 0.1. So, you might use 0.5. On TSLA, the tick size is 0.01. You might use 0.05 or 0.25. Beware: if the resolution is too small, calculation will take too long and the script may timeout.
Show Me Suggested Resolutions: If enabled, a label will display in the bottom right of the chart with some suggested resolutions for the current chart.
Area Percentage: Set the displayed percentage of the calculated composite value area. Igor method = 70%; Daniel method: 68%.
Use a Color Theme: When this setting is enabled, all manual 'Bullish and Bearish Colors' are overridden. All plots will use the colors from your selected Color Theme - excepting those plots set to use the 'Single Color' coloring method.
Color Theme: When 'Use a Color Theme' is enabled, this setting allows you to select the color theme you wish to use.
Resistance Color: When 'Use a Color Theme' is disabled, this will set the 'resistance color' for the composite VA.
Support Color: When 'Use a Color Theme' is disabled, this will set the 'support color' for the composite VA.
Show Period Rollover Labels: When enabled, a label will show above or below the composite VA marking any underlying period rollovers with the label 'New __' (eg. 'New 4H', 'New 1D', 'New 1W').
Size: Sets the font size of the period rollover labels.
Show Period Rollover Lines: When enabled, a translucent vertical dashed line will be drawn across the composite VA when one of the underlying periods rolls over.
Fill Composite Value Area: When enabled, the composite VA will be filled with a gradient coloring from the support line to the resistance line using their respective colors.
Smooth: When enabled, a smoothing moving average will be applied to the composite value area.
Smoothing Period: Set the lookback period for the smoothing average.
Smoothing Type: Set the calculation type for the smoothing average. Options include: Exponential, Simple, Weighted, Volume-Weighted, and Hull.
Enable: Include/exclude a timeframe's VA in the composite VA calculation.
Timeframe: Set the timeframe for this specific underlying VA.
Weighting %: Set the weighting percentage or 'importance' of this timeframe's value area in calculating the composite VA. Beware! The sum of the weighting percentages across all enabled timeframes must ALWAYS add up to 100 in order for this indicator to work as designed.
Volumeprofileanalysis
Swing Volume Profiles [LuxAlgo]The Swing Volume Profiles indicator aims to calculate and highlight trading activity at specific price levels between two swing points; allowing traders to reveal dominant and/or significant price levels based on volume.
By measuring traded volume at all price levels in the market over a specified time period, the script can also be used to detect some key analysis generally such as supply & demand, buy-side & sell-side liquidity levels, unfilled liquidity voids, and imbalances that can highlight on the chart.
🔶 USAGE
A volume profile is an advanced charting tool that displays the traded volume at different price levels over a specific period. It helps you visualize where the majority of trading activity has occurred.
Key Levels are the areas where the volume is concentrated or where there are significant volume spikes. These levels are known as key support and resistance levels. High-volume nodes indicate areas of high activity and are likely to act as support or resistance in the future.
Volume profile also helps identify value areas, which represent the price levels where the most trading activity has taken place. These levels can act as areas of support or resistance as traders perceive them as fair value.
The Point of Control describes the price level where the most volume was traded. A Naked Point of Control (also called a Virgin Point of Control) is a previous POC that has not been traded. Extending PoC options 'Until Bar Cross' or 'Until Bar Touch' helps in identifying Naked Point of Control Lines.
Previous PoC levels can serve as support and resistance for future price movements. Extending PoC Level 'Until Last Bar' option will help to identify such levels.
🔶 DETAILS
One of the unique features of the script is its ability to detect some other key levels such as levels of acceptance and rejection.
Levels of rejection we may summarize as supply and demand levels, these are also referred to as buy-side and sell-side liquidity levels. They usually occur at extreme highs or lows, where prices may be too high for buyers (high supply, low demand) or too low for sellers (low supply, high demand)
Levels of acceptance are the levels where Liquidity Voids occur, these are also referred to imbalances. Liquidity voids are sudden changes in price when the price jumps from one level to another. The peculiar thing about liquidity voids is that they almost always fill up, so we call them levels of acceptance.
🔶 ALERTS
When an alert is configured, the user will have the ability to be notified in case:
Point Of Control Line is touched/crossed
Value Area High Line is touched/crossed
Value Area Low Line is touched/crossed
🔶 SETTINGS
🔹 Display Options
Mode: Controls the lookback length of detection and visualization, where Present assumes last X bars specifid in '# Bars' option and Historical assumes all data available to the user as well as allowed limits of visiual objects (boxs, lines, labels etc)
# Bars: Controls the lookback length.
🔹 Swing Volume Profiles
The script takes into account user-defined parameters and plots volume profiles. Due to Pine Script™ drwaing objects limit only total volume profiles are presented.
Swing Detection Length: Lookback period
Swing Volume Profiles: Toggles the visibility of the Volume Profiles, with color options to differentiate the Value Area within a profile.
Profile Range Background Fill: Toggles the visibility of the Volume Profiles Range
🔹 Point of Control (PoC)
Point of Control (POC) – The price level for the time period with the highest traded volume
Point of Control (PoC): Toggles the visibility of the Point of Control
Developing PoC: Toggles the visibility of the Developing PoC
Extend PoC: Option that allows detecting virgin PoC levels. Virgin Point of Control (VPoC) is defined as a Point of Control that has never been revisited or touched. The option also allows PoC levels to extend till the last bar aiming to present levels from history where the levels were traded significantly and those levels can be used as support and resistance levels.
🔹 Value Area (VA)
Value Area (VA) – The range of price levels in which the specified percentage of all volume was traded during the time period.
Value Area Volume %: Specifies percentage of the Value Area
Value Area High (VAH): Toggles the visibility of the Value Area High, the highest price level within the Value Area
Value Area Low (VAL): Toggles the visibility of the Value Area Low, the lowest price level within the Value Area
Value Area (VA) Background Fill: Toggles the visibility of the Value Area Range
🔹 Liquidity Levels / Voids
Unfilled Liquidity, Thresh: Enable display of the Unfilled Liquidity Levels and Liquidity Voids, where threshold value defines the significance of the level.
🔹 Profile Stats
Position, Size: Specifies the position and the size of the label presenting Profile Stats, the tooltip of the label includes all related info for each profile.
Price, Price Change, and Cumulative Volume: Enable display of the given options on the chart.
🔹 Volume Profile Others
Number of Rows: Specify how many rows each histogram will have. Caution, having it set to high values will quickly hit Pine Script™ drawing objects limit and may cause fewer historical profiles to be displayed.
Placement: Place profile either left or right.
Profile Width %: Alters the width of the rows in the histogram, relative to the calculated profile length.
🔶 RELATED SCRIPTS
Alternative Liquidity Void Detection script, Buyside-Sellside-Liquidity
Volume Profile Regression Channel [LuxAlgo]The Volume Profile Regression Channel calculates a volume profile from an anchored linear regression channel. Users can choose the starting and ending points for the indicator calculation interval.
Like a regular volume profile, a "line" of control (LOC), value area, and a developing LOC are displayed.
🔶 SETTINGS
Sections: The number of sections the linear regression channel is divided into for the calculation of the volume profile.
Width %: Determines the length of the profile within the channel relative to the channel length.
Value Area %: Highlights the sections starting from the POC whose accumulated volume is equal to the user-defined percentage of the total profile sections volume.
🔶 USAGES
Regular volume profiles are often constructed from a horizontal price area, this can allow highlighting price areas where most trading activity takes place.
However, when price is strongly trending a classical volume profile can sometimes be more uniform. This is where using an angled volume profile can be useful.
The line of control allows highlighting the section of the channel with the most accumulated volume, this line can be used as a potential future support/resistance. This is where an angled volume profile might be the most useful.
The developing LOC highlights the LOC location at a specific time within the profile (from left to right) and can sometimes provide an estimate of the underlying trend in the price.
🔶 DETAILS
To be computed the script requires a left and right chart time coordinates. When adding the script to their charts users can determine the left and right time coordinates by clicking on the chart.
The linear regression channel width is determined so that the channel precisely encompasses the whole price.
🔶 LIMITATIONS
Using a very large calculation interval can return timeouts. Users can reduce the calculation interval to fix that issue from occurring.
The amount of drawing objects that can be used is limited, as such using a high calculation interval can display an incomplete profile.
🔶 ACKNOWLEDGEMENTS
If you are interested in these types of scripts, @HeWhoMustNotBeNamed published a similar script where users can use a custom line angle. See his 'Angled Volume Profile' script from March 2023.
Volume Profile Matrix [LuxAlgo]The Volume Profile Matrix indicator extends from regular volume profiles by also considering calculation intervals within the calculation window rather than only dividing the calculation window in rows.
Note that this indicator is subject to repainting & back-painting, however, treating the indicator as a tool for identifying frequent points of interest can still be very useful.
🔶 SETTINGS
Lookback: Number of most recent bars used to calculate the indicator.
Columns: Number of columns (intervals) used to calculate the volume profile matrix.
Rows: Number of rows (intervals) used to calculate the volume profile matrix.
🔶 USAGE
The Volume Profile Matrix indicator can be used to obtain more information regarding liquidity on specific time intervals. Instead of simply dividing the calculation window into equidistant rows, the calculation is done through a grid.
Grid cells with trading activity occurring inside them are colored. More activity is highlighted through a gradient and by default, cells with a color that are closer to red indicate that more trading activity took place within that cell. The cell with the highest amount of trading activity is always highlighted in yellow.
Each interval (column) includes a point of control which highlights an estimate of the price level with the highest traded volume on that interval. The level with the highest traded volume of the overall grid is extended to the most recent bar.
Volume and vPOC InsightsThe vPOC or volume point of control shows where most of the volume was traded. This is important because this is where the institutions and market makers have opened their positions, and these are the ones that move the markets!
This indicator is designed to cut through the volume noise, and enable the hiding of lower volume data.
The main setting allows you to define a lookback, and obscure the candles whose volume is less than x % of the highest volume in this lookback.
Of the remaining candles, their vPOC will be displayed. There are extra settings to extend naked vPOCs, as well as the highs and lows of these high volume candles, plus an EMA based on the vPOC price levels.
I must credit quantifytools @quantifytools who allowed me to utilize his code, for finding vPOCs using lower timeframe candles - there are comments in the code also. It works perfectly so why reinvent the wheel?
PointofControlLibrary "PointofControl"
POC_f()
The genesis of this project was to create a POC library that would be available to deliver volume profile information via pine to other scripts of indicators and strategies.
This is the indicator version of the library function.
A few things that would be unique with the built in
- it allows you to choose the kind of reset of the period, day/week or bars. This is simple enough to expand to other conditions
- it resets on bar count starting from the beginning of the data set (bar index =0) vs bars back from the end of the data set
- A 'period' in this context is the time between resets - the start of the POC until it resets (for example at the beginning of a new day or week)
- it will calculate an increment level rather than the user specifying ticks or price brackets
- it does not allow for setting the # of rows and then calculating the implied price levels
- When a period is complete it is often useful to look back at the POCs of historical periods, or extend them forward.
- This script will find the historical POCs around the current price and display them rather than extend all the historical POC lines to the right
- This script also looks across all the period POCs and identifies the master POC or what I call the Grand POC, and also the next 3 runner up POCs
There is a matching indicator to this library
Magnifying Glass (LTF Candles) by SiddWolf█ OVERVIEW
This indicator displays The Lower TimeFrame Candles in current chart, Like Zooming in on the Candle to see it's Lower TimeFrame Structure. It plots intrabar OHLC data inside a Label along with the volume structure of LTF candle in an eloquent format.
█ QUICK GUIDE
Just apply it to the chart, Hover the mouse on the Label and ta-da you have a Lower Timeframe OHLC candles on your screen. Move the indicator to the top and shrink it all the way up, because all the useful data is inside the label.
Inside the label: The OHLC ltf candles are pretty straightforward. Volume strength of ltf candles is shown at bottom and Volume Profile on the left. Read the Details below for more information.
In the settings, you will find the option to change the UI and can play around with Lower TimeFrame Settings.
█ DETAILS
First of all, I would like to thank the @TradingView team for providing the function to get access to the lower timeframe data. It is because of them that this magical indicator came into existence.
Magnifying Glass indicator displays a Candle's Lower TimeFrame data in Higher timeframe chart. It displays the LTF candles inside a label. It also shows the Volume structure of the lower timeframe candles. Range percentage shown at the bottom is the percentage change between high and low of the current timeframe candle. LTF candle's timeframe is also shown at the bottom on the label.
This indicator is gonna be most useful to the price action traders, which is like every profitable trader.
How this indicator works:
I didn't find any better way to display ltf candles other than labels. Labels are not build for such a complex behaviour, it's a workaround to display this important information.
It gets the lower timeframe information of the candle and uses emojis to display information. The area that is shown, is the range of the current timeframe candle. Range is a difference between high and low of the candle. Range percentage is also shown at the bottom in the label.
I've divided the range area into 20 parts because there are limitation to display data in the labels. Then the code checks out, in what area does the ltf candle body or wick lies, then displays the information using emojis.
The code uses matrix elements for each block and relies heavily on string manipulation. But what I've found most difficult, is managing to fit everything correctly and beautifully so that the view doesn't break.
Volume Structure:
Strength of the Lower TimeFrame Candles is shown at the bottom inside the label. The Higher Volume is shown with the dark shade color and Lower Volume is shown with the light shade. The volume of candles are also ranked, with 1 being the highest volume, so you can see which candle have the maximum to minimum volume. This is pretty important to make a price action analysis of the lower timeframe candles.
Inside the label on the left side you will see the volume profile. As the volume on the bottom shows the strength of each ltf candles, Volume profile on the left shows strength in a particular zone. The Darker the color, the higher the volume in the zone. The Highest volume on the left represents Point of Control (Volume Profile POC) of the candle.
Lower TimeFrame Settings:
There is a limitation for the lowest timeframe you can show for a chart, because there is only so much data you can fit inside a label. A label can show upto 20 blocks of emojis (candle blocks) per row. Magnifying Glass utilizes this behaviour of labels. 16 blocks are used to display ltf candles, 1 for volume profile and two for Open and Close Highlighter.
So for any chart timeframe, ltf candles can be 16th part of htf candle. So 4 hours chart can show as low as 15 minutes of ltf data. I didn't provide the open settings for changing the lower timeframe, as it would give errors in a lot of ways. You can change the timeframe for each chart time from the settings provided.
Limitations:
Like I mentioned earlier, this indicator is a workaround to display ltf candles inside a label. This indicator does not work well on smaller screens. So if you are not able to see the label, zoom out on your browser a bit. Move the indicator to either top or bottom of all indicators and shrink it's space because all details are inside the label.
█ How I use MAGNIFYING GLASS:
This indicator provides you an edge, on top of your existing trading strategy. How you use Magnifying Glass is entirely dependent on your strategy.
I use this indicator to get a broad picture, before getting into a trade. For example I see a Doji or Engulfing or any other famous candlestick pattern on important levels, I hover the mouse on Magnifying Glass, to look for the price action the ltf candles have been through, to make that pattern. I also use it with my "Wick Pressure" indicator, to check price action at wick zones. Whenever I see price touching important supply and demand zones, I check last few candles to read chart like a beautiful price action story.
Also volume is pretty important too. This is what makes Magnifying Glass even better than actual lower timeframe candles. The increasing volume along with up/down trend price shows upward/downward momentum. The sudden burst (peak) in the volume suggests volume climax.
Volume profile on the left can be interpreted as the strength/weakness zones inside a candle. The low volume in a price zone suggests weakness and High volume suggests strength. The Highest volume on the left act as POC for that candle.
Before making any trade, I read the structure of last three or four candles to get the complete price action picture.
█ Conclusion
Magnifying Glass is a well crafted indicator that can be used to track lower timeframe price action. This indicator gives you an edge with the Multi Timeframe Analysis, which I believe is the most important aspect of profitable trading.
~ @SiddWolf