Imported from previous forum
Does it follow spec for a client to send an Order Cancel Request for an order that has not received an Execution Report with Status “New” yet?
Thank you.
[ original email was from John Prewett - jprewett@lavatrading.com ]
> Does it follow spec for a client to send an Order Cancel Request for an
order that has not received an Execution Report with Status “New” yet?
Thank you.
Hi Dean,
The answer is that FIX protocol does allow for this possibility, but it doesn’t indicate that the venue MUST support it.
One of the good things about FIX is that you send in amendments to your order referencing your original client order ID (ClOrdID - tag 11). This handily avoids the arcane requirement of having to wait for the venue to give you back an ID (OrderID - tag 37) on an ExecReport(new) before attempting change/cancel the original order.
Now some venues with restrictive systems may not accept this behavior and may request that you wait for the ExecReport(new) before attempting a CancelRequest. It’s their right to establish the “rules of engagement” just as it is your right to not enjoy them. These venues aren’t very user friendly and are at least veering away from the spirit of the protocol.
Lastly, I believe the majority of (but definitely not all) venues allow for CancelRequests to be sent prior to receiving ExecReport(new).
JohnP
Does it follow spec for a client to send an Order Cancel Request
for an order that has not received an Execution Report with Status
“New” yet?Thank you.
Hi Dean,The answer is that FIX protocol does allow for this possibility, but it
doesn’t indicate that the venue MUST support it.One of the good things about FIX is that you send in amendments to your
order referencing your original client order ID (ClOrdID - tag 11). This
handily avoids the arcane requirement of having to wait for the venue to
give you back an ID (OrderID - tag 37) on an ExecReport(new) before
attempting change/cancel the original order.Now some venues with restrictive systems may not accept this behavior
and may request that you wait for the ExecReport(new) before attempting
a CancelRequest. It’s their right to establish the “rules of
engagement” just as it is your right to not enjoy them. These venues
aren’t very user friendly and are at least veering away from the spirit
of the protocol.Lastly, I believe the majority of (but definitely not all) venues allow
for CancelRequests to be sent prior to receiving ExecReport(new).JohnP
Thanks John. This was extremely helpful. I believe that I am seeing exactly what you describe in certain venues versus others.
-Dean