Imported from previous forum
[ original email was from Guillaume Jamin - guillaume.jamin@gltrade.com ]
Hi all,
Let’s imagine a FIX client sending an order towards a server connected to the exchange. What should expect the FIX client if the server don’t succeed to forward the order to the exchange ?
Example:
The link between the server and the exchange is broken during the order tranmission. When the link is back the server checks that the order is unknown at the exchange side.
What should do the server in order to notify the client that the order has not been sent to the exchange ?
Best Regards,
Guillaume Jamin
Hello Guillaume,
since no one more competent is answering, you get just my 2 cents…
Example:
The link between the server and the exchange is broken during the order tranmission. When the link is back the server checks that the order is unknown at the exchange side.
Normally, the ExecutionReport should do the job, e.g. using OrdStatus=Rejected and some explanatory text in tag 58.
An interesting field is ExecRestatementReason (tag 378), which can be used to communicate an unsolicited cancel by the exchange system:
6 : Cancel on Trading Halt
7 : Cancel on System Failure
are the interesting values here.
What should do the server in order to notify the client that the order has not been sent to the exchange ?
If ExecReport is not suitable, you could consider BusinessMessageReject as a catch-all message. Here BusinessRejectReason (tag 380) can have the value:
4 : Application not available
Hope this trigger some comments from the more experienced FIX users.
Cheers, Jörg