以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  cross函数引发的测试系统bug  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=64582)

--  作者:mao100003801
--  发布时间:2014/5/3 15:18:11
--  cross函数引发的测试系统bug

举例:cross(ma5,ma10):

 

1. 当ma5和ma10的值正好一样的时候,是否不算作交叉?

2.如果前一周期ma5>ma10, 中间周期ma5=ma10,下一周期ma5>ma10了算不算金叉?---就实际图表来看,金字塔是把这种情况算金叉了,于是会出现连续金叉的情况!也就是,两次金叉之间,没有死叉!*********从逻辑道理来看,这种情况不应该算作一次交叉,因为两条线只是粘合了一下,就继续原来的走势了。

 

于是,出现了一个情况:

系统自带的ma均线交易系统,使用的条件是两个均线的cross,由于上述原因,有时会出现连续两个金叉,系统就发出两次建仓信号,然后,测试系统对交易次数的计算就混乱了。经检查,是随后的很多次交易的收益被计算为零,系统似乎又把多次交易合并计算为了一次,结果就是交易次数的计算上出现了混乱。

 

本人不会贴图。客服只需要用系统的MA均线交易系统,把螺纹钢在不同时间周期上测一遍,就会发现交易次数的统计bug了。

 

虽然这不算是什么大的bug,但是对使用cross函数作进出条件的人来说,危险性是很清楚的。因为系统的历史回测数据是错的。

 


--  作者:RogarZ
--  发布时间:2014/5/4 15:42:28
--  

1、cross函数就是这么设计的,没有问题。

 

ma均线系统本来就是一个范例,用户需要自己完善。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140504154012.png
图片点击可在新窗口打开查看
 处理方式:条件里简单的加个限制条件holding就能解决。 

 

 

2、平仓才计算收益,开仓是无法计算该笔交易是否挣钱。(你开仓时,怎么会知道未来这笔交易是否能挣钱呢?)

     仔细看专业测试报告的详解说明,都有解释的很清楚。