This is a response message indicating either success or an error logging on to the Server.
Field Name |
Field Description |
[unsigned int16] Size |
The standard message size field. Automatically set by constructor.
|
[unsigned int16] Type |
The standard message type field. Automatically set by constructor.
To determine the field number for JSON, refer to this message type constant in the DTCProtocol.h file.
|
[int32] ProtocolVersion |
This is automatically set by the constructor.
|
[LogonStatusEnum] Result |
This can be set to one of the following constants:
- LOGON_SUCCESS
- LOGON_ERROR
- LOGON_ERROR_NO_RECONNECT
- LOGON_RECONNECT_NEW_ADDRESS
LOGON_ERROR_NO_RECONNECT means that there has been an error logging on and the Client should not try to reconnect.
The Server can set this field to LOGON_RECONNECT_NEW_ADDRESS to instruct the Client to reconnect to the Server at a different address. The new address is specified through the ReconnectAddress field. This supports dynamic connections to a server farm.
|
[char] ResultText |
Optional freeform text to provide information related to a successful or unsuccessful logon. The Client will display this text to the user.
|
[char] ReconnectAddress |
Server address/IP number and optional port number to reconnect to. Format: [Server Address:Port Number]. Only used if Result is set to LOGON_RECONNECT_NEW_ADDRESS.
|
[int32] Integer_1 |
Optional. General-purpose integer for the Server to communicate to the Client an integer value on logon.
|
[char] ServerName |
Optional free-form text for the Server to fill out.
It is recommended that the Server fill this in with descriptive text identifying itself to the Client.
The length of this text string is 60 characters when fixed length strings are used.
|
[unsigned int8] MarketDepthUpdatesBestBidAndAsk |
Set this to 1 to indicate that the Server will only be sending market depth updates and not best bid and ask updates. The Client will use depth at level 1 to update the best bid and ask prices.
Some Clients will maintain separate best bid and ask prices from market depth data.
|
[unsigned int8] TradingIsSupported |
Set this to 1 to indicate the Server supports trading. Otherwise, the Client will not send through any trading messages.
|
[unsigned int8] OCOOrdersSupported |
Set this to 1 to indicate the Server supports OCO orders.
|
[unsigned int8] OrderCancelReplaceSupported |
Set this to 0 if Server does not support the CANCEL_REPLACE_ORDER message.
|
[char] SymbolExchangeDelimiter |
Some Clients will usually consider the Symbol and Exchange fields as a single text string. If the Server will be using the Exchange field in DTC messages that have a Symbol and Exchange fields, it must specify the SymbolExchangeDelimiter field to provide a standard delimiter for the Client to use to combine the Symbol and the Exchange into a single text string.
It is recommended to use a "-" or ".". Examples of how the Client will then combine the Symbol and exchange.
- Symbol-Exchange
- Symbol.Exchange
If this field is unset, then this is an indication to the Client that the Exchange field in DTC Protocol messages are not used.
Even if the symbols supported by a Server have an Exchange text string, does not mean the Server has to use the Exchange field in DTC messages. The Server can combine the Symbol and the Exchange in Security Definition responses into the Symbol field only.
When a Client sees that the SymbolExchangeDelimiter field is set, then it can use this delimiter to combine the Symbol and Exchange into a single text string. When the Client is setting the Symbol and Exchange in DTC messages, it needs to separate out the Symbol and Exchange from the larger text string and set those fields separately.
|
[unsigned int8] SecurityDefinitionsSupported |
Set to 1 if the Server supports Security Definition messages.
|
[unsigned int8] HistoricalPriceDataSupported |
Set this to 1 if the Server supports the HISTORICAL_PRICE_DATA_REQUEST message.
|
[unsigned int8] ResubscribeWhenMarketDataFeedAvailable |
Set this to 1, so that when the Client receives a MARKET_DATA_FEED_STATUS indicating the market data feed is restored, it will resubscribe to market data and market depth for all of the symbols it was previously tracking.
|
[unsigned int8] MarketDepthIsSupported |
Set this to 1, if the Server supports the MARKET_DEPTH_REQUEST message.
The default is 0.
|
[unsigned int8] OneHistoricalPriceDataRequestPerConnection |
The server can optionally set the OneHistoricalPriceDataRequestPerConnection field to 1 in the LOGON_RESPONSE message to indicate that it only will accept one historical price data request per network connection.
After the first request is served or rejected, the network connection will be gracefully closed at the appropriate time by the Server. This method simplifies the serving of historical price data on the Server side and the implementation on the Client side when data compression is used.
|
[unsigned int8] BracketOrdersSupported |
Set this to 1 to indicate the Server supports bracket orders.
|
[unsigned int8] UseIntegerPriceOrderMessages |
With the integer trading messages discontinued as of August 2020, this field is no longer relevant.
|
[unsigned int8] UsesMultiplePositionsPerSymbolAndTradeAccount |
If the Server can report more than one Trade Position for a specific Symbol and Trade Account, then it needs to set UsesMultiplePositionsPerSymbolAndTradeAccount to 1.
When the server has set to 1, it must always set PositionIdentifier in the POSITION_UPDATE message to the identifier of the Trade Position.
When the Client checks that this is set to 1, then it knows that it can expect there potentially can be more than one Trade Position for a specific Symbol and Trade Account being reported by the POSITION_UPDATE messages. The Client can then handle this appropriately.
|
[unsigned int8] MarketDataSupported |
Set this to 1, if the Server supports the MARKET_DATA_REQUEST message.
The default is 1.
|