Skip to content

MT5 Coverage Setup

In order to cover XCore trades on an MT5 coverage account some basic configuration needs to be performed on both the XCore and the MT5 Administrator Terminal.

In order to configure your MT5 coverage account, you will need to add a new rule in the Giveup component. This can be done directly from the Pending Config component. There are several parameters that need to be defined which impact the way trades are recorded into the account.

The below parameters need to be completed in order to setup your Giveup rule.

Parameter Description
Connectors the name of the source connector(s) from where the received trades need to be saved to the coverage account

Note: you can have one or multiple connectors. Examples below:

- * – All connectors will be set as the source
- trade/fixclient1 – Connector with name fixclient1 will be set as the source
- trade/fixclient1,trade/fixclient2 – Connectors fixclient1 and fixclient2 will be set as the source
- trade/fixclient* – Connectors that start with trade/fixclient , which will include fixclient1 and fixclient2 will be set as the source
- !trade/fixclient*,* – All connectors except those starting with trade/fixclient will be set as the source
Target the name of the MT5 connector in the XCore that contains the MT5 coverage account where trades will be recorded
Accounts the name of the connector account(s) from where the received trades need to be saved to the coverage account

Note: you can have one or multiple connector account. Examples below:

- * – All accounts will be set as the source
- trading1 – Accounts with name trading1 will be set as the source
- trading1,trading2 – Accounts trading1 and trading2 will be set as the source
- trading* – Accounts that start with trading , which will include trading1 and trading2 will be set as the source
- !trading*,* – All accounts except those starting with trading will be set as the source
Securities the specific securities(from the ones defined in the XCore) whose trades will be covered e.g: FX – meaning only trades belonging to FX security will be covered

Note: by default this is set to “*”, meaning the coverage rule is defined for all symbols of all securities
Symbols the specific symbols(from the ones defined in the XCore) whose trades will be covered

Note: you can have one or multiple symbol. Examples below:

- * – All symbols will be set
- EURUSD – Only symbol EURUSD will be set
- EURUSD, GBPUSD – Symbols EURUSD and GBPUSD will be set
- EUR* – Symbols that start with EUR, which will include for example EURUSD, EURGBP and more will be set
- !EUR*,* – All symbols except those starting with EUR will be set
SubId1 specify a parameter to filter from where the received trades need to be saved to the coverage account

Note: you can have one or multiple filters. Examples below:

- * – All records will be set
- 123 – Only record 123 will be set
- 123,124 – Records 123 and 124 will be set
- 12* – Records that start with 12, which will include for example 123, 124 and more will be set
- !12*,* – All records except those starting with 12 will be set
SubId2 specify a parameter to filter from where the received trades need to be saved to the coverage account

Note: you can have one or multiple filters. Examples below:

- * – All records will be set
- 123 – Only record 123 will be set
- 123,124 – Records 123 and 124 will be set
- 12* – Records that start with 12, which will include for example 123, 124 and more will be set
- !12*,* – All records except those starting with 12 will be set
SubId3 specify a parameter to filter from where the received trades need to be saved to the coverage account (for MT5 sources this is the login ID)

Note: you can have one or multiple login ID(s). Examples below:

- * – All login ID’s will be set
- 123 – Only login ID 123 will be set
- 123,124 – Login ID’s 123 and 124 will be set
- 12* – Login ID’s that start with 12, which will include for example 123, 124 and more will be set
- !12*,* – All login ID’s except those starting with 12 will be set
Providers the name of one or several providers in case you want to only record to a coverage account trades sent to the specific provider(s). Examples below:

- * – All providers will be set
- provider1 – Only provider1 will be set
- provider1,provider2 – provider1 and provider2 will be set
- provider* – Providers that start with provider, which will include for example provider1, provider2 and more will be set
- !provider*,* – All providers except those starting with provider will be set

Note: for B-book trades, it considers the provider who was streaming the price used for execution.
Mode This can be set to:

- any – all executed trades will be recorded in the coverage account, regardless if they were executed as A-book or B-book
- a_only – only trades executed as A-book will be recorded in the coverage account
- b_only – only trades executed as B-book will be recorded in the coverage account

Note: by default, all trades will be covered, so the execution mode parameter in the coverage rule is set to “any”
Values specify coverage parameters pattern, more details can be found in the coverage parameters table at the bottom of the page.

SERVER,LOGIN,INSTRUMENT,PRICE,SCALING[,MARKUP[,BOOKING_TYPE]]

e.g.: 0,50001,#I#,0,1

The first five positions are required; see also the Giveup page.
Coverage Mode The coverage mode depends on the MT5 group level Margin and Risk management settings under which the MT5 coverage account is located.

Note: Switching MT5 Margin and Risk management settings from “for Retail Forex, CFD, Futures with Hedged positions” to “for Retail Forex, CFD, Futures” or Vice Versa requires an MT5 Server restart.
Priority the priority of the rule

Note: higher number means higher priority, which will supersede the rules with lower priority
Enable represents if the rule is enabled or disabled

Note: a disabled rule creates no coverage, but if it matches at a higher priority than the other rules for the same target, it still prevents them from applying (see Giveup).

Coverage parameters:

Full pattern : SERVER,LOGIN,INSTRUMENT,PRICE,SCALING[,MARKUP[,BOOKING_TYPE]]
e.g.: 0,50001,#I#,0,1

Field Required Description
Server ID Yes Compatibility position retained from the MT4 layout. MT5 coverage does not use it; keep the position and enter 0.
MT5 Login Yes login ID for the target coverage account; if set to “n/a” the SubID3 of the order (the MT5 login) is used as the target login
Instrument Yes pattern of the symbols enabled on the coverage account on the target MT5

- #S# = XCore Symbol Name e.g. EURUSD (FX) and GER30 (nonFX)
- #I# = XCore Connector Stream Instrument name e.g. EURUSDx (FX) and GER30x (nonFX)
- #1##2# = XCore Connector Stream Base/Quote name e.g EURUSD(FX) and GER30EUR(nonFX)
- #S#.tt = custom pattern using the symbol name with a suffix .tt and resulting in e.g. EURUSD.tt (FX) and GER30.tt (CFD)

Note: Some custom patterns can lead to errors and wrong mapping if it’s applied on all securities.

Note: For #1##2# it is highly advised to be used just for FX Symbols.

- Note: Please note that if an incorrect pattern is configured by the XCore user, this may lead to multiple alerts: MT5 Symbol not found, which will result in the blockage of the coverage MT login if not resolved promptly.
Reported Price Yes If the coverage price contains the markups or not: 0 — with XCore markups, 1 — raw LP price

Note: Please make sure that the coverage account is placed into a separate group that has no MT5 group markups configured.
Note: In case the coverage account is placed into a group that has MT5 group markups, they will be added to the covered trades and this will affect the coverage account exposure.
Scaling Yes Quantity multiplier and side of the trade placed in the coverage account: 1 – (100%, same side), -1 – (100%, reversed side), 0.5 – (50%, same side). A value of 0 behaves as 1.
Markup No Optional additional static markup applied to the fill price, in units of ten times the symbol price_unit (pips for five-digit FX symbols). A positive value lowers sells and raises buys; a value that cannot be parsed counts as zero.
Booking type No 1 books each execution leg, 2 books each deal; an absent position or any other value books the completed order.

Note: The scaling position is required; use 1 for 100% on the same side.

MT5 Administrator Terminal Configuration

In order to ensure MT5 coverage occurs as intended, there are a few things which are necessary to be configured on the MT5 side.

  • The MT5 group that the coverage account belongs to must contain (and have enabled) the respective security and symbol pattern for which trades will be covered.
  • The security and thus symbol on which trades will be covered, must be enabled on the PrimeXM MT5 Gateway. If not enabled the trades will not get covered, the following error will be received: “MT5 Symbol not found“. For example: if the coverage account is in group “COV” and the symbols are under security “FOREX” then the following rule is required in the gateway:
    sec=FOREX;g=*;acc=acc_1
    Note: the rule shown above is simply for demonstration purposes and may be different from your MT5 gateway rule.
    Note: if a general rule appears (“*”) which contains the coverage group and security, this is also acceptable. For further information on MT5 gateway rules, please see MT5 Gateway Routing Rules.

Optional

  • It is also possible to trade from the coverage account itself.
  • By default, MT5 coverage applies the “min” setting defined on the Symbol level. If you would like to use the precision (min) defined on the MT5 Group level then two things are required:
    1. Add an execution rule for coverage accounts in the Gateway.
      For example, if the coverage account is under group “COV”:
      Note: the rule shown above is simply for demonstration purposes and may be different from your MT5 gateway rule.
    2. Link Coverage account with external gateway ID.
      From the Admin terminal go to Account Settings –> Account Tab –> Link coverage account with PXM Gateway by adding the Gateway ID as shown below: