Imported from previous forum
I sent an order with CLOrdID = XXXX-1. I then sent a cancel for that order with CLOrdrID = XXXX-2 and the OrigCLOrdID= XXXX-1. The response was a cancel pending message with CLOrdrID = XXXX-2.
A cancel was then sent for CLOrdrID = XXXX-1.
I believe the cancel pending message having the CLOrdrID to match our cancel request allowed the actual cancel to come across with the CLOrdrID = XXXX-1 instead of CLOrdrID = XXXX-2. DOes anyone know if this is true?
In cases where no cancel pending is sent just the actual cancel a DK would be sent if the CLOrdrID did not match the CLOrdrID in the cancel request.
Thanks
[ original email was from Andrew Scott - ascott@latentzero.com ]
> I sent an order with CLOrdID = XXXX-1. I then sent a cancel for that
order with CLOrdrID = XXXX-2 and the OrigCLOrdID= XXXX-1. The response
was a cancel pending message with CLOrdrID = XXXX-2. A cancel was then
sent for CLOrdrID = XXXX-1.I believe the cancel pending message having the CLOrdrID to match our
cancel request allowed the actual cancel to come across with the
CLOrdrID = XXXX-1 instead of CLOrdrID = XXXX-2. DOes anyone know if
this is true?In cases where no cancel pending is sent just the actual cancel a DK
would be sent if the CLOrdrID did not match the CLOrdrID in the
cancel request.Thanks
Rob,
This is not the case; the pending cancel represents an intermediate state and makes no difference whatever to the acceptance or otherwise of the Execution Report Cancelled message.
In FIX 4.2, both the Execution Report Pending Cancelled and the Execution Report Cancelled message should have ClOrdID = XXX-2 in your example; messages with ClOrdID = XXX-1 will be rejected.
However in FIX 4.0 the situation is less clear and in practice various counterparties have chosen to intepret the protocol in different ways. It is therefore not uncommon to receive ClOrdID = XXX-1 on the Execution Report Cancelled from the counterparty who would then expect this to work.
My advice is that, while this is a matter for bilateral negotiation between counterparties, it would be better to establish the FIX 4.2 style convention i.e. ClOrdID = XXX-2 on the Execution Report Cancelled.
Hope this helps!