We may earn a commission through these partner links. Demo funds are virtual; access and country eligibility depend on the platform terms. Disclosure
A useful trading-history record includes all relevant transactions and cash flows. A screenshot of selected wins cannot replace a reconciled statement for a defined period.
Define the period and account scope
Record the account identifier privately, account mode, currency, date range and timezone. Keep demo, funded and tournament activity in separate datasets unless the comparison explicitly requires them together.
A download labelled ‘history’ may contain trades while omitting deposits, withdrawals or adjustments. Identify what the file includes before using it as the complete account record.
Use the available export route without assuming a format
Find the genuine account’s statement or history function and inspect the available date range and file type. If no export exists, retain dated statements and ask support for the relevant record.
Do not paste credentials into a third-party scraper merely to obtain a spreadsheet. An export convenience is not a reason to give an unknown service control over the account.
Minimum fields for reconciliation
| Field | Why it matters |
|---|---|
| Unique transaction ID | Detects duplicates and omissions |
| Timestamp and timezone | Orders events consistently |
| Type | Separates trade, payment and adjustment |
| Amount and currency | Prevents mixing unlike units |
| Net result | Supports actual performance accounting |
Reconcile the balance using a simple identity
Ending balance should equal starting balance plus deposits minus withdrawals plus net realised results plus other adjustments, under the statement’s accounting convention.
For an illustrative start of 100, deposit of 50, withdrawal of 20 and net trading loss of 15, the ending balance is 115 before other adjustments. Calling the increase from 100 to 115 a 15-unit trading profit would be wrong.
Check duplicate and missing rows
Overlapping exports can repeat the same transaction. Deduplicate by a reliable unique identifier rather than deleting rows just because their amounts match.
Inspect gaps and unexpected balance changes. Pending transactions, open exposures, bonus adjustments and conversion entries may require separate treatment. Mark unresolved items instead of forcing the totals to agree with an invented adjustment.
Preserve originals and publish a transparent summary
Keep an untouched source copy and a separate analysis version. Document filters, exclusions and any corrections so the summary can be audited.
For a public example, remove personal and payment identifiers. Report the period, account mode, currency, net result and limitations. A reconciled historical record supports what happened in that account; it still does not guarantee future performance or verify the provider’s wider reliability.
MT5 example: generate a report from the correct history
MetaQuotes documents report generation through the History tab’s context menu and describes HTML account reports. This is an example for MetaTrader 5, not a promise that every broker’s web platform exports the same format. Inspect the available period and report options in your version.
- Confirm the account and whether it is demo or funded.
- Select the required history period and note its time basis.
- Use the report function provided by the platform and save the original file.
- Check the report header, currency and generation date before importing it elsewhere.
- Compare the report’s totals with the account record and investigate differences.
The documented report separates orders, deals and positions. Do not count every row in every section as an independent completed trade. An order is an instruction, a deal records an execution, and a position represents exposure. One trading idea can involve several executions or partial closes. Define the unit used for your statistics before counting wins.
Import checks before calculating performance
| Import issue | Example | Useful check |
|---|---|---|
| Number formatting | A decimal comma becomes a text value | Compare a known amount with the source |
| Identifier conversion | A long transaction ID becomes scientific notation | Import identifiers as text |
| Date interpretation | Day and month are reversed | Inspect an unambiguous date and period boundaries |
| Different sections | Order and execution tables are appended together | Keep record types in separate tables |
| Repeated export | The same transaction appears in two files | Compare stable IDs within the same account and record type |
Renaming an HTML report with a CSV extension does not convert its structure. Use an appropriate import method and preserve the raw file. If the importer drops unrecognised rows, count the exclusions and review them rather than assuming they are irrelevant.
Worked reconciliation with a fee difference
Assume a fictional opening balance of 500 units, deposits of 200, withdrawals of 100 and net realised trading results of minus 35. With no other changes, the expected closing balance is 565. If the statement instead shows 560, the unexplained difference is minus 5.
Now suppose a separate documented account fee of 5 appears in another statement section. Including that actual fee reconciles the result: 500 plus 200 minus 100 minus 35 minus 5 equals 560. If the fee is already included in the net trading result, subtracting it again would create a new error. Verify the field definition before adjusting anything.
If no supporting entry explains the difference, leave it flagged. Record the discrepancy amount, relevant timestamps and report versions, then request clarification through genuine support. An invented balancing row can make a spreadsheet add up while destroying its evidential value.
Balance and equity answer different questions
A closed-trade ledger can reconcile balance while omitting gains or losses on positions still open at the cutoff. Record outstanding exposure separately when evaluating the full account state. Do not compare yesterday’s balance with today’s equity and call the difference realised trading profit.
Check the platform’s definitions for credits, commissions and other adjustments. Also retain the account currency. Translating results into a home currency adds another calculation; our account-currency research explains why conversion differences should remain separate from trading outcomes.
Frequently asked questions
Is an export proof that a provider is reliable?
No. It records account activity within its scope. It does not establish regulatory permission, solvency or the authenticity of an unrelated withdrawal claim.
What if the platform has no downloadable history?
Retain available statements and ask official support for the required date range and transaction details. Document the limitation. Avoid giving an unknown browser extension credentials just to create a convenient file.
Can I remove two identical amounts as duplicates?
No. Separate legitimate transactions can share amounts and times. Use reliable identifiers and record context; retain an audit note for every exclusion.
What should a public summary include?
State account mode, currency, period, counting convention, net result and unresolved gaps. Redact personal data. Link payment-related evidence separately through our deposit and withdrawal research rather than presenting a screenshot of selected wins as the whole record.

Sources and research scope
- MetaQuotes: MT5 account statement report
- MetaQuotes: orders, deals and history
- BBH research methodology
Public-source review: 24 October 2026. Examples are illustrative. Documentary research does not represent funded-account testing. Rules must be checked against the current product, entity and customer location.
Related research
Research documentation hub · Research methodology · Calculation tools
Risk: Fixed-outcome contracts can lose the entire stake. No chart pattern, calculator or demo result guarantees future returns.


