Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:变量赋值和重置的问题

1楼
winnerlvwei 发表于:2020/11/25 10:15:55
 请教一下假设我有一个变量,是统计每天下午14点到15点的成交量

我一开始写

if time >= 1400 then
    TotalVol = TotalVol + vol;
问题1:这个时候编译提示这个v这个变量没有定义过;

并且这个变量是每天要重置为0的,因为第二天要重新统计,我这样写

if CURRENTDATE <> ref(CURRENTDATE, 1) then
begin
    TotalVol := 0;
end;

问题2:这个时候变异提示这个变量重复了

请问这2个问题该如何解决?
2楼
FireScript 发表于:2020/11/25 10:54:13
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

共2 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .23438 s, 3 queries.