Trendoscope

historicalrange

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

Pine library

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.

Want to use this library?

Copy the following line and paste it in your script.