VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 20
声望: 1

我用的系统默认的double_ma_strategy.py这个默认的两根均线金叉买,死叉卖的代码,5分均线和10分均线,加载是的是1分钟K线。。数据有好几天的。数据是足够
但一直不能成交。
self.buy(bar.close_price, 1) 始终开仓不成功。不知道那里出了问题。
description

description

在这里卡了好几天了。不知道哪里出了问题?

Member
avatar
加入于:
帖子: 70
声望: 5

大概率是数据量太小,上面订单没有成交,数据就跑完了....

可以在on_order打印出订单信息详细信息,,,,,看看order.status,是否因为未成交被撤单了.

Member
avatar
加入于:
帖子: 20
声望: 1

打印了。没有订单。。也没有示成交订单。连委托的都没有。

Member
avatar
加入于:
帖子: 20
声望: 1

数据改为1小时的时候,订单什么信息都有。1小时的数据只有2K多条,比1分钟的数据少了很多,1分钟上万条数据就是不行。
description

description

Member
avatar
加入于:
帖子: 70
声望: 5

你这个问题应该是这样子的:
if cross_over执行发单一次以后,就不管了,
然而发单以后,下一分钟内没有成交就可能被你cancel_all撤单了(你没贴出代码),
cancel_all以后,你的if cross_over直到下次信号才会再执行...

也就是你只发单,不管它成交...下一分钟不成交就算球了

解决办法:
更改你的订单委托逻辑,这个逻辑本身没完善,委托以后,追踪委托状态,直到成交,或按条件取消,这也比较符合实盘委托的逻辑,,,

Member
avatar
加入于:
帖子: 20
声望: 1

你说得有点道理,但目前我还搞不定这个,如果你知道怎么调整,麻烦你帮修改一下逻辑。

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】