Getting trades into a journal is a one-time setup decision, and it decides whether your statistics mean anything for years. There are exactly three routes. Pick by how you trade, then run the honesty checks at the end no matter which you chose.
Route 1 — the report file (works everywhere)
Export the HTML statement from your platform — the full export walkthrough is here — and feed it to the journal's import. MT5's Report and MT4's Save as Detailed Report both carry everything a journal needs per trade: symbol, direction, volume, open and close time and price, stops, swap, commission, profit.
This route is the most reliable because the file is the broker's own accounting. Its one weakness is cadence: the journal only knows what you've exported, so pair it with a habit — end of week, export the week, import, done. Two minutes.
Route 2 — CSV (for everything else)
If your data lives anywhere non-MetaTrader — a prop platform's dashboard, an old spreadsheet, another journal you're leaving — CSV is the bridge. A journal importer needs, at minimum: symbol, direction, volume, open time, open price, close time, close price, profit. Stops, commission and swap make the stats sharper but aren't required to start.
The route's failure mode is mapping: importers guess which column is which, and a swapped open/close or a European decimal comma corrupts everything downstream silently. Import ten trades first, check them against the platform, then do the rest.

Route 3 — auto-sync via the investor password
MetaTrader's investor password grants read-only access (no trading, no withdrawals), and sync-capable journals use it to pull trades automatically. Setup is one form: server, login, investor password. From there closed trades appear on their own.
Honesty first, since we sell one of these: TradeLens Cloud syncs closed trades only through this route, and the $47 download edition has no live connection at all — it imports Routes 1 and 2. Some competitors sync open positions too; we've said plainly where theirs is stronger. Whatever tool you use: supply the investor password, never the master, and rotate it if you ever stop using the service.
The four checks that keep imported data honest
Timezone. MetaTrader stamps trades in server time, which is rarely your wall clock. If your journal's session stats look shifted — London wins appearing as Asia wins — the import's timezone offset is wrong. Fix it before reading any time-of-day statistic.
Partial closes. One position closed in three pieces arrives as three rows. Decide once whether your journal should merge them into one trade or count three, and confirm the importer did what you chose — it's the difference between a 40% and a 55% win rate on the same trading.
Non-trade rows. Statements include deposits, withdrawals and balance adjustments. A good importer skips them; a naive one books your $500 deposit as a winning trade. Scan the first import for rows with no symbol.
Duplicates. Re-importing an overlapping period should update, not double. Import the same file twice as a test — if your trade count doubles, the tool has no dedupe and every future import needs exact, non-overlapping ranges.
Then make the data earn its keep
Import is plumbing. The return comes from what the journal computes once the rows are in: R multiples instead of dollars, session and setup breakdowns, the leaks that memory smooths over. Run the four checks once, set the cadence, and the dataset stays honest for as long as you trade.
A journal is only as truthful as its import. Verify ten trades once, and every statistic after that inherits the trust.


