 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:

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:

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:

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:

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:

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

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

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:

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

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

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.

v2 Updated thumbnail.

v3 Updated thumbnail.

v4 Updated thumbnail.

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:

v6 fixed issue with non-short-circut logic.
Pine腳本庫