Skip to content

efabiofm/backtest-fusion

Repository files navigation

BacktestFusion

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.


Features

File upload

  • Drag and drop one or more .xlsx files 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.

Section 1 — General Statistics

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

Section 2 — Monthly ROI

Table with months as columns and years as rows. Each cell shows the ROI for that month as a percentage of the initial balance.

Section 3 — Balance Growth

Line chart showing the evolution of the account balance across all operations.

Export to Excel

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.

Excel File Format (MT5)

The file must be the trade history exported from MetaTrader 5 as .xlsx.

To export from MT5:

  1. Open the History tab in the Terminal (Ctrl+T).
  2. Right-click and select Save as Detailed Report.
  3. 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 balance entry representing the initial deposit.


Getting Started

Requirements

  • Node.js v18 or higher
  • npm v9 or higher

Installation

git clone https://github.com/efabiofm/trading-bot-reports.git
cd trading-bot-reports
npm install

Development

npm run dev

Open http://localhost:5173 in your browser.

Production Build

npm run build

Output files are placed in the dist/ folder.

Preview the Build

npm run preview

About

MetaTrader backtest reports merger

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages