以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]如何理解全局变量的使用  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=75832)

--  作者:gxu
--  发布时间:2015/2/24 22:32:51
--  [求助]如何理解全局变量的使用
 看了一些金字塔的入门资料,但是有几个问题还是没有搞明白。尤其是全局变量的使用

利用variable,globalvariable可以设置全局变量,这个帖子里面 http://www.weistock.com/bbs/dispbbs.asp?BoardID=10&ID=48570 讲到这两者的区别

VARIABLE是每次计算(不是每个K线)都会被重新初始化

GLOBALVARIABLE不管公式被计算多少次只要不重新加载都不会被初始化。

 

我有点闹不明白。

比如说我测试有两个品种,是不是只是切换品种的使用使用VARIABLE定义的变量就会被初始化一次,但是GLOBALVARIABLE定义的却不会。但是使用GLOBALVARIABLE定义也只是在本策略有效。



--  作者:gxu
--  发布时间:2015/2/24 23:03:49
--  
通过查阅几个帖子, 貌似是我的理解
--  作者:gxu
--  发布时间:2015/2/24 23:07:39
--  
还有一个问题:
问个问题:
EXTGBDATASET(PZCOST, CLOSE);
cc: close, linethick0;
CURCOST : EXTGBDATA(PZCOST), linethick0;

为何在调试的时候cc和curcost的值不一样


--  作者:jinzhe
--  发布时间:2015/2/25 9:15:44
--  

你对variable理解完全错了,在图表上variable只在k线最开始进行一次初始化,后面的值是根据计算而改变,不会又被初始化

 

EXTGBDATASET(\'PZCOST\', CLOSE);
cc: close, linethick0;
CURCOST : EXTGBDATA(\'PZCOST\'), linethick0;
extgbdataset系列的全局变量定义时需要加单引号,这类变量是字符型


--  作者:gxu
--  发布时间:2015/2/25 17:00:24
--  
完全错了?
难道到了第二个品种的第一根K线时不会再初始化variable定义的变量?

我没有贴出完整的代码,pzcost本身是定义为了一个字符串。麻烦再解释下吧,万分感谢!

--  作者:jinzhe
--  发布时间:2015/2/25 17:09:58
--  

1.第一个我理解错了,variable到了第二个品种是会再初始化一次

2.那就不会了,你再试试,3者是一致的


--  作者:gxu
--  发布时间:2015/2/25 17:16:58
--  
很奇怪,昨晚试了好几次都这样。晚上回去再试试吧

多谢,你们的反馈真是很及时