OnRsp与OnRtn的差异在于,OnRsp相应只有发起要求的会话连接能收到,同一账户的所有在线的会话连接都能收到OnRtn相应。
二、报单相应规则1.报单要求到达期货公司柜台,首先被柜台校验:如果校验失落败,柜台会给发起要求的会话连接一个附带缺点信息的OnRspOrderInsert相应,并给该账户所有在线的会话连接一个附带缺点信息的OnErrRtnOrderInsert相应。如果校验通过,将要求转发给交易所系统的同时,柜台会给该账户所有在线的会话连接一个OnRtnOrder相应。此时订单在发往交易所系统的途中,以是相应信息中的订单状态为THOST_FTDC_OST_Unknown,且订单在交易所系统内唯一编号OrderSystemID尚未天生,值为空。2.订单到达交易所系统后,再次被校验:如果交易所系统校验失落败,账户所有在线的会话连接都会收到一个OnRtnOrder相应,个中OrderSubmitStatus值为THOST_FTDC_OSS_InsertRejected,且OrderStatus值为THOST_FTDC_OST_Canceled,OrderStatusMsg中是交易所系统返回的缺点信息。如果交易所系统校验通过,订单进入交易所的排队系统后,被按照价格优先、韶光优先的原则撮合成交。如果订单进入排队系统时未被撮合成交,账户所有在线的会话连接收到第二个OnRtnOrder相应,个中OrderStatus值为THOST_FTDC_OST_NoTradeQueueing,表示订单在排队中,是交易者见到的未成交单。相应信息中还会附带订单在交易所系统内的唯一编号OrderSysID。此后,每次订单状态的变革,账户所有在线的会话连接都可以收到OnRtnOrder相应,OrderStatus反响了最新的订单状态。如果有成交发生,会伴随OnRtnTrade相应。如果订单进入排队系统时被撮合成交,将省略状态值为THOST_FTDC_OST_NoTradeQueueing的相应,第二个OnRtnOrder相应中的OrderStatus值为THOST_FTDC_OST_AllTraded或者THOST_FTDC_OST_PartTradedQueueing。三、撤单相应规则1. 与报单情形类似。撤单要求首先在期货公司柜台被校验:如果校验失落败,柜台会给发起要求的会话连接一个附带缺点信息的OnRspOrderAction相应,并给账户所有在线的会话连接一个OnErrRtnOrderAction相应。如果校验通过,柜台将撤单要求转发给交易所系统。2.撤单要求到达交易所系统后,再次被校验:如果交易所系统校验通过,则撤单成功,该账户的所有在线的会话连接可以收到一个OnRtnOrder相应,个中OrderSubmitStatus值为THOST_FTDC_OSS_Accepted,OrderStatus为THOST_FTDC_OST_Canceled,表示订单被正常撤销。如果交易所系统校验失落败,该账户所有在线的会话连接都可以收到一个附带缺点信息的OnErrRtnOrderAction相应。四、流控1.报单流控
报单流控是指用户在CTP系统报单(ReqOrderInsert)、撤单(ReqOrderAction)时每秒内许可的最大笔数。由期货公司通过在系统中配置干系参数实现限定的。
如果超过这个限定,API会通过OnRspOrderAction提示:“CTP:下单频率限定”。
2.交易所API流控交易所API流控指CTP系统向交易所发送报单等要求的每秒最大许可数。该流控实际掌握在交易所API端。
受到交易所流控后会触发OnRtnOrder,报“CTP:交易所每秒发送要求数超过容许数”或者“CTP:交易所未处理要求超过容许数”。