[This message was posted by John Prewett of Lava Trading <[email protected]> to the "General Q/A" discussion forum at http://fixprotocol.org/discuss/22. You can reply to it on-line at http://fixprotocol.org/discuss/read/503a19b8 - PLEASE DO NOT REPLY BY MAIL.]
I am ashamed to admit that I am being unsure of ClOrdID usage when canceling an order that is in a pending replace state. Here is a scenario: ->NewOrderSingle(ClOrdID=A) <-ExecReport(OrdStatus=New; ClOrdID=A) <-ReplaceRequest(ClOrdID=B; OrigClOrdID=A) <-CancelRequest(ClOrdID=C; OrigClOrdID=A) My first question: Is the CancelRequest bad? I would have expected the CancelRequest to have OrigClOrdID=B. But officially, order A is still alive and so it might be appropriate to try and cancel it. Now let's move onto the second issue, which presumes the CancelRequest is acceptable (which I may say I would disagree with). If the CancelRequest is accepted and the ReplaceRequest is completed first, how do you respond to the CancelRequest? Example: ->NewOrderSingle(ClOrdID=A) <-ExecReport(ExecType=New; ClOrdID=A) <-ReplaceRequest(ClOrdID=B; OrigClOrdID=A) <-CancelRequest(ClOrdID=C; OrigClOrdID=A) ->ExecReport(ExecType=Replaced; ClOrdID=B; OrigClOrdID=A) ->ExecReport(ExecType=Canceled; ClOrdID=C; OrigClOrdID=?) Should the final ExecReport indicate OrigClOrdID=A, matching the CancelRequest? If so, surely that would be bad as order A is definitely no longer live. Should the final ExecReport indicate OrigClOrdID=B? If so, this wouldn't match the CancelRequest. I appreciate light being shed upon this darkness. JohnP [You can unsubscribe from this discussion group by sending a message to mailto:[email protected]] --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Financial Information eXchange" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/FIX-Protocol?hl=en -~----------~----~----~----~------~----~------~--~---
