EDX Markets Trade Connector
Features
fix-edxmConnector KeyNotes
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 Value | Settings | Description |
|---|---|---|
0 | CANCEL_NEWEST | If triggered, this order (the incoming order) will be canceled. |
1 | CANCEL_OLDEST | If triggered, the resting order will be canceled. |
3 | CANCEL_BOTH | If 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 Value | Name | Description |
|---|---|---|
6 | ParticipateDoNotInitiate | Post-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 Value | Description |
|---|---|
R | Indicates that this is a Retail Taker order. |
T | Indicates that this is a Retail Maker order. |
Symbology
Currency pairs in BASE/QUOTE format, e.g. BTC/USD.
Schedule
| Parameter | Value |
|---|---|
| Time Zone | America/New_York |
| Start Day | Monday |
| Start Time | 06:00:00 |
| End Day | Monday |
| End Time | 05:30:00 |
| Daily Session? | Yes |
Configuration
Connector settings
| Parameter | Default Value | Description |
|---|---|---|
| username | Username. | |
| password | Password. | |
| account | Default account. Optional. | |
| useAccount | false | The flag to define whether to use order account in preference of default account. |
| orderCapacity | PRINCIPAL | Designates the capacity of the firm placing the order. Valid values: AGENCY, PRINCIPAL, RISKLESS_PRINCIPAL. |
| customerOrderCapacity | MEMBER_TRADING_FOR_THEIR_OWN_ACCOUNT | Capacity of customer placing the order. Valid values: MEMBER_TRADING_FOR_THEIR_OWN_ACCOUNT, RETAIL_CUSTOMER. |
| cryptoParticipantId | The 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. | |
| selfTradePrevention | Defines 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
| Key | Description |
|---|---|
| 1 | Account(1). |
| 18 | Post only. '6' value used for post only orders submission. |
| 9416 | ExtendedExecInst. Designates that an order is a Retail order or a Retail Liquidity Providing order. |
| 528 | OrderCapacity. Designates the capacity of the firm placing the order. |
| 582 | CustOrderCapacity. Capacity of customer placing the order. |
| 21001 | SelfTradePreventionType. 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>"
}
}
}