0秒轮询的系统
简单例子
开仓条件 创5日新高做多(或者新低空)
平仓条件 MACD死叉0轴平多(或者金叉平空)
sell(holding>0 and 死叉,holding...)
sellshort(holding<0 and 金叉,holding...)
buy(holding=0 and 新高,1...)
buyshort(holding=0 and 新低,1...)
这类系统开平仓条件是分开的
假设前期手里持有一手多单
这时候系统如果在同一根K线里面先满足反手开空单的条件(新低)~
再满足MACD平仓的条件(死叉)
那么实际交易中会在MACD死叉的位置先平掉多头再开空头
而历史测试的时候会先开空头后平多头(历史测试时系统预知这根K线会满足平仓条件所以先开仓反手了)
最后造成多估算了利润...
比如这根K线~开仓位置在阴线的开盘价~而平仓位置在阴线的收盘价~未来函数多计算了利润~...
这种历史回测的未来函数问题金字塔有办法解决否???
我觉得这个不是我写程序时思路有问题~而是历史回测时的缺陷造成的...
1 、楼主似乎没有理解历史测试的功能,历史测试怎么能和真实交易一样呢,因为我们无法得知其当天的真实的报价走势,故公式测试的买卖价格也都是相对值。
2、你可以参考 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 问题5 来设计反手模型。