Overview
The main purpose of the system TradeSync is to get data on transactions and prices of trading instruments from MT in real-time mode. You can see the main diagram of the system:

The product is focused on the communication of the trading platform MT4-MT5 for the implementation of trading operations functions such as:
creating an account;
changing the trading account conditions;
making balance operations;
collecting the information about trading activity on trading accounts.
The product is consists of the following parts:
RWManager is a proxy-module that ensures the interaction of requests with the trade server and provides a change in the account status, the flow of prices from the trade server to the client application.
FXTR v2 is a proxy-module for authorizing user requests for managing accounts on trading servers, obtaining information on transactions and opening/modifying/closing deals on trading servers. the module is supplied in version 2 and has the following entrypoints:
Manage accounts:
Get information about instruments available for account type
Create accounts with different types
Update account parameters
Get a list of open positions for the account
Get transactions
Get a list of transactions for the account
Get detail information about specified transaction
Getting balance information
Change balance
Open stream for the account
DealsHistory is a service that directly works with RWmanager and NATS to get all deals from MT5 on real-time and send it all via BatchWriter to ClickHouse.
It is important that RW-Manager gets data from Meta-Trader, RWManager is a proxy-module between Meta-Trader and DealsHistory that processes data and vizualise it.
Note: all time used in documentation is on Unix time format.
Low-level diagram of a possible system infrastructure:

Last updated