A web tool for analyzing trade history reports exported from MetaTrader 5. Upload one or multiple Excel files and get performance statistics, monthly ROI, and a balance growth chart.
- Drag and drop one or more
.xlsxfiles directly onto the screen. - Multi-file mode: drop several reports at once (e.g. one per bot) to combine them into a single analysis. Trades are sorted chronologically and the balance is recalculated progressively from the initial balance.
| Metric | Description |
|---|---|
| Total Trades | Number of closed operations |
| Winning Trades | Operations with profit > 0 |
| Losing Trades | Operations with profit < 0 |
| Win Rate | Percentage of winning trades |
| Max Drawdown | Largest peak-to-trough balance decline (%) |
| Profit Factor | Gross profit / gross loss |
| Expectancy | Average expected gain per trade |
| ROI | Return on initial balance |
Table with months as columns and years as rows. Each cell shows the ROI for that month as a percentage of the initial balance.
Line chart showing the evolution of the account balance across all operations.
Generates a .xlsx file with three sheets:
- Statistics — all metrics from Section 1.
- Monthly ROI — the monthly ROI table by month/year.
- Balance — full balance history with the chart embedded as an image.
The file must be the trade history exported from MetaTrader 5 as .xlsx.
To export from MT5:
- Open the History tab in the Terminal (Ctrl+T).
- Right-click and select Save as Detailed Report.
- Choose the Excel (.xlsx) format.
The file must contain a table with the following columns (in this order):
| Column | Description |
|---|---|
| Time | Date and time of the deal (2026.01.02 17:05:00) |
| Deal | Deal number |
| Symbol | Instrument (e.g. EURUSD) |
| Type | Entry type: balance, buy, sell |
| Direction | in (open) or out (close) |
| Volume | Volume in lots |
| Price | Execution price |
| Order | Order number |
| Commission | Commission charged |
| Swap | Accumulated swap |
| Profit | Realized profit/loss |
| Balance | Account balance after the deal |
| Comment | Comment (e.g. tp 1.17534, sl 1.16994) |
The first data row must be a
balanceentry representing the initial deposit.
- Node.js v18 or higher
- npm v9 or higher
git clone https://github.com/efabiofm/trading-bot-reports.git
cd trading-bot-reports
npm installnpm run devOpen http://localhost:5173 in your browser.
npm run buildOutput files are placed in the dist/ folder.
npm run preview