Try TT Now

FIX Adapter Reference

Execution Report (8)

Purpose

Used to send order status information to a FIX client, such as confirmations, fills, and unsolicited changes

Message Direction

From TT FIX Adapter to FIX client

Message Availability

Use Case Price Session Order Session
Drop Copy Yes Yes
Order Routing Yes Yes

Supported Tags

Tag # Field Name Req’d Comments
Component Block <Standard Header> Y 35=A (MsgType)
17 ExecID Y Unique identifier for this execution report. This report ID remains unique until TT FIX Adapter resets. If Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill), the value represents a TT-generated fill key containing a maximum of 28 characters. Data type: string Note: Do not try to interpret or parse the value.
19 ExecRefID C Reference identifier used with Correct transaction types. Tag 19 (ExecRefID) will be populated with the Tag 17 (ExecID) value of the fill that is being corrected. If there are multiple corrections to a fill, Tag 19 (ExecRefID) will be populated with the Tag 17 (ExecID) value of the most recent execution report for the fill.  Tag 16017 (OrigExecID) will always provide the Tag 17 (ExecID) value of the original execution report. Data type: String Condition: Sent when Tag 20 (ExecTransType) = 2 (Correct).
20 ExecTransType Y Type of execution report. Possible values include:
  • 0 : New
  • 2 : Correct (when the FIX Adapter configuration enables Send Fill Updates in the FIX Session settings and when either X_TRADER confirms a fill or when an OM Gateway sends a fill update.)
  • 3 : Status (in response to an Order Status Request (H) message)
Data type: char
16017 OrigExecID C Reference identifier used with Correct transaction types. Tag 16017 (OrigExecID) will be populated with the Tag 17 (ExecID) value of the original fill that has been corrected.If there are multiple corrections to a fill, Tag 16017 (OrigExecID) will always provide the Tag 17 (ExecID) value of the original execution report. Tag 19 (ExecRefID) will be populated with the Tag 17 (ExecID) value of the most recent execution report for the fill. Data type: String Condition: Sent when Tag 20 (ExecTransType) = 2 (Correct)
37 OrderID Y Internal TT order key assigned to all orders submitted through any TT software. The value remains constant for the life of an order. In the following situations, the tag contains a value other than an internal key. For messages where the order is unknown, FIX Adapter returns the string, NONE. Data type: String Note: The value is unique per TT environment. Additional Information: For more information about using this tag in execution reports, refer to Working with Tag 37 (OrderID).
198 SecondaryOrderID C Unique identifier for the order, as assigned by the exchange. Data type: String Condition: Sent if available Note: The value can vary over time for the same order.
11 ClOrdID C Unique identifier as defined by the client application. If Tag 20 (ExecTransType) is 3 (Status), this message represents a response to an Order Status Request (H) and contains the current Tag 11 (ClOrdID) of the order. Data type: string Condition:
  • Always sent in execution reports for orders placed through the TT FIX Adapter, unless the value has been lost.
  • Not sent for orders that were not created through TT FIX Adapter or in response to Order Status Request (H) that omitted Tag 11 (ClOrdID). TT FIX Adapter sends execution reports without this tag only when the administrator enables either Send Unsolicited Orders or Send Fill Updates in the FIX Session settings within FACT.
Note: In non-persistent sessions, the value is lost when a disconnection occurs; in persistent sessions, it is lost when the TT FIX Adapter resets.
18220 TTBrokerID C The TT Broker ID. Valid values are the short codes for the brokers, which can be found in the company administration section of the TT User Setup client. Data type: string Default value: none Condition: Always sent in the TT X_TRADER ASP environment.
18221 TTCompanyID C The TT Company ID for the buy side company. Valid values are the short codes for the buy-side companies, which can be found in the company administration section of the TT User Setup client. Data type: string Default value: none Condition: Always sent in the TT X_TRADER ASP environment.
21 HandlInst C Indicates this report concerns a staged or synthetic order sent from a Synthetic SE server. TT supports only the following values:
  • 1: (Automated execution order, private, no Broker intervention); indicates a non-staged, synthetic order
  • 3: (Broker intervention required); indicates a staged order
Data type: int Condition: Sent only for staged and synthetic orders.
150 ExecType Y This tag indicates the reason that the TT FIX Adapter is sending this execution report. Many other tags in this message depend on the value of this tag. Possible values include:
  • 0: New
  • 1: Partial Fill
  • 2: Fill
  • 4: Cancel
  • 5: Replace
  • 6: Pending Cancel
  • 8: Rejected
  • D: Restated
If Tag 442 (MultiLegReportingType) is 2 (Leg), Tag 150 (ExecType) will be either 1 (Partial Fill) or 2 (Fill). It indicates whether an individual leg of a spread has filled completely. Data type: character
41 OrigClOrdID C Previous order identifier. Equal to Tag 11 (ClOrdID) of the original request message Data type: String Condition:
  • If Tag 150 (ExecType) is 5 (Replace), this tag contains the value of Tag 11 (ClOrdID) of the order before the replace. This is the Tag 41 (OrigClOrdID) of the Order Cancel Replace Request (G) message that led to this replace confirmation.
  • If Tag 150 (ExecType) is 4 (Cancel), this tag is present if the 4 (Cancel) is in response to an Order Cancel Request (F) message. In this case, this tag contains the value of Tag 41 (OrigClOrdID) for the cancel message that is being confirmed.
103 OrdRejReason C Reason for rejecting the incoming request. Valid values include:
  • 0 : Broker Option
  • 5 : Unknown Order
  • 99 : Insufficient TTUS permissions to route orders on the contract
  • 100: Timed Out
Data type: int Condition: Sent when Tag 150 (ExecType) is 8 (Reject)
Note: A value of 100 (Timed Out) indicates that New Order Single (D) request received no acknowledgment from the TT Gateway. TT recommends that you contact your risk administrator to determine the status of the order.
32 LastShares C One of the following:
  • If Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill), this tag indicates the number of contracts that just filled.
  • If Tag 442 (MultiLegReportingType) is 2 (Leg), the value indicates the number of contacts that just filled on the leg of the spread specified by this message's Instrument Component Block.
Data type: int Condition: Sent only when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill)
442 MultiLegReportingType C Type of leg reporting for the report. Possible values include:
  • 1: Outright
  • 2: Single leg of a multi-leg security
  • 3: Entire multi-leg security (summary fill)
Data type: char Condition: Sent unless Tag 39 (OrdStatus) = 8 (Rejected). Note: TT FIX Adapter sends summary fills (442=3) only when the configuration enables the Send Summary Fills option for FIX sessions. For more information, refer to the TT FIX Adapter System Administration Manual.
39 OrdStatus Y Status of the order. Possible values include:
  • 0 : New
  • 1 : Partially filled
  • 2 : Filled
  • 4 : Canceled
  • 5 : Replaced
  • 6 : Cancel pending
  • 8 : Rejected
  • 9 : Suspended (Held)
  • A : Pending new
  • C : Expired
  • E : Pending replace
  • U : Order in an unknown state due to a TT Gateway or Exchange error Note: The trader should immediately contact the Exchange to clarify the status of the order.
Data type: char Note: If more than one of these values applies, TT FIX Adapter sends the value required by the FIX 4.2 specification.
16101 SyntheticOrdStatus C Status of a parent synthetic order submitted to a Synthetic SE server. Possible values include:
  • D: (Deleted)
  • E: (Deleting)
  • F: (Filled)
  • H: (Hold)
  • I: (Initializing)
  • J: (Rejected)
  • L: (Pulling)
  • M: (Resuming)
  • N: (Waiting)
  • P: (Paused)
  • R: (Recovering)
  • S: (Pausing)
  • T: (Pending Trigger)
  • U: (Unmanaged)
  • W: (Working)
  • X: (Expired)
Data type: char Condition: Sent only for synthetic orders (Tag 21 (HandlInst)=1) Additional Information: You can use a combination of this tag and Tag 39 (OrdStatus) to get more detailed status information, as described in the section called Determining the Status of Parent Synthetic Orders.
16107 SyntheticOrdType C Type of synthetic order. Possible values include:
  • 1: Time Slicer
  • 2: Time Duration
  • 3: Volume Slicer
  • 4: Volume Duration
  • 5: Iceberg
Data type: int Condition: Sent only for synthetic orders (Tag 21 (HandlInst)=1) of the above types
16108 SyntheticOrdMod C Modifier for a synthetic order. Possible values include:
  • 1: Stop
  • 2: If-Touched
  • 3: Trailing Stop
  • 4: Trailing If-Touched
  • 5: Trailing Limit
  • 6: Machine Gun
Data type: int Condition: Sent only for synthetic orders (Tag 21 (HandlInst)=1) with these modifiers
151 LeavesQty Y Number of contracts that are still working in the market. Possible values include:
  • Tag 38 (OrderQty) - Tag 14 (CumQty), if the order is still in the market
  • 0, otherwise
Data type: integer Note: If Tag 442 (MultiLegReportingType) is 2 (Leg), this value represents the total number of contacts that are still working for the leg of the spread specified by this message's Instrument Component Block.
14 CumQty Y Total number of contracts that have filled over the life of this order. It always equals the sum of the Tag 32 (LastShares) of all fill execution reports received for this order, including this one. Data type: integer Note: If Tag 442 (MultiLegReportingType) is 2 (Leg), this value represents the total number of contacts that have filled on the leg of the spread specified by this message's Instrument Component.
58 Text C Additional informationabout the message. Data type: String Condition: Sent if TT FIX Adapter needs to convey additional information.
16728 TotalNumOrders C Number of orders included in the response to an order book download request. Data type: integer Condition: Included for order book downloads that do not provide Tag 11 (ClOrdID) or Tag 37 (OrderID). For more information about order book downloads, refer to Order Status Request (H).
NOTE: TT FIX Adapter omits all of the following component blocks and tags for status reject messages.
Component Block <Instrument> C Condition: Sent unless an Order Status Request (H) message returns no orders. For tags included in the Instrument Component Block and any restrictions in their use, refer to Component block: Instrument (TT FIX Adapter response).
Component Block <Underlyng Instrument> C Condition: Sent when Tag 167 (SecurityType) is MLEG and the TT FIX Adapter configuration enables the Send Security Legs setting for the FIX Session. For tags included in the Underlying Instrument Component Block and any restrictions in their use, refer to Component block: Underlying instrument.
Component Block <Trader> C Condition: Sent unless an Order Status Request (H) message returns no orders.For tags included in the Trader Component Block and any restrictions in their use, refer to Component block: Trader.
Component Block <Synthetic Order Properties> C Condition: Sent when Tag 21 (HandlInst) is 1 and the TT FIX Adapter configuration enables the Send Synthetic Order Properties setting for the FIX Session.For tags included in the Synthetic Parent Component Block and any restrictions in their use, refer to Component block: Synthetic Order Properties.
44 Price C Limit price for the order. Data type: Price Condition: Sent when provided by the TT Gateway and when Tag 40 (OrdType) is:
  • 2: Limit
  • 4: Stop Limit
  • 8: Cross order
  • B: Limit On Close (LOC)
  • O: LSM
  • Q: Market Limit Market (MLM)
  • R: Market to Limit
  • U: Best Limit
  • W: Limit If Touched (LIT)
99 StopPx C Trigger price for a stop order. Data type: Price Condition: Sent when Tag 40 (OrdType) is:
  • 3 : Stop
  • 4 : Stop Limit
  • J : Market If Touched (MIT)
  • O : LSM (supported only for TT Eurex and EurexPF Gateways 7.8.0 or higher)
  • S : Stop Market to Limit (without Limit Price)
  • T : Market to Limit (without Limit Price) If-Touched
  • V : Stop Best Limit
  • W : Limit If Touched (LIT)
  • X : Best Limit If Touched (BLIT)
38 OrderQty C Total order quantity. Data type: Qty Condition: Sent unless an Order Status Request (H) message returns no orders
110 MinQty C Minimum quantity for a Minimum Volume (MV) order. Data type: Qty Condition: Unused for Stop, IOC, or disclosed quantity orders; sent for Minimum Volume (MV) orders
210 MaxShow C Quantity disclosed for a disclosed quantity (Iceberg) order. Data type: Qty Condition: Unused for Stop, IOC, or FOK; sent for disclosed quantity (Iceberg) orders
54 Side C Side of the order. Possible values include:
  • 1 : Buy
  • 2 : Sell
Data type: char Condition: Sent unless an Order Status Request (H) message returns no orders
40 OrdType C Type of order. Possible values include:
  • 1 : Market
  • 2 : Limit
  • 3 : Stop
  • 4 : Stop Limit
  • 5 : Market On Close (MOC)
  • 8: Cross Order
  • B : Limit On Close (LOC)
  • J : Market If Touched (MIT)
  • O : LSM (supported only for TT Eurex and EurexPF Gateways 7.8.0 or higher)
  • Q : Market to Limit (with Limit Price) (MLM)
  • R : Market to Limit (without Limit Price)
  • S : Stop Market to Limit (without Limit Price)
  • T : Market to Limit (without Limit Price) If-Touched
  • U : Best Limit (BL)
  • V : Stop Best Limit
  • W : Limit If Touched (LIT)
  • X : Best Limit If Touched (BLIT)
Data type: char Condition: Sent unless an Order Status Request (H) message returns no orders Additional Information: As per the FIX 4.2 specification:
  • For Market On Open (MOO) orders, FIX Adapter sends Tag 40 (OrdType) = 1 (Market) and Tag 59 (TimeInForce) = 2 (At The Opening).
  • For Limit on Open (LOO) orders, FIX Adapter sends Tag 40 (OrdType) = 2 (Limit) and Tag 59 (TimeInForce) = 2 (At The Opening).
TT FIX Adapter supports Limit Stop Market (LSM) orders only for TT Eurex and TT EurexPF Gateways 7.8.0 or higher.
77 OpenClose C Whether the order opens or closes a position. Possible values include:
  • O : Open (default, if unspecified)
  • C : Close
  • F : FIFO (currently supported only for the TT TOCOM Gateway)When an order is sent with 77=F to TOCOM, the exchange determines whether the order opens or closes a position and sends all corresponding fills with either 77=O or 77=C
Data type: char Condition: Sent unless an Order Status Request (H) message returns no orders
59 TimeInForce C How long an order remains active. Possible values include:
  • 0: Day
  • 1: Good Till Cancel (GTC)
  • 2: At The Opening (OPG)
  • 3: Immediate or Cancel (IOC)
  • 4: Fill Or Kill (FOK)
  • 6: Good Till Date
  • 8: Good in Session (GIS)
  • Z: At The Auction
Data type: char Condition: Sent unless an Order Status Request (H) message returns no orders
375 ContraBroker C Counterparty data Data type: String Condition: Sent when the TT Gateway provides the information
76 ExecBroker C Give up member Data type: String Condition: Sent when provided by the TT Gateway.
432 ExpireDate C Date a Good Till Date order expires. Data type: LocalMktDate Condition: Sent when Tag 59 (TimeInForce) = 6 (Good Till Date)
75 TradeDate C Exchange session date, in the form: YYYYMMDD. Data type: String Condition: Sent when the TT Gateway provides the information
378 ExecRestatementReason C Reason for the restatement. TT FIX Adapter always sends 4 (Broker Option). Data type: integer Sent when Tag 150 (ExecType) = D (Restated)
16480 PassiveAggressive C Whether the order represents a passive or aggressive order. Valid values include:
  • P: Passive
  • A: Aggressive
Data type: char Sent for all BrokerTec orders
16481 AutoAggressive C Whether the order auto-aggresses when an opposing passive order attempts to lock the market. Valid values include:
  • Y: Auto-agress
  • N: Do not auto-agress
Data type: char Sent for all BrokerTec orders
31 LastPx C Price for the fill. If Tag 442 (MultiLegReportingType) is 2 (Leg), the value represents the price at which a leg of the spread filled. The message's Instrument Component identifies the filled leg. Data type: decimal Sent when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill)
669 LastParPx C NPV price for the fill of an Eris Forward starting swap and the Eris Forward product listed on the ICE exhange. Data type: decimal Sent only for Eris Forward starting swaps when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill)
6 AvgPx Y Average price of all fills on this order, as follows:
  • If order has no fills, TT FIX Adapter sends 0 in this tag.
  • If the order has fills, TT FIX Adapter sends the sum over all fill execution reports of the product of Tag 32 (LastShares) and Tag 31 (LastPx) divided by the Tag 14 (CumQty).
  • If Tag 442 (MultiLegReportingType) is 2 (Leg), TT FIX Adapter sends the average price at which the leg filled.
Data type: decimal
6038 OrderEnteredTime C Time the order was entered or last modified. Data type: UTCTimestamp Condition:
  • Sent only for fills and partial fills.
  • Sent if provided by the TT Gateway.
Additional Information: In certain scenarios, Tag 6038 (OrderEnteredTime) may not be provided in UTC time. For more information about those scenarios, refer to Time Zone of Tag 6038 (OrderEnteredTime).
60 TransactTime Y Time, in UTC, the transaction occurred. Data type: UTCTimestamp Note: Some Exchanges might send milliseconds in certain circumstances, in the form: YYYYMMDD-HH:MM:SS.sss. TT recommends that you allocate enough memory to handle the longer timestamp should an Exchange send it.
10527 SecondaryExecID C Exchange-generated unique fill ID Data type: String Condition: Sent only for fills (150=1,2) sent by the TT Gateway when available.
16018 TTSessionID C The TT Gateway's Session ID. Data type: String Condition: Sent only for fills (150=1,2), when provided by the TT Gateway.
18203 ExchangeGateway Y Name of a specific instance of a TT Gateway, such as CME-A or CME-B. Data type: String
277 TradeCondition C Whether a BrokerTec order represents a self-trade or that the report was generated by trading against yourself. If TT FIX Adapter sends the tag in an Execution Report (8) message, it always sends it with the value S. Data type: MultipleStringValue Condition: Sent only for BrokerTec self-trade orders
11028 ManualOrderIndicator C Whether the order is sent manually or through automated trading logic. Valid values include:
  • Y: Manual
  • N: Automated
Data type: Char Condition: Sent if provided by the TT Gateway
16142 OrderOriginationID C Order orginator’s location Data type: String Condition: Sent if provided by the TT Gateway
16104 TTUserTagData C User-defined data supplied with an order. It corresponds to the X_TRADER User Tag field. Data type: String (15 character limit)
16105 TTOrderTagData N User-defined data supplied with an order. It corresponds to the X_TRADER Order Tag field. Data type: String (15 character limit)
16106 StagedOrderMsg C Message text associated with the staged order Data type: String (256 character limit) Condition: Sent only for staged orders (Tag 21 (HandlInst)=3)
16109 StagedOrderStatus C Status of a staged order. Possible values include:
  • A : Available
  • O : Owned
Data type: Char Condition: Sent only for staged orders (Tag 21 (HandlInst)=3)
16110 StagedOrderOwner C TT Universal Login ID of the broker who took ownership of the staged order. Data type: String Condition: Sent only for staged orders (Tag 21 (HandlInst)=3)
16111 RoutingLevel C Indicator of who can work the staged order. Possible values include:
  • B : Broker order visible to traders with TTORD and exchange trader logins
  • I : Internal order visible only to traders with TTORD logins
Data type: Character Condition: Sent only for staged orders (Tag 21 (HandlInst)=3)
18208 TTOrderSource C Name of a specific instance of a TT Strategy Engine, such as SSE-A or SSE-B. Data type: String Condition: Sent only for staged orders (Tag 21 (HandlInst)=3) and synthetic orders (Tag 21 (HandlInst)=1)
10828 TrdType C The type of wholesale trade. Possible values include:
  • 1 : Block Trade
  • 12 : Exchange for Swap (EFS)
  • 89: Committed
  • 90: Exchange for Physical - Equity Index
  • 91: Exchange for Physical - Fixed Income
  • 92: Cross
  • 93: One-sided
  • 94 : Against Actual
  • 95 : Asset Allocation
  • 96 : Basis
  • 97 : Guaranteed Cross
  • 98 : Prof Trade
  • 99 : Vola
Data type: int Condition: Sent only for wholesale orders and fills, when provided by the TT Gateway.
18216 ExchCred C The exchange order routing credential that was used to route the order. Data type: string Condition: Sent when the TT Gateway provides the information.
16143 OrderAltID C Exchange order ID sent from the exchange to the TT Gateway. Data type: string Condition: Sent only by FIX Drop Copy adapters when the TT Gateway provides the information and when the Send OrderAltID (Tag 16143) setting is enabled in the FACT configuration.
136 NoMiscFees C Number of miscellaneous fees contained in this repeating group. Data type: NumInGroup; always 1 Condition: Sent when provided by the TT Gateway For more information, see the TT FIX Adapter System Administration Manual.
MiscFees repeating group
137 MiscFeeAmt Y Miscellaneous fee value. Data type: Amt
16112 NoLinks C Number of links contained in this repeating group. Data type: int Condition: Sent only when provided by the TT Gateway.
NoLinks repeating group
16113 LinkID Y An identifier used to distinguish that this is a child order or fill that came from an Algo SE, Autospreader SE, or Synthetic SE parent order.  Child orders and fills that came from the same parent order will have the same LinkID. Data type: string
16114 LinkType Y The kind of link. This identifies the relationship between the child orders and fills and the parent order. Valid values include:
  • 1: Spread Quoting
  • 2: Spread Hedge
  • 3: Spread Position Reserve
  • 5: Synthetic Child
  • 6: Synthetic Child Position Reserve
  • 7: Staged Child
  • A: Algo Child
  • U: Unknown
Data type: char
Component Block <Standard Trailer> Y

Message Notes

The Execution Report (8) message is used to respond to a successful order request, a fill, or an unsolicited order change.

Handling unsolicited order changes

By default, when an existing order changes from a source other than the originating FIX client session, the Execution Report (8) message represents the changed order with Tag 39 (OrdStatus) set to 5 (Replaced). If you prefer TT FIX Adapter to represent this change with Tag 39 (OrdStatus) set to 0 (New), you can enable the Send Unsolicited Change As New option in the TT FIX Adapter configuration. For more information about this FIX session option, refer to the TT FIX Adapter System Administration Manual.

Working with Tag 37 (OrderID)

Tag 37 (OrderID) is an internal TT key that is assigned to all orders submitted through any TT software. It keeps the same value for the life of the order:
  • if it is cancel/replaced
  • if it is partially filled
  • if the TT FIX Adapter client connection is terminated or lost
  • regardless of how many days an order is working
  • regardless of the status of the order
  • regardless of how TT FIX Adapter is configured (persistent/non-persistent, etc.)
Tag 37 (OrderID) is always unique across client connections and across TT FIX Adapters in the same environment. (The only time that the value is not unique is when a new order is rejected by the TT FIX Adapter. In this case, the value is always "NONE".) Note: The following situation applies primarily to Drop-Copy TT FIX Adapters. On rare occasions, TT FIX Adapter might receive a fill, but cannot find the matching order. This situation could occur, for example, if an unsolicited order is both submitted and fully filled while TT FIX Adapter is down, such as during a scheduled or unscheduled reset. When TT FIX Adapter restarts, it automatically downloads data from the Fill and Order Servers. Because the TT Gateway deletes the order from the Order Server when it is fully filled, TT FIX Adapter receives the fill record from the Fill Server but cannot receive the order record because it no longer exists in the Order Server. The FIX specification requires Tag 37 (OrderID) to be unique for all orders. Because TT FIX Adapter cannot determine whether a fill represents a full or partial fill, it creates an artificial, unique value to store in Tag 37 (OrderID).Whenever TT FIX Adapter cannot match a fill with its corresponding order, it replaces the value of Tag 37 (OrderID) with the concatenation of the values in Tag 37 (OrderID) and Tag 17 (ExecID).

Order handling differences

TT FIX Adapter processes orders differently than the standard FIX Protocol 4.2, as follows:
  • If TT FIX Adapter detects a duplicate Tag 11 (ClOrdID) in a New Order Single (D), Order Cancel Replace Request (G), or Order Cancel Request (F), it sends a Business Message Reject (j) with Tag 379 (BusinessRejectRefID) set to the duplicate ClOrdId. The TT FIX Adapter does not send an Order Cancel Reject (9) or Execution Report (8)). This prevents programs that monitor order status from becoming confused.
  • The TT FIX Adapter does not accept changes to orders if it has not yet processed previous changes to the same order. TT FIX Adapter passes on cancel requests to the TT Gateway. If an order has a pending action other than cancel, TT FIX Adapter rejects it.

Time Zone of Tag 6038 (OrderEnteredTime)

TT FIX Adapter receives the date and time used to populate Tag 6038 (OrderEnteredTime) from fills from TT Gateways. The fills provide the time in the time zone of the TT client application's machine (X_TRADER, XTAPI, Order Routing FIX Adapters, etc). TT FIX Adapter attempts to convert this time to UTC time by applying the difference between the TT FIX Adapter's machine time and UTC time (thus, all orders routed via TT FIX Adapter should have the correct UTC timestamp in Tag 6038 (OrderEnteredTime)).
  • If the TT client application and the TT FIX Adapter machines share the same time zone, the timestamp provided by TT FIX Adapter in Tag 6038 (OrderEnteredTime) should be in UTC time.
  • If the TT client application and the TT FIX Adapter machines have different time zones, the timestamp in Tag 6038 (OrderEnteredTime) may not be in UTC time. If you prefer to get tag Tag 6038 (OrderEnteredTime) values in the TT client application's time zone, set the TT FIX Adapter machine's time zone to UTC time.
Note: If the TT Gateway provides the time in the TT Gateway machine's time zone, the timestamp in Tag 6038 (OrderEnteredTime) may not be in UTC time.

Working with the NoLinks Repeating Group

Tag 16114 (LinkType) identifies the relationship between the child orders and fills and the parent order.
  • Values 1 (Spread Quoting), 2 (Spread Hedge), and 3 (Spread Position Reserve) apply to child orders and fills of Autospreader (whether local X_TRADER Autospreader or Autospreader SE)
  • Values 5 (Synthetic Child) and 6 (Synthetic Child Position Reserve) apply to non-staged Synthetic SE child orders and fills.
  • Value 7 (Staged Child) applies to staged Synthetic SE child orders and fills.
  • Value A (Algo Child) applies to Algo SE child orders and fills.
  • Value U (Unknown) applies to any new Link Types that are not yet supported by TT FIX Adapter.
Note: Tag 16113 (LinkID) values will be the same for child orders and fills that came from the same parent order.

Working with Synthetic Orders

Synthetic SE allows traders to submit orders that are not natively supported by an exchange; it also allows traders to submit staged orders through X_TRADER or an Order Routing FIX Adapter. In this document, the term “staged order” refers to a parent staged order. The term “synthetic order” refers to a parent non-staged synthetic order, such as an Iceberg, Time Sliced, Synthetic Stop, WAT, etc. A staged order can comprise synthetic and exchange native orders. A synthetic order comprises one or more exchange native orders. If your environment includes a TT Synthetic Strategy Engine (Synthetic SE) and FIX Adapter is configured to connect to it, FIX Adapter can send Execution Report (8) messages for order updates and fills from Synthetic SE. For more information about these types of orders, see X_TRADER Order Types in the X_TRADER help. Administrators can use the several configuration settings in FACT to determine whether FIX Adapter sends Execution Report (8) messages associated with synthetic orders and staged orders. For more information refer to the FIX Adapter System Administration Manual. The following table shows how you can use FIX tags to distinguish different types of orders and fills sent by Synthetic SE.
Order Type Distinguishing FIX Tags
Staged Order Staged orders can include the following tags: Tag 21 (HandlInst) = 3 (Staged Order) Tag 16106 (StagedOrderMsg) Tag 16109 (StagedOrderStatus) Tag 16110 (StagedOrderOwner) Tag 16111 (RoutingLevel) Tag 18208 (TTOrderSource)
Synthetic Order Synthetic orders include the following tags: Tag 21 (HandlInst) = 1 (Automated execution order) Tag 16107 (StagedOrderLinkID) Tag 16108 (SyntheticOrdMod) Tag 16101 (SyntheticOrdStatus) Tag 18208 (TTOrderSource) Additionally, based on the FACT configuration options and the type of synthetic order the message could include a subset of the following tags: Tag 16116 (RelativePriceType) Tag 16117 (RelativePriceOffset) Tag 16118 (StartDateTime) Tag 16119 (EndDateTime) Tag 16120 (EndDateTimeAction) Tag 16121 (WATType) Tag 16122 (WATVAlue) Tag 16123 (MGNumRetries) Tag 16124 (MGRetryInterval) Tag 16125 (TriggerPrice) Tag 16126 (TriggerPriceType) Tag 16128 (TriggerQtyOperator) Tag 16129 (TriggerQty) Tag 16130 (TrailingOffset) Tag 16131 (TrailingPriceType) Tag 16144 (DisclosedQtyValue) Tag 16145 (DisclosedQtyVariance) Tag 16147 (SlicerIntervalValue) Tag 16148 (SlicerIntervalUnit) Tag 16149 (DurationType) Tag 16150 (DurationValue) Tag 16151 (DurationUnit) Tag 16152 (DurationBeginTime) Tag 16153 (DurationEndTime) Tag 16154 (LeftActionTrigger) Tag 16155 (LeftAction) Tag 16156 (LeftPayupTicks) Tag 16157 (MarketOrderLimit)
Child Order Child orders of Synthetic SE, Autospreader SE, and Algo SE parent orders include the following tags: Tag 16112 (NoLinks) repeating group containing: Tag 16113 (LinkID) Tag 16114 (LinkType) = 5 (Synthetic Child) or 7 (Staged Child)
Position Reserve Order Position reserve orders include the following tags: Tag 16112 (NoLinks) repeating group containing: Tag 16113 (LinkID) Tag 16114 (LinkType) = 6 (Synthetic Child Position Reserve) Note: Autospreader SE also submits position reserve orders to native gateways. In this case, FIX Adapter sends : Tag 16114 (LinkType) = 3 (Spread Position Reserve)
When present, Tag 16107 (StagedOrderLinkID) and Tag 16108 (SyntheticOrdMod) describe the synthetic parts of an order type, while Tag 40 (OrdType) describes the exchange-native part. The following table illustrates the tags FIX Adapter sends for some sample orders.
Order Description Relevant Tags
Exchange-native Stop Limit order Tag 40 (OrdType) = 4 (Stop Limit)
Synthetic Stop Limit order Tag 16108 (SyntheticOrdMod) =1 (Stop) Tag 40 (OrdType) = 2 (Limit)
Exchange-native Iceberg order with a disclosed quantity of 1 Tag 210 (MaxShow) =1 Tag 40 (OrdType) = 2 (Limit)
Synthetic Iceberg order with a disclosed quantity of 1 Tag 16144 (DisclosedQtyValue) =1 Tag 40 (OrdType) = 2 (Limit) Tag 16107 (StagedOrderLinkID) =5 (Iceberg)
Synthetic Time Slicer that submits exchange-native limit orders Tag 16107 (StagedOrderLinkID) =1 (Time Slicer) Tag 40 (OrdType) = 2 (Limit)
Synthetic Trailing Stop that, when triggered, submits a Synthetic Volume Slicer that submits exchange-native market orders Tag 16107 (StagedOrderLinkID) = 3 (Volume Slicer) Tag 16108 (SyntheticOrdMod) =3 (Trailing Stop) Tag 40 (OrdType) = 1 (Market)

Determining the Status of Parent Synthetic Orders

You can use the combination of Tag 39 (OrdStatus) and Tag 16101 (SyntheticOrdStatus) to determine the status of a parent synthetic order. Note: Tag 16101 (SyntheticOrdStatus) is sent only for synthetic orders, where Tag 21 (HandlInst) = 1.
Status Tag Values Description
Initializing 39=0 (New) 16101=I Synthetic SE received a newly-submitted synthetic order.
Waiting 39=5 (Replaced) 16101=N Parent synthetic order has a start time; waiting for a start time to occur.
Pending Trigger 39=5 (Replaced) 16101=T Parent synthetic order is waiting for a price and optionally a volume trigger. Valid only for Stop, If Touched, Trailing Stop, and Trailing If Touched synthetic parent orders.
Rejected 39=8 (Rejected) 16101=J Parent synthetic order was rejected.
Working 39=5 (Replaced) 16101=W A parent synthetic order is not paused or on hold and has at least one child order working in the market or has at least one undisclosed order.
Hold 39=9 (Suspended) 16101=H Parent synthetic order was placed on hold; all child orders are put on hold and all execution of the synthetic order is stopped.
Pausing 39=PrevValue 16101=S Parent synthetic order is in the process of being paused.
Paused 39=5 (Replaced) 16101=P Parent synthetic order was paused; all child orders are left working in the market but execution of the synthetic order is stopped.
Deleting 39=5 (Replaced) 16101=E Parent synthetic order and all child orders are in the process of being deleted.
Deleted 39=4 (Canceled) 16101=D Parent synthetic order and all child orders have been successfully deleted.
Expired 39=5 (Replaced) 16101=X A GTD parent synthetic order expired, or a parent synthetic order has an End Time that has been reached.
Pulling 39=PrevValue 16101=L An error occurred, typically as a result of an unsolicited change to a child order that invalidates the original synthetic order. SSE is attempting to delete the any existing Position Reserve order and orphan all of the child orders. This state always precedes an Unmanaged state.
Resuming 39=PrevValue 16101=M A paused or held parent synthetic order is in the process of being resumed or resubmitted.
Unmanaged 39=PrevValue, 16101=U An error occurred, typically as a result of an unsolicited change to a child order that invalidates the original synthetic order parameters. This state always follows the Pulling state.
Recovering 39= PrevValue 16101=R A previously-working parent synthetic order is re-initializing after a Synthetic SE server restarts.
Completed 39=2 (Filled) 16101=F The parent synthetic order is completely filled.

Related Information

New Order - Single (D) Order Cancel Request (F) Order Cancel/Replace Request (G) Order Status Request (H)