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

在CTP的order回报中。关于时间的字段有很多:
///报单日期
TThostFtdcDateType InsertDate;
///委托时间
TThostFtdcTimeType InsertTime;
///激活时间
TThostFtdcTimeType ActiveTime;
///挂起时间
TThostFtdcTimeType SuspendTime;
///最后修改时间
TThostFtdcTimeType UpdateTime;
///撤销时间
TThostFtdcTimeType CancelTime;
自己看了下vnpy的代码,
在object.py 当中定义的OrderData 有两个时间字段,datetime: datetime = None 和 cancel_time: str = ""
在ctp_gateway.py 当中的onRtnOrder里边,有timestamp = f"{data['InsertDate']} {data['InsertTime']}"

疑问1)OrderData 的datetime代表什么?
测试在CTA策略模块里,下委托单后,打印每次收到on_order 里边的datetime,时间是变化的,而且比tick行情的时间早?
例如 09:45:10.400 tick行情触发下单,然后在on_order收到的情况是:09:45:09 提交中;09:45:09 提交中;09:45:10全部成交;
从上面的代码来看,OrderData 当中的datetime应该是委托报单时间才对?这个时间应该是ctp报过来的,不是本地时间对吧?那为什么会实际收到的变化的时间呢?

2)怎么可以在orderdata对象中增加对应CTP里边的CancelTime撤单时间 和 UpdateTime最后更新时间(我理解就是order的全部成交时间)?
在ctp_gateway.py 当中的data有定义data['CancelTime']吗,哪里可以增加这个定义,从而让接口有这个数据? 然后在ctp_gateway.py 的onRtnOrder添加一行 canceltime = data[CancelTime]? 同样的,这笔委托的最后更新时间 updatetime = data[updateTime]?

感谢!

Member
avatar
加入于:
帖子: 3265
声望: 218
  1. 是交易所推过来的,感兴趣的话请自己去接口打印了
  2. 要是交易所有推送,自行拓展orderdata(vnpy.trader.object)再获取即可
© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号

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