PINE LIBRARY

Points

Updated
Library "Points"
Provides functions for simplifying operations with collections of x+y coordinates. Where x is typically a bar index or time (millisecond) value.

new(size) Creates two arrays. One for X (int[]) and another for Y (float[]).
  Parameters:
    size: The initial size of the arrays.

size(xA, yA) Checks the size of the arrays and if they're equal returns the size.
  Parameters:
    xA: The X array.
    yA: The Y array.

get(xA, yA, index) Gets the X and Y values of the arrays at the index.
  Parameters:
    xA: The X array.
    yA: The Y array.
    index: The index.
  Returns: [x, y]

set(xA, yA, index, x, y) Sets the X and Y values of the arrays at the index.
  Parameters:
    xA: The X array.
    yA: The Y array.
    index: The index.
    x: The x value.
    y: The y value.
  Returns: [index, x, y]

push(xA, yA, x, y) Adds X and Y values to the end of the arrays (as the last element).
  Parameters:
    xA: The X array.
    yA: The Y array.
    x: The x value.
    y: The y value.
  Returns: [index, x, y]

unshift(xA, yA, x, y) Adds X and Y values to the beginning of the arrays (as the first element).
  Parameters:
    xA: The X array.
    yA: The Y array.
    x: The x value.
    y: The y value.
  Returns: [index, x, y]

insert(xA, yA, index, x, y) Inserts X and Y values to the arrays at the index.
  Parameters:
    xA: The X array.
    yA: The Y array.
    index: The index to insert at.
    x: The x value.
    y: The y value.
  Returns: [index, x, y]

pop(xA, yA) Removes the last element from the arrays and returns their value.
  Parameters:
    xA: The X array.
    yA: The Y array.
  Returns: [x, y]

shift(xA, yA) Removes the first element from the arrays and returns their value.
  Parameters:
    xA: The X array.
    yA: The Y array.
  Returns: [x, y]

remove(xA, yA) Removes the element from the arrays at the index and returns their value.
  Parameters:
    xA: The X array.
    yA: The Y array.
  Returns: [x, y]

first(xA, yA) Gets the X and Y values of the first element.
  Parameters:
    xA: The X array.
    yA: The Y array.
  Returns: [x, y]

last(xA, yA) Gets the X and Y values of the last element.
  Parameters:
    xA: The X array.
    yA: The Y array.
  Returns: [x, y]

allIndexesBetween(xA, lo, hi, start, ordered) Gets the indexes that have values at or above the low value and below the high value.
  Parameters:
    xA: The X array.
    lo: The inclusive low value.
    hi: The excluded hi value.
    start: The optional index to start the backwards search.
    ordered: If true, the search ends when the first value is found that is less than the low.

lastIndexBetween(xA, lo, hi, start, ordered) Gets the first found from the end that has a value at or above the low value and below the high value.
  Parameters:
    xA: The X array.
    lo: The inclusive low value.
    hi: The excluded hi value.
    start: The optional index to start the backwards search.
    ordered: If true, the search ends when the first value is found that is less than the low.

lastIndexBelow(xA, hi, start) Gets the first found from the end that has a value below the high value.
  Parameters:
    xA: The X array.
    hi: The excluded hi value.
    start: The optional index to start the backwards search.
Release Notes
v2 Updated thumbnail.
Release Notes
v3 Updated thumbnail.
Release Notes
v4 Updated thumbnail.
Release Notes
v5 Added 'add' method for automatically inserting by X value.

Added:
add(xA, yA, x, y) Inserts the X and Y values into the arrays based upon the X value assuming the the arrays is ordered by X.
  Parameters:
    xA: The X array.
    yA: The Y array.
    x: The x value.
    y: The y value.
  Returns: [index, x, y]
Release Notes
v6 fixed issue with non-short-circut logic.
arrayspointpoints

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