1.01K views
1

在定义上:pos_xxx是根据交易所的规则计算的手数,volume_xxx是根据ctp的规则计算的手数;

在现在实际使用中:实盘的volume_xxx是直接从ctp查询获取到的(没有再经过其他的计算修改); pos_xxx是只要有成交之后 服务器就根据成交记录立即计算的(无论在哪个平台),以保证数据的准确性)。

pos_xxx存在的原因:每次收到成交信息后服务器会向ctp发送查询持仓的指令,在服务器发送查询指令和收到返回的持仓更新信息之间有时间间隔,此时如果用户获取持仓中那些从ctp直接收到的字段(如volume_xxx等),就可能会不准确(因为这个字段的新数据还未收到),因此现在推荐使用pos_xxx(它是服务器在收到成交信息后就立即根据成交手数计算的,并且和成交信息一起发送给客户端,因此更新很及时)。

volume_xxx是不建议使用的,volume_long和volume_short对应的值就是pos_long和pos_short,数值是一样的,只是pos_xxx更新会更快)

Changed status to publish
0

volume_xxx 一定不能取消啊,因为SPD套利合约用pos_xxx是查不到持仓的。

另外能不能把TargetPosTask衍生一个支持使用volume_xxx判断持仓支持SPD套利合约的版本出来?

Answered question