insert_order、handle_exchange_order、ntf_trade以及quote_insert分别对应报单录入、处理交易所报单回报、处理交易所成交回报以及报价录入的核心函数,它们的共同点是均调用了handle_order这个函数用于资金/持仓的冻结与解冻。该函数特点是入口参数存在1个旧状态的报单和1个新状态的报单。
对于郑商所报价录入衍生买/卖单的handle_order,由于郑商所报价不存在抢单行为,因此不存在旧的衍生报单,新报单即为新插入报价的衍生买/卖单,这样不管是多头冻结也好,空头冻结也罢,都是肯定要增加的。
对于处理交易所报单回报,首先可以肯定的是交易所发来了最新的报单信息,然后需要寻找原来的报单,根据交易所发来的最新报单信息和原来的报单就可以共同构造一个新报单,现在有了原来的报单和新报单就可以handle_order了,只要未成交数量变化量大于0,就增加冻结。当然了如果一开始就找不到原来的报单,仅仅根据交易所发来的报单回报是无法构造一个新的报单的,那么就需要去新增一个。