数组元素的循环赋值问题——为什么我的变量之一不正确?

问题描述 投票:0回答:1

为什么 y≠x=z?

//@version=5

// I'M TESTING THIS CODE IN 1MIN TIMEFRAME

indicator("xyz")

x=array.new_float(2,na)
y=array.new_float(2,na)
z=array.new_float(2,na)

x.set(0,request.security(syminfo.tickerid,"5",close))
x.set(1,request.security(syminfo.tickerid,"6",close))

for i=0 to 1
    y.set(i,x.get(i)[i+5])
    if i==0
        z.set(i,x.get(i)[i+5])
    else if i==1
        z.set(i,x.get(i)[i+5])

plot(x.get(0)[5],color=color.red)
plot(y.get(0),color=color.green)
plot(z.get(0),color=color.blue)

所有三个图应该相同。但我需要的 (y) 结果不正确。

arrays pine-script variable-assignment pine-script-v5
1个回答
0
投票

我不得不说,这是一个奇怪的错误,可能需要进一步调查。

在测试时,我发现以下代码给出的所有三个图都是相同的,即使它实际上不应该

int i = 0

while i < 1 // shouldn't work as i == 1 should exit the loop
    y.set(i, x.get(i)[i+5])
    z.set(i,x.get(i)[i+5])
    i := i + 1

不知道是我一个人的情况,还是有什么奇怪的事情发生。

© www.soinside.com 2019 - 2024. All rights reserved.