Function 具有安全性的Tradingview自定义函数()

Function 具有安全性的Tradingview自定义函数(),function,pine-script,Function,Pine Script,我正在阅读Pine版本3迁移指南,其中有一个示例显示了一个自定义函数,并使用security()调用该函数 现在我试图更改我的自定义函数,以便返回两个值而不是一个值,但由于某些原因,它不再工作。错误出现在第10行(“[t,i]=…”),并表示:variableType.itemType不是函数 下面是我的代码,有人能告诉我是什么问题吗 //@version=3 study("My Script") calcS() => s = 0.0 j = 0.0 s := c

我正在阅读Pine版本3迁移指南,其中有一个示例显示了一个自定义函数,并使用security()调用该函数

现在我试图更改我的自定义函数,以便返回两个值而不是一个值,但由于某些原因,它不再工作。错误出现在第10行(“[t,i]=…”),并表示:variableType.itemType不是函数

下面是我的代码,有人能告诉我是什么问题吗

//@version=3
study("My Script")

calcS() =>
    s = 0.0
    j = 0.0
    s := close + 1
    j := close + 2
    [s, j]
[t, i] = security(tickerid, '120', calcS())
plot(t, color=red, transp=0)
plot(i, color=blue, transp=0)

这是一个已知的问题。无法从安全性中返回元组。我们计划修复这个错误

现在,您可以使用以下解决方法:

//@version=3
study("My Script")

calcS() =>
    s = 0.0
    j = 0.0
    s := close + 1
    j := close + 2
    [s, j]

calcSs() =>
    [s, j] = calcS()
    s

calcSj() =>
    [s, j] = calcS()
    j

t = security(tickerid, '120', calcSs())
i = security(tickerid, '120', calcSj())
plot(t, color=red, transp=0)
plot(i, color=blue, transp=0)

这是一个已知的问题。无法从安全性中返回元组。我们计划修复这个错误

现在,您可以使用以下解决方法:

//@version=3
study("My Script")

calcS() =>
    s = 0.0
    j = 0.0
    s := close + 1
    j := close + 2
    [s, j]

calcSs() =>
    [s, j] = calcS()
    s

calcSj() =>
    [s, j] = calcS()
    j

t = security(tickerid, '120', calcSs())
i = security(tickerid, '120', calcSj())
plot(t, color=red, transp=0)
plot(i, color=blue, transp=0)

我有类似的问题plt\u calc\u val(V2,open\u open,close\u close)=>plot1=V2?打开>关闭4或打开=关闭?1:0[plotc1][plotc1]=plt_calc_val(V2,open,close,close)//testingthis=0 testingthis=security(syminfo.tickerid,“45”,plotc1,lookahead=barmerge.lookahead\u off)错误:无法将可变变量用作安全函数的参数。您能帮助我解决类似问题吗=>plot1=V2?打开>关闭关闭4或打开==close\u close?1:0[plotc1][plotc1]=plt\u计算值(plt\u计算值(V2,打开,关闭)//testingthis=0 testingthis=security(symino.tickerid,“45”,plotc1,lookahead=barmerge.lookahead\u off)错误:无法使用可变变量作为安全函数的参数。您能帮助我吗