Try TT Now

Configuring the priceproxy.ini File

Customizing priceproxy.ini

After installing Price Proxy and setting up your MPF environment, you must customize the priceproxy.ini file (located in <root drive>:ttconfig) on each mapped TT Gateways in your MPF environment.

Using priceproxy.ini, you configure Price Proxy on the mapped TT Gateway to:

  • Heartbeat using the mapped TT Gateway’s exchange-flavor. When so configured all connected TT machines virtually identify themselves as connected to and receiving prices from a Price Server on the mapped TT Gateway.
  • Connect to the MPF Server for all price communications and interactions.
  • Customize the delay (in milliseconds) Price Proxy applies to market depth snapshot requests.
  • Customize the delay (in milliseconds) Price Proxy applies to inside market snapshot requests.
  • Disable local or remote tokens.

For further details on how snapshot delays function, refer to Snapshot Delays.

Snapshot Delays

To alleviate potential heavy loads of price requests at the start of a trading day or in a disaster recovery scenario, Price Proxy uses delays on both inside market and market depth snapshot requests:

  • depth_snapshot_delay_msecs: Sets the market depth snapshot in milliseconds.
  • im_snapshot_delay_msecs: Sets the inside market snapshot in milliseconds.

When set for a delay (any value greater than 0), after receiving a request for a snapshot, Price Proxy holds the request for the time specified in the appropriate snapshot parameter. During this snapshot delay, the Price Proxy combines any additional requests for the same contract into the original request. When the delay expires, Price Proxy forwards the conglomerate request to the MPF Server. The MPF Server then immediately responds to the request by multicasting the needed data.

The use of delays ensures that the MPF Server is not flooded by snapshot requests when large numbers of traders attempt to connect at the same time. Two scenarios that can incur such periods include at the beginning of a trading session or when the system recovers from a failure (i.e., a disaster recovery).

Price Proxy applies these delays on a contract-level. Both snapshot parameters default to 20.

Example Snapshot Delays Alleviating Disaster Recovery

Customer ABC runs 50 traders in a trading network. The exchange on which ABC traders trade suffers a failure, breaking all connections. When the price connection recovers, all 50 trader workstations submit snapshot requests to the Price Proxy at the same time for the same contract. The Price Proxy receives all 50 requests for snapshot updates, but sends only one request to the MPF Server.

Priceproxy.ini Parameters

The following table lists the parameters in the priceproxy.ini file. The parameters and their values are case-sensitive.

priceproxy.ini Parameters
ParameterDescription

[Name]

Section header. You must set Name to be the Price Proxy Service name. For details on identifying the Price Proxy service name, refer to Identifying the Price Proxy Service Name.

MPF_Server

Specifies the exchange-flavor of the MPF Server to which the Price Proxy connects.

price_update_mode

In an MPF environment, this sets this Price proxy to connect to either PFX-enabled or PFX-disabled Price servers. Before enabling PFX on this Price Proxy, make sure all clients are upgraded to a PFX supported version and that all the Gateways have been upgraded to PFX capable Gateways.

Refer to the TT Gateway System Administration Manual for information about enabling PFX on the gateways.
  • PFX: The Price Proxy can only connect to PFX-enabled Price servers.
  • TTAPI: The Price Proxy can only connect to PFX-disabled Price servers. The default is TTAPI.

log_nonpfx_clients

Specifies whether or not the Price Proxy logs a message if any non-PFX clients connect to the Price Proxy when price_update_mode is set to PFX.

  • true: A message is logged if a non-PFX client connects to a PFX enabled proxy.
  • false: No message is logged if a non-PFX client connect to a PFX enabled Price Proxy. The default value is false.

heartbeat_as

Specifies the exchange-flavor of the mapped TT Gateway on which the Price Proxy runs.

Price Proxy heartbeats with client applications using the specified exchange-flavor.

depth_snapshot_delay_msecs

The delay that Price Proxy applies to all requests for snapshots of a specified contract’s market depth (in milliseconds).

If this parameter is missing or set incorrectly, the Price Proxy behaves as if set to 20.

im_snapshot_delay_msecs

The delay that Price Proxy applies to all requests for snapshots of a specified contract’s inside market (in milliseconds).

If this parameter is missing or set incorrectly, the Price Proxy behaves as if set to 20.

reject_detail_depth

Sets whether or not the Price Proxy forwards detail depth requests to the MPF Server-based Price Server. TT recommends that you configure reject_detail_depth to support the behavior of the Price Server (i.e., if the Price Server supports detailed depth, set reject_detail_depth to false).

  • true: The Price Proxy does not forward detail depth requests.
  • false: The Price Proxy forward detail depth requests to the MPF Server-based Price Server.

To determine whether your TT Gateway supports detailed depth, refer to the Getting Started Guide or SAM for that type of TT Gateway.

If this parameter is missing or set incorrectly, the Price Proxy behaves as if set to true.

mpf_server_farm

Sets whether the MPF Server is deployed as part of an MPF Server farm.

  • true: The Price Proxy downloads the product table directly from the Price Server on the MPF Server.
  • false: The Price Proxy downloads the product table from Guard Server on the MPF Server.

If this parameter is missing or set incorrectly, the Price Proxy behaves as if set to false.

Warning

Do not change this setting without direct support from TT.

contracts_per_message

Sets the number of contracts that the Price Proxy includes in each message when it responds to price table or contract download requests from client applications.

This parameter must be greater than 0. If the contracts_per_message parameter is missing or set incorrectly, Price Proxy uses a default value of 50.

Do not change this parameter unless instructed by a member of TT to do so.

Note

TT Gateways use a similar parameter located in the AConfigUtil. Price Proxy ignores the value in the AConfigUtil and behaves based on the value set in the priceproxy.ini file instead.

enable_local_token

The enable_local_token setting replaces the AConfig.Core.Client.API-Specific.EnableToken for client-side Price Proxy behavior.

Set enable_local_token to true to turn on proxy's token system in its interaction with its clients. Set enable_local_token to false to remove the "uptodate" token messages that show up in the logfile.

If this parameter is missing or incorrectly configured, the value defaults to true.

enable_remote_token

The enable_remote_token setting replaces the AConfig.Core.Server.Exchange-Specific.[ExchIds].Price-Server.TokenEnabled for server-side Price Proxy behavior.

Set enable_remote_token to true to turn on proxy's token system in its interaction with the MPF.

Set the enable_remote_token to false prevents the Product/Contract date from persisting to file (on the Proxy machine).

If this parameter is missing or incorrectly configured, the value defaults to true.

priority_id

The priority_id parameter specifies a priority order for each Price Proxy in the system.

When two Price Proxies in a failover pair disconnect and then reconnect, both Price Proxies may attempt to become primary. When this happens, the Price Proxy with the higher priority becomes the primary Price Proxy and the Price Proxy with the lower priority reverts to standby. If the priority_id parameters are identical, priority is determined by the IP address (with the higher IP address becoming primary).

The priority_id parameter is set to 0 by default on all Price Proxies.