以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  全局变量,能否,通过代码在交易系统运行时初始化一次。。。  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=1487)

--  作者:dzfp2010
--  发布时间:2010/4/20 14:42:27
--  全局变量,能否,通过代码在交易系统运行时初始化一次。。。

大家好啊。。。
全局变量,不会随着金字塔的重新启动而消失,如果,想在金字塔启动后,或者,系统开始运行时,初始化,全局变量,该如何做呢?
现在好像要,手动去菜单里改。。
IF day()<>REF(DAY(),1) THEN ....
这个,只能是,每天初始化,能否,启动时初始化呢?


淡蓝色的烟灰(442902994) 14:13:46
使用小型数据库保存的全局变量是可以记住状态的
淡蓝色的烟灰(442902994) 14:14:00
工具-》数据-》全局变量 菜单可以进行维护
◆猫王◆<msedu@qq.com> 14:15:12
是的,俺的意思是:能不能,通过代码,来在每次系统运行时初始化全局变量,否则的话,交易系统会,用上一次的,也就是存放在数据库里的值作为初始值呢

 

 

俺还是建议增加一个函数:检测数据库里是否已经存在同名的全局变量,是就初始化,不存在就创建并且初始化。。。


--  作者:admin
--  发布时间:2010/4/20 15:35:42
--  

你可以使用VBA功能进行初始化动作

金字塔启动时你先启动VBA,然后对全局变量数据库进行初始化。

 

Application 对象

Start          应用程序启动后发生。

 

Document 对象

GetExtData         得到指定名称的扩展数据,例如:Document.GetExtData("ABC"),函数将返回"ABC"名称的扩展数据。

SetExtData         设置指定名称的扩展数据,例如:Document.SetExtData("ABC",55),将"ABC"键值设为55,覆盖清除此键值原来的数据。

GetExtString       得到指定名称的字符串扩展数据,该函数用法与GetExtData函数相同,但此函数将返回字符串,如果键值是数字数据名称,会将该数字转换为字符串输出。

SetExtString       设置指定名称的字符串扩展数据,该函数用法与SetExtData函数相同,唯独参数是字符串的。

 

[此贴子已经被作者于2010-4-20 15:36:24编辑过]

--  作者:dzfp2010
--  发布时间:2010/4/20 17:08:58
--  

不错,不错,看起来,自己写个自定义函数,也是可以解决的。。。