TradingView
SupersafeTrader
2 Sep 2022 pukul 09.35

Library: Array 

U.S. Dollar/Swedish KronaFXCM

Huraian

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"

Nota Keluaran

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.

Nota Keluaran

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"

Nota Keluaran

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

Nota Keluaran

v5
Updated: Remove 3D duplicates.
remove_duplicates(int[] array_in_out_1, float[] array_in_out_2, bool[] array_in_out_3)

Nota Keluaran

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)
Komen
cdw1p
Thanks, very helpfull.
Lebih