Library "TurntLibrary" Collection of functions created for simplification/easy referencing. Includes variations of moving averages, length value oscillators, and a few other simple functions based upon HH/LL values.
ma(source, length, type) Apply a moving average to a float value Parameters: source: Value to be used length: Number of bars to include in calculation type: Moving average type to use ("SMA","EMA","RMA","WMA","VWAP","SWMA","LRC") Returns: Smoothed value of initial float value
curve(src, len, lb1, lb2) Exaggerates curves of a float value designed for use as an exit signal. Parameters: src: Initial value to curve len: Number of bars to include in calculation lb1: (Default = 1) First lookback length lb2: (Default = 2) Second lookback length Returns: Curved Average
fragma(src, len, space, str) Average of a moving average and the previous value of the moving average Parameters: src: Initial float value to use len: Number of bars to include in calculation space: Lookback integer for second half of average str: Moving average type to use ("SMA","EMA","RMA","WMA","VWAP","SWMA","LRC") Returns: Fragmented Average
maxmin(x, y) Difference of 2 float values, subtracting the lowest from the highest Parameters: x: Value 1 y: Value 2 Returns: The +Difference between 2 float values
oscLen(val, type) Variable Length using a oscillator value and a corresponding slope shape ("Incline",Decline","Peak","Trough") Parameters: val: Oscillator Value to use type: Slope of length curve ("Incline",Decline","Peak","Trough") Returns: Variable Length Integer
hlAverage(val, smooth, max, min, type, include) Average of HH,LL with variable lengths based on the slope shape ("Incline","Decline","Trough") value relative to highest and lowest Parameters: val: Source Value to use smooth max min type include: Add "val" to the averaging process, instead of more weight to highest or lowest value Returns: Variable Length Average of Highest Lowest "val"
pct(val) Convert a positive float / price to a percentage of it's highest value on record Parameters: val: Value To convert to a percentage of it's highest value ever Returns: Percentage
hlrange(x, len) Difference between Highest High and Lowest Low of float value Parameters: x: Value to use in calculation len: Number of bars to include in calculation Returns: Difference
midpoint(x, len, smooth) The average value of the float's Highest High and Lowest Low in a number of bars Parameters: x: Value to use in calculation len smooth: (Default=na) Optional smoothing type to use ("SMA","EMA","RMA","WMA","VWAP","SWMA","LRC") Returns: Midpoint
Release Notes
Fixed formatting, export
Release Notes
v3
Added: geoma(src, length, offset, atr) Geometric average of midpoint and value with an additional modifier Parameters: src: = Value to use in calculation length: # of bars to include in calculation offset: LRC offset atr: ATR length to use Returns: a Geometric Average of a modified Geometric Average
rsma(src, length, offset, up, dn) Midpoint between Highest and Lowest using variable lookback Parameters: src: = Value to use in calculation length: # of bars to include in calculation offset: LRC offset up: Slope of length curve to use ("Incline","Decline","Peak","Trough") dn: Slope of length curve to use ("Incline","Decline","Peak","Trough") Returns: Dynamic Relative Strength Average
yma(src, length, offset) Midpoint using dynamic lengths with Incline/Decline Slopes Parameters: src: = Value to use in calculation length: # of bars to include in calculation offset: LRC offset Returns: Incline Decline MA
xma(src, length, offset) Midpoint using dynamic lengths with Peak Trough Slopes Parameters: src: = Value to use in calculation length: # of bars to include in calculation offset: LRC offset Returns: Peak Trough MA
gma(src, length, mult, type) Gravitational Moving Average, Adds weight to lowest highest or center point based upon the current value in relation to the highest/lowest values. Parameters: src: = Value to use in calculation length: # of bars to include in calculation mult type Returns: Gravitational MA
In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by 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.