developers:websocket:messages

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
developers:websocket:messages [2025/03/15 14:48] – created chaddevelopers:websocket:messages [2025/03/15 15:06] (current) chad
Line 1: Line 1:
-I'll help you create a comprehensive Message Reference page for your Dokuwiki in the correct syntax. Let's start with the Client/Server Message Envelopes and Login Messages sections. 
- 
 ====== T4 Protocol Message Reference ====== ====== 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. This document provides a reference for all messages in the T4 Protocol. The protocol uses Protocol Buffers (protobuf) for message serialization.
 +
  
 ===== Client/Server Message Envelopes ===== ===== Client/Server Message Envelopes =====
Line 117: Line 116:
 | mode | AccountMode | Account mode | | mode | AccountMode | Account mode |
  
-==== LoginResult Enum ==== 
  
-The ''LoginResult'' enum defines possible results of a login attempt.+ 
 +===== Quote Feed Messages (market.proto) ===== 
 +==== MarketDepthSubscribe ==== 
 +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|DepthBuffer]] | Type of depth buffer to subscribe to | 
 +| depth_levels | [[#DepthLevels|DepthLevels]] | Number of depth levels to receive | 
 +==== MarketDepthSubscribeReject ==== 
 +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|MarketMode]] | Current market mode | 
 +==== MarketByOrderSubscribe ==== 
 +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) | 
 +==== MarketByOrderSubscribeReject ==== 
 +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|MarketMode]] | Current market mode | 
 +==== MarketDetails ==== 
 +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|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 [[#MarketDetails.LegItem|LegItem]] | Market legs (for multi-leg markets) | 
 +| details | string | Additional market details | 
 +| strategy_type | [[#StrategyType|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 | 
 +==== MarketDetails.LegItem ==== 
 +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 | 
 +==== MarketDepth ==== 
 +The ''MarketDepth'' message contains market depth information for a specific market. 
 +^ Field ^ Type ^ Description ^ 
 +| market_id | string | Market identifier | 
 +| depth_levels | [[#DepthLevels|DepthLevels]] | Number of depth levels provided | 
 +| depth_buffer | [[#DepthBuffer|DepthBuffer]] | Type of depth buffer | 
 +| time | google.protobuf.Timestamp | Time of the update | 
 +| delayed | bool | Whether the data is delayed | 
 +| bids | repeated [[#MarketDepth.DepthLine|DepthLine]] | Bid depth levels | 
 +| offers | repeated [[#MarketDepth.DepthLine|DepthLine]] | Offer depth levels | 
 +| implied_bids | repeated [[#MarketDepth.DepthLine|DepthLine]] | Implied bid depth levels | 
 +| implied_offers | repeated [[#MarketDepth.DepthLine|DepthLine]] | Implied offer depth levels | 
 +| mode | [[#MarketMode|MarketMode]] | Current market mode | 
 +| flags | [[#MarketFlags2|MarketFlags2]] | Market flags | 
 +| trade_data | [[#MarketDepth.TradeData|TradeData]] | Trade data | 
 +==== MarketDepth.DepthLine ==== 
 +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 | 
 +==== MarketDepth.TradeData ==== 
 +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|BidOffer]] | Whether the trade was at the bid or offer | 
 +| time | google.protobuf.Timestamp | Time of the trade | 
 +==== MarketDepthTrade ==== 
 +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|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|MarketMode]] | Current market mode | 
 +==== MarketHighLow ==== 
 +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 | 
 +==== MarketPriceLimits ==== 
 +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 | 
 +==== MarketSettlement ==== 
 +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 | 
 +==== MarketSnapshotMessage ==== 
 +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 | 
 +==== MarketSnapshot ==== 
 +The ''MarketSnapshot'' message contains a complete snapshot of a market's state. 
 +^ Field ^ Type ^ Description ^ 
 +| market_id | string | Market identifier | 
 +| mode | [[#MarketMode|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|MarketSnapshotMessage]] | Market update messages | 
 +==== MarketByOrderSnapshot ==== 
 +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|MarketMode]] | Current market mode | 
 +| last_sequence | uint64 | Last sequence number | 
 +| orders | repeated [[#MarketByOrderSnapshot.Order|Order]] | Orders in the book | 
 +==== MarketByOrderSnapshot.Order ==== 
 +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|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 | 
 +==== MarketByOrderUpdate ==== 
 +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|MarketMode]] | Current market mode | 
 +| sequence | uint64 | Sequence number | 
 +| updates | repeated [[#MarketByOrderUpdate.Update|Update]] | Order updates | 
 +==== MarketByOrderUpdate.Update ==== 
 +The ''Update'' message is a component of ''MarketByOrderUpdate'' and describes an update to an order in the book. 
 +^ Field ^ Type ^ Description ^ 
 +| update_type | [[#MarketByOrderUpdate.UpdateType|UpdateType]] | Type of update | 
 +| order_id | uint64 | Order identifier | 
 +| bid_offer | [[#BidOffer|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 | 
 + 
 + 
 +===== Account Feed Messages (account.proto) ===== 
 +==== AccountSubscribe ==== 
 +The ''AccountSubscribe'' message is used to subscribe to account data. 
 +^ Field ^ Type ^ Description ^ 
 +| subscribe | [[#AccountSubscribeType|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 | 
 +==== AccountSubscribeResponse ==== 
 +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 | 
 +==== AccountCurrency ==== 
 +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 | 
 +==== AccountPosition ==== 
 +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|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 | 
 +==== AccountUpdate ==== 
 +The ''AccountUpdate'' message contains updated information for an account. 
 +^ Field ^ Type ^ Description ^ 
 +| account_id | string | Account identifier | 
 +| status | [[#AccountStatus|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 | 
 +==== AccountDetails ==== 
 +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|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|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|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 | 
 + 
 +==== AccountSnapshotMessage ==== 
 +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 | 
 + 
 +==== AccountSnapshot ==== 
 +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|AccountStatus]] | Account status | 
 +| due_to_connection | bool | Whether the snapshot is due to a new connection | 
 +| messages | repeated [[#AccountSnapshotMessage|AccountSnapshotMessage]] | Account update messages | 
 + 
 + 
 + 
 +===== Order Routing Messages (orderrouting.proto) ===== 
 + 
 +==== OrderActivation ==== 
 + 
 +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|MarketMode]] | Market mode triggering activation | 
 +| price | Price | Price triggering activation | 
 +| volume | int32 | Volume triggering activation | 
 +| bid_offer | [[#BidOffer|BidOffer]] | Bid/offer triggering activation | 
 +| implied | bool | Whether to consider implied prices | 
 +| queue_submit | bool | Whether to queue the submission | 
 + 
 +==== OrderSubmit ==== 
 + 
 +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|OrderLink]] | Order linking type | 
 +| manual_order_indicator | bool | Whether the order was manually entered | 
 +| orders | repeated [[#OrderSubmit.Order|Order]] | Orders to submit | 
 + 
 +==== OrderSubmit.Order ==== 
 + 
 +The ''Order'' message is a component of ''OrderSubmit'' and describes an order to be submitted. 
 + 
 +^ Field ^ Type ^ Description ^ 
 +| buy_sell | [[#BuySell|BuySell]] | Buy or sell | 
 +| price_type | [[#PriceType|PriceType]] | Price type | 
 +| time_type | [[#TimeType|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|ActivationType]] | Activation type | 
 +| activation_data | [[#OrderActivation|OrderActivation]] | Activation data | 
 + 
 +==== OrderRevise ==== 
 + 
 +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 [[#OrderRevise.Revise|Revise]] | Order revisions | 
 + 
 +==== OrderRevise.Revise ==== 
 + 
 +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|OrderActivation]] | New activation data | 
 + 
 +==== OrderPull ==== 
 + 
 +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 [[#OrderPull.Pull|Pull]] | Orders to cancel | 
 + 
 +==== OrderPull.Pull ==== 
 + 
 +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 | 
 + 
 +==== CreateUDS ==== 
 + 
 +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|StrategyType]] | Strategy type | 
 +| legs | repeated [[#CreateUDS.Leg|Leg]] | Strategy legs | 
 + 
 +==== CreateUDS.Leg ==== 
 + 
 +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|BuySell]] | Buy or sell | 
 +| volume | int32 | Leg volume | 
 +| price | Price | Leg price | 
 +| delta | Decimal | Leg delta | 
 + 
 +==== OrderUpdateFailed ==== 
 + 
 +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|OrderChange]] | Type of order change that failed | 
 +| status | [[#OrderStatus|OrderStatus]] | Order status | 
 +| status_detail | string | Detailed status information | 
 +| response_pending | [[#ResponsePending|ResponsePending]] | Type of response pending | 
 +| tag_cl_ord_id | string | Client order ID tag | 
 +| sequence_order | int32 | Sequence number | 
 + 
 +==== OrderUpdateStatus ==== 
 + 
 +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|OrderChange]] | Type of order change | 
 +| status | [[#OrderStatus|OrderStatus]] | Order status | 
 +| status_detail | string | Detailed status information | 
 +| response_pending | [[#ResponsePending|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|PriceType]] | Price type | 
 +| time_type | [[#TimeType|TimeType]] | Time in force | 
 +| working_volume | int32 | Working volume | 
 +| executing_login_id | string | Executing login identifier | 
 +| activation_type | [[#ActivationType|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|ApplicationType]] | Application type | 
 +| activation_details | string | Activation details | 
 + 
 +==== OrderUpdateTrade ==== 
 + 
 +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|OrderChange]] | Type of order change | 
 +| status | [[#OrderStatus|OrderStatus]] | Order status | 
 +| status_detail | string | Detailed status information | 
 +| response_pending | [[#ResponsePending|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 | 
 + 
 +==== OrderUpdateTradeLeg ==== 
 + 
 +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|OrderChange]] | Type of order change | 
 +| status | [[#OrderStatus|OrderStatus]] | Order status | 
 +| status_detail | string | Detailed status information | 
 +| response_pending | [[#ResponsePending|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 | 
 + 
 +==== OrderUpdate ==== 
 + 
 +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|OrderChange]] | Type of order change | 
 +| status | [[#OrderStatus|OrderStatus]] | Order status | 
 +| status_detail | string | Detailed status information | 
 +| response_pending | [[#ResponsePending|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|BuySell]] | Buy or sell | 
 +| price_type | [[#PriceType|PriceType]] | Price type | 
 +| time_type | [[#TimeType|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|OpenClose]] | Open or close | 
 +| account_number | string | Account number | 
 +| cti | [[#CTI|CTI]] | Customer type indicator | 
 +| origin | [[#Origin|Origin]] | Order origin | 
 +| account_code | [[#AccountCode|AccountCode]] | Account code | 
 +| member_allocation | string | Member allocation | 
 +| trader_allocation | string | Trader allocation | 
 +| customer_reference | string | Customer reference | 
 +| cust_order_handling_inst | [[#CustOrderHandlingInstType|CustOrderHandlingInstType]] | Customer order handling instruction | 
 +| avg_price_indicator | [[#AvgPriceIndicatorType|AvgPriceIndicatorType]] | Average price indicator | 
 +| avg_price_group_id | string | Average price group identifier | 
 +| clearing_trade_price_type | [[#ClearingTradePriceType|ClearingTradePriceType]] | Clearing trade price type | 
 +| billing_fee | [[#BillingFee|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|OrderLink]] | Order linking type | 
 +| orders_linked | string | Linked order identifiers | 
 +| activation_type | [[#ActivationType|ActivationType]] | Activation type | 
 +| primary_user | [[#PrimaryUserType|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|OrderSource]] | Order source | 
 +| order_source_method | [[#OrderSourceMethod|OrderSourceMethod]] | Order source method | 
 +| app_type | [[#ApplicationType|ApplicationType]] | Application type | 
 +| master_type | [[#MasterType|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 [[#OrderUpdate.Trade|Trade]] | Trades for this order | 
 +| trade_legs | repeated [[#OrderUpdate.TradeLeg|TradeLeg]] | Trade legs for this order | 
 + 
 +==== OrderUpdate.Trade ==== 
 + 
 +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 | 
 + 
 +==== OrderUpdate.TradeLeg ==== 
 + 
 +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 | 
 + 
 +==== OrderUpdateMultiMessage ==== 
 + 
 +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 | 
 + 
 +==== OrderUpdateMulti ==== 
 + 
 +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|OrderUpdateMultiMessage]] | Order updates | 
 + 
 +==== CreateUDSResponse ==== 
 + 
 +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|UDSStatus]] | UDS creation status | 
 + 
 + 
 + 
 + 
 +===== Enum Types ===== 
 + 
 +This section contains all the enum types used in the T4 Protocol messages. 
 + 
 +==== ActivationType ==== 
 + 
 +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 | 
 + 
 +==== AccountCode ==== 
 + 
 +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 | 
 + 
 +==== AccountEnabled ==== 
 + 
 +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 | 
 + 
 +==== AccountMarginType ==== 
 + 
 +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 | 
 + 
 +==== AccountMode ==== 
 + 
 +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 | 
 + 
 +==== AccountStatus ==== 
 + 
 +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 | 
 + 
 +==== AccountSubscribeType ==== 
 + 
 +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 | 
 + 
 +==== ApplicationType ==== 
 + 
 +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 | 
 + 
 +==== AvgPriceIndicatorType ==== 
 + 
 +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 | 
 + 
 +==== BidOffer ==== 
 + 
 +The ''BidOffer'' enum defines possible bid/offer values. 
 + 
 +^ Value ^ Description ^ 
 +| BID_OFFER_UNDEFINED | Undefined | 
 +| BID_OFFER_BID | Bid side | 
 +| BID_OFFER_OFFER | Offer side | 
 + 
 +==== BillingFee ==== 
 + 
 +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 | 
 + 
 +==== BuySell ==== 
 + 
 +The ''BuySell'' enum defines possible buy/sell values. 
 + 
 +^ Value ^ Description ^ 
 +| BUY_SELL_UNDEFINED | Undefined | 
 +| BUY_SELL_BUY | Buy side | 
 +| BUY_SELL_SELL | Sell side | 
 + 
 +==== CTI ==== 
 + 
 +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 | 
 + 
 +==== ClearingTradePriceType ==== 
 + 
 +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 | 
 + 
 +==== ContractRiskStatus ==== 
 + 
 +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 | 
 + 
 +==== ContractType ==== 
 + 
 +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 | 
 + 
 +==== CustOrderHandlingInstType ==== 
 + 
 +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 | 
 + 
 +==== DepthBuffer ==== 
 + 
 +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 | 
 + 
 +==== DepthLevels ==== 
 + 
 +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) | 
 + 
 +==== LoginResult ==== 
 + 
 +The ''LoginResult'' enum defines possible login result values.
  
 ^ Value ^ Description ^ ^ Value ^ Description ^
Line 148: Line 1184:
 | LOGIN_RESULT_USER_EXISTS | User already exists | | LOGIN_RESULT_USER_EXISTS | User already exists |
 | LOGIN_RESULT_UNKNOWN | Unknown error | | LOGIN_RESULT_UNKNOWN | Unknown error |
 +
 +==== MarketDataType ====
 +
 +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 |
 +
 +==== MarketFlags2 ====
 +
 +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 |
 +
 +==== MarketMode ====
 +
 +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 |
 +
 +==== MasterType ====
 +
 +The ''MasterType'' enum defines possible master types.
 +
 +^ Value ^ Description ^
 +| MASTER_TYPE_MASTER | Master order |
 +| MASTER_TYPE_CHILD | Child order |
 +
 +==== OpenClose ====
 +
 +The ''OpenClose'' enum defines possible open/close values.
 +
 +^ Value ^ Description ^
 +| OPEN_CLOSE_OPEN | Open position |
 +| OPEN_CLOSE_CLOSE | Close position |
 +| OPEN_CLOSE_UNDEFINED | Undefined |
 +
 +==== OrderChange ====
 +
 +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 |
 +
 +==== OrderLink ====
 +
 +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 |
 +
 +==== OrderSource ====
 +
 +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 |
 +
 +==== OrderSourceMethod ====
 +
 +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 |
 +
 +==== OrderStatus ====
 +
 +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 |
 +
 +==== Origin ====
 +
 +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 |
 +
 +==== PriceType ====
 +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 |
 +==== PrimaryUserType ====
 +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 |
 +==== ResponsePending ====
 +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 |
 +==== StrategyType ====
 +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 | 1x2 ratio strategy |
 +| STRATEGY_TYPE_RATIO_1X3 | 1x3 ratio strategy |
 +| STRATEGY_TYPE_RATIO_2X3 | 2x3 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 1x2 ratio strategy |
 +| STRATEGY_TYPE_COVERED_RATIO_1X3 | Covered 1x3 ratio strategy |
 +| STRATEGY_TYPE_COVERED_RATIO_2X3 | Covered 2x3 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 |
 +==== TimeType ====
 +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 |
 +==== UDSStatus ====
 +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 |
 +==== MarketByOrderUpdate.UpdateType ====
 +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.1742050135.txt.gz
  • Last modified: 2025/03/15 14:48
  • by chad