鉴于这个帖子 https://stackoverflow.com/questions/61217589/set-2-series-at-once我想问为什么下面的脚本适用于[a,b]
但不适合[c,d]
.
找不到任何文档来解释为什么这不起作用。
此示例仅适用于 2 个返回值,但实际上我将创建一个具有 6 个或更多要一次性返回的变量的函数。
我试图避免输入 6 行不同的行,因为我将在每个交易日输入这些数据(该函数将与日期相关,并且我已经有相应的代码)。
所以我希望每天只需要输入 1 行即可保持源代码清晰且可维护。
//@version=4
study("Functions test")
var int c = na
var int d = na
f(x) => [x,x+5]
[a,b] = f(20)
[c,d] := f(30)
plot(a)
plot(b)
plot(c)
plot(d)
我的理解是分配:=
不允许类似元组的函数返回。如果您想避免多次输入函数输入(在本例中为 20 和 30),同时保持变量定义不变,您仍然可以执行以下操作:
//@version=4
study("Functions test")
var int c = na
var int d = na
f(x) => [x,x+5]
[a,b] = f(20)
[c1,d1] = f(30)
c := c1
d := d1
plot(a)
plot(b)
plot(c)
plot(d)
它确实需要几行额外的行,并且看起来很丑,但至少您可以根据需要将输入的次数限制为一次。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)