以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [注意]多品种测试有bug  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=29998)

--  作者:readonly
--  发布时间:2012/10/21 15:53:44
--  [注意]多品种测试有bug
单模型选择测试多品种时,测试完第一个品种后,开始测第二个品种时,内存中的变量没有被清除,导致第二个品种测试不准确。
另外,同类似的问题:当测试完一个品种后,切换到第二个品种,对第一棍k线按shift+q会看到上个品种最后的变量值。

--  作者:admin
--  发布时间:2012/10/21 21:47:34
--  
所有公式都是这样的?还是只是个别公式,是否能够详细的说明操作步骤,便于我们客服进行问题跟踪呢
--  作者:readonly
--  发布时间:2012/10/22 0:30:09
--  
代码:
if barpos=1000 then aa:=h;

步骤:
1、应用上面那段代码到k线图,随便选一根k线按shift+q,看看aa的数值;
2、放大k线柱子,让下个切换的品种加载k线数少于1000;
3、切换品种,对序列值少于1000的k线按shift+q,你会看到aa的数值还是上个品种的数值。

这说明切换品种时,没有更新内存中的变量值。
这个bug隐藏得比较深,除了影响多品种测试,也影响到实盘多品种,会在很特殊的情况下出现问题,而事后还难以查出原因。

--  作者:readonly
--  发布时间:2012/10/24 13:56:21
--  
老大,请跟进下这个问题啊,谢谢!
--  作者:jinzhe
--  发布时间:2012/10/24 14:30:30
--  


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
可以从图1,2看出,5分钟线上的2309.8这个值是带到了日线上了,而日线并没有1000根k线

 

楼主可以暂时用全局变量来控制,比如


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

--  作者:readonly
--  发布时间:2012/10/24 16:04:20
--  
嗯,我知道这个暂时解决方法。

发帖子是让你们修改这个bug,否则就得把所有变量都加入到全局变量里才能可靠工作了。

你们程序应该改为:切换品种时应该清除所有的旧变量,同时运行的模型间变量要隔离开。

--  作者:jinzhe
--  发布时间:2012/10/24 16:16:27
--  
感谢提交建议!
--  作者:readonly
--  发布时间:2012/10/25 12:50:27
--  
两个周期同时跑时,设置了全局变量也不行了。
--  作者:jinzhe
--  发布时间:2012/10/25 13:08:55
--  
全局变量不要使用相同的名字
--  作者:readonly
--  发布时间:2012/10/25 17:04:39
--  
同一个模型啊。