以文本方式查看主题

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

--  作者:阿火
--  发布时间:2011/10/26 10:13:25
--  globalvariable 声明的超全局变量的问题

globalvariable:aa=6;

if not(islastbar) then exit;

msgout(1,numtostr(aa,0));

if aa>0 then aa:=aa-1;

if aa<0 then aa:=aa+1;

 

初始值为6,之后如果大于0,则减1 。也就是aa由6 、5、4……直至为0

 

但是声明多个超全局变量的时候,就出错了。aa并非由6、5、4……直至0了。比如

globalvariable:aa=6,bb=6;

if not(islastbar) then exit;

msgout(1,numtostr(aa,0));

if aa>0 then aa:=aa-1;

if aa<0 then aa:=aa+1;

难道只能声明一个全局变量吗?这也太少了

 

如果这样声明,也是一样,aa的变动不符合:

globalvariable:aa=6;

globalvariable:bb=6;

if not(islastbar) then exit;

msgout(1,numtostr(aa,0));

if aa>0 then aa:=aa-1;

if aa<0 then aa:=aa+1;

[此贴子已经被作者于2011-10-26 11:07:35编辑过]

--  作者:26327756l
--  发布时间:2011/10/26 10:16:34
--  

测试了一下没有错,正常编译了。还执行了msgout。

报的什么错误提示啊?

[此贴子已经被作者于2011-10-26 10:18:44编辑过]

--  作者:阿火
--  发布时间:2011/10/26 11:04:14
--  
aa并非由6、5、4……直至0
[此贴子已经被作者于2011-10-26 11:07:48编辑过]

--  作者:阿火
--  发布时间:2011/10/26 11:12:01
--  

aa的变动情况应该是这样

2011/10/26 11:09:35  6
2011/10/26 11:09:36  5
2011/10/26 11:09:37  4
2011/10/26 11:09:38  3
2011/10/26 11:09:39  2
2011/10/26 11:09:40  1
2011/10/26 11:09:41  0
2011/10/26 11:09:42  0
2011/10/26 11:09:43  0
2011/10/26 11:09:44  0

然后一直为0

 

 

多个变量一起声明的时候,aa就不是这样变化了,就出错,如下:

2011/10/26 11:10:15  6
2011/10/26 11:10:16  6
2011/10/26 11:10:17  6
2011/10/26 11:10:18  6
2011/10/26 11:10:19  6
2011/10/26 11:10:20  6
2011/10/26 11:10:21  6

 

[此贴子已经被作者于2011-10-26 11:14:13编辑过]

--  作者:董小球
--  发布时间:2011/10/26 15:01:56
--  

我测试了,确实目前只能设置一个超级全局变量

我反映给开发调试修改


--  作者:金玉满堂
--  发布时间:2012/1/1 23:06:53
--  

在最新版本里,这个问题,是否已经解决呢?


--  作者:admin
--  发布时间:2012/1/1 23:12:26
--  
2.8版已经修复
--  作者:王锋
--  发布时间:2012/2/17 10:43:39
--  

1.globalvariable只是在局部使用的,比如你的图表上分别有2个策略,都是相同的globalvariable变量名,两者是不相互冲突的,globalvariable会在关闭图表后或者关闭金字塔后,数据消失,而extgbdata是全局的变量,一旦声明,会在所有的公式调用中共同体现,此外extgbdata是放在本地全局变量数据库中,不会随着金字塔软件的关闭而消失

2.可以

3.2.81版后可以

4.只有在你手工清除或者使用extgbdataset把他置0