请教一下假设我有一个变量,是统计每天下午14点到15点的成交量
我一开始写
if time >= 1400 then
TotalVol = TotalVol + vol;
问题1:这个时候编译提示这个v这个变量没有定义过;
并且这个变量是每天要重置为0的,因为第二天要重新统计,我这样写
if CURRENTDATE <> ref(CURRENTDATE, 1) then
begin
TotalVol := 0;
end;
问题2:这个时候变异提示这个变量重复了
请问这2个问题该如何解决?
1. TotalVol = TotalVol + vol;
如果这个TotalVol 在此之前没有定义,你这样写肯定不行。逻辑上成了你用一个未定义的变量来定义一个变量,到头来还是一个未定义的变量。
你至少应该把它定义成一个全局变量。
2.“CURRENTDATE <> ref(CURRENTDATE, 1)”
这样的判断也是无效的。CURRENTDATE始终是最新值,而你用ref是想用它的历史值,这是不可以的。
VARIABLE:TotalVol:=0;
if TODAYBAR=1 then TotalVol:=0;
if time>180000 then TotalVol:=TotalVol+vol;
showTotalVol:TotalVol;//会随着K线变化而变化,也就是值取决于位置。
showTotalVol2:VALUEWHEN(time=190000,showTotalVol);//取最近一次收盘时候的showTotalVol