Imported from previous forum
[ original email was from John Prewett - jprewett@lavatrading.com ]
I have looked in the 4.3 order state matrices for assistance but cannot discover this scenario. I therefore humbly request assistance.
Scenario:
- New Order ClOrdID=X is received.
- Execution report ClOrdID=X is returned with ExecType="New" (ie an ACK to the order).
- Cancel/replace ClOrdID=Y, OrigClOrdID=X is received.
- Execution report ClOrdID=Y ExecType="pending replace" is returned.
- CancelRequest ClOrdID=Z, OrigClOrdID=Y is received while Y is still pending replace.
Question 1:
Is the correct behavior to "stack" the cancel request(Z) until the cancel/replace(Y) becomes "active" and then cancel the order ?
I would tend to think this is appropriate from a business perspective. The trader wants out, no matter the timing issues.
Question 2:
If the cancel/replace(Y) ultimately fails, what should be done with the “stacked” CancelRequest(Z) ?
While I would think that the business perspective is still that the trader wishes the order to be cancelled, things have become more difficult. From the FIX perspective, Z cancels Y, yet Y never became “active”, therefore anything that depended on Y becoming active must be ignored. I’m too timid to even have an opinion on this one.
Thanks in advance for your assistance.