以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 反映一个问题 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=55284) |
-- 作者:dwjgwsm -- 发布时间:2013/8/16 17:47:07 -- 反映一个问题 如果一个变量xx没有设初始值 VARIABLE:xx=0; 而是直接在代码中赋值 xx:=…… 那么,当xx变量在第一次满足条件之前的那些K线里,k线会随机地被赋予一个值,也就是该变量所指向的内存地址中的任何事先存储值。在我的测试中,我翻看另一个合约,然后在返回来,再shift+Q查看,每次的该K线的值都不一样,说明了这一点。但是,如果用调试F5的手段去调试就会发现,该值又始终为0(为0当然是好的)。 解决办法是事先设一个初始值,对于变量很多的代码、不知情的用户而言,就会遇到小问题。不管怎么说,这也算是一个bug吧。
|
-- 作者:dwjgwsm -- 发布时间:2013/8/17 14:59:53 -- 但是,如果采用事先设初值的方法,并且xx的引用先于xx的赋值语句,为了获得前一根k线的xx值,必须直接写成xx,而不能用ref(xx,1)。原因见:http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=52583&authorid=0&page=0&star=2 [此贴子已经被作者于2013/8/17 15:01:00编辑过]
|
-- 作者:王锋 -- 发布时间:2013/8/17 16:25:49 -- 变量的声明,是需要初始化一个值的,这是编程上的一个基本概念。 |