VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 7
声望: 0

代码中我用print打印self.pos出来,不知道为何self.pos的值有点不按常理出牌。头一次打印是 -1, 于是我cover short order了,随后建了一个buy order。第二次on_bar,再次打印self.pos,不知怎么就变成3 了?按道理不是应该是 1 么?

Member
avatar
加入于:
帖子: 716
声望: 62

这个需要自己排查一下代码,进行委托下单操作时,订单数量是否为1。或者两个k线推送之间是否有其他下单逻辑。可以在on_trade下打印trade,看一下具体时什么时候达成的成交和成交的具体信息

Member
avatar
加入于:
帖子: 3
声望: 0

用tick数据成交容易出现此问题,原因是你的buy委托单还没有成交的时候下一个TICK又来了,系统又重复下单。解决办法是下了委托单设置一个判断条件,禁止下重复委托单,成交后在on_trade里面取消禁止条件。

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

沪公网安备 31011502017034号

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