StoneX / IntegralFX Trade Connector
Features
fix-stonexConnector KeyNotes
Connectivity
FIX message encryption is not supported at the protocol level. Clients connect to StoneX Pro via one of the following methods:
- Radianz
- IPSec VPN
- Internet with SSL encryption using Stunnel
[STONEX]
client = yes
accept = 127.0.0.1:40002
connect = api.order.fxinside.net:11502
verify = 0
Forwards
Forwards are not supported for ESP workflow (only for RFS).
Any non-Spot SettlDate(64) is just ignored.
ExecInst(18)
How your order is executed. As applicable to the order type, you can specify more than one value.
ExecInst(18) tag can be provided with order attributes.
| Settings Value | FIX Value | Description |
|---|---|---|
| OK_TO_CROSS | B | OK to cross (execute at market) |
| BEST_PRICE | P | Best price |
| BID_TRIGGER2 | 9 | Bid trigger |
| OFFER_TRIGGER | 0 | Offer trigger |
| MID_TRIGGER | M | Mid trigger |
| AT_RATE | R | At rate |
| ALGO | ST | Algo |
| VWAP | W | VWAP |
Client Roles
When trading through StoneX Pro as a FIX client, you are either a direct customer or a facilitator:
- Direct customer: You trade directly with any number of liquidity providers in a one-to-one or one-to-many basis.
Trades are done between you and a single provider. - Facilitator: You are a sales dealer or facilitator organization who initiates trading with any
number of liquidity providers in a one-to-one or one-to-many basis on behalf of a customer.
Trades are done between the customer and a single provider.
For both direct customers and facilitators, the prices you see are a market data stream composed of
rates from n providers, where n equals one to the number of providers for which you are provisioned to trade.
Your client role determines the values of the additional message-routing fields in the message header:
- OnBehalfOfCompID (115)
- OnBehalfOfSubID (116)
- DeliverToCompID (128)
Symbology
Currency pairs in BASE/QUOTE format, e.g. EUR/USD, USD/JPY.
Schedule
| Parameter | Value |
|---|---|
| TimeZone | America/New_York |
| Start time | 17:00:30 |
| End time | 16:59:00 |
| Daily session | Yes |
Configuration
Connector settings
| Parameter | Default Value | Description |
|---|---|---|
| username | Username. | |
| password | Password. | |
| onBehalfOfCompId | OnBehalfOfCompID(115). The user ID and organization is expressed in the form user@custOrg. If the field contains only the customer organization ID, the organization’s default user is assumed. | |
| onBehalfOfSubId | OnBehalfOfSubID(116). Customer legal entity. If the field is blank, the organization’s default legal entity is assumed. | |
| deliverToCompId | DeliverToCompID(128). The ID of the liquidity provider organization to whom the request is sent. | |
| senderSubId | SenderSubID(50). Your legal entity’s ID if you are dealing directly with the liquidity provider or for RiskNet directed orders. Not needed if you are dealing with the liquidity provider as a facilitator on behalf of the customer. | |
| execInst | [OK_TO_CROSS] | ExecInst(18). How your order is executed. As applicable to the order type, you can specify more than one value. Allowed values: OK_TO_CROSS, BEST_PRICE, BID_TRIGGER, OFFER_TRIGGER, MID_TRIGGER, AT_RATE, ALGO, VWAP. |
Supported order attributes
| Key | Description |
|---|---|
| 115, 6115 | OnBehalfOfCompID(115). See description of onBehalfOfCompId parameter. |
| 116, 6116 | OnBehalfOfSubID(116). See description of onBehalfOfSubId parameter. |
| 128, 6128 | DeliverToCompID(128). See description of deliverToCompId parameter. |
| 18, 6018 | ExecInst(18). How your order is executed. As applicable to the order type, you can specify more than one value by separating each value with a space. |
| 21, 6021 | HandlInst(21). 1 - Automated execution order (default), private, no manual intervention. Required by the FIX protocol but not applicable to the FIX Taker API. 3 - Manual order, best execution. Used for OMS integration. |
Config sample
connectors {
STONEX : ${template.connector.fix.stonex} {
settings : {
host = "<STUNNEL_HOST>"
port = <STUNNEL_PORT>
senderCompId = "<SENDER_COMP_ID>"
targetCompId = "<TARGET_COMP_ID>"
senderSubId = "<SENDER_SUB_ID>"
username = "<USERNAME>"
password = "<PASSWORD>"
execInst = [OK_TO_CROSS, BEST_PRICE]
}
}
}