Try TT Now

ICE Gateway

hostinfo.cfg

Overview

Configure the Price and Order Server connections, as well as general TT Gateway behavior, in the hostinfo.cfg file. If you do not configure this file properly, the ICE Gateway does not function correctly.

Configure hostinfo.cfg immediately after installing the ICE Gateway, and again later, when you must make changes to network connectivity. The hostinfo.cfg has the following sections:

  • [OrderServer]: Defines the number of FIX Order Server Sessions used by the ICE Gateway.
  • [OrderSession#]: Configures the FIX Order Server connection to the Exchange host.
  • [PriceServer]: Configures the Price Server connection to the Exchange host.
  • [SpreadRatios]: Defines the buy/sell ratio for certain spreads.
Note

When updating the hostinfo.cfg file, you must restart the ICE Gateway in order for the changes to take effect.

Example Hostinfo.cfg File

The following illustrates the contents of the hostinfo.cfg file:

Example Hostinfo.cfg file

[OrderServer]

ReconnectInterval=16

[OrderSession1]

ExchangeIP=10.1.2.3

ExchangePort=1001

GatewayCompany=GMT

ExchangeCompany=ICE

GatewaySessionId=TGM

SessionUserName=G3

SessionPassword=password

Member=ICE

[PriceServer]

ExchangeIP=10.2.3.4ExchangePort=1002SessionUserName=G3SessionPassword=password

#MulticastNetworkInterface=10.1.2.4

MulticastGroup1=USAgFutures

MulticastGroup2=USFinFutures

MulticastGroup3=BrentFutures

MulticastGroup4=WTIFutures

MulticastGroup5=EuropeOilOthersFutures

MulticastGroup6=EuropeNonOilFutures

MulticastGroup7=CanadaFutures

MulticastGroup8=CCXFutures

MulticastGroup9=CanadaFutures

#MulticastGroup10=OTC

#MulticastGroup11=USFinOptions

#MulticastGroup12=EuropeOilOptions

#MulticastGroup13=CanadaOptions

#MulticastGroup14=CCXOptions

MarketTypeIds=1,2,4,5,6,7,9,12,20,21,22,23,24,28,36,37

OptionMarketTypeIds=4,5,9,12,20,21,22,23,24,28,36,37

TraceProductDefinitions=no

SystemPricedLegForLTP=0

IncludeSystemPriceLegsInVAP=1

[SpreadRatios]

"ICE HO-GO Spr"=3,-4,1,4

"IPE Gas Oil Crk"=4,-3,1,4

"PJMWH Heat Rate"=1,-150,1,1

"ERN Heat Rate"=1,-150,1,1

"PJM RTC"=1,1,1,1

Section: [OrderServer]

Example [OrderServer]

[OrderServer]

ReconnectInterval=16

The [OrderServer] section of the hostinfo.cfg defines the FIX Order Sessions used by the ICE Gateway. The [OrderServer] section contains the following parameters:

[OrderServer] parameters
[OrderServer]

This is the section name. Do not change it.

Sessions

This parameter has been deprecated in ICE Gateways Version 7.15 and above. All session names must be created using the [OrderSession#] format.

Sets the FIX order session used by the ICE Gateway. This parameter installs set to Sessions=Session

The Session parameter may not exceed 16 characters.

Note

In Versions 7.4 and higher, the Sessions parameter is optional. This parameter is available for backward compatibility. For multi-session setup, the Sessions parameter should be removed. When not present, the ICE Gateway will populate with available [OrderSession#] sessions.

LogAllOrdersAndFills

This parameter has been deprecated in ICE Gateways Version 7.15 and above.

Sets whether the Gateway logs every order and fill.

This parameter has two settings:

  • 0: The Gateway logs only faulty order and fill transactions.
  • 1: The Gateway logs all order and fill transactions.

By default ICE Gateways install set to 1.

CrossExecInstSets the publishing mode for Block (OTC) trades. Valid values are:
  • PNC -- Non-publication. No Block trades are reported.
  • DP -- Delayed Publication. Price and volume of the Block trade are published 75 minutes after acceptance by the Exchange or at the daily close of trading in the contract, whichever is sooner.

By default, this parameter is not present and the ICE Gateway immediately publishes all Block trades (Standard Publication).

ReconnectInterval

New in Version 7.15

Sets the amount of time, in seconds, the Order Server waits before attempting to reconnect to the Exchange.

By default, ICE Gateways install with this parameter set to 16.

MaxReconnectAttempts

New in Version 7.15

Sets the number of concurrent FIX logon attempts made by the Gateway. If the Gateway is rejected after the specified number of attempts, it will shut down.

By default, ICE Gateways install with this parameter set to 5.

FIX Order Server Parameter Mapping

The ICE Gateway maps the Order Server parameters as follows:

  • ICE Gateway distributes ExchangeIP as Connection IP.
  • ICE Gateway distributes GatewayCompany as SenderCompID.
  • ICE Gateway distributes ExchangeCompany as TargetCompID.
  • ICE Gateway distributes GatewaySessionID as SenderSubID.
    Note

    The exchange no longer provides this value. Users must create a unique value for GatewaySessionID (SenderSubID). The exchange restricts this value to a maximum of six (6) characters. The exchange recommends numeric characters however, users may use a combination of alphanumeric characters.

  • ICE Gateway distributes SessionUserName as OS ID.

Section: [OrderSession#]

The [OrderSession#] section configures the connection information for the FIX Order Session. Additional sections configure an Order Router on the ICE Gateway to host multiple ICE memberships.

Note

ICE Gateways support a maximum of 20 FIX Order Sessions per Order Server.

Note

Commenting out a session, e.g., #OrderSession1, causes the Order Server to not start the commented out session. All other sessions will work correctly.

Warning

If commenting out a session, you must also comment out all parameters in that session. Failure to do so will result in the inability of the Price Server to restart.

You must assign each section a unique name using the # part of the name. For example, if you have two sections in your hostinfo.cfg, you could simply name them:

  • [OrderSession1]
  • [OrderSession2]

The first section in hostinfo.cfg does not include the # identifier.

Note

The # part of the [OrderSession#] name must not exceed two numeric digits, e.g., [OrderSession0], [OrderSession99].

Whenever a trader submits an order, that trader’s Member ID determines which order session carries the order. The Member ID maps to the order session’s member parameter.

Note

Each [OrderSession#] must have a unique member. If two FIX sessions are configured to use the same member, the Order Server will exit.

The following examples illustrate a hostinfo.cfg configured for both one and two memberships:

Example hostinfo.cfg file - One Membership

[OrderSession1]

ExchangeIP=10.1.2.3

ExchangePort=1234

GatewayCompany=56789

ExchangeCompany=ICE

GatewaySessionId=Trader1

SessionUserName=G3

SessionPassword=password

Example hostinfo.cfg file - Two Memberships

[OrderSession1]

ExchangeIP=10.1.2.3

ExchangePort=1234

GatewayCompany=56789

ExchangeCompany=ICE

GatewaySessionId=Trader1

SessionUserName=G3

SessionPassword=password

Member=BCAFG

[OrderSession2]

ExchangeIP=10.1.2.3

ExchangePort=1234

GatewayCompany=56789

ExchangeCompany=ICE

GatewaySessionId=Trader1

SessionUserName=G4

SessionPassword=password

Member=GFACB

The following table lists this section’s parameters and descriptions:

[OrderSession#] section parameters
[OrderSession#]

This is the user-defined section heading.

ExchangeIP

Sets the IP address that the ICE Gateway uses to connect the Order Server to the Exchange.

ExchangePort

Sets the port that the ICE Gateway uses to connect to the Exchange. The Exchange assigns this value.

ReconnectionAttempts

This parameter has been deprecated in ICE Gateways Version 7.15 and above.

Sets the consecutive number of times the Order Server attempts to log into the Exchange after disconnection.

By default, ICE Gateways install with this parameter set to 5.

Note

The default value for Versions 7.3 and lower is 10. On an upgrade from Version 7.3 to Version 7.4 or higher, the default value will remain 10 and the user must manually change this value to 5.

GatewayCompany

Identifies the name of the firm that sends messages from the ICE Gateway. This field supplies the value of Tag 49 (SenderCompID) in all outbound messages for that connection.

ExchangeCompany

Identifies the name of the Exchange host that sends messages to the ICE Gateway. This field supplies the value of Tag 56 (TargetCompID) in all inbound messages to the ICE Gateway.

GatewaySessionId

Maps the Trader ID for all messages sent from the ICE Gateway to the Exchange host. This field supplies the value of Tag 50 (SenderSubID) in all outbound messages for that connection.

SessionUserName

The Order Server uses this username to connect to the Exchange for order data. Each order session requires a unique username.

SessionPassword

The Order Server uses this password to connect to the Exchange for order data.

Member

Determines which order session orders route through. ICE Gateways match this value with the Member value of the MGT.

Each [OrderSession#] section must have a unique Member parameter.

The Member parameter may not exceed 7 characters.

This parameter is not needed if only one Order Session is configured.

Note

If there is a duplicate Member parameter configured on a multi-session ICE Gateway, the Order Server will not start. This value must be unique per FIX-based Gateway.

For multi-session setup, member=DEFAULT is not allowed.

AccountType

Sets the custom set of ICE Account Code and CTI Code used for Account Type routing. This is done on a per-session basis by adding a configuration of the format AccountType=AccountCode,CTICode where:

  • AccountType = TT Account Type
  • AccountCode = ICE Account Code, which is sent as a string in FIX Tag 9195
  • CTICode = CTI Code, which is sent as an integer in FIX Tag 9208

If any of the required fields are missing or invalid, the following hard-coded default values will be used:

  • A1=N,O
  • A2=S,0
  • A3=U,0
  • A3=U,0
  • A4=U,0
  • A5=U,0
  • A6=U,0
  • A7=U,0
  • A8=U,0
  • A8=U,0
  • G1=C,1
  • G2=C,2
  • G3=C,3
  • M1=C,4
  • M2=U,0
  • M3=U,0
  • P1=H,1
  • P2=H,2
  • P3=H,3
  • U1=H,4
  • U2=U,0
  • U3=U,0

MessageCacheSize

This parameter is deprecated in Version 7.4 and higher.

Sets the maximum number of FIX messages stored in physical memory before being written to disk.

By default, ICE Gateways install set to 1000.

MessageCacheFile

This parameter is deprecated in Version 7.4 and higher.

Sets the name of the file ICE Gateways use to store FIX messages.

TcpWindowSize

Sets the receive buffer size, in KB, for the ICE Gateway.

For assistance with setting TcpWindowSize, please contact your TAM. Your TAM will determine the appropriate TCP window size using the following formula: TCP window size = (Bandwidth of the link in BPS) * (round trip time in seconds) / 8192. This parameter must be set to a whole number.

By default, this parameter is not present.

Price Server Parameter Mapping

The ICE Gateway maps the Price Server parameters as follows:

  • ICE Gateway distributes ExchangeIP as Connection IP.
  • ICE Gateway distributes SessionUserName as PS ID.

Section: [PriceServer]

Example [PriceServer] section of hostinfo.cfg file

[PriceServer]

ExchangeIP=10.1.1.1

ExchangePort=1001

SessionUserName=G3

SessionPassword=password

#MulticastNetworkInterface=10.1.2.4

MulticastGroup1=USAgFutures

MulticastGroup2=USFinFutures

MulticastGroup3=BrentFutures

MulticastGroup4=WTIFutures

MulticastGroup5=EuropeOilOthersFutures

MulticastGroup6=EuropeNonOilFutures

MulticastGroup7=CanadaFutures

MulticastGroup8=CCXFutures

MulticastGroup9=CanadaFutures

#MulticastGroup10=OTC

#MulticastGroup11=USFinOptions

#MulticastGroup12=EuropeOilOptions

#MulticastGroup13=CanadaOptions

#MulticastGroup14=CCXOptions

MarketTypeIds=1,2,4,5,6,7,9,12,20,21,22,23,24,28,36,37

OptionMarketTypeIds=4,5,9,12,20,21,22,23,24,28,36,37

TraceProductDefinitions=no

SystemPriceLegForLTP=0

IncludeSystemPriceLegsInVAP=1

The [PriceServer] section contains Price Server data for connecting to the ICE Gateway Streaming Price Interface, including the following parameters:

[PriceServer] parameters
[PriceServer]

This is the section title. Do not change it.

ExchangeIP

Sets the IP address that the ICE Gateway uses to connect the Price Server to the Exchange.

Note

The ICE Exchange host distributes different price connection IP addresses for direct connection. For the ExchangeIP parameter, you must use the Streaming Price Feed IP address provided by the Exchange.

ExchangePort

Sets the port the Price Server uses to connect to the Exchange via the Streaming Price Interface.

SessionUserName

Sets the username the Price Server uses to connect to the Exchange for price data. Each Order Session requires a unique username.

SessionPassword

Sets the password the Price Server uses to connect to the Exchange.

MulticastNetworkInterface

Sets the address of the ICE-facing NIC the TT Gateway uses for the ICE iMpact Multicast feed.

MulticastGroup#

Used to select the multicast groups from MulticastGroups.cfg file to which you want the Gateway to listen to.

The value of this parameter must exactly match the value of a channel parameter in the MulticastGroups.cfg file (e.g., in the [PriceServer] section of the hostinfo.cfg file, the entry will be MulticastGroup1=USAggFutures. The value in the MulticastGroups.cfg file must be [USAggFutures]). The ICE Gateway uses MulticastGroups.cfg to determine how to connect to ICE and subscribe to the specified data.

By default, the ICE Gateway installs with

all Multicast Groups present. To unsubscribe to specific market data, comment out the relevant MulticastGroup# parameter. Multicast Groups for USAggOptions, USFinOptions, EuropeOilOptions, and CanadaOptions are commented out by default.

MarketDataBuffering

This parameter was deprecated in Versions 7.13.

Sets whether the Price Server receives price updates in 10ms intervals. This setting reduces the amount of bandwidth consumed for market data. Available settings are:

  • Y: The Price Server receives price updates in 10ms intervals.
  • N: The Price Server receives price updates as they occur.

By default, this parameter is not present and the ICE Gateway behaves as if MarketDataBuffering=N.

Warning

Setting MarketDataBuffering=Y can increase price latency. You should only enable buffering to mitigate bandwidth limitations.

MarketTypeIds

Sets which product definitions the ICE Gateway downloads from the Exchange. The Gateway downloads only product definitions for product categories (Market Types) listed in the MarketTypeIds parameter.

The Exchange defines all product categories. For a list of product categories and their associated values, refer to the List of Market Type IDs.

Note: To trade new products added by the Exchange, you may need to update the MarketTypeIDs parameter to include the new market types.

Currently, this parameter contains more Market Type IDs than the Exchange supports. As a result, you may see a Market type not supported error message in the Price Server log.

OptionsMarketTypeIds Options support only available in Version 7.3.5 and higher.

Sets which contracts the ICE Gateway receives from the Exchange. To properly configure support for Options for a particular contract, ensure that the market type ID appears in both the MarketTypeIds and OptionsMarketTypeIds parameters.

Note

To ensure optimal performance, only add Market Type Ids for the specific options you wish to trade.

Settlement

This parameter has been deprecated in Version 7.15 and higher. The Gateway now defers the publishing of the settlement price until the close of market. Intraday settlement will now be populated in the Indicative Settlement “IndSettle” column in X_TRADER®.

Sets whether the Price Server publishes settlement prices upon receipt or when the market closes. This parameter has two possible settings:

  • 1: The Price Server holds settlement prices when the market closes.
  • 2: The Price Server publishes settlement prices immediately upon receipt.

By default, the ICE Gateway installs with Settlement=2.

TraceProductDefintions

Sets whether the Gateway logs product definitions.

This parameter has two available settings:

  • yes: The Gateway logs all product definitions for products it downloads from the Exchange.
  • no: The Gateway does not log product definitions.

By default, this parameter installs set to no.

Warning: Setting this parameter to yes produces large log files and increases latency in product downloads. TT recommends you leave this parameter equal to no.

SystemPricedLegForLTP

Sets whether the ICE Gateway displays Last Traded Price (LTP) and Last Traded Quantity (LTQ) for system generated prices only. For information on displaying last traded price and last traded quantity for true, non-system generated prices, refer to the TT Gateway Architecture SAM Version 7.X.

This parameter has two values available:

  • 0: The ICE Gateway does not display last traded price or last traded quantity for system generated prices.
  • 1: The ICE Gateway displays last traded price and last traded quantity for system generated prices.

By default, the ICE Gateway installs with SystemPricedLegForLTP=0.

Warning: Setting this parameter to 1, especially intra-day, will have negative effects on utilities and tools (e.g., Autospreader®) that use the last traded price and/or last traded quantity to trigger an event because the updates may be away from the inside market when the updates occur.

IncludeSystemPriceLegsInVAP

Sets whether the Price Server updates VAP for spread trades. This parameter has two available settings:

  • 0: VAP does not update to include spread trades.
  • 1: VAP updates to include spread trades.

By default, ICE Gateways install set to 1. If this parameter is missing, the ICE Gateway behaves as if set to 1.

Note

Setting SystemPricedLegForLTP=1 will override IncludeSystemPriceLegsInVAP. VAP will appear on the legs even when IncludeSystemPriceLegsInVAP=0.

TcpWindowSize

Sets the receive buffer size, in k, for the ICE Gateway.

For assistance with setting TcpWindowSize, please contact your TAM. Your TAM will determine the appropriate TCP window size using the following formula: TCP window size = (Bandwidth of the link in BPS) * (round trip time in seconds) / 8192. This parameter must be set to a whole number.

By default, this parameter is not present and the Gateway behaves as if TcpWindowSize=128.

Section: [SpreadRatios]

This section configures the spread ratio for inter-product contracts in which the spread ratio is not 1 to 1.

The parameters in this section follow the format: “<ProductName>”=<qty 1>, <qty 2>, <qty 3>, <qty 4> where:

  • <ProductName> equals the name of the contract you wish to trade. You must include quotation marks around the product name (e.g., “ICE HO-GO Spr”)
  • <qty 1> equals the ratio of contracts the trader wishes to buy. This is listed as a positive integer.
  • <qty 2> equals the ratio of contracts the trader wishes to sell. This is listed as a negative integer.
  • <qty 3> equals the amount the trade quantity increases/decreases for each quantity change.
  • <qty 4> equals the amount the trade quantity changes as set by the Exchange.