What is the Report Analyzer
MetaTrader 5 produces an HTML backtest report when you save your tester results. That report is functional but visually dated, hard to share, and missing several metrics that matter to traders evaluating strategies for live or funded accounts.
The analyzer parses the raw report and produces a branded dashboard with the metrics you actually need:
Strike rate
Profit factor
Drawdown
Sharpe ratio
FTMO Phase 1 pass rate
Monte Carlo analysis
Monthly return table
CAGR and R-Expectancy
Recovery factor
Best Day / Worst Day
Max Days Underwater
And much more
For multi-strategy traders, portfolio mode combines up to 10 reports into a single analysis that shows the correlation between strategies, diversification benefit, and combined account performance.
How to use the Report Analyzer
Single backtest
Run a backtest in MT5’s Strategy Tester
Navigate to the Backtest tab, right-click, and select Save as Report → HTML
Visit analyzer.profectus.ai
Drop the .htm file onto the upload area (or click to browse)
Wait about 10 seconds while the report parses, the chart renders, and the PDF generates
You’ll be taken to a result page with the dashboard chart and a link to download the full PDF report. The result page has a unique URL that you can copy and share with anyone — no account needed on either side.
Portfolio mode
From the analyzer homepage, click Portfolio mode
Drop in 2 to 10 MT5 .htm reports
All reports must share the same starting balance (e.g. all started from $10,000). The analyzer rejects mixed-balance batches because portfolio math becomes meaningless without a common base
Click Analyze
The result is a multi-page PDF showing the combined performance, per-strategy breakdown, correlation heatmap, and combined Monte Carlo
Report Analyzer Metrics Explanations
Net Profit $
Total dollars made or lost across all trades in the backtest period and calculated as the sum of net profit for every closed trade. This is taken from MT5’s report and includes commissions and swaps.
Net Profit %
Total return as a percentage of the starting balance. On heavily-compounded accounts (above 1000% growth), the analyzer switches to ×-notation — so a backtest that grew $1,000 to $835,000 displays as `+835.2×` instead of `+83419.1%`. Easier to read at a glance.
Strike Rate (Win Rate)
The percentage of trades that closed with a positive profit. Calculated as:
strike_rate = (number of winning trades / total trades) × 100
A 50% strike rate doesn’t mean break-even — what matters is whether your average win is bigger than your average loss. A strategy with a 35% strike rate and 3:1 average win/loss ratio is highly profitable.
Profit Factor
The ratio of total winnings to total losses, calculated as:
profit_factor = gross_profit / |gross_loss|
A profit factor of 1.0 means the strategy breaks even. Below 1.0 means it loses money. Above 1.5 is generally considered solid; above 2.0 is excellent. Anything above 4.0 in a backtest should be inspected for overfitting.
Max Drawdown
The largest peak-to-trough decline in account equity, expressed as a percentage of the running peak. Calculated by walking through the equity curve, tracking the running maximum, and finding the largest distance below that running maximum:
for each point in equity_curve:
peak = max(peak, balance)
drawdown = (peak - balance) / peak
max_dd = max(max_dd, drawdown)
This is the most important risk metric — it tells you the worst pain you would have endured running this strategy. Prop Firm programs typically kill the account at 10% max drawdown, so anything above that is automatically disqualifying.
Sharpe Ratio
A risk-adjusted return measure. Calculated from the daily P&L series:
daily_returns = [daily_pnl / daily_starting_balance for each trading day]
sharpe = (mean(daily_returns) / stdev(daily_returns)) × sqrt(252)
A Sharpe above 1.0 is decent, above 2.0 is very good, above
3.0 is excellent and rare. The analyzer requires at least 5 days of trade activity to compute Sharpe; otherwise, it shows “n/a”.
Recovery Factor
How many times the strategy’s worst drawdown is recovered by total profit:
recovery_factor = total_net_profit / max_drawdown_dollars
Higher is better. A recovery factor of 5.0 means total profits are 5× the worst drawdown experienced. This metric is useful for comparing strategies of different drawdown profiles.
CAGR
Compound annual growth rate — the equivalent yearly return that would have produced the backtest's total growth, calculated from the calendar span of the equity curve:
cagr = (end_balance / start_balance) ^ (1 / years) - 1
A 100% total return over 5 years is roughly +14.9% CAGR. Useful for comparing strategies tested over different time periods.
R-Expectancy
Expected return per $1 risked, in R-multiples:
r_expectancy = (win_rate × avg_win - loss_rate × avg_loss) / avg_loss
An R-Expectancy of +0.5R means every trade is expected to return half a unit of risk on average. Above +0.3R is a healthy edge.
FTMO Phase 1 Pass Rate
A simulation that asks:
“If you started this strategy on a randomly chosen day in the backtest, what’s the probability you would have passed the FTMO 2-Step Phase 1 evaluation?”
The simulator walks forward from each possible start day and applies FTMO’s actual rules:
+10% profit target (must
be hit)
−10% maximum overall loss (account dies if hit)
−5% daily loss limit (account dies if hit on any single day)
- No time bound (FTMO removed time limits in 2024)
The percentage shown is how many of those random start days would have passed. Above 50% is a strong indicator; below 20% means the strategy is unlikely to clear funded-trader evaluations consistently.
Best Day / Worst Day
The single calendar day with the highest and lowest combined P&L during the backtest. Useful for spotting outlier days that may distort other metrics, and for understanding daily-loss-limit risk in funded-trader contexts.
Max Days Underwater
The longest stretch (in calendar days) during which the strategy was below a previous equity peak. We also call this the Stagnation Period. It tells you how long you might have to wait, psychologically, before seeing a new high. Strategies with 100+ days underwater test patience, even if they’re profitable overall.
Monthly Returns Table
Each cell shows the return for that month, with the year totals on the right.
Monthly % is calculated against the balance at the start of that month, not against the starting balance. This means a $500 profit in month 1 (when the balance is $10,000) shows as +5%, but the same $500 in month 12 (when the balance might be $20,000) shows as +2.5%. This compounding view is more honest than treating every month against the original starting balance.
Yearly TOTAL is the compounded return for that year:
(end_balance − start_balance) / start_balance
So if January was +5%, February was +5%, and March was +5%, the yearly total displayed is roughly +15.76% (compounded), not +15% (simple sum).
Drawdown Panel
The shaded panel below the equity curve shows the percentage below the running peak, continuously over time. Spikes downward are losing periods. The deepest spike corresponds to the Max Drawdown number.
Monte Carlo Simulation
A statistical robustness test. The analyzer takes the per-trade percent returns from the actual backtest and resamples them 5,000 times, replaying each resampled sequence multiplicatively from the starting balance. This produces 5,000 alternative equity curves, each with its own net profit, drawdown, and shape.
The interval table shows confidence levels:
- 95% interval — 95% of the simulated runs ended better than this
drawdown / net profit
- 99% interval — 99% of simulated runs ended better
- 100% interval — the absolute worst outcome observed across all 5,000 simulations
This is a robustness check: a strategy with similar real and Monte Carlo numbers is reliable, while one where the real backtest was substantially better than the median simulation may have benefited from lucky trade ordering.
Note: Monte Carlo assumes trades are independent and identically distributed — a simplification that doesn't preserve regime structure (a strategy that did well 2018-2020 and badly 2021-2023 will see those mixed in resamples). It's a useful sanity check, not a forecast.
Portfolio mode terms
These metrics appear only in portfolio mode.
Combined Equity Curve
All trades from all uploaded strategies are merged into one chronologically sorted timeline and applied to a single account starting at the shared base balance. This matches how QuantAnalyzer combines portfolios — strategies are stacked at full size, not rescaled. So if you upload 4 strategies that each made $30k on a $10k account, the combined portfolio shows about $120k profit, not $30k.
Combined Max Drawdown
The actual max drawdown of the combined equity curve is calculated the same way as the single-strategy version. This can be lower than any individual strategy’s drawdown if the strategies are uncorrelated and don’t lose money on the same days. That’s the entire point of diversification.
Diversification Reduction
A single number that summarises diversification benefit:
sum_of_individual_dds = sum of each strategy's max drawdown
reduction_pct = (1 − combined_dd / sum_of_individual_dds) × 100
The interpretation:
Above 50% — strong diversification benefit, strategies move differently
20% to 50% — modest benefit
Below 20% — limited benefit, strategies behave similarly
Correlation Heatmap
A matrix showing pairwise Pearson correlation between each strategy pair, calculated on monthly returns. Values range from −1.0 (perfectly anti-correlated) to +1.0 (perfectly correlated). Cells are colour-coded:
Green / negative correlation — strategies do well in different markets, ideal for diversification
Yellow / near-zero — independent, neutral diversification
Red / strong positive correlation — strategies move together, limited diversification benefit
A portfolio of strategies with average pairwise correlation below 0.3 is well -diversified. Above 0.6, you’re effectively running one strategy with extra steps.
Per-Strategy Contribution
In the breakdown table, the contribution column shows what percentage of the portfolio’s total absolute profit came from each strategy. Useful for spotting if one strategy dominates the portfolio (concentration risk) or if performance is
balanced across strategies.
Limits and caveats
MT5 only — MT4 reports aren’t supported yet. The analyzer detects MT4 reports automatically and shows a friendly message.
Language support — the analyzer reads MetaTrader 5 reports in English and Dutch out of the box. If your terminal is set to another language, the analyzer will tell you which one and ask you to switch your terminal to English (View → Languages in MT5) and re-export. We add new languages on request — let us know via Intercom.
File size — 10 MB per single report, 60 MB across all files in a portfolio.
Rate limit — 10 single uploads and 10 portfolio combinations per IP per hour. If you hit the limit, please wait an hour and try again.
Privacy — uploaded files are processed on a Profectus server, and the resulting analysis is stored on AWS S3 in the EU. Only people with the share link can access a result, and the URL contains 128 bits of random entropy, making it effectively impossible to guess. We don’t index or list results anywhere publicly.
Retention — results are kept for 90 days on your share link, and are then automatically removed. This means the share link of your report expires after 90 days. Download the PDF if you want to keep them for longer; the PDF is yours to keep with no expiry.
Results are kept for 90 days in your share link, then automatically removed. Download the PDF if you want to keep it longer; it's yours to keep with no expiry.
FAQ
Does the analyzer change my backtest results? No. The analyzer reads your MT5 report and renders a different visualisation of the same numbers. Net profit, drawdown, trade count, and every other stat are taken straight from the report or computed deterministically from the trade list.
Why does my portfolio drawdown look different from the sum of individual drawdowns? This is normal and is exactly what diversification looks like. If your strategies don’t lose money on the same days, the combined drawdown is
lower than the sum. If they all lose together, the combined drawdown approaches the sum. The Diversification Reduction metric quantifies this.
Why is FTMO Phase 1 pass rate sometimes “n/a”? The simulation requires at least a few months of trades to be meaningful. Very short backtests (under 30-50 trades) don’t produce a reliable estimate, so the analyzer shows “n/a” rather than a misleading number.
Can I use this commercially / share results publicly? Yes. The analyzer is free for any use. Results pages have no Profectus login wall, so you can share the link in marketing material, prop firm applications, community posts, or anywhere else.
My MT5 terminal is set to a language other than English or Dutch. What do I do?
Switch the terminal to English (View → Languages → English) and re-run the report export. We're adding more languages reactively as users surface them — drop us a line via the Intercom widget on the analyzer page if your language matters to you, and we'll prioritise it.
Will the analyzer ever support MT4? It’s on the roadmap, but we'll add it once there's enough demand to justify the work — MT4's HTML format is quite different from MT5's. If MT4 support matters to you, let us know via Intercom, and we'll factor it in.


