Skip to main content

EDX Markets Trade Connector

Features

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

Notes

Throttle Limits

The following throttle limits are applied at the FIX ID level and are administered by EDX market operations.

  • Maximum messages per account: 1000 messages per 5 seconds.
  • If the throttle limit is exceeded, the session will be disconnected with reason RATE_LIMIT_EXCEEDED.

Cancel on Disconnect

Cancel on Disconnect is enabled by default for all FIX Order Entry sessions.
Upon disconnect, all GTD/GTT orders are cancelled; GTC orders remain on the book.

Self Trade Prevention

Defines what action to take if an order self matches. Self Trade Prevention Type can be configured globally via the selfTradePrevention setting or per order via order attribute 21001.

FIX ValueSettingsDescription
0CANCEL_NEWESTIf triggered, this order (the incoming order) will be canceled.
1CANCEL_OLDESTIf triggered, the resting order will be canceled.
3CANCEL_BOTHIf triggered, both the incoming and the resting orders will be canceled.

Market Orders

Market orders support only IOC and FOK Time In Forces.

Post-Only Orders

Post-Only orders are supported via ExecInst(18) = 6, set through order attributes.

Tag ValueNameDescription
6ParticipateDoNotInitiatePost-Only - order will not attempt to remove liquidity on entry.

Retail Order Type

Designates that an order is a Retail order or a Retail Liquidity Providing order.
The option can be defined via 9416 custom order attribute.

Tag ValueDescription
RIndicates that this is a Retail Taker order.
TIndicates that this is a Retail Maker order.

Symbology

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

Schedule

ParameterValue
Time ZoneAmerica/New_York
Start DayMonday
Start Time06:00:00
End DayMonday
End Time05:30:00
Daily Session?Yes

Configuration

Connector settings

ParameterDefault ValueDescription
usernameUsername.
passwordPassword.
accountDefault account. Optional.
useAccountfalseThe flag to define whether to use order account in preference of default account.
orderCapacityPRINCIPALDesignates the capacity of the firm placing the order. Valid values: AGENCY, PRINCIPAL, RISKLESS_PRINCIPAL.
customerOrderCapacityMEMBER_TRADING_FOR_THEIR_OWN_ACCOUNTCapacity of customer placing the order. Valid values: MEMBER_TRADING_FOR_THEIR_OWN_ACCOUNT, RETAIL_CUSTOMER.
cryptoParticipantIdThe Crypto Participant ID associated with the new order. If the CPID is not supplied, the CPID assigned as the default CPID for the Port/Account will be associated with the new order.
selfTradePreventionDefines the desired behavior in the event of a potential trade with an order from the same firm. Allowed values: CANCEL_NEWEST, CANCEL_OLDEST, CANCEL_BOTH.

Supported order attributes

KeyDescription
1Account(1).
18Post only. '6' value used for post only orders submission.
9416ExtendedExecInst. Designates that an order is a Retail order or a Retail Liquidity Providing order.
528OrderCapacity. Designates the capacity of the firm placing the order.
582CustOrderCapacity. Capacity of customer placing the order.
21001SelfTradePreventionType. Defines the desired behavior in the event of a potential trade with an order from the same firm.

Config sample

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

targetCompId = "<TARGET_COMP_ID>"
senderSubId = "<SENDER_SUB_ID>"

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