working of Order Status request (35=H)

Imported from previous forum

Hi, I referred to FIX order change matrices for this, but it is not quite clear, so I am turning to this forum.

My question is what would be the response of Order Status request (35=H) in this scenario:

35=D, clOrdId=1, qty=100 -->
Acked back, leavesQty=100

35=G, clOrdId=2, origClOrdId=1, qty=80 -->
Acked back, leavesQty=80

35=G, clOrdId=3, origClOrdId=2, qty=60 -->
Acked back, leavesQty=60

Now If I send order status request with clOrdId=1, what will I get back?
Is it…
clOrdId=3, origClOrdId=2, leavesQty=60

(or)

clOrdId=3, origClOrdId=1, leavesQty=60

or something else. Thanks

Well it should ideally be 35=H with ClOrdID=3 – there’s no telling what will happen if you reference ClOrdID=1 in 35=H when the latest value is ClOrdID=3.

If the counterparty is able to support order chaining such that it recognizes that the ClOrdID value being referenced in the 35=H is stale but is actually part of an order chain then it should be able to give you the latest state of that order in the chain → ClOrdID=3, OrigClOrdID=2, LeavesQty=60.

If it does not then it will probably just return something simple like ClOrdID=1, LeavesQty=100 even though that is clearly not valid.

Hi, I referred to FIX order change matrices for this, but it is not quite clear, so I am turning to this forum.

My question is what would be the response of Order Status request (35=H) in this scenario:

35=D, clOrdId=1, qty=100 →
Acked back, leavesQty=100

35=G, clOrdId=2, origClOrdId=1, qty=80 →
Acked back, leavesQty=80

35=G, clOrdId=3, origClOrdId=2, qty=60 →
Acked back, leavesQty=60

Now If I send order status request with clOrdId=1, what will I get back?
Is it…
clOrdId=3, origClOrdId=2, leavesQty=60

(or)

clOrdId=3, origClOrdId=1, leavesQty=60

or something else. Thanks

Replying 35=8|20=3|11=3 could be difficult for the client to know it is the reply to his request 35=H|11=1…

Replying 35=8|20=3|11=1 could suggest the order 11=1 is still live…

In my opinion we should reject the request 35=8|150=8|103=5 (unknown order [or 4 = too late to enter?]).

Well it should ideally be 35=H with ClOrdID=3 – there’s no telling what will happen if you reference ClOrdID=1 in 35=H when the latest value is ClOrdID=3.

If the counterparty is able to support order chaining such that it recognizes that the ClOrdID value being referenced in the 35=H is stale but is actually part of an order chain then it should be able to give you the latest state of that order in the chain → ClOrdID=3, OrigClOrdID=2, LeavesQty=60.

If it does not then it will probably just return something simple like ClOrdID=1, LeavesQty=100 even though that is clearly not valid.

Hi, I referred to FIX order change matrices for this, but it is not quite clear, so I am turning to this forum.

My question is what would be the response of Order Status request (35=H) in this scenario:

35=D, clOrdId=1, qty=100 →
Acked back, leavesQty=100

35=G, clOrdId=2, origClOrdId=1, qty=80 →
Acked back, leavesQty=80

35=G, clOrdId=3, origClOrdId=2, qty=60 →
Acked back, leavesQty=60

Now If I send order status request with clOrdId=1, what will I get back?
Is it…
clOrdId=3, origClOrdId=2, leavesQty=60

(or)

clOrdId=3, origClOrdId=1, leavesQty=60

or something else. Thanks

If you send 35=H|11=1 then there is a case for a reject if there is no order chaining logic on the other side.

In my opinion you should always try to send the last 11 value in a 35=H message, this way there is a les of a chance of you getting what could be a duff response.

Replying 35=8|20=3|11=3 could be difficult for the client to know it is the reply to his request 35=H|11=1…

Replying 35=8|20=3|11=1 could suggest the order 11=1 is still live…

In my opinion we should reject the request 35=8|150=8|103=5 (unknown order [or 4 = too late to enter?]).

Well it should ideally be 35=H with ClOrdID=3 – there’s no telling what will happen if you reference ClOrdID=1 in 35=H when the latest value is ClOrdID=3.

If the counterparty is able to support order chaining such that it recognizes that the ClOrdID value being referenced in the 35=H is stale but is actually part of an order chain then it should be able to give you the latest state of that order in the chain → ClOrdID=3, OrigClOrdID=2, LeavesQty=60.

If it does not then it will probably just return something simple like ClOrdID=1, LeavesQty=100 even though that is clearly not valid.

Hi, I referred to FIX order change matrices for this, but it is not quite clear, so I am turning to this forum.

My question is what would be the response of Order Status request (35=H) in this scenario:

35=D, clOrdId=1, qty=100 →
Acked back, leavesQty=100

35=G, clOrdId=2, origClOrdId=1, qty=80 →
Acked back, leavesQty=80

35=G, clOrdId=3, origClOrdId=2, qty=60 →
Acked back, leavesQty=60

Now If I send order status request with clOrdId=1, what will I get back?
Is it…
clOrdId=3, origClOrdId=2, leavesQty=60

(or)

clOrdId=3, origClOrdId=1, leavesQty=60

or something else. Thanks

I also agree with this. Although it does depends how your order management system works.

If the client has accepted you ack to the last 35=G, then they should have the latest ClientOrderID, which is what they should use for the 35=H request.

If the Client sends an invalid(old) ClOrdID, then it should be rejected with “unknown Order”.

Paul.

The clients order should

If you send 35=H|11=1 then there is a case for a reject if there is no order chaining logic on the other side.

In my opinion you should always try to send the last 11 value in a 35=H message, this way there is a les of a chance of you getting what could be a duff response.

Replying 35=8|20=3|11=3 could be difficult for the client to know it is the reply to his request 35=H|11=1…

Replying 35=8|20=3|11=1 could suggest the order 11=1 is still live…

In my opinion we should reject the request 35=8|150=8|103=5 (unknown order [or 4 = too late to enter?]).

Well it should ideally be 35=H with ClOrdID=3 – there’s no telling what will happen if you reference ClOrdID=1 in 35=H when the latest value is ClOrdID=3.

If the counterparty is able to support order chaining such that it recognizes that the ClOrdID value being referenced in the 35=H is stale but is actually part of an order chain then it should be able to give you the latest state of that order in the chain → ClOrdID=3, OrigClOrdID=2, LeavesQty=60.

If it does not then it will probably just return something simple like ClOrdID=1, LeavesQty=100 even though that is clearly not valid.

Hi, I referred to FIX order change matrices for this, but it is not quite clear, so I am turning to this forum.

My question is what would be the response of Order Status request (35=H) in this scenario:

35=D, clOrdId=1, qty=100 →
Acked back, leavesQty=100

35=G, clOrdId=2, origClOrdId=1, qty=80 →
Acked back, leavesQty=80

35=G, clOrdId=3, origClOrdId=2, qty=60 →
Acked back, leavesQty=60

Now If I send order status request with clOrdId=1, what will I get back?
Is it…
clOrdId=3, origClOrdId=2, leavesQty=60

(or)

clOrdId=3, origClOrdId=1, leavesQty=60

or something else. Thanks

One more reason to go with something like Order Mass Status :slight_smile:

I also agree with this. Although it does depends how your order management system works.

If the client has accepted you ack to the last 35=G, then they should have the latest ClientOrderID, which is what they should use for the 35=H request.

If the Client sends an invalid(old) ClOrdID, then it should be rejected with “unknown Order”.

Paul.

The clients order should

If you send 35=H|11=1 then there is a case for a reject if there is no order chaining logic on the other side.

In my opinion you should always try to send the last 11 value in a 35=H message, this way there is a les of a chance of you getting what could be a duff response.

Replying 35=8|20=3|11=3 could be difficult for the client to know it is the reply to his request 35=H|11=1…

Replying 35=8|20=3|11=1 could suggest the order 11=1 is still live…

In my opinion we should reject the request 35=8|150=8|103=5 (unknown order [or 4 = too late to enter?]).

Well it should ideally be 35=H with ClOrdID=3 – there’s no telling what will happen if you reference ClOrdID=1 in 35=H when the latest value is ClOrdID=3.

If the counterparty is able to support order chaining such that it recognizes that the ClOrdID value being referenced in the 35=H is stale but is actually part of an order chain then it should be able to give you the latest state of that order in the chain → ClOrdID=3, OrigClOrdID=2, LeavesQty=60.

If it does not then it will probably just return something simple like ClOrdID=1, LeavesQty=100 even though that is clearly not valid.

Hi, I referred to FIX order change matrices for this, but it is not quite clear, so I am turning to this forum.

My question is what would be the response of Order Status request (35=H) in this scenario:

35=D, clOrdId=1, qty=100 →
Acked back, leavesQty=100

35=G, clOrdId=2, origClOrdId=1, qty=80 →
Acked back, leavesQty=80

35=G, clOrdId=3, origClOrdId=2, qty=60 →
Acked back, leavesQty=60

Now If I send order status request with clOrdId=1, what will I get back?
Is it…
clOrdId=3, origClOrdId=2, leavesQty=60

(or)

clOrdId=3, origClOrdId=1, leavesQty=60

or something else. Thanks