【问题标题】:PineScript v5 : array.concat(id1, id2) with strings reverse id2PineScript v5:array.concat(id1, id2) 与字符串反向 id2
【发布时间】:2021-10-20 20:13:45
【问题描述】:

我不确定这是不是发帖的好地方。我刚刚发现了一个带有字符串的 array.concat(id1, id2) 的错误。 在字符串数组上使用 array.concat 时,id2 的值是相反的。

在 floats 数组上使用时,它不会反转 id2 值。

所以,一旦你知道了,你就可以使用 array.concat(id1, array.reverse(id2))

示例:

a = array.new_string()
b = array.new_string()

array.push(a, "toto")
array.push(a, "tata")

array.push(b, "titi")
array.push(b, "tutu")

array.concat(a,b)

label.new(bar_index, 0, text = array.get(a, 2))
//returns "tutu" which should be at index 3
label.new(bar_index, 0, text = array.get(a, 3))
//returns "titi" which should be at index 2

c = array.new_float()
d = array.new_float()

array.push(c, 1)
array.push(c, 2)

array.push(d, 3)
array.push(d, 4)

array.concat(c,d)

label.new(bar_index, 0, text = str.tostring(array.get(c, 2)))
//returns 3 as expected 
label.new(bar_index, 0, text = str.tostring(array.get(c, 3)))
//returns 4 as expected 

【问题讨论】:

    标签: arrays pine-script


    【解决方案1】:

    这是一个错误,它们应该以相同的顺序合并元素。

    同时您可以尝试自定义 concat 函数:

    array_concat(id1, id2) =>
        int id1LastIndex = array.size(id1)
        int id2Size = array.size(id2)
        for i = 0 to id2Size > 0 ? id2Size-1 : na
            array.insert(id1, id1LastIndex, array.get(id2,i))
            id1LastIndex += 1
    

    【讨论】:

      猜你喜欢
      • 2015-07-12
      • 2019-06-19
      • 2020-06-15
      • 2011-08-13
      • 2019-06-09
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      相关资源
      最近更新 更多