以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  extgbdata是否需要手动初始化全局变量?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=91349)

--  作者:xiebooo
--  发布时间:2016/2/22 6:57:09
--  extgbdata是否需要手动初始化全局变量?
我要用到退出程序之后下次还能读取到的全局变量,所以就使用extgbdata和extgbdataset来读取和记录这些全局变量的值。

我的用法是:没有声明全局变量,直接读取并赋值到某本地变量进行计算,如果条件符合则对全局变量进行赋值,代码类似于:
aa := extgbdata(\'qjbl\');
if close > 50 then begin
aa:= 50;
extgbdataset(\'qjbl\', aa);
end;

我发现,如果close > 50的条件触发了,那么qjbl可以在“工具”-“数据管理”-“全局变量”找到;如果条件没有触发,qjbl在“全局变量”里是找不到的。

请问:我原来的理解是只要出现过 aa:= extgbdata(\'qjbl\')的语句,qjbl就已经被声明并初始化为0,且已经在“工具”-“数据管理”-“全局变量”里保存了,请问这个理解有问题吗?还是说代码里的aa := extgbdata(\'qjbl\')因为某种原因从来没有被执行过?

--  作者:jinzhe
--  发布时间:2016/2/22 9:13:31
--  

首先要extgbdataset之后才会在全局变量管理器里面出现全局变量,而不是用户所使用的extgbdata