为什么 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) 结果不正确。
我不得不说,这是一个奇怪的错误,可能需要进一步调查。
在测试时,我发现以下代码给出的所有三个图都是相同的,即使它实际上不应该:
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
不知道是我一个人的情况,还是有什么奇怪的事情发生。