[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
-~----------~----~----~----~------~----~------~--~---

Reply via email to