我用的系统默认的double_ma_strategy.py这个默认的两根均线金叉买,死叉卖的代码,5分均线和10分均线,加载是的是1分钟K线。。数据有好几天的。数据是足够
但一直不能成交。
self.buy(bar.close_price, 1) 始终开仓不成功。不知道那里出了问题。
在这里卡了好几天了。不知道哪里出了问题?
我用的系统默认的double_ma_strategy.py这个默认的两根均线金叉买,死叉卖的代码,5分均线和10分均线,加载是的是1分钟K线。。数据有好几天的。数据是足够
但一直不能成交。
self.buy(bar.close_price, 1) 始终开仓不成功。不知道那里出了问题。
在这里卡了好几天了。不知道哪里出了问题?
大概率是数据量太小,上面订单没有成交,数据就跑完了....
可以在on_order打印出订单信息详细信息,,,,,看看order.status,是否因为未成交被撤单了.
打印了。没有订单。。也没有示成交订单。连委托的都没有。
数据改为1小时的时候,订单什么信息都有。1小时的数据只有2K多条,比1分钟的数据少了很多,1分钟上万条数据就是不行。
你这个问题应该是这样子的:
if cross_over执行发单一次以后,就不管了,
然而发单以后,下一分钟内没有成交就可能被你cancel_all撤单了(你没贴出代码),
cancel_all以后,你的if cross_over直到下次信号才会再执行...
也就是你只发单,不管它成交...下一分钟不成交就算球了
解决办法:
更改你的订单委托逻辑,这个逻辑本身没完善,委托以后,追踪委托状态,直到成交,或按条件取消,这也比较符合实盘委托的逻辑,,,
你说得有点道理,但目前我还搞不定这个,如果你知道怎么调整,麻烦你帮修改一下逻辑。