VAMA - Volume Adjusted Moving Average [jpkxyz]VAMA is a moving average that adapts to volume, giving more weight to price movements backed by higher relative volume. This VAMA (Volume Adjusted Moving Average) indicator implementation emphasizes visual clarity. It is based on the VAMA script by @allanster
Dual VAMA lines (Fast/Slow) with dynamic coloring:
Single-color scheme switches between green (bullish) and red (bearish)
Color changes on crossovers rather than relative position
Configurable line widths (set to 1 for clean appearance)
Visual enhancements:
Optional fill between VAMA lines (50% transparency)
Crossover dots can be toggled
Fills and dots match the current trend color
Customization parameters:
Independent source inputs for Fast/Slow lines
Adjustable VI Factor (volume influence)
Sample size control
Strict/non-strict calculation toggle
The code maintains efficient computation while prioritizing visual feedback for trend changes. It's designed for clear signal identification without visual clutter.
Notable style choices:
Consistent color theming throughout all visual elements
Simplified color transitions (only at crossovers)
Subtle transparency for fill areas
Minimal dot size for crossover markers
VAMA (Volume Adjusted Moving Average) Technical Analysis:
Core Calculation:
1. Volume Influence (v2i):
v2i = volume / ((total_volume/total_periods) * volume_factor)
- total_volume: Sum of volume over sample period
- total_periods: Either full history (nvb=0) or specified sample size
- volume_factor: Controls sensitivity to volume deviation
2. Price Weighting:
weighted_price = source_price * v2i
3. Accumulation Process:
- Iterates through length*10 periods
- Accumulates weighted prices and volume influence values
- Continues until volume influence sum >= specified length or strict rule triggers
4. Final VAMA Value:
vama = (weighted_sum - (volume_sum - length) * last_price) / length
Parameters:
- SampleN: Historical reference length (0=full history)
- Length: Base period for calculation
- VI Factor: Volume influence multiplier (>0.01)
- Strict: Forces exact length period completion when true
- Source: Input price data
VAMA
VAMA Volume Adjusted Moving Average BandsThis indicator is standard deviation bands using a live analysis adaptation of Richard Arms' Volume Adjusted Moving Average as their basis. VAMA utilizes a period length that is based on volume increments rather than time.
• SampleN - N volume bars used as sample to calculate average volume , 0 equals all bars.
• VAMA Source - Price used for volume weighted calculations.
• VAMA Length - Specified number of volume ratio buckets to be reached.
• VAMA VI Fct - Size of volume ratio buckets.
• VAMA Strict - Must meet desired volume requirements, even if number of bars has to exceed VAMA Length to do it.
• STDV Factor - Standard Deviation multiplier.
• STDV Length - Standard Deviation period.
• Brightness - Color opaqueness for the band fills.
Please see previous published example here for more details on VAMA's usage and inability to redraw the past on time based charts.
NOTICE: This is an example script and not meant to be used as an actual strategy. By using this script or any portion thereof, you acknowledge that you have read and understood that this is for research purposes only and I am not responsible for any financial losses you may incur by using this script!
VAMA Volume Adjusted Moving Average FunctionThis indicator is a live analysis adaptation of Richard Arms' Volume Adjusted Moving Average coded as a single function. VAMA utilizes a period length that is based on volume increments rather than time. Settings are provided for using as a pair of fast and slow moving averages.
• SampleN - N volume bars used as sample to calculate average volume , 0 equals all bars.
• VAMA Source - Price used for volume weighted calculations.
• VAMA Length - Specified number of volume ratio buckets to be reached.
• VAMA VI Fct - Size of volume ratio buckets.
• VAMA Strict - Must meet desired volume requirements, even if number of bars has to exceed VAMA Length to do it.
Please see previous published example here for more details on VAMA's usage and inability to redraw the past on time based charts.
NOTICE: This is an example script and not meant to be used as an actual strategy. By using this script or any portion thereof, you acknowledge that you have read and understood that this is for research purposes only and I am not responsible for any financial losses you may incur by using this script!
VAMA Volume Adjusted Moving AverageRichard Arms' Volume Adjusted Moving Average
Settings:
• Inp Avg Vol: Input - Purist method but not intended for live analysis, to retroactively alter MA curve enter Avg Vol from value shown on label into Use Avg Vol field.
• Inp Avg Vol: Current - Live method using current volume , to retroactively alter past MA curve toggle any setting back and forth to force recalculation.
• Inp Avg Vol: Subset - Similar to Current, but uses a subset rather than all bars for avg vol.
• Use Avg Vol - Used for Inp Avg Vol: Input mode. Enter volume from Avg Vol label here after each new bar closes, label will turn green, else red.
• Subset Data - Lookback length used for Inp Avg Vol: Subset mode.
• VAMA Length - Specified number of volume ratio buckets to be reached.
• Volume Incr - Size of volume ratio buckets.
• VAMA Source - Price used for volume weighted calculations.
• VAMA Strict - Must meet desired volume requirements, even if N bars has to exceed VAMA Length to do it.
• Show Avg Vol Label - Displays label on chart of total chart volume.
Notes: VAMA was created by Richard Arms. It utilizes a period length that is based on volume increments rather than time. It is an unusual indicator in that it cannot be used in some platforms in realtime mode as Arms had originally intended. VAMA requires that the average volume first be calculated for the entire chart duration, then that average volume is used to derive the variable adaptive length of the moving average. The consequence of this is that with each new bar, the new average volume alters the moving average period for the entire history. Since Pine scripts evaluate all historical bars only once upon initial script execution, there is no way to automatically shift the previous moving average values retroactively once a new bar has formed. Thus the historical plot of the moving average cannot be updated in realtime, but instead can only plot through previous bar that existed upon load or reinitialization through changing some setting.
Setting Use Avg Vol to Input mode the average volume through previous bar shown in label can be entered (input) into the Inp Avg Vol setting after each new bar closes. Entering this total chart volume forces the script to reevaluate historical bars which in turn allows the historical moving average to update the plot. When using Input mode the color of the label is green when Inp Avg Vol value matches current label value, the label color red signifies Inp Avg Vol value has not been entered or is stale.
Setting Use Avg Vol to Current mode allows the script to correctly calculate and plot the correct moving average upon initial load and the realtime moving average moving forward, but can not retroactively alter the plot of the past moving average unless some change is made in the script settings, such as toggling the Use Avg Vol from Current to some other choice and then back to Current .
Setting Use Avg Vol to Subset mode uses a rolling window of volume data to calculate the average volume and can be used in realtime, but should be noted it is a deviation from Richard Arms' original specification.
VAMA info: "Trading Without Fear" by Richard W Arms, Jr, www.fidelity.com
NOTICE: This is an example script and not meant to be used as an actual strategy. By using this script or any portion thereof, you acknowledge that you have read and understood that this is for research purposes only and I am not responsible for any financial losses you may incur by using this script!
SSL HybridThis script is designed for the NNFX Method, so it is recommended for Daily charts only.
Tried to implement a few VP NNFX Rules
This script has a SSL / Baseline (you can choose between the SSL or MA), a secondary SSL for continiuation trades and a third SSL for exit trades.
Alerts added for Baseline entries, SSL2 continuations, Exits.
Baseline has a Keltner Channel setting for "in zone" Gray Candles
Added "Candle Size > 1 ATR" Diamonds from my old script with the criteria of being within Baseline ATR range.
Credits go to:
Strategy causecelebre www.tradingview.com
SSL Channel ErwinBeckers www.tradingview.com
Moving Averages jiehonglim www.tradingview.com
Moving Averages everget www.tradingview.com
"Many Moving Averages" script Fractured www.tradingview.com
VAMA Ribbon - JD This indicator gives an Ribbon of various VAMA's
The VAMA is an adjusted moving average, based on the volatility of the past x amount of bars, measured against the ema of a certain length.
The VAMA may give you an indication of likely price targets, amongst other use cases similar to other ma's
If you have any other ideas for further development,... let me know!!
If you want to use the VAMA in your scripts, please give me a shoutout! ;-)
JD.
#NotTradingAdvice #DYOR
Disclaimer.
I AM NOT A FINANCIAL ADVISOR.
THESE IDEAS ARE NOT ADVICE AND ARE FOR EDUCATION PURPOSES ONLY.
ALWAYS DO YOUR OWN RESEARCH!
I build these indicators for myself and provide them open source, to use for free to use and improve upon,
as I believe the best way to learn is toghether.
Many Moving AveragesThis script allows you to add two moving averages to a chart, where the type of moving average can be chosen from a collection of 15 different moving average algorithms. Each moving average can also have different lengths and crossovers/unders can be displayed and alerted on.
The supported moving average types are:
Simple Moving Average ( SMA )
Exponential Moving Average ( EMA )
Double Exponential Moving Average ( DEMA )
Triple Exponential Moving Average ( TEMA )
Weighted Moving Average ( WMA )
Volume Weighted Moving Average ( VWMA )
Smoothed Moving Average ( SMMA )
Hull Moving Average ( HMA )
Least Square Moving Average/Linear Regression ( LSMA )
Arnaud Legoux Moving Average ( ALMA )
Jurik Moving Average ( JMA )
Volatility Adjusted Moving Average ( VAMA )
Fractal Adaptive Moving Average ( FRAMA )
Zero-Lag Exponential Moving Average ( ZLEMA )
Kauman Adaptive Moving Average ( KAMA )
Many of the moving average algorithms were taken from other peoples' scripts. I'd like to thank the authors for making their code available.
JayRogers
Alex Orekhov (everget)
Alex Orekhov (everget)
Joris Duyck (JD)
nemozny
Shizaru
KobySK
Jurik Research and Consulting for inventing the JMA.
Variable Adaptive Moving AverageAbout This Indicator
This was one of my first indicators, its also the first indicator i made a preprint paper about, i strongly encourage you to read the paper i made here : hal.archives-ouvertes.fr
Dont be triggered by the lack of quality of the paper, i only did it for fun. I might further develop this preprint thus ending with something more readable.
Volatility Adjusted Moving Average - JD@version=3
This indicator gives an adjusted moving average, based on the volatility of the past x amount of bars, measured against the ema of a certain length.
The idea came out of my VA adjusted Bands indicator where the VAMA is actually the center line.
I scripted the moving average as a function so it is easy to inport into other scripts,
Feel free to use it in your scripts and experiment with it,
of cousre, if you want to publish your script, a little mention in the notes is always appreciated.
At first view I might add some smoothing otions and
a couple of different ma options as a base anchor in future releases.
If you have any other ideas for further development,... let me know!!
JD.
#NotTradingAdvice #DYOR
I build these indicators for myself and provide them open source, to use for free to use and improve upon,
as I believe the best way to learn is toghether.