39=5 rejection

Imported from previous forum

Hi,

Uing FIX 4.4…39=5 getting rejected with the error VALUE OUT OF BOUNDS: Value: 5 out of bounds: 0,1,2,3,4,6,7,8,9,A,B,C,D,E in field: OrdStatus (tag #39). Any ideas?

Also, how/where to check *** SOME VALUES HAVE BEEN REPLACED - See “Replaced Features and Supported Approach” *** which we see for some FIX field descriptions?

Regards

[ original email was from John Prewett - jprewett@lavatrading.com ]
> Hi,

Uing FIX 4.4…39=5 getting rejected with the error VALUE OUT OF BOUNDS:
Value: 5 out of bounds: 0,1,2,3,4,6,7,8,9,A,B,C,D,E in field: OrdStatus
(tag #39). Any ideas?

Also, how/where to check *** SOME VALUES HAVE BEEN REPLACED - See
“Replaced Features and Supported Approach” *** which we see for some FIX
field descriptions?

Regards

Some FIX field clarification:
OrdStatus(tag 39) = the current state of the order.
ExecType(tag 150) = the reason why an ExecReport is being sent.

In FIX.4.4, the value ‘5’ (replaced) is no longer considered a valid value for OrdStatus as it really is a reason why an ExecReport is being sent and not an order state. OrdStatus=5 was acceptable in prior versions of FIX, but not starting from FIX.4.4.

To indicate an order has been successfully replaced, an ExecReport should have ExecType(150)=5 and an OrdStatus indicating the current status of the order.

I apologize, but I don’t understand your second question.

JohnP

Hi,

Uing FIX 4.4…39=5 getting rejected with the error VALUE OUT OF
BOUNDS: Value: 5 out of bounds: 0,1,2,3,4,6,7,8,9,A,B,C,D,E in field:
OrdStatus (tag #39). Any ideas?

Also, how/where to check *** SOME VALUES HAVE BEEN REPLACED - See
“Replaced Features and Supported Approach” *** which we see for some
FIX field descriptions?

Regards

Some FIX field clarification: OrdStatus(tag 39) = the current state
of the order. ExecType(tag 150) = the reason why an ExecReport is
being sent.

In FIX.4.4, the value ‘5’ (replaced) is no longer considered a valid
value for OrdStatus as it really is a reason why an ExecReport is being
sent and not an order state. OrdStatus=5 was acceptable in prior
versions of FIX, but not starting from FIX.4.4.

To indicate an order has been successfully replaced, an ExecReport
should have ExecType(150)=5 and an OrdStatus indicating the current
status of the order.

I apologize, but I don’t understand your second question.

JohnP

Thank you very much for the quick response. Second question is, I would like to know how to check Volume 1: “Glossary” as mentioned in the field value description for tga39…

Identifies current status of order.
Valid values:
0 = New
1 = Partially filled
2 = Filled
3 = Done for day
4 = Canceled
5 = Replaced (Removed - Replaced)
6 = Pending Cancel (e.g. result of Order Cancel Request)
7 = Stopped
8 = Rejected
9 = Suspended
A = Pending New
B = Calculated
C = Expired
D = Accepted for bidding
E = Pending Replace (e.g. result of Order Cancel - Replace Request)
*** SOME VALUES HAVE BEEN REPLACED - See “Replaced Features and Supported Approach” ***
(see Volume 1: “Glossary” for value definitions)

[ original email was from Dean Kauffman - dean.kauffman@tradeweb.com ]
> > > Hi,

Uing FIX 4.4…39=5 getting rejected with the error VALUE OUT OF
BOUNDS: Value: 5 out of bounds: 0,1,2,3,4,6,7,8,9,A,B,C,D,E in
field: OrdStatus (tag #39). Any ideas?

Also, how/where to check *** SOME VALUES HAVE BEEN REPLACED - See
“Replaced Features and Supported Approach” *** which we see for some
FIX field descriptions?

Regards

Some FIX field clarification: OrdStatus(tag 39) = the current state
of the order. ExecType(tag 150) = the reason why an ExecReport is
being sent.

In FIX.4.4, the value ‘5’ (replaced) is no longer considered a valid
value for OrdStatus as it really is a reason why an ExecReport is
being sent and not an order state. OrdStatus=5 was acceptable in prior
versions of FIX, but not starting from FIX.4.4.

To indicate an order has been successfully replaced, an ExecReport
should have ExecType(150)=5 and an OrdStatus indicating the current
status of the order.

I apologize, but I don’t understand your second question.

JohnP

Thank you very much for the quick response. Second question is, I would
like to know how to check Volume 1: “Glossary” as mentioned in the field
value description for tga39…

Identifies current status of order. Valid values: = New 1 = Partially
filled 2 = Filled 3 = Done for day 4 = Canceled 5 = Replaced (Removed -
Replaced) 6 = Pending Cancel (e.g. result of Order Cancel Request) 7 =
Stopped 8 = Rejected 9 = Suspended A = Pending New B = Calculated C =
Expired D = Accepted for bidding E = Pending Replace (e.g. result of
Order Cancel - Replace Request) *** SOME VALUES HAVE BEEN REPLACED - See
“Replaced Features and Supported Approach” *** (see Volume 1: “Glossary”
for value definitions)

In the FIX 4.4 spec the section Replaced Features and Supported Approach is Appendix 6-F in volume 6.

Some FIX field clarification: OrdStatus(tag 39) = the current state
of the order. ExecType(tag 150) = the reason why an ExecReport is
being sent.

In FIX.4.4, the value ‘5’ (replaced) is no longer considered a valid
value for OrdStatus as it really is a reason why an ExecReport is being
sent and not an order state. OrdStatus=5 was acceptable in prior
versions of FIX, but not starting from FIX.4.4.

To indicate an order has been successfully replaced, an ExecReport
should have ExecType(150)=5 and an OrdStatus indicating the current
status of the order.

I am sorry to intrude but was hoping you could help. I have the same issue and “OrdStatus indicates the current status of the order” is stil confusing to me.

My situation is that I have an exchange sending Fix 4.4 39=5, my FIX 4.4 engine does not support this value and so I reject the execution report.

My interpretation is that if the exchange replace my order (off the back of a 35=G)then the logical value for them to send would be 39=5. If this is no longer available what value are you suggesting they use?

Hope you can help

[ original email was from Ryan Pierce (FPL Technical Director) - ryan.pierce@fixprotocol.org ]
> I am sorry to intrude but was hoping you could help. I have the same

issue and “OrdStatus indicates the current status of the order” is stil
confusing to me.

My situation is that I have an exchange sending Fix 4.4 39=5, my FIX 4.4
engine does not support this value and so I reject the execution report.

My interpretation is that if the exchange replace my order (off the back
of a 35=G)then the logical value for them to send would be 39=5. If this
is no longer available what value are you suggesting they use?

Hope you can help

The two most common values for OrdStatus in FIX 4.4 when ExecType=5 are 0 - New (if no shares have traded on the order) or 1 - Partially filled (if anything has traded on the order.)

The FIX 4.4 spec has state change matrices that illustrate this. The Cancel/Replace examples are in sections C and D.