这应该是vnpy 的一个bug:
就是在使用多合约组合策略的模块,使用buy,sell等函数下单,下单能实际成交,但pos或pos_data没自动更新,而pos应该和cta模块一样,会自动根据成交来更新持仓。
在最新的3.6版本,pos在多合约策略中变成了pos_data,按照例子使用set target,但也影响不了pos_data(也就是pos)的变化。
使用下单或平仓函数可以,但持仓pos数据没变化,这是在2.9和3.6版本中的多合约策略都出现,与之对应,cta策略就会自动改变pos。这个问题通过重装vnstudio以及测试过不同版本都出现,重装系统也解决不了,由此看应该是vnpy的多合约模块的bug。
有朋友知道pos的更新是在源码哪里查看和更改吗?感谢!