The universal import method: No API? No EA? No problem. If your broker has a "Download" or "Export" button on the trade history page — and they all do — you can import into any journal. 2-3 minutes per import. Works with nearly every broker, platform, and market.
Step 1: Find the Export Button (Every Broker Has One)
Find your broker's trade history export. Common locations:
| Platform | Where to Find Export | Best Format |
|---|---|---|
| MT4 | Account History tab → right-click → Save as Detailed Report | HTML (.htm) |
| MT5 | History tab → right-click → Report → Save | HTML or CSV |
| cTrader | History → Export | CSV |
| TradingView | Strategy Tester → Export (paper trading) | CSV |
| NinjaTrader | Account Performance → Export | CSV |
| Tradovate | Performance → Export Trades | CSV |
| Thinkorswim | Monitor → Activity and Positions → Export | CSV |
| Interactive Brokers | Reports → Activity → Export | CSV |
| Any web broker | Look for: History, Statements, Reports, Activity → Download/Export | CSV |
Pro tip: Set the date range to cover your entire trading period — don't just export this week. Import your full history for the most complete analysis.
Step 2: Upload to Your Journal
Most journal tools have an Import or Upload button. The process:
- Click Import / Upload
- Select your file (drag-and-drop usually works too)
- The tool reads the file and shows you a preview of the columns
Step 3: Map the Fields (This Is Where Most People Get Stuck)
This is the critical step — telling the journal which column in your file means what:
| Your File Column | Maps To | Required? |
|---|---|---|
| Symbol / Instrument / Pair | Instrument | ✅ Yes |
| Type / Side / Direction | Direction (Buy/Sell) | ✅ Yes |
| Open Price / Entry Price | Entry Price | ✅ Yes |
| Close Price / Exit Price | Exit Price | ✅ Yes |
| Open Time / Entry Time | Entry Timestamp | ✅ Yes |
| Close Time / Exit Time | Exit Timestamp | ✅ Yes |
| Profit / P&L / Net Profit | P&L | ✅ Yes |
| Volume / Lots / Size | Position Size | Recommended |
| Commission / Fees | Commission | Recommended |
| Swap / Overnight | Swap | Optional |
| SL / Stop Loss | Stop Loss | Optional |
| TP / Take Profit | Take Profit | Optional |
Smart mapping: Good tools auto-detect most fields by column name. "Profit," "P/L," "Gross P&L," "Net Result" all map to P&L automatically. You only need to manually map columns with unusual names.
Step 4: Review and Confirm
Before finalizing, check:
- Trade count: Does the number match what your broker shows?
- Total P&L: Does it roughly match your broker's P&L? (Small differences from rounding are normal)
- Date range: Are the oldest and newest trades correct?
- Spot check 3 trades: Open one trade in your journal and compare entry, exit, and P&L to your broker. Match? Good.
If everything checks out, confirm the import. Your trades are now in the journal. Start analyzing with tools like the position size calculator and risk-reward calculator.
Platform-Specific Export Tips
Not all broker exports are equal. Some give you clean CSVs with every field you need. Others give you messy HTML reports that need cleaning. Here are the gotchas per platform:
MetaTrader 4 / MT4
MT4's default export is HTML (.htm), not CSV. This is actually fine — most journal tools can parse MT4 HTML statements directly. Make sure you select "All History" in the Account History tab before exporting, or you'll only get the default 3-month window. Right-click → Save as Detailed Report gives you the most complete data including swaps and commissions.
MetaTrader 5 / MT5
MT5 offers both HTML and CSV export. CSV is cleaner for import. Go to History tab → right-click → Report → Save as CSV. MT5 also separates deals and positions — for journaling, you want the "Deals" report which shows individual executions. If your journal supports MT5 HTML, that works too.
Interactive Brokers (IBKR)
IBKR has the most detailed exports — sometimes too detailed. Use the Activity Statement (not the daily statement). Export as CSV. IBKR includes a header row with account info before the trade data — some tools handle this, others need you to delete the header rows manually. Flex Queries give you the most control over which fields to include.
Thinkorswim (TOS)
Export from Monitor → Activity and Positions. TOS exports include option spreads as multi-leg trades — if you trade options, check how your journal handles multi-leg imports. Stock and futures trades export cleanly.
Crypto Exchanges (Binance, Bybit, OKX)
Most crypto exchanges offer CSV export under Trade History or Order History. Watch out for spot vs futures separation — Binance exports spot and futures trades from different pages. If you trade both, you need two exports. For ongoing sync, API sync is better than repeated CSV exports.
6 CSV Problems and How to Fix Each One
| Issue | Cause | Fix |
|---|---|---|
| P&L shows as 0 or wrong | Column mapped incorrectly or uses different currency | Re-check field mapping. Ensure you're mapping NET profit, not just gross. |
| Dates are scrambled | Date format mismatch (MM/DD vs DD/MM) | Check journal settings for date format. Or reformat dates in Excel before upload. |
| Some trades missing | File only exported partial history | Re-export with wider date range. Check broker for separate spot/futures exports. |
| Buy/Sell not recognized | Broker uses different labels ("Long"/"Short", "B"/"S") | Map direction field manually and specify the value mapping. |
| Commas in numbers (1,234.56) | Locale formatting issue | Open CSV in text editor, find-replace commas in numbers, or adjust journal's locale setting. |
| Multi-line trades (partials) | Broker exports each fill separately | Some tools auto-group by order ID. Otherwise, pre-process in Excel to merge fills. |
Save Your Mapping for Future Imports
After your first successful import, save the field mapping. Next time you upload from the same broker, the mapping is pre-loaded — making future imports a 30-second click-and-confirm process.
This is important because CSV import becomes your weekly routine:
- Sunday evening: Export this week's trades from broker (30 sec)
- Upload to journal: Drag-and-drop the file (10 sec)
- Confirm mapping: Already saved → just click Import (10 sec)
- Add tags: Quick-tag each trade with setup name (2-3 min for the week)
- Total: 3-4 minutes per week
Grouped Import: Multiple Files at Once
If you trade on multiple platforms (e.g., MT5 for forex + Binance for crypto), you can import both files in the same session. The journal merges them into one unified timeline — all trades from all sources, sorted chronologically.
This is the superpower of CSV import: it's platform-agnostic. Any broker, any exchange, any platform that exports data can feed into one journal. Your analysis covers your entire trading activity, not just one account.
TSB's smart CSV import handles all of this. Upload any CSV, HTML, or JSON file. Smart field mapping auto-detects columns. Save mapping for future uploads. Group import from multiple brokers. Deduplication prevents doubles. Works with nearly any broker. Try the import →
When CSV Is Actually Better Than API
API sync is more convenient — but CSV wins in specific situations:
- Privacy-first traders: CSV is a one-time file upload. No ongoing connection, no API keys stored, no credentials shared. You control exactly what data leaves your broker.
- Broker doesn't support API: Many forex brokers, prop firm platforms, and smaller exchanges have no API. CSV is your only automated option.
- Bulk historical import: Need to import 2 years of trades at once? CSV handles large datasets better than API pagination. Export once, upload once.
- Multi-broker consolidation: Trading across 3-4 platforms? CSV lets you export all of them in the same format and import into one journal — regardless of whether each broker has API support.
- Regulated accounts: Some institutional or prop firm accounts restrict API access. CSV export through the platform's built-in tools is always available.
Rule of thumb: use API when available for daily sync. Use CSV for historical backfill, unsupported brokers, and privacy-sensitive setups.
How We Built This Guide
- Export paths — verified by testing actual exports from MT4, MT5, cTrader, Interactive Brokers, TradingView, and Thinkorswim.
- Field mapping — based on TSB's import engine. Column names and mapping may vary by journal tool.
- MT4/MT5 documentation — per MetaTrader 4 and MetaTrader 5 official help.
- Time estimates — based on internal testing. Your times may vary by broker and file size.
Read our editorial methodology for how we create trading guides.
CSV Import: Not Glamorous, But It Works With Every Broker on Earth
CSV import isn't glamorous. It's not as seamless as API sync or EA auto-sync. But it's the universal fallback that works with nearly every broker — no API keys, no integrations, just a file. If your broker doesn't support API and you don't use MT4/MT5, CSV is your path to a complete journal.
3-4 minutes per week. Complete trade history. Full analysis capability. The friction is low enough that there's no excuse not to journal — and the insights from complete data are worth far more than the time invested.
Related reading: Stop manual logging · MT4/MT5 auto-sync · Exchange API sync · Build a journal