MovingAverages

Contains utilities for generating moving average values including getting a moving average by name and a function for generating a Volume-Adjusted WMA.
vawma(len, src, volumeDefault) VAWMA = VWMA and WMA combined. Simply put, this attempts to determine the average price per share over time weighted heavier for recent values. Uses a triangular algorithm to taper off values in the past (same as WMA does).
Parameters:
- len: The number of bars to measure with.
- src: The series to measure from. Default is 'hlc3'.
- volumeDefault: The default value to use when a chart has no (N/A) volume.
Returns: The volume adjusted triangular weighted moving average of the series.
getMA(mode, len, src) Generates a moving average based upon a 'mode'.
Parameters:
- mode: The type of moving average to generate. Values allowed are: SMA, EMA, WMA, VWMA and VAWMA.
- len: The number of bars to measure with.
- src: The series to measure from. Default is 'close'.
Returns: The volume adjusted triangular weighted moving average of the series.
Contains utilities for generating moving average values including getting a moving average by name and a function for generating a Volume-Adjusted WMA.
vawma(len, src, volumeDefault) VAWMA = VWMA and WMA combined. Simply put, this attempts to determine the average price per share over time weighted heavier for recent values. Uses a triangular algorithm to taper off values in the past (same as WMA does).
Parameters:
- len: The number of bars to measure with.
- src: The series to measure from. Default is 'hlc3'.
- volumeDefault: The default value to use when a chart has no (N/A) volume.
Returns: The volume adjusted triangular weighted moving average of the series.
getMA(mode, len, src) Generates a moving average based upon a 'mode'.
Parameters:
- mode: The type of moving average to generate. Values allowed are: SMA, EMA, WMA, VWMA and VAWMA.
- len: The number of bars to measure with.
- src: The series to measure from. Default is 'close'.
Returns: The volume adjusted triangular weighted moving average of the series.
- Revised to use .get() as prefix will always be present.
- Switched to switch statement with runtime error.
- Migrated to single quote standard.
Added:
get(type, len, src) Generates a moving average based upon a 'type'.
Parameters:
type: The type of moving average to generate. Values allowed are: SMA, EMA, WMA, VWMA and VAWMA.
len: The number of bars to measure with.
src: The series to measure from. Default is 'close'.
Returns: The moving average series requested.
Removed:
getMA(mode, len, src) Generates a moving average based upon a 'mode'.
Added:
cma(n, D, C, compound) CMA is a variation of a moving average that can simulate SMA or WMA with the advantage of previous data. ifta.org/wp-content/uploads/2020/10/d_ifta_journal_21.pdf
Parameters:
n: The number of bars to measure with.
D: The series to measure from. Default is 'close'.
C: The coefficient to use when averaging. 0 behaves like SMA, 1 behaves like WMA.
compound: When true (default is false) will use a compounding method for weighting the average.
Updated:
vawma(len, src, volumeDefault) VAWMA = VWMA and WMA combined. Simply put, this attempts to determine the average price per share over time weighted heavier for recent values. Uses a triangular algorithm to taper off values in the past (same as WMA does).
Parameters:
len: The number of bars to measure with.
src: The series to measure from. Default is 'hlc3'.
volumeDefault: The default value to use when a chart has no (N/A) volume.
Returns: The volume adjusted triangular weighted moving average of the series.
Added:
ema(len, src) Same as ta.ema(src,len) but properly ignores NA values.
Parameters:
len: The number of samples to derive the average from.
src: The series to measure from. Default is 'close'.
wma(len, src, startingWeight) Same as ta.wma(src,len) but properly ignores NA values.
Parameters:
len: The number of samples to derive the average from.
src: The series to measure from. Default is 'close'.
startingWeight: The weight to begin with when calculating the average. Higher numbers will decrease the bias.
vwma(len, src, volumeDefault) Same as ta.vwma(src,len) but properly ignores NA values.
Parameters:
len: The number of bars to measure with.
src: The series to measure from. Default is 'hlc3'.
volumeDefault: The default value to use when a chart has no (N/A) volume.
Added:
rsvwma(transferRatio, releaseRatio, useTime, src, vol)
This is experimental moving average doesn't use a period/length but instead buffers the price per share and transfers that price per share at a given ratio per bar while also releasing the previous values at a decay ratio.
Parameters:
transferRatio: The ratio at which buffered data is applied to the average.
releaseRatio: The ratio at which data is released from the average.
useTime: When true will tend to make the values consistent across timeframes.
src: The series to measure from. Default is 'hlc3'.
vol: The series to represent volume. The default is 'volume'.
Added:
normalizeSlope(source, mLen, slopeLen)
The slope of the source (change over time) is measured over the mLen to determine what is considered 'normal'. A positive value less than 1 is considered within 1 standard deviation. A value less than 2 is within 2 standard deviations and so-on. This allows for the slope of a value to be standardized regardless of the symbol.
Parameters:
source (float): The series (typically a moving average) to meaasue the slope.
mLen (simple int)
slopeLen (simple int): The number of bars to measure the slope. A higher number will smooth out the curve.
Returns: The nromalized value of the slope.
Updated:
get(type, len, src)
Generates a moving average based upon a 'type' (enum overload).
Parameters:
type (simple Type): The type of moving average to generate as a Type enum. Values allowed are: Type.SMA, Type.EMA, Type.WMA, Type.VWMA, Type.VAWMA, Type.CMA.
len (simple int): The number of bars to measure with.
src (float): The series to measure from. Default is 'close'.
Returns: The moving average series requested.
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.
Declinazione di responsabilità
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.