Specification
I’m looking for an experienced MQL5 / MT5 developer to build an EA that acts as a connector between a user’s MT5 trading account and our own web-based performance tracking platform.
The concept is similar to platforms like Myfxbook or ShowMyTrades, where users can connect their trading account and automatically track their trading performance, including trade history, profit/loss, win rate, drawdown, account balance, equity, open trades, closed trades, and other key statistics.
The important point is that we are not using MetaAPI, so I need the MT5 EA itself to collect the required account and trade data and securely send it to our backend/server through an API.
The intended user flow is:
- User signs up on our platform.
- The platform generates a unique connection key for the user.
- User downloads our MT5 EA.
- User attaches the EA to their MT5 chart.
- User enters their unique connection key into the EA setting.
- User clicks/connects the EA.
- The EA authenticates the key with our server.
- Once connected, the EA automatically sends the user’s MT5 account and trading data to our platform.
- The user's dashboard updates automatically without requiring any manual uploads.
The EA should ideally be able to send data such as:
- MT5 account number
- Broker/server information
- Account balance
- Equity
- Margin / free margin
- Deposit and withdrawal history where available
- Open positions
- Closed trades
- Pending orders
- Entry price
- Exit price
- Lot size
- Symbol
- Buy/Sell direction
- Stop Loss / Take Profit
- Profit/loss
- Swap
- Commission
- Open and close timestamps
- Trading history
- Account growth/performance information
Our backend will use this information to calculate and display statistics such as win rate, total profit, percentage return, drawdown, average win/loss, profit factor, trading history, daily/monthly performance, equity curve, and other analytics.
I need the EA to be fully automated after setup. Once the user connects it using their unique key, it should continue syncing data automatically as long as MT5 is running.
Important technical requirements:
- MT5 / MQL5 only
- EA should work by attaching it to just one chart
- Should monitor the entire trading account, not only trades from the chart it is attached to
- Secure API communication between MT5 and our backend
- User-key authentication
- Ability to validate whether the key is active/valid
- Automatic historical trade synchronization when first connected
- Automatic synchronization of new trades afterward
- Open-position updates
- Avoid sending duplicate trades/data
- Ability to reconnect automatically after MT5 restarts or internet disconnects
- Handle API/server errors properly
- Lightweight and should not interfere with the user’s trading EAs
- Clear status display such as:
- Connected
- Connecting
- Invalid Key
- Server Offline
- Syncing
- Last Sync Time
- Ideally support broker symbol suffixes/prefixes and different MT5 brokers
- Source code must be provided upon completion
The EA itself does not need to place or manage trades. Its main purpose is to read MT5 account/trading information and synchronize it with our platform.
Security is very important. The EA should not require the user to provide their MT5 login password to our website. The EA runs locally inside their MT5 terminal and communicates directly with our API.
I already have / am building the web platform and backend. I need someone who understands both MQL5 and API integration, and preferably has experience building account monitoring, trade copier, analytics, licensing, or Myfxbook-style connectivity systems.
When applying, please send me:
- Your experience with MQL5
- Examples of similar MT5/API integration projects
- How you would architect the connection between the EA and server
- How you would handle historical trade syncing and prevent duplicates
- How you would handle authentication/security
- Estimated development time
- Your quotation
Please only apply if you are confident with MT5 account data extraction, WebRequest/API integration, authentication, and reliable synchronization.
This is potentially a longer-term project, as more features may be added to the platform later.