developers:websocket:messages

T4 Protocol Message Reference

This document provides a reference for all messages in the T4 Protocol. The protocol uses Protocol Buffers (protobuf) for message serialization.

All communication in the T4 Protocol is done via a pair of envelope messages: ClientMessage (client to server) and ServerMessage (server to client). These messages encapsulate all other message types using Protocol Buffers' oneof field.

The ClientMessage is sent from the client to the server and can contain any of the following payloads:

Field Type Description
heartbeat Heartbeat A simple heartbeat to maintain connection
login_request LoginRequest Authentication request
market_depth_subscribe MarketDepthSubscribe Request to subscribe to market depth data
market_by_order_subscribe MarketByOrderSubscribe Request to subscribe to market by order data
account_subscribe AccountSubscribe Request to subscribe to account data
order_submit OrderSubmit Submit a new order
order_revise OrderRevise Modify an existing order
order_pull OrderPull Cancel an existing order
create_uds CreateUDS Create a user-defined strategy

The ServerMessage is sent from the server to the client and can contain any of the following payloads:

Field Type Description
heartbeat Heartbeat A simple heartbeat to maintain connection
login_response LoginResponse Authentication response
market_depth_subscribe_reject MarketDepthSubscribeReject Rejection of market depth subscription
market_by_order_subscribe_reject MarketByOrderSubscribeReject Rejection of market by order subscription
market_details MarketDetails Details about a market
market_depth MarketDepth Market depth data
market_depth_trade MarketDepthTrade Trade data for a market
market_high_low MarketHighLow High/low prices for a market
market_price_limits MarketPriceLimits Price limits for a market
market_settlement MarketSettlement Settlement data for a market
market_snapshot MarketSnapshot Complete snapshot of a market
market_by_order_snapshot MarketByOrderSnapshot Complete snapshot of order book
market_by_order_update MarketByOrderUpdate Update to the order book
account_subscribe_response AccountSubscribeResponse Response to account subscription
account_currency AccountCurrency Account currency information
account_position AccountPosition Position data for an account
account_update AccountUpdate Update to account data
account_details AccountDetails Detailed account information
account_snapshot AccountSnapshot Complete snapshot of account data
order_update OrderUpdate Update to an order
order_update_multi OrderUpdateMulti Multiple order updates
order_update_failed OrderUpdateFailed Failed order update
order_update_status OrderUpdateStatus Order status update
order_update_trade OrderUpdateTrade Trade update for an order
order_update_trade_leg OrderUpdateTradeLeg Trade leg update for a complex order
create_uds_response CreateUDSResponse Response to user-defined strategy creation

The Heartbeat message is used to maintain an active connection between client and server.

Field Type Description
timestamp int64 UTC timestamp in milliseconds

The LoginRequest message is used to authenticate with the server. It supports either API key authentication or username/password authentication.

Field Type Description
api_key string API key for authentication (if used, this is the only required field)
firm string Firm name/identifier for username/password authentication
username string Username for authentication
password string Password for authentication
app_name string Application name
app_license string Application license key

The LoginResponse message is the server's response to a login request.

Field Type Description
result LoginResult Result of the login attempt
session_id string Session identifier for the authenticated session
user_id string User identifier
firm_id string Firm identifier
roles repeated string List of roles the user has
error_message string Error message if login failed
exchanges repeated Exchange List of exchanges the user has access to
accounts repeated Account List of accounts the user has access to

The Exchange message inside LoginResponse contains details about an exchange the user has access to.

Field Type Description
exchange_id string Exchange identifier
user_id string User identifier for this exchange
market_data_type MarketDataType Type of market data available
has_executing_account bool Whether the user has an executing account on this exchange
primary_user_id string Primary user identifier
secondary_user_id string Secondary user identifier
location string Location identifier
smp_id string SMP identifier
extra_detail map<string, string> Additional exchange-specific details

The Account message inside LoginResponse contains details about an account the user has access to.

Field Type Description
account_id string Account identifier
account_number string Account number
account_name string Account name
display_name string Display name for the account
mode AccountMode Account mode

The MarketDepthSubscribe message is used to subscribe to market depth data for a specific market.

Field Type Description
exchange_id string Exchange identifier
contract_id string Contract identifier
market_id string Market identifier
buffer DepthBuffer Type of depth buffer to subscribe to
depth_levels DepthLevels Number of depth levels to receive

The MarketDepthSubscribeReject message is sent when a market depth subscription request is rejected.

Field Type Description
market_id string Market identifier
time google.protobuf.Timestamp Time of rejection
mode MarketMode Current market mode

The MarketByOrderSubscribe message is used to subscribe to market-by-order data for a specific market.

Field Type Description
exchange_id string Exchange identifier
contract_id string Contract identifier
market_id string Market identifier
subscribe bool Whether to subscribe (true) or unsubscribe (false)

The MarketByOrderSubscribeReject message is sent when a market-by-order subscription request is rejected.

Field Type Description
market_id string Market identifier
time google.protobuf.Timestamp Time of rejection
mode MarketMode Current market mode

The MarketDetails message contains detailed information about a specific market.

Field Type Description
market_id string Market identifier
exchange_id string Exchange identifier
contract_id string Contract identifier
expiry_date int32 Expiry date of the contract
contract_type ContractType Type of contract
decimals int32 Number of decimal places in prices
point_value Decimal Value of one price point
min_price_increment Price Minimum price increment
order_types int32 Bitfield of supported order types
activation_date google.protobuf.Timestamp Activation date of the market
last_trading_date google.protobuf.Timestamp Last trading date of the market
last_client_update_time google.protobuf.Timestamp Time of last client update
delist_date int64 Date when market will be delisted
exchange_delist_date int64 Exchange's delist date for the market
market_ref string Market reference
group string Market group
legs repeated LegItem Market legs (for multi-leg markets)
details string Additional market details
strategy_type StrategyType Type of strategy (for multi-leg markets)
price_code string Price code
real_decimals int32 Actual number of decimal places
display_decimals int32 Number of decimal places to display
clearing_decimals int32 Number of decimal places for clearing
min_cab_price Price Minimum cabinet price
strike_price Price Strike price (for options)
volume_increment int32 Volume increment
strategy_ratio double Strategy ratio
disabled bool Whether the market is disabled
underlying_market_id string Identifier of the underlying market
vtt string Variance Time Trading identifier
maint_intra_margin double Maintenance intraday margin
maint_margin double Maintenance margin
maint_vol_scan double Maintenance volume scan

The LegItem message is a component of MarketDetails and describes a leg in a multi-leg market.

Field Type Description
market_id string Market identifier of the leg
group int32 Group identifier
volume int32 Volume/ratio of the leg
delta string Delta value
price Price Price of the leg

The MarketDepth message contains market depth information for a specific market.

Field Type Description
market_id string Market identifier
depth_levels DepthLevels Number of depth levels provided
depth_buffer DepthBuffer Type of depth buffer
time google.protobuf.Timestamp Time of the update
delayed bool Whether the data is delayed
bids repeated DepthLine Bid depth levels
offers repeated DepthLine Offer depth levels
implied_bids repeated DepthLine Implied bid depth levels
implied_offers repeated DepthLine Implied offer depth levels
mode MarketMode Current market mode
flags MarketFlags2 Market flags
trade_data TradeData Trade data

The DepthLine message is a component of MarketDepth and describes a single depth level.

Field Type Description
price Price Price at this depth level
volume int32 Volume available at this depth level
num_orders int32 Number of orders at this depth level

The TradeData message is a component of MarketDepth and contains trade information.

Field Type Description
total_traded_volume int32 Total traded volume
total_trade_count int32 Total number of trades
last_trade_price Price Price of the last trade
last_trade_volume int32 Volume of the last trade
last_trade_total_volume int32 Cumulative volume of the last trade
last_trade_spd_price Price Price of the last spread trade
last_trade_spd_volume int32 Volume of the last spread trade
last_trade_spd_total_volume int32 Cumulative volume of the last spread trade
due_to_spread bool Whether the trade was due to a spread
at_bid_or_offer BidOffer Whether the trade was at the bid or offer
time google.protobuf.Timestamp Time of the trade

The MarketDepthTrade message contains information about a trade in a specific market.

Field Type Description
market_id string Market identifier
time google.protobuf.Timestamp Time of the trade
total_traded_volume int32 Total traded volume
last_trade_volume int32 Volume of the last trade
due_to_spread bool Whether the trade was due to a spread
at_bid_or_offer BidOffer Whether the trade was at the bid or offer
delayed bool Whether the data is delayed
order_volumes repeated int32 Volumes of individual orders in the trade
total_trade_count int32 Total number of trades
last_trade_price Price Price of the last trade
mode MarketMode Current market mode

The MarketHighLow message contains high/low price information for a specific market.

Field Type Description
market_id string Market identifier
open_price Price Opening price
high_price Price Highest price
low_price Price Lowest price
trade_date int64 Trade date
time google.protobuf.Timestamp Time of the update
delayed bool Whether the data is delayed

The MarketPriceLimits message contains price limit information for a specific market.

Field Type Description
market_id string Market identifier
high_price Price Upper price limit
low_price Price Lower price limit
time google.protobuf.Timestamp Time of the update
delayed bool Whether the data is delayed

The MarketSettlement message contains settlement information for a specific market.

Field Type Description
exchange_id string Exchange identifier
market_id string Market identifier
delayed bool Whether the data is delayed
settlement_price Price Settlement price
settlement_time google.protobuf.Timestamp Time of settlement
settlement_trade_date google.protobuf.Timestamp Trade date of settlement
settlement_held_price string Held settlement price
settlement_held_time google.protobuf.Timestamp Time of held settlement
settlement_held_trade_date google.protobuf.Timestamp Trade date of held settlement
implied_price Price Implied price
implied_held_price Price Held implied price
implied_time google.protobuf.Timestamp Time of implied price
open_interest int32 Open interest
open_interest_time google.protobuf.Timestamp Time of open interest update
open_interest_trade_date google.protobuf.Timestamp Trade date of open interest
cleared_volume int32 Cleared volume
cleared_volume_time google.protobuf.Timestamp Time of cleared volume update
cleared_volume_trade_date google.protobuf.Timestamp Trade date of cleared volume
vwap_price Price Volume-weighted average price
vwap_time google.protobuf.Timestamp Time of VWAP update
vwap_trade_date google.protobuf.Timestamp Trade date of VWAP

The MarketSnapshotMessage message is a container for different types of market update messages.

Field Type Description
payload oneof One of the following message types: MarketDepth, MarketDepthTrade, MarketHighLow, MarketPriceLimits, MarketSettlement

The MarketSnapshot message contains a complete snapshot of a market's state.

Field Type Description
market_id string Market identifier
mode MarketMode Current market mode
due_to_connection bool Whether the snapshot is due to a new connection
delayed bool Whether the data is delayed
messages repeated MarketSnapshotMessage Market update messages

The MarketByOrderSnapshot message contains a complete snapshot of a market's order book.

Field Type Description
market_id string Market identifier
time google.protobuf.Timestamp Time of the snapshot
mode MarketMode Current market mode
last_sequence uint64 Last sequence number
orders repeated Order Orders in the book

The Order message is a component of MarketByOrderSnapshot and describes a single order in the book.

Field Type Description
order_id uint64 Order identifier
bid_offer BidOffer Whether the order is a bid or offer
price Price Price of the order
volume int32 Volume of the order
priority uint64 Priority of the order

The MarketByOrderUpdate message contains updates to a market's order book.

Field Type Description
market_id string Market identifier
time google.protobuf.Timestamp Time of the update
mode MarketMode Current market mode
sequence uint64 Sequence number
updates repeated Update Order updates

The Update message is a component of MarketByOrderUpdate and describes an update to an order in the book.

Field Type Description
update_type UpdateType Type of update
order_id uint64 Order identifier
bid_offer BidOffer Whether the order is a bid or offer
price Price Price of the order
volume int32 Volume of the order
priority uint64 Priority of the order

The AccountSubscribe message is used to subscribe to account data.

Field Type Description
subscribe AccountSubscribeType Type of subscription
subscribe_all_accounts bool Whether to subscribe to all accessible accounts
account_id repeated string List of specific account IDs to subscribe to

The AccountSubscribeResponse message is the server's response to an account subscription request.

Field Type Description
success bool Whether the subscription request was successful
errors repeated string Error messages if the request failed

The AccountCurrency message contains currency information for an account.

Field Type Description
currency string Currency code
rate double Exchange rate
import_factor double Import factor for the currency

The AccountPosition message contains position information for a specific market in an account.

Field Type Description
account_id string Account identifier
exchange_id string Exchange identifier
contract_id string Contract identifier
market_id string Market identifier
buys int32 Number of buy trades
sells int32 Number of sell trades
working_buys int32 Number of working buy orders
working_sells int32 Number of working sell orders
rpl double Realized profit/loss
overnight_upl double Overnight unrealized profit/loss
margin double Margin requirement
mp double Market price
overnight_position int32 Overnight position
currency_rate double Currency exchange rate
trade_date google.protobuf.Timestamp Trade date
premium double Option premium
total_open_volume int32 Total open volume
fees_and_commissions double Fees and commissions
long_mp double Long market price
short_mp double Short market price
prev_position int32 Previous position
prev_margin double Previous margin requirement
prev_rpl double Previous realized profit/loss
prev_upl double Previous unrealized profit/loss
day_buys int32 Number of buy trades today
day_sells int32 Number of sell trades today
average_open_price Price Average open price
total_open_price Price Total open price
total_buy_fill_price Price Total buy fill price
total_sell_fill_price Price Total sell fill price
day_total_buy_fill_price Price Today's total buy fill price
day_total_sell_fill_price Price Today's total sell fill price
total_overnight_price Price Total overnight price
risk_status ContractRiskStatus Risk status of the position
margin_time google.protobuf.Timestamp Time of last margin calculation
alerting_margin double Alerting margin level
alerting_time google.protobuf.Timestamp Time of last alerting
day_margin double Today's margin requirement
full_margin double Full margin requirement
pre_trade_margin double Pre-trade margin requirement

The AccountUpdate message contains updated information for an account.

Field Type Description
account_id string Account identifier
status AccountStatus Account status
balance double Account balance
rpl double Realized profit/loss
overnight_upl double Overnight unrealized profit/loss
margin double Margin requirement
day_margin double Today's margin requirement
full_margin double Full margin requirement
base_margin double Base margin requirement
alerting_margin double Alerting margin level
pre_trade_margin double Pre-trade margin requirement
mp double Market price
premium double Option premium
long_mp double Long market price
short_mp double Short market price
fees_and_commissions double Fees and commissions
prev_margin double Previous margin requirement
imported_net_liq double Imported net liquidation value
imported_net_liq_date google.protobuf.Timestamp Date of imported net liquidation value
prev_imported_net_liq double Previous imported net liquidation value
prev_imported_net_liq_date google.protobuf.Timestamp Date of previous imported net liquidation value
filled_delta double Filled delta
working_delta double Working delta
margin_time google.protobuf.Timestamp Time of last margin calculation
alerting_time google.protobuf.Timestamp Time of last alerting

The AccountDetails message contains detailed information about an account.

Field Type Description
account_id string Account identifier
account_name string Account name
account string Account number
enabled AccountEnabled Account enabled status
deleted bool Whether the account is deleted
max_clip_size int32 Maximum clip size
pre_trade_disabled bool Whether pre-trade checks are disabled
position_rollover bool Whether position rollover is enabled
pl_rollover bool Whether P&L rollover is enabled
firm_id string Firm identifier
min_balance double Minimum balance requirement
margin_pc int32 Margin percentage
loss_limit double Loss limit
loss_limit_pc int32 Loss limit percentage
overnight_margin_pc int32 Overnight margin percentage
order_routing bool Whether order routing is enabled
active_time_start string Start of active trading time
active_time_stop string End of active trading time
warning_threshold_pl int32 P&L warning threshold
warning_threshold_loss_limit int32 Loss limit warning threshold
warning_threshold_margin int32 Margin warning threshold
firm string Firm name
mode AccountMode Account mode
max_account_position int32 Maximum account position
day_loss_limit double Day loss limit
display_name string Display name
wide_market int32 Wide market setting
use_pl_for_margin bool Whether to use P&L for margin calculations
margin_type AccountMarginType Margin type
risk_details string Risk details
price_banding int32 Price banding setting
day_loss_limit_pc int32 Day loss limit percentage
options_settlement bool Whether options settlement is enabled
group_name string Group name
use_premium_for_margin bool Whether to use premium for margin calculations
warning_threshold_min_net_equity double Minimum net equity warning threshold

The AccountSnapshotMessage message is a container for different types of account update messages.

Field Type Description
payload oneof One of the following message types: AccountPosition, AccountUpdate, AccountDetails, AccountCurrency, MarketDetails, OrderUpdateMulti

The AccountSnapshot message contains a complete snapshot of an account's state.

Field Type Description
account_id string Account identifier
last_update_requested int64 Timestamp of last update request
last_update_supplied int64 Timestamp of last update supplied
status AccountStatus Account status
due_to_connection bool Whether the snapshot is due to a new connection
messages repeated AccountSnapshotMessage Account update messages

The OrderActivation message contains information about order activation conditions.

Field Type Description
submit_time google.protobuf.Timestamp Time to submit the order
submit_delay_ms int64 Delay in milliseconds before submitting
cancel_time google.protobuf.Timestamp Time to cancel the order
cancel_delay_ms int64 Delay in milliseconds before canceling
activation_cancel_time google.protobuf.Timestamp Time to cancel the activation
activation_cancel_delay_ms int64 Delay in milliseconds before canceling activation
mode MarketMode Market mode triggering activation
price Price Price triggering activation
volume int32 Volume triggering activation
bid_offer BidOffer Bid/offer triggering activation
implied bool Whether to consider implied prices
queue_submit bool Whether to queue the submission

The OrderSubmit message is used to submit new orders.

Field Type Description
user_id string User identifier
account_id string Account identifier
market_id string Market identifier
order_link OrderLink Order linking type
manual_order_indicator bool Whether the order was manually entered
orders repeated Order Orders to submit

The Order message is a component of OrderSubmit and describes an order to be submitted.

Field Type Description
buy_sell BuySell Buy or sell
price_type PriceType Price type
time_type TimeType Time in force
volume int32 Order volume
max_show int32 Maximum displayed volume
max_volume int32 Maximum total volume
limit_price Price Limit price
stop_price Price Stop price
trail_distance Price Trailing stop distance
tag string Order tag
activation_type ActivationType Activation type
activation_data OrderActivation Activation data

The OrderRevise message is used to modify existing orders.

Field Type Description
user_id string User identifier
account_id string Account identifier
market_id string Market identifier
manual_order_indicator bool Whether the revision was manually entered
revisions repeated Revise Order revisions

The Revise message is a component of OrderRevise and describes a revision to an existing order.

Field Type Description
unique_id string Unique order identifier
volume int32 New order volume
max_show int32 New maximum displayed volume
max_volume int32 New maximum total volume
limit_price Price New limit price
stop_price Price New stop price
trail_price Price New trailing stop price
tag string New order tag
activation_data OrderActivation New activation data

The OrderPull message is used to cancel existing orders.

Field Type Description
user_id string User identifier
account_id string Account identifier
market_id string Market identifier
manual_order_indicator bool Whether the cancellation was manually entered
pulls repeated Pull Orders to cancel

The Pull message is a component of OrderPull and describes an order to be cancelled.

Field Type Description
unique_id string Unique order identifier
tag string Order tag

The CreateUDS message is used to create a user-defined strategy.

Field Type Description
request_id string Request identifier
user_id string User identifier
account_id string Account identifier
strategy_type StrategyType Strategy type
legs repeated Leg Strategy legs

The Leg message is a component of CreateUDS and describes a leg in a user-defined strategy.

Field Type Description
exchange_id string Exchange identifier
contract_id string Contract identifier
market_id string Market identifier
buy_sell BuySell Buy or sell
volume int32 Leg volume
price Price Leg price
delta Decimal Leg delta

The OrderUpdateFailed message is sent when an order update fails.

Field Type Description
unique_id string Unique order identifier
account_id string Account identifier
market_id string Market identifier
time google.protobuf.Timestamp Time of the failure
exchange_time google.protobuf.Timestamp Exchange time of the failure
change OrderChange Type of order change that failed
status OrderStatus Order status
status_detail string Detailed status information
response_pending ResponsePending Type of response pending
tag_cl_ord_id string Client order ID tag
sequence_order int32 Sequence number

The OrderUpdateStatus message contains status information for an order update.

Field Type Description
unique_id string Unique order identifier
account_id string Account identifier
market_id string Market identifier
time google.protobuf.Timestamp Time of the update
exchange_time google.protobuf.Timestamp Exchange time of the update
change OrderChange Type of order change
status OrderStatus Order status
status_detail string Detailed status information
response_pending ResponsePending Type of response pending
exchange_order_id string Exchange order identifier
current_volume int32 Current order volume
current_limit_price Price Current limit price
current_stop_price Price Current stop price
price_type PriceType Price type
time_type TimeType Time in force
working_volume int32 Working volume
executing_login_id string Executing login identifier
activation_type ActivationType Activation type
trail_price Price Trailing stop price
current_max_show int32 Current maximum displayed volume
user_id string User identifier
user_name string User name
user_address string User address
session_id string Session identifier
app_id string Application identifier
app_name string Application name
routing_user_id string Routing user identifier
routing_user_name string Routing user name
new_volume int32 New order volume
new_limit_price Price New limit price
new_stop_price Price New stop price
new_max_show int32 New maximum displayed volume
tag string Order tag
tag_cl_ord_id string Client order ID tag
tag_orig_cl_ord_id string Original client order ID tag
smp_id string SMP identifier
exchange_login_id string Exchange login identifier
exchange_location string Exchange location
ats_regulatory_id string ATS regulatory identifier
max_volume int32 Maximum total volume
sequence_order int32 Sequence number
authorized_trader_id string Authorized trader identifier
instruction_extra map<string, string> Additional instruction details
app_type ApplicationType Application type
activation_details string Activation details

The OrderUpdateTrade message contains trade information for an order.

Field Type Description
unique_id string Unique order identifier
account_id string Account identifier
market_id string Market identifier
time google.protobuf.Timestamp Time of the trade
exchange_time google.protobuf.Timestamp Exchange time of the trade
change OrderChange Type of order change
status OrderStatus Order status
status_detail string Detailed status information
response_pending ResponsePending Type of response pending
total_fill_volume int32 Total filled volume
working_volume int32 Working volume
volume int32 Trade volume
price Price Trade price
residual_volume int32 Residual volume
exchange_trade_id string Exchange trade identifier
contra_trader string Contra trader
contra_broker string Contra broker
trade_date int64 Trade date
sequence_order int32 Sequence number

The OrderUpdateTradeLeg message contains trade information for a leg of a multi-leg order.

Field Type Description
unique_id string Unique order identifier
account_id string Account identifier
market_id string Market identifier
time google.protobuf.Timestamp Time of the trade
exchange_time google.protobuf.Timestamp Exchange time of the trade
change OrderChange Type of order change
status OrderStatus Order status
status_detail string Detailed status information
response_pending ResponsePending Type of response pending
leg_index int32 Leg index
volume int32 Trade volume
price Price Trade price
exchange_trade_id string Exchange trade identifier
contra_trader string Contra trader
contra_broker string Contra broker
residual_volume int32 Residual volume
trade_date int64 Trade date
sequence_order int32 Sequence number

The OrderUpdate message contains comprehensive information about an order update.

Field Type Description
unique_id string Unique order identifier
account_id string Account identifier
market_id string Market identifier
time google.protobuf.Timestamp Time of the update
exchange_time google.protobuf.Timestamp Exchange time of the update
change OrderChange Type of order change
status OrderStatus Order status
status_detail string Detailed status information
response_pending ResponsePending Type of response pending
exchange_order_id string Exchange order identifier
submit_time google.protobuf.Timestamp Submission time
trade_date int64 Trade date
exchange_id string Exchange identifier
exchange_login_id string Exchange login identifier
executing_login_id string Executing login identifier
exchange_location string Exchange location
user_id string User identifier
user_name string User name
user_address string User address
session_id string Session identifier
app_id string Application identifier
app_name string Application name
buy_sell BuySell Buy or sell
price_type PriceType Price type
time_type TimeType Time in force
current_volume int32 Current order volume
current_limit_price Price Current limit price
current_stop_price Price Current stop price
new_volume int32 New order volume
new_limit_price Price New limit price
new_stop_price Price New stop price
open_close OpenClose Open or close
account_number string Account number
cti CTI Customer type indicator
origin Origin Order origin
account_code AccountCode Account code
member_allocation string Member allocation
trader_allocation string Trader allocation
customer_reference string Customer reference
cust_order_handling_inst CustOrderHandlingInstType Customer order handling instruction
avg_price_indicator AvgPriceIndicatorType Average price indicator
avg_price_group_id string Average price group identifier
clearing_trade_price_type ClearingTradePriceType Clearing trade price type
billing_fee BillingFee Billing fee
omnibus_account string Omnibus account
executing_group_id string Executing group identifier
tag string Order tag
total_fill_volume int32 Total filled volume
working_volume int32 Working volume
exchange_total_fill_volume int32 Exchange total filled volume
trail_price Price Trailing stop price
trail_revision_interval int32 Trailing stop revision interval
trail_revision_change int32 Trailing stop revision change
order_link OrderLink Order linking type
orders_linked string Linked order identifiers
activation_type ActivationType Activation type
primary_user PrimaryUserType Primary user type
current_max_show int32 Current maximum displayed volume
new_max_show int32 New maximum displayed volume
routing_user_id string Routing user identifier
routing_user_name string Routing user name
order_source OrderSource Order source
order_source_method OrderSourceMethod Order source method
app_type ApplicationType Application type
master_type MasterType Master or child order
tag_cl_ord_id string Client order ID tag
tag_orig_cl_ord_id string Original client order ID tag
tag_relation_id string Relation ID tag
smp_id string SMP identifier
sequence_order int32 Sequence number
ats_regulatory_id string ATS regulatory identifier
max_volume int32 Maximum total volume
authorized_trader_id string Authorized trader identifier
instruction_extra map<string, string> Additional instruction details
receive_time google.protobuf.Timestamp Time the order was received
activation_details string Activation details
trades repeated Trade Trades for this order
trade_legs repeated TradeLeg Trade legs for this order

The Trade message is a component of OrderUpdate and contains information about a trade.

Field Type Description
sequence_order int32 Sequence number
volume int32 Trade volume
price Price Trade price
residual_volume int32 Residual volume
time google.protobuf.Timestamp Time of the trade
exchange_trade_id string Exchange trade identifier
exchange_time google.protobuf.Timestamp Exchange time of the trade
contra_trader string Contra trader
contra_broker string Contra broker
trade_date int64 Trade date

The TradeLeg message is a component of OrderUpdate and contains information about a trade leg.

Field Type Description
sequence_order int32 Sequence number
leg_index int32 Leg index
volume int32 Trade volume
price Price Trade price
time google.protobuf.Timestamp Time of the trade
exchange_trade_id string Exchange trade identifier
exchange_time google.protobuf.Timestamp Exchange time of the trade
contra_trader string Contra trader
contra_broker string Contra broker
residual_volume int32 Residual volume
trade_date int64 Trade date

The OrderUpdateMultiMessage message is a container for different types of order update messages.

Field Type Description
payload oneof One of the following message types: OrderUpdate, OrderUpdateFailed, OrderUpdateStatus, OrderUpdateTrade, OrderUpdateTradeLeg

The OrderUpdateMulti message contains multiple order updates.

Field Type Description
market_id string Market identifier
account_id string Account identifier
historical bool Whether the updates are historical
updates repeated OrderUpdateMultiMessage Order updates

The CreateUDSResponse message is the server's response to a user-defined strategy creation request.

Field Type Description
request_id string Request identifier
status_detail string Detailed status information
MarketRef string Market reference
uds_status UDSStatus UDS creation status

This section contains all the enum types used in the T4 Protocol messages.

The ActivationType enum defines possible activation types for orders.

Value Description
ACTIVATION_TYPE_IMMEDIATE Immediate activation
ACTIVATION_TYPE_HOLD Hold for manual activation
ACTIVATION_TYPE_TRIGGERED Triggered activation
ACTIVATION_TYPE_AT_OR_AFTER_TIME Activate at or after specified time
ACTIVATION_TYPE_AT_OR_ABOVE_TRADE_TICKS Activate at or above trade price in ticks
ACTIVATION_TYPE_AT_OR_BELOW_TRADE_TICKS Activate at or below trade price in ticks
ACTIVATION_TYPE_ON_MARKET_MODE Activate on specific market mode
ACTIVATION_TYPE_TRIGGERED_AT_OR_AFTER_TIME Trigger activation at or after specified time
ACTIVATION_TYPE_TRIGGERED_AT_OR_ABOVE_TRADE_TICKS Trigger activation at or above trade price in ticks
ACTIVATION_TYPE_TRIGGERED_AT_OR_BELOW_TRADE_TICKS Trigger activation at or below trade price in ticks
ACTIVATION_TYPE_TRIGGERED_ON_MARKET_MODE Trigger activation on specific market mode
ACTIVATION_TYPE_QUEUE Queue activation
ACTIVATION_TYPE_TRIGGERED_QUEUE Triggered queue activation
ACTIVATION_TYPE_PIT_FILLED_QUEUE Pit filled queue activation
ACTIVATION_TYPE_AT_OR_ABOVE_TICKS Activate at or above price in ticks
ACTIVATION_TYPE_AT_OR_BELOW_TICKS Activate at or below price in ticks
ACTIVATION_TYPE_TRIGGERED_AT_OR_ABOVE_TICKS Trigger activation at or above price in ticks
ACTIVATION_TYPE_TRIGGERED_AT_OR_BELOW_TICKS Trigger activation at or below price in ticks
ACTIVATION_TYPE_MARKET_ON_CLOSE Market on close activation
ACTIVATION_TYPE_UNDEFINED Undefined activation type

The AccountCode enum defines possible account codes.

Value Description
ACCOUNT_CODE_UNDEFINED Undefined account code
ACCOUNT_CODE_NONE No account code
ACCOUNT_CODE_GIVE_UP_TO_SINGLE_FIRM Give up to single firm
ACCOUNT_CODE_GIVE_UP_TO_MULTIPLE_FIRMS Give up to multiple firms
ACCOUNT_CODE_MARKET_MAKER Market maker account
ACCOUNT_CODE_AGENT_A1 Agent A1 account
ACCOUNT_CODE_GIVE_UP_G1 Give up G1 account
ACCOUNT_CODE_GIVE_UP_G2 Give up G2 account
ACCOUNT_CODE_MARKET_MAKER_M1 Market maker M1 account
ACCOUNT_CODE_MARKET_MAKER_M2 Market maker M2 account
ACCOUNT_CODE_PROPRIETARY_P1 Proprietary P1 account
ACCOUNT_CODE_PROPRIETARY_P2 Proprietary P2 account
ACCOUNT_CODE_SEGREGATED Segregated account
ACCOUNT_CODE_NON_SEGREGATED Non-segregated account
ACCOUNT_CODE_HOUSE House account
ACCOUNT_CODE_LOCAL Local account
ACCOUNT_CODE_DEFAULT Default account
ACCOUNT_CODE_ALLOCATED Allocated account
ACCOUNT_CODE_SPLIT Split account
ACCOUNT_CODE_UNASSIGNED Unassigned account
ACCOUNT_CODE_GAS_ASSOCIATE Gas associate account
ACCOUNT_CODE_CUSTOMER Customer account
ACCOUNT_CODE_US_CUSTOMER_FUTURES US customer futures account
ACCOUNT_CODE_US_CUSTOMER_SWAPS US customer swaps account
ACCOUNT_CODE_US_CUSTOMER_FBOT US customer FBOT account
ACCOUNT_CODE_FIRM Firm account
ACCOUNT_CODE_MEMBER_CUSTOMER_SEGREGATED_ACCOUNT Member customer segregated account
ACCOUNT_CODE_MEMBER_HOUSE_ACCOUNT Member house account
ACCOUNT_CODE_MEMBER_SIPC_PROTECTED_ACCOUNT Member SIPC protected account
ACCOUNT_CODE_USER_PROXY_FOR_TRADER_CUSTOMER_SEGREGATED_ACCOUNT User proxy for trader customer segregated account
ACCOUNT_CODE_USER_PROXY_FOR_TRADER_HOUSE_ACCOUNT User proxy for trader house account
ACCOUNT_CODE_USER_PROXY_FOR_TRADER_SIPC_PROTECTED_ACCOUNT User proxy for trader SIPC protected account
ACCOUNT_CODE_NON_MEMBER_HOUSE_ACCOUNT Non-member house account
ACCOUNT_CODE_NON_MEMBER_SIPC_PROTECTED_ACCOUNT Non-member SIPC protected account
ACCOUNT_CODE_CUSTOMER_FLOOR_BROKER_WORKSTATION Customer floor broker workstation account
ACCOUNT_CODE_AGENT_A2 Agent A2 account
ACCOUNT_CODE_AGENT_A3 Agent A3 account
ACCOUNT_CODE_AGENT_A4 Agent A4 account
ACCOUNT_CODE_AGENT_A5 Agent A5 account
ACCOUNT_CODE_AGENT_A6 Agent A6 account
ACCOUNT_CODE_AGENT_A7 Agent A7 account
ACCOUNT_CODE_AGENT_A8 Agent A8 account
ACCOUNT_CODE_AGENT_A9 Agent A9 account
ACCOUNT_CODE_CLIENT_SEGREGATED_E Client segregated E account
ACCOUNT_CODE_CLIENT_SEGREGATED_K Client segregated K account
ACCOUNT_CODE_CLIENT_SEGREGATED_R Client segregated R account
ACCOUNT_CODE_SEGREGATED_T Segregated T account
ACCOUNT_CODE_INDIRECT_CLEARING_GROSS_ISOC_CASS Indirect clearing gross ISOC CASS account
ACCOUNT_CODE_INDIRECT_CLEARING_GROSS_ISOC_TTFCA Indirect clearing gross ISOC TTFCA account
ACCOUNT_CODE_INDIRECT_CLEARING_GROSS_CASS Indirect clearing gross CASS account
ACCOUNT_CODE_INDIRECT_CLEARING_GROSS_TTFCA Indirect clearing gross TTFCA account
ACCOUNT_CODE_INDIRECT_CLEARING_NET_CASS Indirect clearing net CASS account
ACCOUNT_CODE_INDIRECT_CLEARING_NETS_TTFCA Indirect clearing nets TTFCA account
ACCOUNT_CODE_RO RO account
ACCOUNT_CODE_LIQUIDITY_PROVIDER Liquidity provider account
ACCOUNT_CODE_RELATED_PARTY Related party account
ACCOUNT_CODE_STRUCTURED_PRODUCT_MARKET_MAKER Structured product market maker account
ACCOUNT_CODE_OMEGA_CLIENT Omega client account
ACCOUNT_CODE_CERES_CLIENT Ceres client account

The AccountEnabled enum defines possible account enabled states.

Value Description
ACCOUNT_ENABLED_DISABLED Account is disabled
ACCOUNT_ENABLED_ENABLED Account is enabled
ACCOUNT_ENABLED_BACK_OFFICE_ONLY Account is for back office use only
ACCOUNT_ENABLED_PIT_TRADE_ONLY Account is for pit trading only

The AccountMarginType enum defines possible account margin types.

Value Description
ACCOUNT_MARGIN_TYPE_SPEC Speculative margin type
ACCOUNT_MARGIN_TYPE_HEDGE_OR_MEMBER Hedge or member margin type
ACCOUNT_MARGIN_TYPE_FIRM_OR_ACCOUNT Firm or account margin type

The AccountMode enum defines possible account modes.

Value Description
ACCOUNT_MODE_BY_MARKET Account mode by market
ACCOUNT_MODE_BY_CONTRACT Account mode by contract
ACCOUNT_MODE_BY_ACCOUNT Account mode by account
ACCOUNT_MODE_BY_ACCOUNT_DAY Account mode by account day
ACCOUNT_MODE_BY_PORTFOLIO Account mode by portfolio
ACCOUNT_MODE_T500 T500 account mode
ACCOUNT_MODE_T500_DEMO T500 demo account mode
ACCOUNT_MODE_AUTO_LIQ Auto-liquidation account mode
ACCOUNT_MODE_UNKNOWN Unknown account mode

The AccountStatus enum defines possible account statuses.

Value Description
ACCOUNT_STATUS_UNKNOWN Unknown status
ACCOUNT_STATUS_BLOCKED Account is blocked
ACCOUNT_STATUS_OK Account is OK
ACCOUNT_STATUS_UNRESTRICTED Account is unrestricted
ACCOUNT_STATUS_DELETED Account is deleted
ACCOUNT_STATUS_DISABLED Account is disabled
ACCOUNT_STATUS_OUTSIDE_ACTIVE_TIME Account is outside active time
ACCOUNT_STATUS_NOT_ACCESSIBLE Account is not accessible
ACCOUNT_STATUS_PIT_TRADE_ONLY Account is for pit trading only
ACCOUNT_STATUS_LOSS_LIMIT_EXCEEDED Account has exceeded loss limit

The AccountSubscribeType enum defines possible account subscription types.

Value Description
ACCOUNT_SUBSCRIBE_TYPE_NONE No subscription
ACCOUNT_SUBSCRIBE_TYPE_ALL_UPDATES Subscribe to all updates

The ApplicationType enum defines possible application types.

Value Description
APPLICATION_TYPE_MANUAL Manual application type
APPLICATION_TYPE_ATS Automated Trading System application type
APPLICATION_TYPE_PROFESSIONAL Professional application type
APPLICATION_TYPE_NON_PROFESSIONAL Non-professional application type
APPLICATION_TYPE_TRADE_DESK Trade desk application type
APPLICATION_TYPE_WALLBOARD Wallboard application type
APPLICATION_TYPE_SUB_VENDOR Sub-vendor application type
APPLICATION_TYPE_ATS_DISPLAY ATS display application type
APPLICATION_TYPE_FINANCIAL_PROFESSIONAL Financial professional application type

The AvgPriceIndicatorType enum defines possible average price indicator types.

Value Description
AVG_PRICE_INDICATOR_TYPE_NONE No average price indicator
AVG_PRICE_INDICATOR_TYPE_AVERAGE_PRICE_GROUP Average price group indicator
AVG_PRICE_INDICATOR_TYPE_NOTIONAL_VALUE_AVERAGE Notional value average indicator

The BidOffer enum defines possible bid/offer values.

Value Description
BID_OFFER_UNDEFINED Undefined
BID_OFFER_BID Bid side
BID_OFFER_OFFER Offer side

The BillingFee enum defines possible billing fee types.

Value Description
BILLING_FEE_UNDEFINED Undefined billing fee
BILLING_FEE_CUSTOMER Customer billing fee
BILLING_FEE_EQUITY_MEMBER Equity member billing fee
BILLING_FEE_FIRM_106HJ Firm 106HJ billing fee
BILLING_FEE_LESSEE_106F_EMPLOYEE Lessee 106F employee billing fee
BILLING_FEE_CBOE_MEMBER CBOE member billing fee

The BuySell enum defines possible buy/sell values.

Value Description
BUY_SELL_UNDEFINED Undefined
BUY_SELL_BUY Buy side
BUY_SELL_SELL Sell side

The CTI enum defines possible Customer Type Indicator values.

Value Description
CTI_UNDEFINED Undefined CTI
CTI_MEMBER Member CTI
CTI_PROPRIETARY Proprietary CTI
CTI_BROKER_MEMBER Broker member CTI
CTI_BROKER_CUSTOMER Broker customer CTI
CTI_NONE No CTI

The ClearingTradePriceType enum defines possible clearing trade price types.

Value Description
CLEARING_TRADE_PRICE_TYPE_EXECUTION_PRICE Execution price
CLEARING_TRADE_PRICE_TYPE_ALTERNATE_CLEARING_PRICE Alternate clearing price

The ContractRiskStatus enum defines possible contract risk statuses.

Value Description
CONTRACT_RISK_STATUS_NONE No risk status
CONTRACT_RISK_STATUS_DAY_TRADING Day trading risk status
CONTRACT_RISK_STATUS_ALERTING Alerting risk status
CONTRACT_RISK_STATUS_LIQUIDATION Liquidation risk status
CONTRACT_RISK_STATUS_LIQUIDATION_WAITING Liquidation waiting risk status
CONTRACT_RISK_STATUS_BLOCK_EXPIRATION_LIQUIDATION Block expiration liquidation risk status
CONTRACT_RISK_STATUS_PRICE_LIMIT_LIQUIDATION Price limit liquidation risk status

The ContractType enum defines possible contract types.

Value Description
CONTRACT_TYPE_UNKNOWN Unknown contract type
CONTRACT_TYPE_OPTION Option contract
CONTRACT_TYPE_OPTION_CALL Call option contract
CONTRACT_TYPE_OPTION_PUT Put option contract
CONTRACT_TYPE_STOCK Stock contract
CONTRACT_TYPE_FUTURE Future contract
CONTRACT_TYPE_INDEX Index contract
CONTRACT_TYPE_SYNTHETIC Synthetic contract
CONTRACT_TYPE_BINARY_OPTION Binary option contract
CONTRACT_TYPE_UDS User-defined strategy contract
CONTRACT_TYPE_FX_SPOT FX spot contract
CONTRACT_TYPE_ANY Any contract type

The CustOrderHandlingInstType enum defines possible customer order handling instruction types.

Value Description
CUST_ORDER_HANDLING_INST_TYPE_NONE No instruction
CUST_ORDER_HANDLING_INST_TYPE_DESK Desk instruction
CUST_ORDER_HANDLING_INST_TYPE_ELECTRONIC Electronic instruction
CUST_ORDER_HANDLING_INST_TYPE_VENDOR_PROVIDED_PLATFORM Vendor-provided platform instruction
CUST_ORDER_HANDLING_INST_TYPE_SPONSORED_ACCESS_VIA_API_OR_FIX Sponsored access via API or FIX instruction
CUST_ORDER_HANDLING_INST_TYPE_PREMIUM_ALGO_TRADING_PROVIDER Premium algorithmic trading provider instruction
CUST_ORDER_HANDLING_INST_TYPE_OTHER Other instruction

The DepthBuffer enum defines possible depth buffer types.

Value Description
DEPTH_BUFFER_NO_SUBSCRIPTION No subscription
DEPTH_BUFFER_SLOW_TRADE Slow trade buffer
DEPTH_BUFFER_SMART_TRADE Smart trade buffer
DEPTH_BUFFER_SLOW_SMART Slow smart buffer
DEPTH_BUFFER_SMART Smart buffer
DEPTH_BUFFER_FAST_SMART Fast smart buffer
DEPTH_BUFFER_ALL All buffer types
DEPTH_BUFFER_FAST_TRADE Fast trade buffer
DEPTH_BUFFER_TRADE_ONLY Trade-only buffer

The DepthLevels enum defines possible depth level values.

Value Description
DEPTH_LEVELS_UNDEFINED Undefined depth levels
DEPTH_LEVELS_BEST_ONLY Best price only
DEPTH_LEVELS_NORMAL Normal depth levels (10)
DEPTH_LEVELS_ALL All depth levels (255)

The LoginResult enum defines possible login result values.

Value Description
LOGIN_RESULT_SUCCESS Login successful
LOGIN_RESULT_FAILED Login failed
LOGIN_RESULT_APPLICATION_NOT_VALID Application not valid
LOGIN_RESULT_FIRM_NOT_ALLOWED Firm not allowed
LOGIN_RESULT_USER_NOT_ALLOWED User not allowed
LOGIN_RESULT_INCORRECT_VERSION Incorrect version
LOGIN_RESULT_LOGGED_IN_ELSEWHERE User already logged in elsewhere
LOGIN_RESULT_LOGOUT Logout
LOGIN_RESULT_UNEXPECTED_DISCONNECT Unexpected disconnect
LOGIN_RESULT_UNAUTHORIZED Unauthorized
LOGIN_RESULT_UNEXPECTED_ERROR Unexpected error
LOGIN_RESULT_ROLE_NOT_SUPPORTED Role not supported
LOGIN_RESULT_API_MESSAGE_BACKLOG API message backlog
LOGIN_RESULT_SERVER_MESSAGE_BACKLOG Server message backlog
LOGIN_RESULT_PASSWORD_EXPIRED Password expired
LOGIN_RESULT_PASSWORD_CHANGE_FAILED Password change failed
LOGIN_RESULT_PASSWORD_ALREADY_USED Password already used
LOGIN_RESULT_LOCKED_OUT Account locked out
LOGIN_RESULT_ADDITIONAL_USERS_NOT_ALLOWED Additional users not allowed
LOGIN_RESULT_MARKET_DATA_NOT_SETUP Market data not set up
LOGIN_RESULT_TWO_FACTOR_NOT_SETUP Two-factor authentication not set up
LOGIN_RESULT_TWO_FACTOR_FAILED Two-factor authentication failed
LOGIN_RESULT_FIX_SESSION_ERROR FIX session error
LOGIN_RESULT_TWO_FACTOR_REQUIRED Two-factor authentication required
LOGIN_RESULT_USER_EXISTS User already exists
LOGIN_RESULT_UNKNOWN Unknown error

The MarketDataType enum defines possible market data types.

Value Description
MARKET_DATA_TYPE_NONE No market data
MARKET_DATA_TYPE_TOB Top-of-book market data
MARKET_DATA_TYPE_DEPTH Depth market data
MARKET_DATA_TYPE_E_MINI E-mini market data
MARKET_DATA_TYPE_DELAYED Delayed market data
MARKET_DATA_TYPE_NOT_SET Market data type not set

The MarketFlags2 enum defines possible market flags.

Value Description
MARKET_FLAGS2_UNDEFINED Undefined flags
MARKET_FLAGS2_FAST Fast market
MARKET_FLAGS2_PRICE_LIMITS_ENABLED Price limits enabled
MARKET_FLAGS2_NO_CANCEL No cancellations allowed
MARKET_FLAGS2_IMPLIED_OFF Implied prices turned off
MARKET_FLAGS2_NEW_PRICE_INDICATION New price indication
MARKET_FLAGS2_NOT_AVAILABLE_FOR_TRADING Not available for trading
MARKET_FLAGS2_POST_CLOSE Post-close session
MARKET_FLAGS2_GROUP_SCHEDULE Group schedule
MARKET_FLAGS2_INSTRUMENT_ACTIVATION Instrument activation
MARKET_FLAGS2_INSTRUMENT_EXPIRATION Instrument expiration
MARKET_FLAGS2_MARKET_EVENT Market event
MARKET_FLAGS2_RECOVERY_IN_PROCESS Recovery in process
MARKET_FLAGS2_SURVEILLANCE_INTERVENTION Surveillance intervention

The MarketMode enum defines possible market modes.

Value Description
MARKET_MODE_UNDEFINED Undefined mode
MARKET_MODE_PRE_OPEN Pre-open mode
MARKET_MODE_OPEN Open mode
MARKET_MODE_RESTRICTED_OPEN Restricted open mode
MARKET_MODE_PRE_CLOSED Pre-closed mode
MARKET_MODE_CLOSED Closed mode
MARKET_MODE_SUSPENDED Suspended mode
MARKET_MODE_HALTED Halted mode
MARKET_MODE_FAILED Failed mode
MARKET_MODE_PRE_CROSS Pre-cross mode
MARKET_MODE_CROSS Cross mode
MARKET_MODE_EXPIRED Expired mode
MARKET_MODE_REJECTED Rejected mode
MARKET_MODE_UNAVAILABLE Unavailable mode
MARKET_MODE_NO_PERMISSION No permission mode

The MasterType enum defines possible master types.

Value Description
MASTER_TYPE_MASTER Master order
MASTER_TYPE_CHILD Child order

The OpenClose enum defines possible open/close values.

Value Description
OPEN_CLOSE_OPEN Open position
OPEN_CLOSE_CLOSE Close position
OPEN_CLOSE_UNDEFINED Undefined

The OrderChange enum defines possible order change types.

Value Description
ORDER_CHANGE_NONE No change
ORDER_CHANGE_FAILED Change failed
ORDER_CHANGE_SUBMISSION_RISK_SUCCESS Submission risk check succeeded
ORDER_CHANGE_SUBMISSION_RISK_REJECTED Submission risk check rejected
ORDER_CHANGE_SUBMISSION_SENT Submission sent
ORDER_CHANGE_SUBMISSION_FAILED Submission failed
ORDER_CHANGE_SUBMISSION_SUCCESS Submission succeeded
ORDER_CHANGE_SUBMISSION_REJECTED Submission rejected
ORDER_CHANGE_REVISION_RISK_SUCCESS Revision risk check succeeded
ORDER_CHANGE_REVISION_RISK_FAILED Revision risk check failed
ORDER_CHANGE_REVISION_SENT Revision sent
ORDER_CHANGE_REVISION_FAILED Revision failed
ORDER_CHANGE_REVISION_SUCCESS Revision succeeded
ORDER_CHANGE_REVISION_REJECTED Revision rejected
ORDER_CHANGE_PULL_RISK_SUCCESS Pull risk check succeeded
ORDER_CHANGE_PULL_RISK_FAILED Pull risk check failed
ORDER_CHANGE_PULL_SENT Pull sent
ORDER_CHANGE_PULL_FAILED Pull failed
ORDER_CHANGE_PULL_SUCCESS Pull succeeded
ORDER_CHANGE_PULL_REJECTED Pull rejected
ORDER_CHANGE_TRADE Trade
ORDER_CHANGE_TRADE_COMPLETED Trade completed
ORDER_CHANGE_TRADE_BUSTED Trade busted
ORDER_CHANGE_HANDOVER Handover
ORDER_CHANGE_STATUS_REQUEST_RISK_SUCCESS Status request risk check succeeded
ORDER_CHANGE_STATUS_REQUEST_RISK_FAILED Status request risk check failed
ORDER_CHANGE_STATUS_REQUEST_SENT Status request sent
ORDER_CHANGE_STATUS_REQUEST_FAILED Status request failed
ORDER_CHANGE_STATUS_REQUEST_SUCCESS Status request succeeded
ORDER_CHANGE_STATUS_REQUEST_REJECTED Status request rejected
ORDER_CHANGE_ROLLOVER Rollover
ORDER_CHANGE_TAG_SUCCESS Tag update succeeded
ORDER_CHANGE_TAG_FAILED Tag update failed
ORDER_CHANGE_ADD_PIT_TRADE_SUCCESS Add pit trade succeeded
ORDER_CHANGE_ADD_PIT_TRADE_FAILED Add pit trade failed
ORDER_CHANGE_ADD_PIT_TRADE_REJECTED Add pit trade rejected

The OrderLink enum defines possible order linking types.

Value Description
ORDER_LINK_NONE No linking
ORDER_LINK_OCO One-cancels-other linking
ORDER_LINK_AUTO_OCO Automatic one-cancels-other linking
ORDER_LINK_SPARK Spark linking
ORDER_LINK_CLIENT_SYNTHETIC Client synthetic linking
ORDER_LINK_SPARK2 Spark2 linking
ORDER_LINK_CHAIN2 Chain2 linking
ORDER_LINK_AUTO_OCO_P Automatic one-cancels-other price linking
ORDER_LINK_AUTO_OCO_M Automatic one-cancels-other market linking
ORDER_LINK_AUTO_OCO_MP Automatic one-cancels-other market price linking

The OrderSource enum defines possible order sources.

Value Description
ORDER_SOURCE_UNKNOWN Unknown source
ORDER_SOURCE_API API source
ORDER_SOURCE_WEB_TRADER Web trader source
ORDER_SOURCE_MOBILE Mobile source
ORDER_SOURCE_DATA_IMPORT Data import source
ORDER_SOURCE_ACCOUNT_HANDLER Account handler source
ORDER_SOURCE_STATIC_LADDER Static ladder source
ORDER_SOURCE_SCROLLING_LADDER Scrolling ladder source
ORDER_SOURCE_CENTERED_LADDER Centered ladder source
ORDER_SOURCE_AUTO_RECENTERED_LADDER Auto-recentered ladder source
ORDER_SOURCE_DEPTH Depth source
ORDER_SOURCE_QUOTEBOARD Quoteboard source
ORDER_SOURCE_OPTIONBOARD Optionboard source
ORDER_SOURCE_ADV_OPTIONBOARD Advanced optionboard source
ORDER_SOURCE_ORDERBOOK Order book source
ORDER_SOURCE_SPREAD_MATRIX Spread matrix source
ORDER_SOURCE_FIX_API FIX API source
ORDER_SOURCE_CLIENT_SPREADER Client spreader source
ORDER_SOURCE_ANTS_OPTION_SHEET ANTS option sheet source
ORDER_SOURCE_ANTS_OPTION_STRATEGY_SOLVER ANTS option strategy solver source
ORDER_SOURCE_JAVA_API Java API source
ORDER_SOURCE_ANTS_OPTION_STRATEGIES_WINDOW ANTS option strategies window source
ORDER_SOURCE_CHART Chart source
ORDER_SOURCE_STP STP source
ORDER_SOURCE_T4_ANDROID_SCROLLING_LADDER T4 Android scrolling ladder source
ORDER_SOURCE_T4_ANDROID_CENTERED_LADDER T4 Android centered ladder source
ORDER_SOURCE_T4_ANDROID_AUTO_RECENTERED_LADDER T4 Android auto-recentered ladder source
ORDER_SOURCE_T4_ANDROID_DEPTH T4 Android depth source
ORDER_SOURCE_T4_ANDROID_QUOTEBOARD T4 Android quoteboard source
ORDER_SOURCE_T4_ANDROID_POSITIONS T4 Android positions source
ORDER_SOURCE_T4_ANDROID_ORDERS T4 Android orders source
ORDER_SOURCE_T4_ANDROID_CHART T4 Android chart source
ORDER_SOURCE_MQ MQ source
ORDER_SOURCE_IOS_API iOS API source
ORDER_SOURCE_T4_IOS_SCROLLING_LADDER T4 iOS scrolling ladder source
ORDER_SOURCE_T4_IOS_CENTERED_LADDER T4 iOS centered ladder source
ORDER_SOURCE_T4_IOS_AUTO_RECENTERED_LADDER T4 iOS auto-recentered ladder source
ORDER_SOURCE_T4_IOS_DEPTH T4 iOS depth source
ORDER_SOURCE_T4_IOS_QUOTEBOARD T4 iOS quoteboard source
ORDER_SOURCE_T4_IOS_POSITIONS T4 iOS positions source
ORDER_SOURCE_T4_IOS_ORDERS T4 iOS orders source
ORDER_SOURCE_T4_IOS_CHART T4 iOS chart source
ORDER_SOURCE_KEYBOARD Keyboard source
ORDER_SOURCE_HTTP_API HTTP API source

The OrderSourceMethod enum defines possible order source methods.

Value Description
ORDER_SOURCE_METHOD_UNKNOWN Unknown method
ORDER_SOURCE_METHOD_CLICK Click method
ORDER_SOURCE_METHOD_PROMPT Prompt method
ORDER_SOURCE_METHOD_PRICE_CONFIRM Price confirmation method
ORDER_SOURCE_METHOD_ORDER_TICKET Order ticket method
ORDER_SOURCE_METHOD_KEY_ENTRY Key entry method
ORDER_SOURCE_METHOD_ORDER_LOAD_BAR Order load bar method
ORDER_SOURCE_METHOD_CONTRACT_TICKET Contract ticket method
ORDER_SOURCE_METHOD_QUEUED_ORDER_TICKET Queued order ticket method
ORDER_SOURCE_METHOD_CLEARING_HOUSE Clearing house method
ORDER_SOURCE_METHOD_ELECTRONIC Electronic method
ORDER_SOURCE_METHOD_OFF_FACILITY_SWAP Off-facility swap method
ORDER_SOURCE_METHOD_PIT Pit method
ORDER_SOURCE_METHOD_REGISTERED_MARKET Registered market method
ORDER_SOURCE_METHOD_EX_PIT Ex-pit method

The OrderStatus enum defines possible order statuses.

Value Description
ORDER_STATUS_NONE No status
ORDER_STATUS_WORKING Working order
ORDER_STATUS_FINISHED Finished order
ORDER_STATUS_REJECTED Rejected order
ORDER_STATUS_HELD Held order
ORDER_STATUS_NO_CHANGE No change to order status

The Origin enum defines possible origin values.

Value Description
ORIGIN_UNDEFINED Undefined origin
ORIGIN_CUSTOMER Customer origin
ORIGIN_NON_CUSTOMER Non-customer origin
ORIGIN_OTHER_MEMBERS Other members origin
ORIGIN_FLOOR_BROKERS Floor brokers origin
ORIGIN_POSTING_NONE No posting origin
ORIGIN_POSTING_MANUAL Manual posting origin
ORIGIN_POSTING_AUTOMATIC Automatic posting origin
ORIGIN_POSTING_GIVE_UP Give-up posting origin
ORIGIN_POSTING_AUTO_AND_ACT_AUTHORISATION Automatic posting with ACT authorization origin
ORIGIN_POSTING_MANUAL_AND_ACT_AUTHORISATION Manual posting with ACT authorization origin
ORIGIN_PRINCIPAL Principal origin
ORIGIN_MARKET_MAKER Market maker origin

The PriceType enum defines possible price types.

Value Description
PRICE_TYPE_MARKET Market price type
PRICE_TYPE_LIMIT Limit price type
PRICE_TYPE_STOP_MARKET Stop market price type
PRICE_TYPE_STOP_LIMIT Stop limit price type
PRICE_TYPE_OVERNIGHT_POSITION Overnight position price type
PRICE_TYPE_PIT Pit price type
PRICE_TYPE_MARKET_IF_TOUCHED Market-if-touched price type
PRICE_TYPE_STOP_SAME_LIMIT Stop same limit price type
PRICE_TYPE_JOIN Join price type
PRICE_TYPE_HIT Hit price type
PRICE_TYPE_BACK_OFFICE_POSITION Back office position price type
PRICE_TYPE_SYNTHETIC_MARKET Synthetic market price type
PRICE_TYPE_SYNTHETIC_LIMIT Synthetic limit price type
PRICE_TYPE_SYNTHETIC_STOP_MARKET Synthetic stop market price type
PRICE_TYPE_SYNTHETIC_STOP_LIMIT Synthetic stop limit price type
PRICE_TYPE_RFQ Request for quote price type
PRICE_TYPE_FLATTEN Flatten price type
PRICE_TYPE_IMPORT Import price type
PRICE_TYPE_OPTIONS_SETTLEMENT Options settlement price type
PRICE_TYPE_UNDEFINED Undefined price type

The PrimaryUserType enum defines possible primary user types.

Value Description
PRIMARY_USER_TYPE_PRIMARY Primary user
PRIMARY_USER_TYPE_SECONDARY Secondary user
PRIMARY_USER_TYPE_SECONDARY_APPLIED Secondary user, applied
PRIMARY_USER_TYPE_SECONDARY_NOT_APPLIED Secondary user, not applied

The ResponsePending enum defines possible response pending types.

Value Description
RESPONSE_PENDING_NONE No response pending
RESPONSE_PENDING_SUBMISSION Submission response pending
RESPONSE_PENDING_REVISION Revision response pending
RESPONSE_PENDING_PULL Pull response pending
RESPONSE_PENDING_STATUS Status response pending
RESPONSE_PENDING_NO_CHANGE No change response pending

The StrategyType enum defines possible strategy types.

Value Description
STRATEGY_TYPE_NONE No strategy
STRATEGY_TYPE_CALENDAR_SPREAD Calendar spread strategy
STRATEGY_TYPE_RT_CALENDAR_SPREAD Real-time calendar spread strategy
STRATEGY_TYPE_INTER_CONTRACT_SPREAD Inter-contract spread strategy
STRATEGY_TYPE_BUTTERFLY Butterfly strategy
STRATEGY_TYPE_CONDOR Condor strategy
STRATEGY_TYPE_DOUBLE_BUTTERFLY Double butterfly strategy
STRATEGY_TYPE_HORIZONTAL Horizontal strategy
STRATEGY_TYPE_BUNDLE Bundle strategy
STRATEGY_TYPE_MONTH_VS_PACK Month vs. pack strategy
STRATEGY_TYPE_PACK Pack strategy
STRATEGY_TYPE_PACK_SPREAD Pack spread strategy
STRATEGY_TYPE_PACK_BUTTERFLY Pack butterfly strategy
STRATEGY_TYPE_BUNDLE_SPREAD Bundle spread strategy
STRATEGY_TYPE_STRIP Strip strategy
STRATEGY_TYPE_CRACK Crack strategy
STRATEGY_TYPE_TREASURY_SPREAD Treasury spread strategy
STRATEGY_TYPE_CRUSH Crush strategy
STRATEGY_TYPE_THREE_WAY Three-way strategy
STRATEGY_TYPE_THREE_WAY_STRADDLE_VS_CALL Three-way straddle vs. call strategy
STRATEGY_TYPE_THREE_WAY_STRADDLE_VS_PUT Three-way straddle vs. put strategy
STRATEGY_TYPE_BOX Box strategy
STRATEGY_TYPE_XMAS_TREE Christmas tree strategy
STRATEGY_TYPE_CONDITIONAL_CURVE Conditional curve strategy
STRATEGY_TYPE_DOUBLE Double strategy
STRATEGY_TYPE_HORIZONTAL_STRADDLE Horizontal straddle strategy
STRATEGY_TYPE_IRON_CONDOR Iron condor strategy
STRATEGY_TYPE_RATIO_1X2 1×2 ratio strategy
STRATEGY_TYPE_RATIO_1X3 1×3 ratio strategy
STRATEGY_TYPE_RATIO_2X3 2×3 ratio strategy
STRATEGY_TYPE_RISK_REVERSAL Risk reversal strategy
STRATEGY_TYPE_STRADDLE_STRIP Straddle strip strategy
STRATEGY_TYPE_STRADDLE Straddle strategy
STRATEGY_TYPE_STRANGLE Strangle strategy
STRATEGY_TYPE_VERTICAL Vertical strategy
STRATEGY_TYPE_JELLY_ROLL Jelly roll strategy
STRATEGY_TYPE_IRON_BUTTERFLY Iron butterfly strategy
STRATEGY_TYPE_GUTS Guts strategy
STRATEGY_TYPE_GENERIC Generic strategy
STRATEGY_TYPE_DIAGONAL Diagonal strategy
STRATEGY_TYPE_COVERED_THREE_WAY Covered three-way strategy
STRATEGY_TYPE_COVERED_THREE_WAY_STRADDLE_VS_CALL Covered three-way straddle vs. call strategy
STRATEGY_TYPE_COVERED_THREE_WAY_STRADDLE_VS_PUT Covered three-way straddle vs. put strategy
STRATEGY_TYPE_COVERED_BOX Covered box strategy
STRATEGY_TYPE_COVERED_XMAS_TREE Covered Christmas tree strategy
STRATEGY_TYPE_COVERED_CONDITIONAL_CURVE Covered conditional curve strategy
STRATEGY_TYPE_COVERED_DOUBLE Covered double strategy
STRATEGY_TYPE_COVERED_HORIZONTAL_STRADDLE Covered horizontal straddle strategy
STRATEGY_TYPE_COVERED_IRON_CONDOR Covered iron condor strategy
STRATEGY_TYPE_COVERED_RATIO_1X2 Covered 1×2 ratio strategy
STRATEGY_TYPE_COVERED_RATIO_1X3 Covered 1×3 ratio strategy
STRATEGY_TYPE_COVERED_RATIO_2X3 Covered 2×3 ratio strategy
STRATEGY_TYPE_COVERED_RISK_REVERSAL Covered risk reversal strategy
STRATEGY_TYPE_COVERED_STRADDLE_STRIP Covered straddle strip strategy
STRATEGY_TYPE_COVERED_STRADDLE Covered straddle strategy
STRATEGY_TYPE_COVERED_STRANGLE Covered strangle strategy
STRATEGY_TYPE_COVERED_VERTICAL Covered vertical strategy
STRATEGY_TYPE_COVERED_JELLY_ROLL Covered jelly roll strategy
STRATEGY_TYPE_COVERED_IRON_BUTTERFLY Covered iron butterfly strategy
STRATEGY_TYPE_COVERED_GUTS Covered guts strategy
STRATEGY_TYPE_COVERED_GENERIC Covered generic strategy
STRATEGY_TYPE_COVERED_DIAGONAL Covered diagonal strategy
STRATEGY_TYPE_COVERED_BUTTERFLY Covered butterfly strategy
STRATEGY_TYPE_COVERED_CONDOR Covered condor strategy
STRATEGY_TYPE_COVERED_HORIZONTAL Covered horizontal strategy
STRATEGY_TYPE_COVERED_STRIP Covered strip strategy
STRATEGY_TYPE_COVERED_OPTION Covered option strategy
STRATEGY_TYPE_BALANCED_STRIP Balanced strip strategy
STRATEGY_TYPE_UNBALANCED_STRIP Unbalanced strip strategy
STRATEGY_TYPE_INTER_CONTRACT_STRIP Inter-contract strip strategy
STRATEGY_TYPE_INVOICE_SWAP Invoice swap strategy
STRATEGY_TYPE_INTEREST_RATE_SWAP Interest rate swap strategy
STRATEGY_TYPE_AVERAGE_PRICE_STRIP Average price strip strategy
STRATEGY_TYPE_TREASURY_TAIL Treasury tail strategy
STRATEGY_TYPE_AVERAGE_PRICE_STRIP_SPREAD Average price strip spread strategy
STRATEGY_TYPE_INVOICE_SWAP_CALENDAR Invoice swap calendar strategy
STRATEGY_TYPE_INVOICE_SWAP_SWITCHES Invoice swap switches strategy
STRATEGY_TYPE_VOLATILITY_QUOTED_OPTION Volatility-quoted option strategy
STRATEGY_TYPE_FX_SPOT FX spot strategy
STRATEGY_TYPE_AVERAGE_PRICE_BUNDLE Average price bundle strategy
STRATEGY_TYPE_FIXED_PRICE_RATIO_SPREAD Fixed price ratio spread strategy
STRATEGY_TYPE_SA_CBOT_SOYBEAN_SPREAD SA CBOT soybean spread strategy
STRATEGY_TYPE_BALANCED_STRIP_BUTTERFLY Balanced strip butterfly strategy
STRATEGY_TYPE_ANY Any strategy type

The TimeType enum defines possible time in force types.

Value Description
TIME_TYPE_NORMAL Normal time type (day order)
TIME_TYPE_IMMEDIATE_AND_CANCEL Immediate-and-cancel time type (IOC)
TIME_TYPE_GOOD_TILL_CANCELLED Good-till-cancelled time type (GTC)
TIME_TYPE_COMPLETE_VOLUME Complete volume time type (fill or kill)
TIME_TYPE_MARKET_ON_OPEN Market-on-open time type
TIME_TYPE_MARKET_ON_CLOSE Market-on-close time type
TIME_TYPE_UNDEFINED Undefined time type

The UDSStatus enum defines possible user-defined strategy statuses.

Value Description
UDS_STATUS_UNKNOWN Unknown status
UDS_STATUS_Success Success status
UDS_STATUS_FAILED Failed status
UDS_STATUS_ALREADY_EXISTS Already exists status

The UpdateType enum defines possible market-by-order update types.

Value Description
UPDATE_TYPE_ADD_OR_UPDATE Add or update an order
UPDATE_TYPE_DELETE Delete an order
UPDATE_TYPE_CLEAR Clear all orders
  • developers/websocket/messages.txt
  • Last modified: 2025/03/15 15:06
  • by chad