TapeSheet

Home MT4 statement analyzer

MT4 statement analyzer

You already have the file. Drop it on the analyzer and you get the whole picture in about a second — equity curve, drawdown, session breakdowns, 26 metrics and a trade journal. Free, no account, and the statement never leaves your browser.

The analyzer is the drop zone. Nothing is uploaded, and there is nothing to sign up for.

Which MT4 exports work

MetaTrader 4 writes two report formats, and TapeSheet reads both. Neither needs an English platform — the parser matches on table structure and header meaning, not on the literal English words.

ExportWhere it comes fromWhat it contains
Statement.htmAccount History → right-click → Save as ReportClosed Transactions, Open Trades, Working Orders and the summary lines. Everything the metrics need.
DetailedStatement.htmAccount History → right-click → Save as Detailed ReportThe same plus MetaTrader's own statistics block, which we cross-check our totals against.

Right-click and choose “All History” before saving. This is the single most common reason a statement analyses to less than the trader expected: MT4 saves the period you are looking at, not the account's whole life. If your report covers three weeks when you traded three years, that is why.

Full walkthrough with the menu path: how to export an MT4 statement.

The chart in a detailed report is a picture, not data

A detailed report embeds a balance chart as a GIF. It is an image of a curve — there are no numbers in it, and no analyzer can read anything from it. TapeSheet ignores it andrecomputes the balance curve from the transaction rows instead, which is why our curve can mark deposits and withdrawals separately and MetaTrader's cannot.

That distinction matters more than it sounds. A balance curve that silently includes a $5,000 deposit looks like a great month. Ours marks the deposit and leaves your trading result standing on its own.

What you get

Metric groupWhat it tells you
Net P&L, gross profit, gross lossSplit exactly as the statement records them, with commission and swap kept separate so you can see the cost of trading rather than only the result of it.
Win rate, payoff ratio, expectancyWins, losses and breakeven counted separately — a scratch is not a win, and counting it as one flatters a strategy.
Profit factor and recovery factorGross profit over gross loss, and net profit over max drawdown: how much you make per unit of pain.
Equity curve and underwater drawdownRecomputed from the rows, with deposits and withdrawals marked so a funding event never masquerades as performance.
Max drawdown in money and percentBalance-based, and the page says so — see the caveat below.
Per-symbol, per-weekday, per-hour, per-sessionWhere the money actually comes from, and the hour that quietly costs you the year.
Streaks, hold times, day win rateLongest win and loss runs, average and extreme hold times, and how many trading days closed green.
Tape ScoreOne composite from six weighted sub-scores, with the weights published and a confidence band that reads your sample size.

Partial closes, balance operations and cent accounts

MT4 records a partial close as a separate closed transaction with its own ticket and its own share of the costs. TapeSheet treats each closing portion as its own closed trade, which is what makes per-trade averages meaningful — lumping them together would understate your trade count and inflate your average win.

Deposits, withdrawals and credits are separated from trading results: they move the balance curve and the drawdown, and they are excluded from win rate, expectancy and profit factor. A withdrawal is not a losing trade.

Cent accounts, comma decimal separators, non-breaking-space thousands separators and non-UTF-8 encodings all parse. If the character encoding is guessed wrong — Cyrillic broker names are the usual tell — the analyzer notices and offers a one-click fix rather than leaving you with mojibake.

Every instrument your broker lists

Symbol handling is generic: suffixes are normalised (usdjpy.a,USDJPY.raw and USDJPY are one symbol), and price precision is inferred from the price strings in your file rather than a hardcoded table. Gold, indices, crypto CFDs and futures CFDs analyse exactly like FX pairs. There is no supported-instrument list, because there is no special-casing to limit one.

The honest caveats

Stated here as well as next to the numbers in the product, because an analyzer that hides its limitations is just a nicer-looking wrong answer:

  • Drawdown is balance-based. A statement records each position's open and close, never what happened in between, so a trade that ran far against you and closed flat contributes nothing. Your real equity drawdown was deeper.
  • Timestamps are broker server time with no timezone marker. Set the offset once in Settings or every session and hour breakdown is shifted.
  • R-multiples come from the planned risk you enter in a trade's journal panel. The stop-loss column in a statement is only the last value that was set, so it is not used.
  • Your broker's records are authoritative, not our reading of them. Where the two disagree, the broker is right and we have a bug worth hearing about.

The full list lives on the risk disclaimer page.

Why it is free, and why nothing uploads

There is no server to upload to. The analyzer is one HTML file with the parser, the metrics engine and the charts inlined; your statement is read by the browser's own file API and parsed on your device. Open DevTools, watch the Network tab, drop a file in — nothing leaves. Or disconnect from the internet first: it works anyway.

That architecture is also why it costs nothing. A thousand new users cost about what one does, so there is no signup, no trial clock and no feature held back for a paid tier. The content pages carry ads eventually; the analyzer never will. Seehow this site makes money.

Also worth reading

Your file is already on your desk

Drop it in and see what three years of trading actually looks like.

Analyze my MT4 statement