VNPY交易所返回委托和交易状态到策略的源代码分析

     <李>   

  主要分析两个在类策略模型ctaTemplate的中的函数,onTrade和onOrder,其实两个很相似,被别的其他实例调用,推入更新订单的贸易和实例,并执行函数内的代码。对于蜱虫级别的交易,还是还是会经常用到这两个。下面是在ctaTemplate中的定义。   

  李      <前>   ,,,def  onOrder(自我,,顺序):   ,,,,,,,,,,收到委托变化推送(必须由用户继承实现)“““   ,,,,,,,#,对于无需做细粒度委托控制的策略,可以忽略onOrder   ,,,,,,,   ,   ,,,#,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   ,,,def  onTrade(自我,,贸易):   ,,,,,,,,,,收到成交推送(必须由用户继承实现)“““   ,,,,,,,#,对于无需做细粒度委托控制的策略,可以忽略onOrder   ,,,,,,,   之前      <李类=" list-num-1-1 list-num-paddingleft-1 ">   

  2只;                                                      

  李   <李类=" list-num-1-2 list-num-paddingleft-1 ">   

  1)VtTradeData包含是成交的数据,其中最关键就是vtOrderID,可以和之前发送交易返回的vtOrderID做对应,用来对应的交易订单。其他诸如方向/抵消/价格/数量都是很重要,可以用来更新位置数据。   

  李   <李类=" list-num-1-3 list-num-paddingleft-1 ">   

  2)类VtOrderData和之前VtQrderReq很像,但是不一样,这个是记录委托信息状态,要求的是交易请求,其中最关键的就是地位,订单状态,这里有四个状态(ALLTRADED全部成交,PARTTRADED部分成交,NOTTRADED未成,交和CANCLLED拒单),这些属性在ctpGateway.py定义的。   

  李   <李类=" list-num-1-4 list-num-paddingleft-1 ">   <前>   class  VtTradeData (VtBaseData):   ,,,“““成交数据类“““   ,   ,,,# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   ,,,def  __init__(自我):   ,,,,,,,“““Constructor"““   ,,,,,,,超级(VtTradeData,,自我). __init__ ()   ,,,,,,,,,,,,,,,#,代码编号相关   ,,,,,,,self.symbol =, EMPTY_STRING ,,,,,,,,,,,,, #,合约代码   ,,,,,,,self.exchange =, EMPTY_STRING ,,,,,,,,,,, #,交易所代码   ,,,,,,,self.vtSymbol =, EMPTY_STRING ,,,,,,,,,,, #,合约在vt系统中的唯一代码,通常是,合约代码。交易所代码   ,,,,,,,self.tradeID =, EMPTY_STRING ,,,,,,,,,,,, #,成交编的号   ,,,,,,,self.vtTradeID =, EMPTY_STRING ,,,,,,,,,, #,成交在vt系统中的唯一编号,通常是,网关名。成交编的号   ,,,,,,   ,,,,,,,self.orderID =, EMPTY_STRING ,,,,,,,,,,,, #,订单编的号   ,,,,,,,self.vtOrderID =, EMPTY_STRING ,,,,,,,,,, #,订单在vt系统中的唯一编号,通常是,网关名。订单编的号   ,,,,,,,,,,#,成交相关   ,,,,,,,self.direction =, EMPTY_UNICODE ,,,,,,,,, #,成交方向   ,,,,,,,self.offset =, EMPTY_UNICODE ,,,,,,,,,,,, #,成交开平仓   ,,,,,,,self.price =, EMPTY_FLOAT ,,,,,,,,,,,,,,, #,成交价格   ,,,,,,,self.volume =, EMPTY_INT ,,,,,,,,,,,,,,,, #,成交数量   ,,,,,,,self.tradeTime =, EMPTY_STRING ,,,,,,,,,, #,成交时间   ,,   ,   ########################################################################   class  VtOrderData (VtBaseData):   ,,,“““订单数据类“““   ,   ,,,# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   ,,,def  __init__(自我):   ,,,,,,,“““Constructor"““   ,,,,,,,超级(VtOrderData,,自我). __init__ ()   ,,,,,,   ,,,,,,,#,代码编号相关   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

VNPY交易所返回委托和交易状态到策略的源代码分析