OPEN-SOURCE SCRIPT
Updated Volume, Momentum and Volatility weighted moving average

Moving averages are filters on price data. This moving average creates a filter which factors in:
- the price RSI or it's Momentum
- the volume RSI
- the RVI or Volatility
Each factor is put through a least squares filter to smooth them first.
Then the factors are used to build a coefficient for an exponentially weighted average.
The chart above shows a comparison of standard average types with this script.
This is useful if you are looking for a moving average based trigger and do not wish to react to candle noise price action.
- the price RSI or it's Momentum
- the volume RSI
- the RVI or Volatility
Each factor is put through a least squares filter to smooth them first.
Then the factors are used to build a coefficient for an exponentially weighted average.
The chart above shows a comparison of standard average types with this script.
This is useful if you are looking for a moving average based trigger and do not wish to react to candle noise price action.
Release Notes
Minor updates- reverted to traditional RVI calculation
- pulled apart the momentum for high and low separately
Release Notes
- Some important revisions - feel free to alter the source- Addressed some initialization conditions
- Added another filter using normalized ratios for relative value filter
- Changed RSI to CMO, CMO is more responsive than RSI and reduces lag
- Added one of my favorite moving average, the Vidya MA
I think it's important to use this moving average with another average or even a supertrend, where the input to the trend is the VMV average. Perhaps a later modification.
I hope you enjoy how these two MA's work together.
Release Notes
Quick fix of scaling issue, CMO ranges -100 to 100, RVI ranges 0 to 100 . All factors now produce a range of 0 to 100.Release Notes
_ Allow the script to run in a time frame different from the chart_ Produce a dynamic length based on stochastic oscillator
_ Vidya_ma now runs on dynamic length
_ two more of my favorite ma's are included - parameter-less price and vwap
Release Notes
- Removed dynamic length selections
- Addressed more initialization problems, if you use a recursive formula it's important the first 100 bars in a data set are not NA and are reasonable values, so need to fix some borrowed pine
- Switched from using stochastic to pick up on trend to using two different inputs, tema and parameterless ma - averaging their best fit length
- Dynamic length applied to the Vidya ma only
Release Notes
- added gap fill if used in a higher time frame than the chart
- removed the least squares method and replaced with simple ema for speed of execution, the outcomes are close enough so it doesn't warrant the tax on execution speed
- smoothed over a fixed length and not variable
Release Notes
Updated to V5 Pine- streamlined and simplified a few averages to speed up processing speed
- dynamic length calculations are done now in one loop vs 2
- removed normalization for Vidya and VMV
The script still generates warnings on compilation, but there is no easy way around them.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.