[This message was posted by Hanno Klein of Deutsche Börse Systems 
<[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/1bd87ad9 - PLEASE DO NOT REPLY BY MAIL.]

It looks like you are changing the status of the order prior to having received 
confirmation of your request. This way, you already "switch" to "pending 
cancel" before having processed the confirmation of the order entry. The 
cancellation request could be rejected, i.e. you cannot make a change to the 
order status based on your request.

You also distinguish between "client" and "my program" and say that the latter 
is a FIX engine. I do not understand why the FIX engine and not the client is 
the one keeping state of the order.

> Repost Sorry, the post was untidy. ....................................-
> .................................................................... Let
> me explain my situation. My program is a FIX engine which also
> interfaces to exchage native API. Values in parentheses of ExecReport
> are (ExecType, OrdStatus).
> 
> ............Client ...........................MY
> PROGRAM........................ Exchange ..............................-
> ...................(OrdStatus)........................................
> 
>  1. ..................New Order ---
>     >..............................................................
>  2. ............................................(PendingNew)...........-
>     ...........................
>  3. ...................................................................-
>     ...New Order --->..........
>  4. ..............Cancel Request ---
>     >...........................................................
>  5. ...........................................(PendingCancel).........-
>     ...........................
>  6. ...............<--- ExecReport............................Cancel
>     Request --->....... ..........(PendingCancel,PendingCancel)........-
>     ...........................................
>  7. .............................................................<---
>     Order Confirmation....... 8.
>     ......................................(PendingCancel +
>     New)...............................
>  8. ...........<--- ExecReport.........................................-
>     ............................ ......................(New,xxx).......-
>     ...............................................................
>  9. .....................................................<--- Cancelling
>     Confirmation.......
> 10. ...........................................(Cancelled).............-
>     ............................
> 11. .........<--- ExecReport
>     ...................................................................
>     ...........(Cancelled,Cancelled)...................................-
>     .............................
> 
> In the row 9, what should be the value of xxx ?
> 
> >
> >
> > > ExecType=New only applies to a response to an order entry. A cancel
> > > prior to an entry is not possible as the order does not yet exist. A
> > > cancel after order entry changes ExecType from New to Pending Cancel
> > > or Cancelled. Therefore I do not see what semantic ExecType=New and
> > > OrdStatus=PendingCancel is supposed to convey whether you "allow" it
> > > or not.
> > >
> > > Regards, Hanno.
> > >
> > > > Thank you, Hanno I understand what you described.
> > > >
> > > > I'm still wondering not about the case B.1.d but in general case.
> > > > I've never seen any ExecReport that has ExecType=New and
> > > > OrdStatus=PendingCancel in the FIX specification. Is a ExecReport
> > > > allowed to have ExecType=New and OrdStatus=PendingCancel? Or has
> > > > anyone seen it in the real usage?
> > > >
> > > > Regards,
> > > >
> > > >
> > > > > 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