Cancel On Disconnect
FIX users can request to enable Cancel on Disconnect function so that all open orders submitted through a FIX session will be automatically cancelled when the server identifies a disconnection of the client session in the following scenarios:
- Graceful logout by FIX client
- Ungraceful logout from either FIX server/client due to Test Request with no acknowledgement
- Ungraceful FIX socket disconnection
- Exchange downstream error/timeout
Missed Execution Reports
FIX users will receive execution reports that they missed whilst not logged in the next time they log in.
For example, if an order was cancelled during log out and the client disconnected before they received an execution report, they will receive it on their next log in.
Legacy Mode
For FIX users who do not wish to receive missed execution reports, legacy mode can be set and the client can request to reset sequence numbers on log in. This will stop them from receiving any missed execution reports, simulating the behavior from the legacy FIX implementation.
FIX users must request this mode during onboarding, and send 141=Y
in Logon messages.
Below is a summary of the behavior for different combinations of 141
options combined with legacy mode options.
141 Tag Value | Legacy Mode Option | NFE Behavior |
---|---|---|
Y | Off | The client resets their sequence number and receives missed execution reports. 1. The client will send 141=Y and sequence number 34=1 in their login message2. The exchange will respond with 141=Y and sequence number 34=1 in their login response3. The exchange will proceed to send any execution reports to the client for activity done whilst they were disconnected (such as trades, order expiry etc.) on the next available sequence number(s) e.g. 34=2 , 34=3 4. The session will continue as normal |
N or Missing | Off | The client does not reset their sequence number and receives missed execution reports. 1. The client will send 141=N (or can leave the field out altogether) and their next available sequence number e.g. 34=442 in their login message2. The exchange will respond without 141 (essentially the same as 141=N )and their next available sequence number 34=3242 in their login response3. The exchange will proceed to send any execution reports to the client for activity done whilst they were disconnected (such as trades, order expiry etc.) on the next available sequence number(s) e.g. 34=3243 , 34=3244 4. The session will continue as normal |
N or Missing | On | Legacy mode is only activated if the client sends 141=Y , so this scenario will be the same as if 141=N and legacy mode is off.The client does not reset their sequence number and receives missing execution reports. |
Y | On | The client does reset their sequence number and does not receive missing execution reports. The client does not reset their sequence number and receives missing execution reports. |
Error Codes
Please refer to Response / Error Code Reference