Skip to main content

StoneX / IntegralFX Trade Connector

Features

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

Notes

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 ValueFIX ValueDescription
OK_TO_CROSSBOK to cross (execute at market)
BEST_PRICEPBest price
BID_TRIGGER29Bid trigger
OFFER_TRIGGER0Offer trigger
MID_TRIGGERMMid trigger
AT_RATERAt rate
ALGOSTAlgo
VWAPWVWAP

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

ParameterValue
TimeZoneAmerica/New_York
Start time17:00:30
End time16:59:00
Daily sessionYes

Configuration

Connector settings

ParameterDefault ValueDescription
usernameUsername.
passwordPassword.
onBehalfOfCompIdOnBehalfOfCompID(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.
onBehalfOfSubIdOnBehalfOfSubID(116). Customer legal entity. If the field is blank, the organization’s default legal entity is assumed.
deliverToCompIdDeliverToCompID(128). The ID of the liquidity provider organization to whom the request is sent.
senderSubIdSenderSubID(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

KeyDescription
115, 6115OnBehalfOfCompID(115). See description of onBehalfOfCompId parameter.
116, 6116OnBehalfOfSubID(116). See description of onBehalfOfSubId parameter.
128, 6128DeliverToCompID(128). See description of deliverToCompId parameter.
18, 6018ExecInst(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, 6021HandlInst(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]
}
}
}