OPEN-SOURCE SCRIPT

Oscillator Volume Profile [Trendoscope®]

Updated
The Oscillator Volume Profile indicator is designed to construct a volume profile based on predefined oscillator levels. It integrates volume data with oscillator readings to offer a unique perspective on market dynamics.

🎲 Selectable Oscillators:
Users can select from an array of oscillator options for the basis of the volume profile, including:

  1. Relative Strength Index (RSI)
  2. Chande Momentum Oscillator (CMO)
  3. Center of Gravity (COG)
  4. Money Flow Index (MFI)
  5. Rate of Change (ROC)
  6. Commodity Channel Index (CCI)
  7. Stochastic Oscillator (Stoch)
  8. True Strength Index (TSI)
  9. Williams %R (WPR)


The length parameters - Length, Fast Length, Slow Length allows users to define the period over which the chosen oscillator is calculated, tailoring the sensitivity of the indicator to their trading strategy.

🎲 Dynamic Overbought/Oversold Ranges:
This indicator enhances traditional concepts by introducing dynamic overbought and oversold levels. These adaptable thresholds are calculated using various methods, including:

🎯 Highest/Lowest Range Method: This method establishes the range based on the highest and lowest values of the oscillator within the last N bars.

🎯 Moving Average Range Method: The range is derived from a moving average of the oscillator, providing a smoothed threshold that reflects more recent market conditions.

In addition to these methods, the indicator incorporates a unique 'Sticky Border' feature:

🎯 Sticky Border: With this option enabled, the dynamic ranges maintain their levels until the oscillator breaks out of the range. Once a breakout occurs, the levels are recalculated and updated. This mechanism ensures that the borders remain consistent and relevant, only adjusting to significant market movements that warrant a recalculation.

Users can select their preferred method for determining dynamic ranges, allowing for a customized approach that aligns with their analysis and trading strategy. The sticky border feature further refines this functionality, offering continuity until a decisive market move occurs.

🎲 Volume Profile Calculation Parameters:
🎯 Trend Filter: The indicator provides a versatile trend filter with four selectable options:
  1. Uptrend: The volume profile is calculated when the oscillator indicates an uptrend.
  2. Downtrend: The volume profile is calculated when the oscillator indicates a downtrend.
  3. Any: The volume profile is calculated regardless of the trend.
  4. External: Users can input values from an external indicator. The volume profile is then calculated only when the external indicator's value is non-zero, integrating external analysis into the volume profile construction.


🎯 Precision: Users have the option to define the precision for calculating the volume profile, which is crucial due to the varying scales of different oscillators (e.g., some oscillators range from 0 to 100, while others from -1 to 1). Selecting an appropriate precision ensures that the volume profile is accurately aligned with the minimal price range significant to the chosen oscillator. This setting requires user intervention for optimal configuration, as automatic calculation is not feasible due to the diverse nature of oscillator ranges.

🎯 Number of Bars: Users can select a specific number of bars for volume profile calculation, or opt to include all available historical bars for a comprehensive profile.

🎲 Selecting the right precision:
Users must select the right precision based on their choice of indicator. For example, RSI values range from 0-100. Hence, the default precision of 1 work fine on RSI as the volume profiles are plotted from 0 to 100 at the interval of 0.1

snapshot

But, the default precision of 1 will not be ok on TSI because TSI values range from -1 to 1. Hence, using 1 as precision will result in very less volume profile lines as shown below.

snapshot

Due to this, it is necessary to increase the precision for oscillators such as TSI where the range between highest and lowest value is far less. Once we set the precision to 2, we can see more appropriate volume profile division.

snapshot


🎲 Note of thanks:

This publication uses polyline feature for drawing volume profiles. The advantage of using polyline is that we can overcome max 500 lines issue that we face by using the regular line objects. More details of polyline can be found in the tradingview blog post

Further, using polyline for display of volume profiles is inspired by the publications of fikira and KioseffTrading
Release Notes
Updated implementation to use multiple polylines to avoid error.
Release Notes
Increased the point limit for each polyline
hewhomustnotbenamedOscillatorstrendoscopeVolume Profile

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?

Disclaimer