The installation process consists of the following steps:
1. Install the adequate version of Java (32bit or 64bit) from the Java support page
You can find different version of Java under the link below:
2. Install application from the following link:
Log in to Admin application #
- To log in you need to type the correct server address in the Server field. The server address is always provided by Match-Trade Technologies.
- In the Login and Password field you need to type credentials to your administrator account.
- If you click “save login data”, then the system will store your login and password on your local computer, which will be used for future logins to the applications
Admin Main window #
In Admin main window there are three buttons:
- Take system snapshot. This button generates a system snapshot on demand with the most up to date database.
- Shutdown QFX instance. By clicking this button you are able to shut down the whole system after taking the full snapshot. This option should be used only in emergency situations or before an upgrade to the new version.
- Global Configuration.
- Global Trusted Market.
If the “Global Trusted Market” flag is turned off, at least one LP quote has to be present in the order book (for a given instrument) to allow executions of market orders as well as activation of pending orders and stop-outs (preferable option for Forex). If the “Global Trusted Market” flag is turned on, then the market is always trusted, which means that market and pending orders can be executed despite of presence of LP orders.
- Auto generate Client Id.
Allow to switch on/off. If the “Auto generate Client Id” flag is turned on, then you can choose the “Next Client ID”, which is the number from which new accounts will be created. You can also set a range of IDs which will be skipped by the system when creating new accounts. If the “Auto generate Client Id” flag is turned off then the system creates accounts then the system creates accounts one by one starting with the lowest numbers and there is no possibility to skip some of them.
- Global Trusted Market.
In this bookmark user can set various parameters which concern instrument configuration.
- Symbol. It is the name of the instrument in the system
- ID. It is the unique ID of the instrument in the system
- Sym. Alias. It is the name of the instrument which will be visible on the trading platform.
- Lot size. It is the value which allows us to show on the platform nominal values instead of lots.
- B curr. It is a base currency in a given currency pair. It is a 1st currency in the pair
- Q curr. It is a quote currency in a given currency pair. It is a 2nd currency in the pair
- Price Dec places – It is a number of digits after comma of a price of particular instrument. In other words it is an instrument precision
- VolDecPlaces – It is a precision of the order volume which can be sent to ME
- Calc Type – It is a type of instrument it can be FOREX, CFD or FXCFD
- Vol. Step – It is minimum order size for particular instrument
- Leverage – Default instrument Leverage
- Swap Calc Type – It is a type of swaps calculation. It can be Pips or Percents
- Swap L – value of the swap for Long Position
- Swap S– value of the swap for Short Position
- Multiplier – it is a contract multiplier for CFD instruments
- Divider – it is a contract divider for CFD instruments
- Mult. Currency – It is a currency in which multiplier is denominated
- Description – It is symbol description visible on the trading platform.
- Delay Yellow – It is a time (in seconds) after which symbol in the LP Symbols tab will change the color from yellow to red.
- Delay Green – It is a time (in seconds) after which symbol in the LP Symbols tab will change the color from green to yellow.
There are a few buttons on the bottom of the window:
- New – by clicking this button user can add new instrument
- Refresh – it refreshes configuration of the instruments
- Submit Changes – by clicking this button you submit changes which were made
- Sessions Calendar – here you can define trade session for particular instrument
- Sessions Copy – here you can copy session of one instrument to other instruments
- Download – it is an option to download whole configuration to csv file
- Upload – it is an option to upload configuration from csv file to the server
If you right click on particular instrument you are able to close or open session manually for particular instrument.
In main window you can see a list of all groups with their parameters.
- Group Name – It is a name of the group
- Dep Curr – It is a deposit currency of the client group
- Comm / MM – It is a default commission per million USD traded
- Pending multipler / 1000 – It is a % value which is applied as a margin for pending orders
- Default Leverage % – It is a default leverage of the group
- S/O Level – It indicates at what level accounts will reach the stop out activation
- Hedged – It indicates if this group should be hedged with LP
- Manager – It indicates if group consists of manager users
- Admin – it is a setting which indicates if users in this group should have Manager Roles
- BrokerManager – it is a setting which indicates if users in this group should have Broker Manager Roles
- Company – it is an owner of the group
If you double click on the group, then it is possible to change some additional group parameters
- Currency Decimal Places – It is a precision for deposit currency
- Agent Commission per Million – It is a value of commission which can be added to agent accounts
- Margin Call in % – it is a level when clients receives a margin call notification
- Price Filter Interval [ms] – the delay execution for scalpers’ trades
- Coverage Mode – it is a setting which allows to hedge trades manually for a given group
- Commission Upfront – if enabled commission will be taken only once on the trade opening
- Islamic SWAP – when you set this option, the swaps will be displayed in the system as a deposit/withdrawal with the comment “storage fee” containing Position and symbol.
- EOD Reports Mode – you can define if you wish to send daily reports to your clients
- EOM Reports Mode – you can define if you wish to send monthly reports to your clients
- EOM/EOD Generation time – you can define at what time you want to send daily and monthly reports
- Swap Calculation time – it is time when swap will be calculated on clients accounts
- Default retail mode – it is a mode in which groups works
- Margin calculation type – defines how the margin is calculated for accounts inside this group
- Button Configure instruments – it allows to change instrument settings in particular group
- Button Configure SMTP – it allows to set a mailer to send notifications to the clients
Group instruments Details
If you click on Configure Instruments button then you will be able to enable or disable instruments in the group, set specific markups, commission, swaps or leverage per instrument in a given group. Some of the columns are the same as in the general Symbols tab, if the values are set in the group they overwrite the values from general tab. Columns different from general tab are:
- Enabled – it defines which symbols are enabled to be traded and quoted in the group
- Bid Markup – enables us to add a markup for the bid price. Must be added as negative value
- Ask Markup – enables us to add a markup for the ask price. Must be added as positive value
- Total Markup – shows the sum of bid and ask markup
- Min. Vol. – enables us to set a minimum volume on the instrument
- Max. Vol. – enables us to set a maximumvolume on the instrument
- Comm. Type – it defines how the commission should be calculated.
- Commission – size of the commission
- Min. Comm. $ – minimum commission which will be taken
- Agent C. Type – it defines how the commission should be calculated for agent account
- Agent Comm. – size of the agent commission
- Close Only Mode for Retail – selected symbol will be only possible to close (functionality available only for retail accounts)
- Leverage – custom leverage for particular instrument
- Fixed Leverage – if the box is checked, then the “Leverage” value from the previous point will be final leverage for the instrument. If the box is not checked then the “Leverage” value from the previous point will be multiplied by leverage set on client’s account
- Max Exposure $ – enables us to establish maximum exposure (in $) for particular instrument for one client
- Swap Schedule Type
- Swap Schedule Value
- Swap Free Days – Specifies how many days after opening a position Swaps are not charged. A parameter set to 7 would mean that swaps will be charged for the first time only on the 8th day after opening the transaction.
Example of Swap Schedule use:
- Swap Schedule Type = HOURS
- Swap Schedule Value = 3
- Swap Calculation Time (specified on group settings) = 00:00
In this example, Swaps will be charged every 3 hours starting from 00:00.
- Swap Schedule Type = DAYS
- Swap Schedule Value = 3
- Swap Calculation Time (specified on group settings) = 00:00
In this example, Swapy will be charged every 3 days at 00:00, since the value was set.
If you click on Configure SMTP button then you will be able to set a mailer from which trades in this group will receive EOM/EOD reports and informations about stoupouts and margin calls.
- SMTP host – host of the mail provider
- SMTP port – port to the given host
- Login – login to the email
- Password – password to the email
- Mail from – email address
- Copy to – email address to which report copy will be send
- SSL – it defines if the SSL protocol is enabled
- TLS – it defines if the TLS protocol is enabled
- Signature – enables us to set the mail Signature
- Delay between mails – enables us to set delay between send mails (in ms)
Below is also the button for Test e-mail which gives possibility to test if the provided mailer works.
Second Tab – Email Notofication Setup enables us to set if the mails about Deposit/Withdrawals and Credit In/Out should be send.
Special Accounts #
In this window user can create new manager and admin users or edit existing ones.
In the main view there is a list of all managers and admins with defined manager/admin rights and access to particular groups.
Once you click the NEW button there is a new window where user can create a new manager or admin. Fields marked with “*” are obligatory and must be filled out. In order to create a manager or admin you need to create a new account in the group with manager or admin role. In this window you can set a new password or block the account. If you don’t set the account password then it will be generated automatically and it will be displayed after clicking ok button.
In the rights management window user can define what roles should have particular manager or admin account. Each manager can have different role and different access to the group. You can select particular groups or roles by clicking arrow buttons.
- Deposits – it is a role which allows adding new deposits on trading accounts
- Withdrawals – it is a role which allows making new withdrawals from trading accounts
- Add Account – It is a role which allows adding new trading accounts
- Modify Account – It is a role which allows modifying trading accounts
- Reports – This role enables managers to generate reports from manager application
- Trading – If this role is enabled you can execute a transaction on client account from manager application
- Hedging Reports – it is a role which allows seeing hedging reports
- Position Edit – it is a role which allows manager to edit the open positions
LP Configuration #
In the LP configuration window broker can set all parameters concerning connected Liquidity Providers. It can also see prices which are coming from LPs.
The colors indicates if prices from a given LP are fresh (green), prices didn’t come in time set in Delay Green in Symbols tab or didn’t come in time set in Delay Yellow (red color). Grey color means that instrument has closed session at given moment.
While clicking the config button for selected LP broker can decide what instruments should be connected from particular LP. Broker can also apply his own markups to the individual symbols provided by the given LP.
In LP Setup tab broker can add new LP connection or edit existing one. It can also indicate if LP can be connected as internal hedging. Available parameters in the window are following:
- LP Client ID – it is unique LP identifier
- LP Name – it is a name of LP configured in the system
- Hedging Address – it is address of the LP connector for hedging purposes
- Internal Hedging – it is an option to hedge with the LP which uses also the same system
Routing Rules #
In Routing rules window broker can set specific routing rules for groups instruments and LPs.
Broker can specify:
- Sequence – it is a sequence number. Routing rules with lower numbers have precedence over the ones with higher numbers
- Group pattern – it is a field where broker defines what groups he wants to send to LP
- Symbol Pattern – it is a field where broker can define what instruments he wants to hedge with particular LP. * means that all instruments are selected
- LP ID – it is an ID of a Liquidity Provider defined in the LP configuration window Broker can add, edit or delete routing rules according to his needs
- Comment – it is a filed where broker can put some important informations for him about htis routing.
- Enable Mirroring – mirroring gives broker possiblity to clone the routed trades to selected account.
- Mirror Acc Id – it is a filed where broker can set the mirroring account
- Reverse Mirroring – reverse mirroring will open reverse positions on the mirroring account
- Coverage Percent – what percentage value of trades will be covered on LP side. 100 means that LP cover trades 1:1.
Candles Maintenance #
It is a window where broker can retrieve candles from a given interval and correct them if needed. There is also an option to export the chart history to csv file or import it to the server for a particular instrument.
Logged Users #
In this tab broker can see all the logged clients with their connection type, login time, expiration time and the token session.
Fix Sessions #
In this window broker can find all the fix application connected to the system. After selecting fix application created fix sessions will be visible with their type of connection and current status. Broker can click on the individual session and provoke the logon, logout, reset or dissconnect. At the bottom of this window are the events and messages which happend on the chosen fix session.
System Journal #
System Journal shows the server logs. Logs can be exported to CSV or TXT files. On the screen pop up some information like:
- Count: – it is the total records reflected on the window (all requested logs). The limit is 2000 so if you cannot find interested logs you need to restrict the period time or use more filters
- Timestamp – this is the time when a given operation was executed
- Level – levels of severity for the events being logged:
- INFO level is used for informational messages that describe the normal flow of application execution or provide status updates.
- WARN level indicates a potential issue or a situation that could cause problems in the future, but does not necessarily affect the current application execution.
- ERROR level indicates that an unexpected or critical problem occurred during application execution, which may result in failure or abnormal termination.
- DEBUG level provides detailed information for debugging purposes and is usually only enabled during development or testing phases. It logs more verbose information about the application’s behaviour and is often used to diagnose and fix issues.
- Service name – it is our internal names of services that serve some operations, you can use them to filter logs
- Log – a record of events or data that provides a chronological account of an application’s activity, and captures information about the behaviour of an application, such as errors, warnings, user actions, and system events.
To find some special logs broker needs to retrieve logs, choose log level, service name, time and filter the text he would like to search for.
In order to better understand, we’ll use the 244276 trading account as an example
In the screenshots above you can see the account on which opened two positions on BTCUSD
- The first position was opened at 07:44:40 and closed at 07:48:02 (order id: W1681546755108555)
- The second position has been opened at 07:44:46 and is still open (order ID: W1681546755108567)
To check the execution, you should enter the “Order ID” number in the Filter field, select the period in which it was executed, and click OK.
A logs window will appear, where you can check the logs of a given order.
We can check the entire process from the moment the position was opened until it was closed.
Now we use the order ID: W1681546755108555 and check the logs in the admin application in the “System Journal” tab
- Here, we can check the all information about chosen trade like login of trading account, instrument, volume, tpPice = take profit price, slPice = stop loss price, clOrdId = Order ID etc.
- “RiskEnging – Order added” means that the order has been opened on the account without any problems
Here often can be information that “Order rejected” means that for some reason e.g. not enough liquidity the position was rejected
- Manager ID: 9 – it is a manager who connects the manager application with the trading platform and this log means that the client close this position on the platform or mobile device
Here you can check who closes the position, you can identify the manager’s login
- The position was closed correctly
Now we use the order ID: W1681546755108567 and check the logs
- “InternalRoutingEngine” means that client 244276 is in the ABook group so this position was hedged and reflected as #M#R# W1681546755108567 on the 50501 hedge account
- This log means that the position was filled on the hedge account, sometimes when the position has a big volume and the market has low liquidity position like this can be not fully filled and rejected or divided
Now, we’ll create a discrepancy, it is a situation when the position on the hedge doesn’t have the equivalent on the trading account – this is a most common issue when the ABook client cannot close the position on the platform
For test purposes we’ve closed manually the position on the hedge account Order ID: H-#M#R#W1681546755108567
- In the screenshot above we can see the situation when e.g. a broker closed the position manually or got the stopout and there was a discrepancy
- The trader receives a REJECTED error
- Now, we will check the logs and try to find out why trader 244276 cannot close position W1681546755108567 and what is the reason
- We’ve put the order ID W1681546755108567 and requested the logs again
- Pay attention to the “count” amount of logs has been changed from 45 to 72 which means more logs have appeared in the system for the requested order
- As we can see at 09:56:33 manager: 50 closed the position H-#M#R#W1681546755108567 in the grpc-manager-api which means that was closed manually by the Manager GRPC application
- Later at 10:00:01, trader 244276 tried to close the position but he couldn’t (id:9 means that the client made it by the trading platform)
- Few records below we can find the logs which explain to us what exactly happening in the system
- The position W1681546755108567 cannot be closed because their equivalent on the hedge account “… doesn’t exist” H-#M#R#W1681546755108567
Also, we can use the login of the account to find a reason. All we need to do is put the account login in the Filter field (in quotation marks for the system to find an exact match) and add the system name (qfx) to the Service name to limit the number of logs.
- In this way, we received the logs from all operations related to the 244276 trading account
- As we can see on the screenshot the issue regarding the “Internal routing error” it means that the problem is between the client and the hedge account (in the routing)
A client cannot login to the platform
- A common reason why customers cannot log in to the platform is that they enter the wrong password. Put the email and set the period of time when the client tried login
- As you can see in the screenshot above the client “firstname.lastname@example.org” tried login to the platform at 08:55:18 but he used the wrong username or password. He tried a second time at 08:55:25 and the login was successful as this log pointed to it: “LoginController – email@example.com user authorization in Match-Trader success”
- Furthermore, if you pay attention to the last record you can see the client’s IP “UserService – Updating last online and ips 126.96.36.199, 10.3.0.13 for: firstname.lastname@example.org, broker id: 0”
In our example, the public IP address is 188.8.131.52 for this account
A client cannot open a position
- A common reason is not efficient balance to open position just because the client wants to open too much volume.
- As you can see in the screenshot above, account number 244276 tried to open 100000000 lots on the WTI and the position was rejected because not enough margin