Imported from previous forum
Hi All,
Can any one explain , why in Fix 4.4 for partial fill and fill reports we are sending 39=F. Is there any business logic in that. Because from client point of view if we are sending 39=1 and 39=2 for partial fill and fill reports ,will give much better picture.
Can any one explain , why in Fix 4.4 for partial fill and fill reports we are sending 39=F. Is there any business logic in that. Because from client point of view if we are sending 39=1 and 39=2 for partial fill and fill reports ,will give much better picture.
I think you may be confusing OrdStatus(39) with ExecType(150).
39=F is not valid in FIX 4.4. OrdStatus(39) usually should be 1 or 2 for partial fills and fills, respectively, assuming something else of higher precedence (e.g. pending cancel) isn’t happening. But ExecType(150) = F for all trades.
Put another way, ExecType is the action expressed in the particular message, while OrdStatus is the status of the order.
The behavior of trades changed between FIX 4.2 and 4.4. FIX 4.2 used 1 and 2 in ExecType. But both of these are really the same action (a trade) which will usually put the order in a filled or partially filled status. So in FIX 4.4, the distinction was made clear with the introduction of a single ExecType of F (Trade) that applies to fills and partial fills. This is why 1 and 2 are not valid FIX 4.4 ExecInst values, and F never was valid in OrdStatus.
Typo, this should read:
This is why 1 and 2 are not valid FIX 4.4 ExecType values, and F never was valid in OrdStatus.
Can any one explain , why in Fix 4.4 for partial fill and fill reports we are sending 39=F. Is there any business logic in that. Because from client point of view if we are sending 39=1 and 39=2 for partial fill and fill reports ,will give much better picture.
I think you may be confusing OrdStatus(39) with ExecType(150).
39=F is not valid in FIX 4.4. OrdStatus(39) usually should be 1 or 2 for partial fills and fills, respectively, assuming something else of higher precedence (e.g. pending cancel) isn’t happening. But ExecType(150) = F for all trades.
Put another way, ExecType is the action expressed in the particular message, while OrdStatus is the status of the order.
The behavior of trades changed between FIX 4.2 and 4.4. FIX 4.2 used 1 and 2 in ExecType. But both of these are really the same action (a trade) which will usually put the order in a filled or partially filled status. So in FIX 4.4, the distinction was made clear with the introduction of a single ExecType of F (Trade) that applies to fills and partial fills. This is why 1 and 2 are not valid FIX 4.4 ExecInst values, and F never was valid in OrdStatus.
Thanks
Conceptually, ExecType conveys the purpose of the message (“your order has traded”) and OrdStatus conveys the status of an entity (“your order is now partially/completely filled”). This was made clearer as of FIX 4.3.
Can any one explain , why in Fix 4.4 for partial fill and fill reports we are sending 39=F. Is there any business logic in that. Because from client point of view if we are sending 39=1 and 39=2 for partial fill and fill reports ,will give much better picture.
I think you may be confusing OrdStatus(39) with ExecType(150).
39=F is not valid in FIX 4.4. OrdStatus(39) usually should be 1 or 2 for partial fills and fills, respectively, assuming something else of higher precedence (e.g. pending cancel) isn’t happening. But ExecType(150) = F for all trades.
Put another way, ExecType is the action expressed in the particular message, while OrdStatus is the status of the order.
The behavior of trades changed between FIX 4.2 and 4.4. FIX 4.2 used 1 and 2 in ExecType. But both of these are really the same action (a trade) which will usually put the order in a filled or partially filled status. So in FIX 4.4, the distinction was made clear with the introduction of a single ExecType of F (Trade) that applies to fills and partial fills. This is why 1 and 2 are not valid FIX 4.4 ExecInst values, and F never was valid in OrdStatus.
Thanks