开拓者期货期权程序化系统交易论坛

标题: 请教管理员:同个BAR上既满足开多又满足开空该如何处理 [打印本页]

作者: 还在路上    时间: 2012-12-4 22:18:03     标题: 请教管理员:同个BAR上既满足开多又满足开空该如何处理

      最近一个股指日内的策略,用到唐奇安的通道突破规则,发现问题:有时会在一根K线中出现高点突破了上轨,低点也向下突破了下轨,都满足了开仓条件,而在历史回测中因为是每根BAR上按公式语句的书写顺序执行一遍公式,所以图表上总是显示公式中写在前面的开多仓,而忽略掉另一个同时也满足条件的开仓。今天实盘就出现上述情况:刚开了空仓一会儿(5分钟周期图表),价格快速上涨,同个K线上又出现开多仓信号,此时空仓信号在图表上自动消失,而实盘已开的空仓并没有反手开多,最终造成图表信号与实际成交不一致。就此问题请教管理员:同个BAR上既满足开多又满足开空该如何处理?是否可以实现在同个BAR上允许发送反手指令并尽量接近实盘的开仓顺序。
    请看到此贴的老师或有类似疑问的同学不吝赐教,感激不尽!
作者: 846132116    时间: 2012-12-4 23:43:45

2种办法,一个是开仓条件里假如 marketposition==0,还有个,偶不对你说。。哈哈
作者: 846132116    时间: 2012-12-4 23:45:10

出仓里 加个 barsinceentry>0. 不过我好佩服你啊。。。这样都敢实盘
作者: 还在路上    时间: 2012-12-5 22:36:35

846132116 发表于 2012-12-4 23:45
出仓里 加个 barsinceentry>0. 不过我好佩服你啊。。。这样都敢实盘

感谢楼上的佩服。实践出真知,不去市场里真金白银的体验是不会有本质上的提高的,理论和历史的各种让人激动的数据和曲线都将在真实的市场里慢慢沉淀下来,成为你平静地看待得与失的垫脚石。
我的问题关键是要解决在一个BAR内的运行机制能够尽量贴近实盘动态,而不仅仅是满足历史的静态回测。用marketposition来判断持仓状态在实盘是会出问题的,我现在是在每次开平仓时记录一个序列变量,用来判断当前的持仓,楼上朋友给出用BarsSinceEntry>0的办法可以避免在同个BAR上二次开仓的问题,但对于处理同个BAR上既可开多又可开空时的方向选择和时间先后顺序问题,并且还要能满足历史回测,似乎没什么帮助。
请高人参与讨论。
作者: bjkuaikuai    时间: 2012-12-6 10:02:28

还在路上 发表于 2012-12-5 22:36
感谢楼上的佩服。实践出真知,不去市场里真金白银的体验是不会有本质上的提高的,理论和历史的各种让人激 ...

用A函数和Q函数处理不就解决了
不过历史测试,TB真的要学习一下MT和MC这样的平台,可以做到每个TICK都测到
作者: 846132116    时间: 2012-12-6 22:06:59

本帖最后由 846132116 于 2012-12-6 22:11 编辑
还在路上 发表于 2012-12-5 22:36
感谢楼上的佩服。实践出真知,不去市场里真金白银的体验是不会有本质上的提高的,理论和历史的各种让人激 ...


.....你是程序化交易唉。。完全可以用模拟帐号跑看看哇。你可以在平仓时记录currentbar=m,开仓currentbar != m 。开仓和平仓就不是同一根bar了。

你说的时间先后问题,貌似回测没办法解决。
作者: 还在路上    时间: 2012-12-6 23:38:03

bjkuaikuai 发表于 2012-12-6 10:02
用A函数和Q函数处理不就解决了
不过历史测试,TB真的要学习一下MT和MC这样的平台,可以做到每个TICK都测 ...

同感,要是能在每个BAR里存入完整的TICK数据,就可以做到实盘和回测的一致性了,不过这样的BAR数据就会非常庞大,估计没有几个人有能力进行充分的历史回测和优化。




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2