vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 48
声望: 0

我用的是sim模拟账户进行交易测试,在测试过程中发现,由于我是连续开机运行的,前一天开仓的单子,第二日程序要平仓的时候,一直出错,没法平仓,我想了一下,我用的是cover 或者 sell ,只传了价格和数量两个参数,可能系统默认为是平今,可是这个仓位是昨天建的,所以出错。这个在实盘中很麻烦,每次还要判断是今天建的仓还是昨天建的仓,然后执行不同的命令,有没有好的办法,系统不管是什么仓,只要是平仓就一律平掉,不分平今和平昨,可以实现吗?要不然我的代码还有加很多判断,太麻烦了。

Member
avatar
加入于:
帖子: 2646
声望: 157

上期所在平仓的时候需要分别发出平今和平昨指令,而其他交易所平仓指令会自动转换(优先平今);
如果选择了锁仓模式,为了避免平今惩罚,今天开了仓之后不能反向平仓,所以会通过反向开仓来平仓(锁仓模式里如果你今天开过仓了,就会默认不能平仓)
具体代码可以参考vnpy.trader.converter来进行个性化修改

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

那请问怎么判断是今天的仓位还是昨天的仓位,有没有范例我们学习一下?

Member
avatar
加入于:
帖子: 2646
声望: 157

上条回复也说过了的,别的交易所是自动转换,你只要发平仓交易所会优先给你平今。上期所的话请自行参考vnpy.trader.converter来进行个性化修改了

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

沪公网安备 31011502017034号