Library "_arrayutils"
Library contains utility functions using arrays.

delete(​arr, index)
  remove an item from array at specific index. Also deletes the item
  Parameters:
    arr: - array from which the item needs to be deleted
    index: - index of item to be deleted
  Returns: void

pop(​arr)
  remove the last item from array. Also deletes the item
  Parameters:
    arr: - array from which the last item needs to be removed and deleted
  Returns: void

shift(​arr)
  remove an item from array at index 0. Also deletes the item
  Parameters:
    arr: - array from which the first item needs to be removed and deleted
  Returns: void

unshift(​arr, val, maxItems)
  add an item to the beginning of an array with max items cap
  Parameters:
    arr: - array to which the item needs to be added at the beginning
    val: - value of item which needs to be added
    maxItems: - max items array can hold. After that, items are removed from the other end
  Returns: resulting array

clear(​arr)
  remove and delete all items in an array
  Parameters:
    arr: - array which needs to be cleared
  Returns: void

push(​arr, val, maxItems)
  add an item to the end of an array with max items cap
  Parameters:
    arr: - array to which the item needs to be added at the beginning
    val: - value of item which needs to be added
    maxItems: - max items array can hold. After that, items are removed from the starting index
  Returns: resulting array

check_overflow( pivots , barArray, dir)
  finds difference between two timestamps
  Parameters:
    pivots: pivots array
    barArray: pivot bar array
    dir: direction for which overflow need to be checked
  Returns: bool overflow

get_trend_series( pivots , length, highLow, trend)
  finds series of pivots in particular trend
  Parameters:
    pivots: pivots array
    length: length for which trend series need to be checked
    highLow: filter pivot high or low
    trend: Uptrend or Downtrend
  Returns: int trendIndexes

get_trend_series( pivots , firstIndex, lastIndex)
  finds series of pivots in particular trend
  Parameters:
    pivots: pivots array
    firstIndex: First index of the series
    lastIndex: Last index of the series
  Returns: int trendIndexes

sma(source)
  calculates sma for elements in array
  Parameters:
    source: source array
  Returns: float sma

ema(source, length)
  calculates ema for elements in array
  Parameters:
    source: source array
    length: ema length
  Returns: float ema

rma(source, length)
  calculates rma for elements in array
  Parameters:
    source: source array
    length: rma length
  Returns: float rma

wma(source, length)
  calculates wma for elements in array
  Parameters:
    source: source array
    length: wma length
  Returns: float wma

hma(source, length)
  calculates hma for elements in array
  Parameters:
    source: source array
    length: hma length
  Returns: float hma

ma(source, matype, length)
  wrapper for all moving averages based on array
  Parameters:
    source: source array
    matype: moving average type. Valud values are: sma , ema , rma, wma and hma
    length: moving average length length
  Returns: float moving average

getFibSeries(numberOfFibs, start)
  gets fib series in array
  Parameters:
    numberOfFibs: number of fibs
    start: starting number
  Returns: float fibArray

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.