以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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 然后一直为0
多个变量一起声明的时候,aa就不是这样变化了,就出错,如下: 2011/10/26 11:10:15 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 |