[This message was posted by Ryan Hart of Citadel Investment Group <[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/bd0dd175 - PLEASE DO NOT REPLY BY MAIL.]
Maybe I can help answer the question by asking another question. What should the status request return on line 5 in this same sequence? 1. New Order (X) ---> 2. Cancel Request (Y,X) ---> 3. Execution Report (Y,X) <--- PendingCancel PendingCancel 4. Status Request (X) ---> 5. Execution Report (?) <-- ? ? Based on this thread, it seems like people are arguing for one of the following: (X) <--- OrderStatus PendingNew or (Y,X) <---OrderStatus PendingCancel I think the result depends on how the engine handles the pending cancel states. If it treats them like a real state transition, then I would expect the status to return PendingCancel. If the engine just sends an immediate PendingCancel acknowledgement without changing the state on the order, then presumably the status request would return PendingNew. I tend to think that it should return PendingCancel. It seems strange that a status request should return something other than the last reported status if the order state hasn't changed. If you take this stance, then I think the answer to your question is that the order confirmation would also return PendingCancel. In some ways, I think it's very similar to C.1.b (line 6) in the state transitions when you receive an execution on an order while its pending replacement. Ryan > You need to look at the comment of line 4 which says "Order accepted > before cancel request is processed.". The cancel request is therefore > unknown at the time that this ER is being produced, even if it is shown > to come after the ER in step 3 that has this knowledge. > > Regards, Hanno. > > > Hi, I have a question about OrdStatus in FIX4.4 Vol. 4, in the section > > "Order State Change Matrices". > > B.1.d – Cancel request issued for an order that has not yet been > > acknowledged Buy Side Sell Side ExecType OrdStatus > > 1. New Order (X) ---> > > 2. Cancel Request (Y,X) ---> > > 3. Execution Report (Y,X) <--- PendingCancel PendingCancel > > 4. Execution Report (X) <--- New New > > 5. Execution Report (Y,X) <--- Canceled Canceled > > > > Why is the OrdStatus in the row 4. not "Pending Cancel" which has > > higher precedence than "New"? [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 -~----------~----~----~----~------~----~------~--~---
