举例:cross(ma5,ma10):
1. 当ma5和ma10的值正好一样的时候,是否不算作交叉?
2.如果前一周期ma5>ma10, 中间周期ma5=ma10,下一周期ma5>ma10了算不算金叉?---就实际图表来看,金字塔是把这种情况算金叉了,于是会出现连续金叉的情况!也就是,两次金叉之间,没有死叉!*********从逻辑道理来看,这种情况不应该算作一次交叉,因为两条线只是粘合了一下,就继续原来的走势了。
于是,出现了一个情况:
系统自带的ma均线交易系统,使用的条件是两个均线的cross,由于上述原因,有时会出现连续两个金叉,系统就发出两次建仓信号,然后,测试系统对交易次数的计算就混乱了。经检查,是随后的很多次交易的收益被计算为零,系统似乎又把多次交易合并计算为了一次,结果就是交易次数的计算上出现了混乱。
本人不会贴图。客服只需要用系统的MA均线交易系统,把螺纹钢在不同时间周期上测一遍,就会发现交易次数的统计bug了。
虽然这不算是什么大的bug,但是对使用cross函数作进出条件的人来说,危险性是很清楚的。因为系统的历史回测数据是错的。
1、cross函数就是这么设计的,没有问题。
ma均线系统本来就是一个范例,用户需要自己完善。
此主题相关图片如下:qq截图20140504154012.png
处理方式:条件里简单的加个限制条件holding就能解决。
2、平仓才计算收益,开仓是无法计算该笔交易是否挣钱。(你开仓时,怎么会知道未来这笔交易是否能挣钱呢?)
仔细看专业测试报告的详解说明,都有解释的很清楚。