PINE LIBRARY

ta

Library "ta"
Collection of all custom and enhanced TA indicators. Same as enhanced_ta. But, removed all the displays to make it faster.

ma(source, maType, length)
  returns custom moving averages
  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
  Returns: moving average for the given type and length

atr(maType, length)
  returns ATR with custom moving average
  Parameters:
    maType: Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
    length: Moving Average Length
  Returns: ATR for the given moving average type and length

atrpercent(maType, length)
  returns ATR as percentage of close price
  Parameters:
    maType: Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
    length: Moving Average Length
  Returns: ATR as percentage of close price for the given moving average type and length

bb(source, maType, length, multiplier, sticky)
  returns Bollinger band for custom moving average
  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: Bollinger band with custom moving average for given source, length and multiplier

bbw(source, maType, length, multiplier, sticky)
  returns Bollinger bandwidth for custom moving average
  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: Bollinger Bandwidth for custom moving average for given source, length and multiplier

bpercentb(source, maType, length, multiplier, sticky)
  returns Bollinger Percent B for custom moving average
  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: Bollinger Percent B for custom moving average for given source, length and multiplier

kc(source, maType, length, multiplier, useTrueRange, sticky)
  returns Keltner Channel for custom moving average
  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: Keltner Channel for custom moving average for given souce, length and multiplier

kcw(source, maType, length, multiplier, useTrueRange, sticky)
  returns Keltner Channel Width with custom moving average
  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: Keltner Channel Width for custom moving average

kpercentk(source, maType, length, multiplier, useTrueRange, sticky)
  returns Keltner Channel Percent K Width with custom moving average
  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: Keltner Percent K for given moving average, source, length and multiplier

dc(length, useAlternateSource, alternateSource, sticky)
  returns Custom Donchian Channel
  Parameters:
    length: - donchian channel length
    useAlternateSource: - Custom source is used only if useAlternateSource is set to true
    alternateSource: - Custom source
    sticky: - sticky boundaries which will only change when value is outside boundary.
  Returns: Donchian channel

dcw(length, useAlternateSource, alternateSource, sticky)
  returns Donchian Channel Width
  Parameters:
    length: - donchian channel length
    useAlternateSource: - Custom source is used only if useAlternateSource is set to true
    alternateSource: - Custom source
    sticky: - sticky boundaries which will only change when value is outside boundary.
  Returns: Donchian channel width

dpercentd(useAlternateSource, alternateSource, length, sticky)
  returns Donchian Channel Percent of price
  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: Donchian channel Percent D

oscillatorRange(source, method, highlowLength, rangeLength, sticky)
  oscillatorRange - returns Custom overbought/oversold areas for an oscillator input
  Parameters:
    source: - Osillator source such as RSI, COG etc.
    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
    rangeLength: - length used for calculating oversold/overbought range - usually same as oscillator length
    sticky: - overbought, oversold levels won't change unless crossed
  Returns: Dynamic overbought and oversold range for oscillator input

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: Oscillator value along with dynamic overbought and oversold range for oscillator input

multibands(bandType, source, maType, length, useTrueRange, sticky, numberOfBands, multiplierStart, multiplierStep)
  multibands - returns Choice of oscillator with custom overbought/oversold range
  Parameters:
    bandType: - Band type - can be either bb or kc
    source: - custom source if required
    maType: Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
    length: - Oscillator length - not used for TSI
    useTrueRange: - if set to false, uses high-low.
    sticky: - for sticky borders which only change upon source crossover/crossunder
    numberOfBands: - Number of bands to generate
    multiplierStart: - Starting ATR or Standard deviation multiplier for first band
    multiplierStep: - Incremental value for multiplier for each band
  Returns: array of band values sorted in ascending order

mbandoscillator(bandType, source, maType, length, useTrueRange, stickyBands, numberOfBands, multiplierStart, multiplierStep)
  mbandoscillator - Multiband oscillator created on the basis of bands
  Parameters:
    bandType: - Band type - can be either bb or kc
    source: - custom source if required
    maType: Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
    length: - Oscillator length - not used for TSI
    useTrueRange: - if set to false, uses high-low.
    stickyBands: - for sticky borders which only change upon source crossover/crossunder for band detection
    numberOfBands: - Number of bands to generate
    multiplierStart: - Starting ATR or Standard deviation multiplier for first band
    multiplierStep: - Incremental value for multiplier for each band
  Returns: oscillator currentStates - Array containing states for last n bars
hewhomustnotbenamedtechindicatortrendoscope

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