下面是3分钟K线图进场点和出场点示意图:
下面是我在3分钟开仓代码下面打印出来的变量信息:
这是成交记录:
策略的进出场逻辑是:5分钟金叉开多,3分钟死叉平仓。
2019.10.22 21:20 5分钟金叉开仓买入,正常来说到2019.10.23 13:48 就应该平仓出场,但系统没给执行平仓操作,而是一直滑到下一出场信号(2019.10.25 14:39)时才平仓。
??
下面是3分钟K线图进场点和出场点示意图:
下面是我在3分钟开仓代码下面打印出来的变量信息:
这是成交记录:
策略的进出场逻辑是:5分钟金叉开多,3分钟死叉平仓。
2019.10.22 21:20 5分钟金叉开仓买入,正常来说到2019.10.23 13:48 就应该平仓出场,但系统没给执行平仓操作,而是一直滑到下一出场信号(2019.10.25 14:39)时才平仓。
??
这是发出交易信号,不保证成交。请看下委托记录是否发出委托,如果委托下单了,但是如果行情不满足条件,下个bar推进来的时候策略就会把单子给撤了。
xiaohe wrote:
这是发出交易信号,不保证成交。请看下委托记录是否发出委托,如果委托下单了,但是如果行情不满足条件,下个bar推进来的时候策略就会把单子给撤了。
委托记录里没有撤单的
可以自己去vnpy.app.cta_strategy.backtesting里看。
回测的时候,显示的委托记录都是从limit_orders里拿的。如果发限价单都会被放进limit_orders里,如果发停止单,要价格满足触发条件之后才能被放进limit_orders里。所以没有满足触发条件的被cancel_all撤掉的停止单委托在CTA回测模块的委托记录里是找不到的。
xiaohe wrote:
可以自己去vnpy.app.cta_strategy.backtesting里看。
回测的时候,显示的委托记录都是从limit_orders里拿的。如果发限价单都会被放进limit_orders里,如果发停止单,要价格满足触发条件之后才能被放进limit_orders里。所以没有满足触发条件的被cancel_all撤掉的停止单委托在CTA回测模块的委托记录里是找不到的。
感谢,我自己再查一下原因