假设现在报单指令买入11手开多仓,然后监控OnOrder事件域,一旦
ord.status == Enum_Declared
当检测到订单状态为【已申报】后,会得到交易所分配的报单编号,记录为【0号orderId】,由于撮合成交原因,可能不会一次性成交,假设
【第1次】部分成交2手(剩余9手),那么OnOder事件域的状态
ord.status == Enum_FillPart
同时,也会得到一个报单编号,记录为【1号orderId】,此时会得到【1号fillVolume】成交量。
依次......
【第2次】部分成交3手(剩余6手),【2号orderId】【2号fillVolume】
ord.status == Enum_Filled
【第3次】全部成交6手,【3号orderId】【3号fillVolume】
重新复习了一下这个视频内容: https://www.tbquant.net/TrainDetail?id=448
(1)【0号orderId】、【1号orderId】、【2号orderId】【3号orderId】应该都是 同一个【orderId】,每次部分成交时,不同的应该是【成交索引】【FillId】
(2)OnOrder事件域,每次部分成交时,【fillVolume】到底是【增量成交量】还是【累计成交量】目前还不知道,但是OnFiill事件域中【fillVolume】是每次部分成交时的【增量成交量】。
这个视频有演示过程: https://www.tbquant.net/TrainDetail?id=449
(3)在【全部成交】之前,到底会不会经过 最后一次【部分成交】目前还不清楚。