Library "historicalrange" Library provices a method to calculate historical percentile range of series.
hpercentrank(source) calculates historical percentrank of the source Parameters: source: Source for which historical percentrank needs to be calculated. Source should be ranging between 0-100. If using a source which can beyond 0-100, use short term percentrank to baseline them. Returns: pArray - percentrank array which contains how many instances of source occurred at different levels. upperPercentile - percentile based on higher value lowerPercentile - percentile based on lower value median - median value of the source max - max value of the source
distancefromath(source) returns stats on historical distance from ath in terms of percentage Parameters: source: for which stats are calculated Returns: percentile and related historical stats regarding distance from ath
distancefromma(maType, length, source) returns stats on historical distance from moving average in terms of percentage Parameters: maType: Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median length: Moving Average Length source: for which stats are calculated Returns: percentile and related historical stats regarding distance from ath
bpercentb(source, maType, length, multiplier, sticky) returns percentrank and stats on historical bpercentb levels Parameters: source: Moving Average Source maType: Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median length: Moving Average Length multiplier: Standard Deviation multiplier sticky: - sticky boundaries which will only change when value is outside boundary. Returns: percentile and related historical stats regarding Bollinger Percent B
kpercentk(source, maType, length, multiplier, useTrueRange, sticky) returns percentrank and stats on historical kpercentk levels Parameters: source: Moving Average Source maType: Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median length: Moving Average Length multiplier: Standard Deviation multiplier useTrueRange: - if set to false, uses high-low. sticky: - sticky boundaries which will only change when value is outside boundary. Returns: percentile and related historical stats regarding Keltener Percent K
dpercentd(useAlternateSource, alternateSource, length, sticky) returns percentrank and stats on historical dpercentd levels Parameters: useAlternateSource: - Custom source is used only if useAlternateSource is set to true alternateSource: - Custom source length: - donchian channel length sticky: - sticky boundaries which will only change when value is outside boundary. Returns: percentile and related historical stats regarding Donchian Percent D
oscillator(type, length, shortLength, longLength, source, highSource, lowSource, method, highlowLength, sticky) oscillator - returns Choice of oscillator with custom overbought/oversold range Parameters: type: - oscillator type. Valid values : cci, cmo, cog, mfi, roc, rsi, stoch, tsi, wpr length: - Oscillator length - not used for TSI shortLength: - shortLength only used for TSI longLength: - longLength only used for TSI source: - custom source if required highSource: - custom high source for stochastic oscillator lowSource: - custom low source for stochastic oscillator method: - Valid values for method are : sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median highlowLength: - length on which highlow of the oscillator is calculated sticky: - overbought, oversold levels won't change unless crossed Returns: percentile and related historical stats regarding oscillator
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.
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.