variable:cs1=0;
variable这个函数是不是程序每个tick运行一次都会将cs1初始化为0?
不对啊,这是我的部分代码:variable:cs1=0,
cs2=0,
开多条件:=DOWN_NUM > UP_NUM AND WR <= WR_DOWN;
开空条件:=UP_NUM > DOWN_NUMAND WR >= WR_UP;
IF BARNUM = 1 THEN BEGIN
cs1:= 0;
cs2:= 0;
END;
//多空轮流转换
if 开多条件 and UP_NUM<BARNUM and DOWN_NUM<BARNUM then begin
cs1:=cs1+1;
cs2:=0;
end
if 开空条件 and UP_NUM<BARNUM and DOWN_NUM<BARNUM then begin
cs1:=0;
cs2:=cs2+1;
end
1.但是按照我这段代码的逻辑cs1本应该随着我每次开仓条件的满足而自加一,但是输出的数据显示cs1始终为1,我猜测是因为variable函数每次tick都把cs1赋值为0,所每次开仓条件满足自加一还是一。
2.我用globalvariable就不会出现这个问题了,请问两者具体有什么区别
此主题相关图片如下:记录.png

?
还有你的全局变量定义,写完整,写正确,你那样的全局变量定义,是不会通过编译的
你看我红色框里的数据,cs1在13:28这一分钟里还是会随着开仓条件变得
如果上根k线上,全局变量的值为0,那么在当根k线,开多条件成立全局变量就变成1,当根k线内不会自动累加,满足条件就是1,不满足条件就又会变回0