以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]全局变量有些概念不太明白,求点化  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=29922)

--  作者:readonly
--  发布时间:2012/10/18 12:39:33
--  [求助]全局变量有些概念不太明白,求点化
是不是调用变量的语句在创建变量那一行的后面,就不用申请全局变量?
如果调用语句在前,建立变量在后,就要先申请全局变量?

程序(1分钟图):
if time=closetime(0) then hh:=h[barpos-OPENMINUTES(TIME)];
h1:hh;
if time=opentime(0)+100 && h>hh then DRAWTEXT(1,h*1.001,\'比昨开高\',COLORRED);

上面例子中的hh变量,仅在收盘k线才执行,没有申请全局变量,h1显示也是正常的。

是不是新周期如果没有更新变量,就会使用之前旧的变量值?而无需申请全局变量去记住让变量延伸到下一周期。

--  作者:every
--  发布时间:2012/10/18 13:34:51
--  

你的hh不是全局变量,是直接赋值定义的一般变量

 

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332

详见该帖问题16


--  作者:readonly
--  发布时间:2012/10/18 14:02:02
--  
我回了那两个帖子了,在那些帖子中所举的例子,跟我看到的问题一样,去掉申明全局变量那一行,运行结果也是一样的。

问题是:什么情况下才真正要使用variable?

--  作者:jinzhe
--  发布时间:2012/10/18 14:19:48
--  
参考此帖http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=2501
--  作者:readonly
--  发布时间:2012/10/18 14:43:46
--  
我之前也是看这个帖子,于是只要遇到下一周期还要使用上周期计算所得的变量值,就加入 variable 里,加了60几个。

后来删了一大半,程序还是照样运行,结果也不变。