如何使用元组作为 PineScript 中函数的输入?

Edg*_*own 2 pine-script

为了便于阅读,我一直在尝试将元组作为输入发送到 pinescript 中的函数。但我还没有找到让它发挥作用的方法。

这是我想要实现的基本想法:

aFunction(xy1,xy2) => 
    [x1,y1]=xy1
    [x2,y2]=xy2
    x = some equation
    y = another equation
    [x,y]
Run Code Online (Sandbox Code Playgroud)

目的是将元组作为输入传递。在某种程度上与此类似(如果尝试,实际上会破坏预处理器):

C1 = [a,b]
C2 = [c,d]

w = aFunction(C1,C2)
Run Code Online (Sandbox Code Playgroud)

通过一些调整,我可以让初始预处理顺利进行,但很长一段时间后,我收到“编译”时错误,无法确定 xy1 和 xy2 的参数类型。

我似乎没有找到“元组”类型转换,甚至没有找到元组参数类型,因为它们的支持相当有限。

  • 有什么办法可以完成我想做的事情吗?
  • 是否有一种方法可以对输入参数进行分组以突出显示预期含义,或者我是否陷入了无法区分的输入和输出参数的长列表中?

请注意,安全函数将元组和更复杂的结构作为输入进行处理,因此在语言中存在安全函数是合理的期望。

rum*_*mpy 5

您只能从函数返回元组。元组不能分配给单个变量。组成元组的变量只能单独用作输入,即,如果您有某个函数返回您希望传递给另一个函数的元组,则必须单独管理它们。

someFunction()=>
     do something
     [_x1, _y1, _x2, _y2]

aFunction(_x1, _y1, _x2, _y2)=>
     do something
     [_return_value]

[x1, y1, x2, y2] = someFunction()
  
result = aFunction(x1, y1, x2, y2)
Run Code Online (Sandbox Code Playgroud)