PINE LIBRARY
Updated

Library: Array

869
Library "xarray"
Additional functions for array.

remove_duplicates(array_in)
  Remove duplicates in array.
  Parameters:
    array_in: (int[]/float[]/string[]) Array contains duplicates.
  Returns: Array without duplicates.

// Example: int
import tuele99/xarray/1 as xarray
c = xarray.remove_duplicates(array.from(1, 4, 2, 1, 2))
plot(array.size(c))
plot(array.get(c, 0))
plot(array.get(c, 1))

// Example: float
import tuele99/xarray/1 as xarray
c = xarray.remove_duplicates(array.from(1.0, 4.0, 2.0, 1.0, 2.0))
plot(array.size(c))
plot(array.get(c, 0))
plot(array.get(c, 1))

// Example: string
import tuele99/xarray/1 as xarray
c = xarray.remove_duplicates(array.from("green", "red", "green", "red", "green"))
plot(array.size(c)) // value = 2
label0 = label.new(x=last_bar_index, y=0, yloc=yloc.belowbar, text=array.get(c, 0), style=label.style_label_left, color=color.new(color.black, 100), textcolor=color.green) // below text = "green"
label1 = label.new(x=last_bar_index, y=0, yloc=yloc.abovebar, text=array.get(c, 1), style=label.style_label_left, color=color.new(color.black, 100), textcolor=color.red) // above text = "red"
Release Notes
v2

Added:
remove_duplicates(array_in_1, array_in_2)
Remove duplicates in 2 arrays.
Parameters:
array_in_1: (int[]/float[]/string[]) Array contains duplicates.
array_in_2: (int[]/float[]/string[]) Array contains duplicates.
Returns: 2 arrays without duplicates.
Release Notes
v3
Fix bug.
// Example: lib(int, float)
import tuele99/xarray/3 as xarray
[c, d] = xarray.remove_duplicates(array.from(1, 1, 2, 2, 3), array.from(4.0, 4.0, 5.0, 6.0, 7.0))
plot(array.size(c))
plot(array.get(c, 0))
plot(array.get(c, 1))
plot(array.size(d))
plot(array.get(d, 0))
plot(array.get(d, 1))

// Example: lib(int, string)
import tuele99/xarray/3 as xarray
[c, d] = xarray.remove_duplicates(array.from(1, 2, 1, 2, 2), array.from("green", "red", "green", "red", "green"))
plot(array.size(d)) // value = 3
label0 = label.new(x=last_bar_index, y=0, yloc=yloc.belowbar, text=array.get(d, 2), style=label.style_label_left, color=color.new(color.black, 100), textcolor=color.green) // below text = "green"
label1 = label.new(x=last_bar_index, y=0, yloc=yloc.abovebar, text=array.get(d, 1), style=label.style_label_left, color=color.new(color.black, 100), textcolor=color.red) // above text = "red"
Release Notes
v4
Change syntax.
remove_duplicates(int[] array_in_out)
remove_duplicates(float[] array_in_out)
remove_duplicates(string[] array_in_out)
remove_duplicates(int[] array_in_out_1, float[] array_in_out_2)
remove_duplicates(float[] array_in_out_1, int[] array_in_out_2)
remove_duplicates(int[] array_in_out_1, string[] array_in_out_2)
remove_duplicates(string[] array_in_out_1, int[] array_in_out_2)
remove_duplicates(float[] array_in_out_1, string[] array_in_out_2)
remove_duplicates(string[] array_in_out_1, float[] array_in_out_2)
remove_duplicates(int[] array_in_out_1, int[] array_in_out_2)
remove_duplicates(float[] array_in_out_1, float[] array_in_out_2)
remove_duplicates(string[] array_in_out_1, string[] array_in_out_2)

// Example: lib(int, float)
import tuele99/xarray/4 as xarray
c = array.from(1, 1, 2, 2, 3)
d = array.from(4.0, 4.0, 5.0, 6.0, 7.0)
xarray.remove_duplicates(c, d)
plot(array.size(c)) // 4
plot(array.get(c, 0)) // 1
plot(array.get(c, 1)) // 2
plot(array.size(d)) // 4
plot(array.get(d, 0)) // 4.0
plot(array.get(d, 1)) // 5.0
Release Notes
v5
Updated: Remove 3D duplicates.
remove_duplicates(int[] array_in_out_1, float[] array_in_out_2, bool[] array_in_out_3)
Release Notes
v6
Added:
remove_duplicates(float[] array_in_out_1, int[] array_in_out_2, bool[] array_in_out_3)
remove_duplicates(int[] array_in_out_1, float[] array_in_out_2, string[] array_in_out_3)
remove_duplicates(float[] array_in_out_1, int[] array_in_out_2, string[] array_in_out_3)

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.