Skip to main content

TP ICAP Trade Connector

Features

fix-tpicapConnector Key
Instruments
FX
Request Types
SUBMITCANCELREPLACE
Order Types
MARKETLIMIT
Time In Force
GTCIOCFOKDAY
Order ID Mapper
SEQUENCE
Order Status Request
Cancel On Disconnect
Commission
Post Only
Fast Cancel
Fast Replace

Notes

Connectivity

Stunnel configuration:

[TPICAP]
client = yes
accept = 11111
connect = trading-gateway.uat.helix.tpicapcloud.com:11111
verify = 0

Symbology

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

Schedule

Operating hours, Sunday through Friday:

DescriptionDetailsStart TimeEnd Time
API ConnectivityAPI Connectivity permissible during these hours.22:50 UTC22:10 UTC (Following Day)
Trading SessionOrder Acceptance and Trading.23:00 UTC22:00 UTC (Following Day)

Configuration

Connector settings

ParameterDefault ValueDescription
passwordPassword
accountDefault Account
selfTradePreventionUsed to select the order to cancel if Self-Trade Prevention is enabled. Valid values: CANCEL_RESTING, CANCEL_TAKING, DECREMENT_RESTING.
selfTradePreventionLevelUsed to select the matching level within the Participant/Margin/Trading Account hierarchy if Self-Match Prevention is enabled. Valid values: MARGIN_ACCOUNT, PARTICIPANT, TRADING_ACCOUNT, COMP_ID, USER.
partiesList of the parties involved into a trading request.
party.partyIdMandatory. Party identifier. Custodian name (Code).
party.partyIdSourceMandatory. Valid values are: D = PROPRIETARY_CUSTOM_CODE.
party.partyRoleMandatory. Used to mark the party as the custodian.
mifid.positionAccountCodeMiFID II – Used to indicate Execution decision within Firm Code (Trader or Algorithm). Max 30 characters.
mifid.customerCodeMiFID II – Used to indicate Client Identification Code. Max 30 characters.
mifid.investmentCodeMiFID II – Used to indicate Investment decision within Firm Code (Trader or Algorithm). Max 30 characters.
mifid.nonExecBrokerCodeMiFID II – Used to indicate Non-executing Broker Code. Max 20 characters.
mifid.algoIndicatorMiFID II – Used to indicate Algo Trading. Valid values: NO (default), YES_EXECUTION, YES_EXEC_AND_INVESTMENT
mifid.deferredIndicatorMiFID II – Used to indicate Algo Trading. Valid values: NO - Not deferred (default). Deferral is not yet supported.
mifid.commodityIndicatorMiFID II – Used to indicate if a Commodities trade is for hedging purposes. Valid values: NOT_COMMODITY_HEDGE (default), COMMODITY_HEDGE.
mifid.orderOriginationMiFID II – used if order placed via direct electronic access. Valid values: NO, YES (default).

Supported order attributes

KeyDescription
1Account(1)
18Post Only. Allowed values: 6 - Post Only order (aka Resting Limit Order Only).
20002,7002MiFID II – Used to indicate Execution decision within Firm Code (Trader or Algorithm). Max 30 characters.
20003,7003MiFID II – Used to indicate Client Identification Code. Max 30 characters.
20005,7005MiFID II – Used to indicate Investment decision within Firm Code (Trader or Algorithm). Max 30 characters.
20006,7006MiFID II – Used to indicate Non-executing Broker Code. Max 20 characters.
20007,7007MiFID II – Used to indicate Algo Trading. Valid values: 0 = No (default), 1 = Yes (Execution), 2 = Yes (Exec and Investment decision).
20008,7008MiFID II – Used to indicate Algo Trading. Valid values: 0 = Not deferred (default). Deferral is not yet supported.
20009,7009MiFID II – Used to indicate if a Commodities trade is for hedging purposes. Valid values: 0 = Not commodity hedge (default), 1 = Commodity hedge.
1724MiFID II – Used if order placed via direct electronic access. Valid values: 99 = No, 5 = Yes (default).
20010,7010Used to select the order to cancel if Self-Match Prevention is enabled. Valid values: Resting Order (default) = R, Taking (Aggressive) Order = T, Decrement Resting = D.
20011,7011Used to select the matching level within the Participant/Margin/Trading Account hierarchy if Self-Trade Prevention is enabled. Valid values: Margin Account (default) = M, Participant = P, Trading Account = T, CompID = C, User (email) = U.

Config sample

connectors {
TPICAP : ${template.connector.fix.tpicap} {
settings {
host = "<STUNNEL_HOST>"
port = <STUNNEL_PORT>

password = "<PASSWORD>"
account = "<ACCOUNT>"

parties = [
{
partyId = FDA
partyRole = 28 # 28 - Custodian
partyIdSource = D
}
]

}
}
}