后台序列计算,轮询方式执行
VARIABLE:closeflagD=0;
if date<>ref(date,1) then begin
closeflagD:=0;
end
if tHOLDING=0 THEN BEGIN
tBUY(1,1,MKT);
closeflagD:=1;
END;
debugfile('c:\test.txt','开多信号 %.2f',closeflagD);
这段程序 ,执行开多后,closeflagD应该等于1
但我测试输出都为 0 老师,如有不对 ,怎么修改.
什么原因?老师帮着看看.
你并没有在你的tbuy下面使用debugfile记录日志,怎么就那么确定问题?
if 内部也加了 debugfile 显示为 1
if tHOLDING=0 THEN BEGIN
tBUY(1,1,MKT);
closeflagD:=1;
debugfile('c:\test.txt','开多信号 %.2f',closeflagD);
END
debugfile('c:\test.txt','Z开多信号 %.2f'',closeflagD);
显示为 开多信号 1
Z开多信号 1
Z开多信号 0
我想要实现的是 买多以后 closeflagD一直保持数值1 我要作为平仓标志
程序哪里写错了 老师帮我看看
后台序列计算,轮询方式执行
VARIABLE:closeflagD=0;
if date<>ref(date,1) then begin
closeflagD:=0;
end
if tHOLDING=0 THEN BEGIN
tBUY(1,1,MKT);
closeflagD:=1;
debugfile('c:\test.txt','开多信号 %.2f',closeflagD);
debugfile('c:\test.txt','开多信号 %.2f',closeflagD);
我需要整个程序中保持 closeflagD为1 作为平仓的一个标记之一
要用 globalvariable?
variable不是只赋值一次吗 怎么还会每次给我 closeflagD 赋值为 0 呀