欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 变量赋值和重置的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2643人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
winnerlvwei
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:50 积分:0 威望:0 精华:0 注册:2018/7/4 9:37:53
变量赋值和重置的问题  发帖心情 Post By:2020/11/25 10:15:55    Post IP:123.157.207.27[只看该作者]

 请教一下假设我有一个变量,是统计每天下午14点到15点的成交量

我一开始写

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

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

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

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

请问这2个问题该如何解决?

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/11/25 10:54:13    Post IP:58.246.57.26[只看该作者]

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



命数如织,当如磐石。
 回到顶部