PINE LIBRARY
Updated Library: Array

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"
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
v2Added:
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
v3Fix 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
v4Change 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
v5Updated: Remove 3D duplicates.
remove_duplicates(int[] array_in_out_1, float[] array_in_out_2, bool[] array_in_out_3)
Release Notes
v6Added:
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)
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 publications is governed by House Rules.
Public Indicators: tinyurl.com/26emm5e2
License and Disclaimer: tinyurl.com/4rtrwhfd
License and Disclaimer: tinyurl.com/4rtrwhfd
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.
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 publications is governed by House Rules.
Public Indicators: tinyurl.com/26emm5e2
License and Disclaimer: tinyurl.com/4rtrwhfd
License and Disclaimer: tinyurl.com/4rtrwhfd
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.