以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  全局变量赋值  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=156443)

--  作者:lyy640501
--  发布时间:2017/8/2 8:18:08
--  全局变量赋值
//全程变量赋值

IF TIME=093000 OR TIME=CLOSETIME(0) THEN BEGIN
   EXTGBDATASET(\'IH050\',0);
   EXTGBDATASET(\'IF300\',0);
   EXTGBDATASET(\'IC500\',0);
END

以上代码有什么问题

--  作者:FireScript
--  发布时间:2017/8/2 8:32:00
--  

并没有问题,是满足不了某种需求?


--  作者:lyy640501
--  发布时间:2017/8/2 9:18:06
--  
理论上,在数据管理设置数据后,收盘时间才会修改,但启动程序,值均为0,不知为什么?
--  作者:FireScript
--  发布时间:2017/8/2 9:23:42
--  
以下是引用lyy640501在2017/8/2 9:18:06的发言:
理论上,在数据管理设置数据后,收盘时间才会修改,但启动程序,值均为0,不知为什么?

那几个全局变量初始值你是如何设置的?是0吗?还是什么?而且你还有个TIME=093000 这个条件在。


--  作者:lyy640501
--  发布时间:2017/8/2 9:28:39
--  
刚才在开盘前,赋予非0的值。运行后,则变成0了,在09:30之前操作的。值应该不变呀。删除该段代码,值和设置的相同。
--  作者:FireScript
--  发布时间:2017/8/2 9:33:06
--  
以下是引用lyy640501在2017/8/2 9:28:39的发言:
刚才在开盘前,赋予非0的值。运行后,则变成0了,在09:30之前操作的。值应该不变呀。删除该段代码,值和设置的相同。

你用的是OR语句,所以你这个条件触发了吧:TIME=093000 。 


--  作者:lyy640501
--  发布时间:2017/8/2 9:34:27
--  
没有呀,在093000之前呀,time不等于093000
--  作者:lyy640501
--  发布时间:2017/8/2 9:35:07
--  
time 小于093000
--  作者:FireScript
--  发布时间:2017/8/2 9:38:42
--  
以下是引用lyy640501在2017/8/2 9:35:07的发言:
time 小于093000

1.time读取的是K线时间哦,比如五分钟周期现在的时间是38分钟,但K线时间是094000的。

2.\'IH050\'第一根k肯定是大于093000的,那个条件恒不成立。你截图看下你全局变量的初始值。

[此贴子已经被作者于2017/8/2 9:59:22编辑过]