DealerTrade

DealerTrade is used to determine how each execution type on XCore should be carried out on the Provider’s end as certain providers may only accept particular execution types. The level of control extends to Connector Accounts, Securities, Symbols, and order types, allowing you to specify the preferred execution method for each. Additionally, it is possible to set a maximum deviation for Limit orders that are sent to the provider. DealerTrade has the following attributes and can be accessed via pending config or real-time config:
| attributes | required | default settings | attribute type | description |
|---|---|---|---|---|
| id | Y | – | INT | The ID of the rule; generated. |
| connectors | Y | – | VARCHAR | The name(s) of one or several connectors acting as the source. • A wildcard can be used to specify several connectors (*). |
| providers | Y | * | VARCHAR | Name(s) of the execution destination provider, after any DealerLink redirection. DealerLink.providers instead matches the original quote provider. |
| accounts | Y | – | VARCHAR | The name(s) of one or several connector accounts (all belonging to the connector specified under connectors) acting as the source. • if a specific account name is used, then it is highly advisable to specify only one connector. • if all accounts available (under one or more connectors) need to be specified, then the wildcard (*) should be used. |
| securities | Y | * | VARCHAR | The name(s) of the securities acting as the source. |
| symbols | Y | * | VARCHAR | The name(s) of the symbols acting as the source. |
| types | Y | * | VARCHAR | The requested trade execution type(s).The available types are: • market • limit • stop • pq (prequoted) • the “*” wildcard can also be used for all the types Values are case-insensitive. Matching uses the order type current at the time of the check, after any TradeLock conversion. |
| min | Y | * | VARCHAR | Inclusive minimum remaining A-book quantity to which the rule applies, subject to symbol-size tolerance. This can differ from the original order size. * means no lower restriction. |
| max | Y | * | VARCHAR | Inclusive maximum remaining A-book quantity to which the rule applies, subject to symbol-size tolerance. * means no upper restriction. |
| enable | Y | 1 | TINYINT | Indicates if the dealer trade rule is enabled or disabled. • if the rule is disabled, the system will revert to the default setting and will not consider any rules of lower priority. |
| priority | Y | 1 | TINYINT | The priority of the rule. higher number means higher priority, which will supersede the rules with lower priority. • the priority is used to specify several rules of different priorities (i.e. a general rule can be set with a lower priority, and then a more specific rule can be set with a higher priority). |
| mode | Y | – | VARCHAR | Requested provider execution style: DEFAULT, LIMIT or PREQUOTED. DEFAULT preserves the adapter's ordinary behavior; it does not universally mean market. LIMIT and PREQUOTED depend on the execution styles supported by the provider adapter. |
| dev | Y | 0 | DOUBLE | Allowance in units of ten times the symbol price_unit, from 0 to 10000. Fractional values are supported; these units are not universally FX pips. Its effect also depends on the current request limit, markups and provider precision; it does not unconditionally relax the client fill limit. |
| ttl | Y | 0 | INT | Additional limit in milliseconds on the provider request lifetime. Accepted values: -1, or 0 to 90000. -1 disables this additional cap; 0 is literal zero, not inheritance. It cannot extend the remaining order lifetime. Remote expiry and cancellation confirmation depend on the provider and adapter. |
The name selectors (connectors, providers, accounts, securities, symbols) are ordered, comma-separated, case-sensitive patterns: * matches any text, a leading ! excludes a match, and the first matching token decides, so !ABC,* excludes ABC while *,!ABC admits it. No other pattern syntax is supported. Each name selector must match at least one configured name at startup.
Use distinct priorities where rules overlap; equal-priority precedence is not guaranteed. The supported online edit changes dev and ttl on an existing rule. Use a confirmed change procedure for selectors, size bands, mode, enable or priority, and do not assume a rule edit amends an already-submitted provider request.