runmode:0;
variable:a=0;
msgout(1,numtostr(barpos,0)+':前根K线的a值:'+numtostr(ref(a,1),0));
a:=a+1;
msgout(1,numtostr(barpos,0)+':当根K线的a值:'+numtostr(a,0));
第3跟K线上的ref(a,1)值为1
第2跟K线上的a值为2
两者不是应该相等么?
msgout(1,numtostr(barpos,0)+':前根K线的a值:'+numtostr(ref(a,1),0));
REF(a,1)跟barpos相差就是2,不是2就不对了
msgout(1,numtostr(barpos,0)+':前根K线的a值:'+numtostr(ref(a,1),0));
REF(a,1)跟barpos相差就是2,不是2就不对了
msgout(1,numtostr(barpos,0)+':前根K线的a值:'+numtostr(ref(a,1),0));
REF(a,1)跟barpos相差就是2,不是2就不对了
在第2根K线上 a=2
在第3根K线上 ref(a,1)=1
这也合理?
msgout(1,numtostr(barpos,0)+':前根K线的a值:'+numtostr(ref(a,1),0));
REF(a,1)跟barpos相差就是2,不是2就不对了
变量a的值和barpos的值有啥关系?
本帖的问题是当前K线的ref(a,1)和前一根K线的a值为啥不一样。
代码思路不对吧。
前面一个输出的a是ref(a,1)
然后a自加1
后面一个输出的a是a+1
相当于前面一个输出的是a-1,后面一个输出的是a+1
输出是对的,但是写的代码反应不了意图
要输出当前a的值和前一根a的值,a:=a+1这一句要放在两个msgout之前
这样结果就对了