Logout

Imported from previous forum

We are developing a broker side implementation for trading using FIX.

We are slightly confused regarding logouts. From what I gather, logouts can take place in different scenarios.

  1. Normal end of day logout
  2. In case an incoming message sequence number is less than the expected incoming sequence number and the message is not a sequence reset-reset message. This is true for both sides.

In the normal case, the acceptor should send out all messages that are waiting and then send a logout in response. At least, that’s the practice that we are following.

In other cases, what is the sequence of activities to be carried out. How does the acceptor know if the logout is in case of an abnormal condition? The Text tag is a descriptive field, so we are in a fix as to how to automate logout proceedings.

Can somebody help us please,
Thanks,
Manali

[ original email was from Ryan Pierce - rpierce@taltrade.com ]
> We are developing a broker side implementation for trading using FIX.
>
> We are slightly confused regarding logouts. From what I gather, logouts can take place in different scenarios.
>
> 1) Normal end of day logout
> 2) In case an incoming message sequence number is less than the expected incoming sequence number and the message is not a sequence reset-reset message. This is true for both sides.
>
> In the normal case, the acceptor should send out all messages that are waiting and then send a logout in response. At least, that’s the practice that we are following.
>
> In other cases, what is the sequence of activities to be carried out. How does the acceptor know if the logout is in case of an abnormal condition? The Text tag is a descriptive field, so we are in a fix as to how to automate logout proceedings.

It is generally common practice that if a firm detects something severely wrong, like a sequence number less than expected, that they will send a Logout and generally won’t wait for a Logout in response, but instead they will then immediately drop the connection. This is done to make the FIX session failfast; if there’s so severe an error with your trading partner that they can’t keep track of their own sequence numbers, you really don’t want to be doing business with them until they get their problems resolved. Likely, if they are that far gone, they will not be able to respond with a Logout of their own that has a reasonable sequence number anyway.

If one receives a Logout, I would suggest processing it regardless of whether it is due to normal or abnormal conditions, only be advised that the socket may be closed out from under you in an abnormal condition.

Note to Scott: Consider as a Proposed Change adding such a field to differentiate whether the Logout was done for normal business reasons (i.e. traders deciding to shut down a connection for the day, end of day, etc.), or an abnormal condition. This would aid in monitoring sessions; a Logout for normal business reasons likely would not trigger a phone call to the other party’s FIX support team, whereas an abnormal Logout (or just dropping the socket) would.