Skip to main content

XTX Trade Connector

Features​

fix-xtxConnector Key
Instruments
FX
Request Types
SUBMIT
Order Types
PREVIOUSLY_QUOTED
Time In Force
FOK
Order ID Mapper
COMPOSITE
✗
Order Status Request
✗
Cancel On Disconnect
✗
Commission
✗
Post Only
✗
Fast Cancel
✗
Fast Replace

Notes​

Orders​

Order Cancel, Order Cancel/Replace and Order Status requests are not supported.
ClOrdID(11) must not exceed 64 characters.

Order Types​

XTX supports only PREVIOUSLY_QUOTED orders.

Settlement Date​

SettlDate(64) is a required tag; the connector populates it from OrderNewRequest.SettlementDate. Market data snapshot delivers settlement date in BasePriceEntryInfo::participantId property. Example of this message:

{contractId=null, exchangeId=XTX, isImplied=null, numberOfOrders=null, participantId=20210125, price=1.21654, quoteId=49843, size=1000000, level=0, side=BID}

Parties​

  • partyIdSource has only one option: Proprietary
  • partyRole has two options: ClientId, ClearingFirm

Symbology​

Currency pairs in BASE/QUOTE format, e.g. EUR/USD.

Schedule​

ParameterValue
Time ZoneAmerica/New_York
Start DaySunday
Start Time17:00
End DayFriday
End Time17:00
Daily Session?No

Configuration​

Connector settings​

ParameterDefault ValueDescription
usernameUsername
passwordPassword
➡️ PartiesList of the parties.
parties[].partyIdName of intended broker/client.
parties[].partyIdSourceIdentifies class or source of the PartyID value. Required if PartyID is specified. D=Proprietary/Custom code. Xtx only.
parties[].partyRoleIdentifies the type or role of the PartyID specified. Required if PartyID is specified. 3 = Client ID, 4 = Clearing Firm.

Config sample​

connectors {
XTX: ${template.connector.fix.xtx} {
settings {
host = "<HOST>"
port = <PORT>

username = "<USERNAME>"
password = "<PASSWORD>"

senderCompId = "<SENDER_COMP_ID>"
targetCompId = "<TARGET_COMP_ID>"

parties = [
{
partyId = "<PARTY_ID>"
partyIdSource = Proprietary
partyRole = "<PARTY_ROLE>"
}
]
}
}
}