Why Import Matters
Before you start journaling going forward, importing your MT4/MT5 history gives you a baseline. You can calculate your historical win rate, average pips, and best pairs without waiting months for new data.
Most traders skip this because import feels technical. But 30 minutes of setup work now saves months of blind trading later. You’ll know immediately if your edge is real or luck.
Step 1: Export Your Trade History From MT4
On MT4 Desktop:
- Open your MT4 platform
- Click View in the top menu
- Select Account History (a new window opens)
- Right-click anywhere in the trade list
- Select Save As (a save dialog opens)
- Choose a location and filename (e.g., “EURUSD_2026.csv”)
- Make sure the file format is CSV
The CSV will export all closed trades in your account with columns: Open Time, Close Time, Pair, Direction (Buy/Sell), Volume (lot size), Open Price, Close Price, Commission, Swap, Profit.
On MT5 Desktop:
The process is similar but slightly different:
- Click View → Trade History (or right-click the terminal at the bottom)
- A history tab opens
- Right-click in the trades list
- Select Save As
- Choose CSV format
Important: The export should include your full history. You might be tempted to export just the past month—don’t. Get 1-3 years of history if available. More data = better edge validation.
Step 2: Clean the CSV Before Importing
Open your CSV file in a spreadsheet (Excel, Google Sheets, or LibreOffice Calc).
You’ll see columns like:
| Open Time | Close Time | Pair | Type | Volume | Open Price | Close Price | Profit |
|---|---|---|---|---|---|---|---|
| 2026.03.15 08:30 | 2026.03.15 08:35 | EURUSD | Buy | 0.10 | 1.0950 | 1.0955 | 50 |
| 2026.03.15 09:12 | 2026.03.15 09:20 | GBPUSD | Sell | 0.10 | 1.2600 | 1.2590 | 100 |
What to check:
-
Do all trades have both Open Time and Close Time? If a trade has no close time, it’s a pending order or open position. Delete it (those are handled separately).
-
Is the pair format correct? Should be (EURUSD, not EU, not EUR/USD). If there are weird characters or formats, standardize them.
-
Are there duplicate rows? Some MT4 exports duplicate trades if you have multiple terminals open. Delete duplicates (keep one copy).
-
Is there a swap or commission column with huge values? Small values (<5 pips) are normal. Huge values (>20 pips) might indicate unusual spreads or swap costs. Note them—they might mean your broker has high costs.
-
Are there rows with $0 profit? Those are usually partial closes or manual adjustments. Can usually be ignored, but check them.
Clean-up rule: Only keep closed trades with valid entry, exit, and profit data. Delete anything ambiguous.
Step 3: Handle Timezone Mismatches
This is where most imports break.
MT4 exports timestamps in either Broker Time or Your PC Local Time, depending on your MT4 settings. This causes problems when importing because your journal might use a different timezone.
The timezone issue:
Your MT4 shows a trade closed at “2026.03.15 17:30” (broker time = UTC). Your journal uses “Eastern Time” which is UTC -5. The trade actually closed at “2026.03.15 12:30” Eastern Time.
If your import doesn’t account for this, your trades get grouped into the wrong days, and your daily limits and session analysis become meaningless.
How to fix it:
Most quality journal apps (including PipJournal) have a timezone setting during import. When you import your CSV:
- Identify what timezone your MT4 was set to (check Tools → Options → Server in MT4)
- Tell your journal the source timezone (e.g., “UTC” or “Broker Server Time”)
- Tell your journal your preferred timezone (e.g., “US Eastern”)
- The import auto-converts all timestamps
If your journal doesn’t have this feature, you can manually convert in Excel:
Add a column next to Open Time called “Open Time (Eastern)” and use a formula to shift the time 5 hours earlier (depending on your offset). Then import using the converted times.
Simple example: If you need to shift from UTC to Eastern (UTC -5), subtract 5 hours from each timestamp.
Step 4: Handle Missing Fields
Your MT4 export will have:
- Entry/exit times and prices
- Pair
- Lot size
- Profit
It will NOT have:
- Entry reason (support bounce, breakout, etc.)
- Emotional state (confident, frustrated, etc.)
- Notes or context
- Time of day label (London, US, etc.)
Don’t panic. The import gives you the mechanical data. You’ll add the context later (or skip it for older trades and focus on going forward).
Option 1: Minimal approach
Import the raw data. Calculate historical win rate and pips. Don’t worry about entry reason or emotion for past trades. This takes 5 minutes and gives you baseline metrics.
Option 2: Detailed approach (slower)
For recent trades (past 50-100), add the missing fields manually. Go through each trade and add:
- Pair-specific notes
- Time of day (London, US, etc.)
- Estimated emotional state (based on trade behavior)
This takes 30-60 minutes but gives you richer data to analyze.
Most traders do Option 1 first, then add context to going-forward trades.
Step 5: Import Into PipJournal (or Your Journal)
The exact steps depend on your journal app, but here’s the general flow:
- Click Import or Upload CSV in your journal
- Select your cleaned CSV file
- Map the columns (tell the app which column is Entry Price, which is Exit Price, etc.)
- Set your timezone (critical!)
- Set your account currency (USD, EUR, etc.)
- Click Import
The app will:
- Validate each row (check for missing data)
- Convert timestamps to your timezone
- Calculate metrics (pips won/lost, win rate, profit factor)
- Create a baseline dashboard
If validation fails, you’ll see errors. Usually it’s:
- “Missing entry price on row 45” (your CSV has a blank)
- “Invalid date format on row 12” (timestamp is malformed)
Go back to your CSV, fix the issues, and re-import.
Common Import Errors and Fixes
Error: “Cannot find module ‘…content/blog/mt4-mt5-import…’”
This is a PipJournal-specific error if you’re trying to reference a guide that doesn’t exist. Not relevant to MT4 import itself, but common if you’re following outdated instructions.
Error: “Timezone offset unknown”
You didn’t specify your MT4 broker’s timezone correctly. Check your MT4: Click Tools → Options → Server. The server location is listed (usually UTC or specific timezone). Tell your import that timezone.
Error: “Lot size is too large”
MT4 shows lot sizes like “0.10” (0.1 lot = 10,000 units). If your journal expects actual currency units (10,000), you might see “lot size too large” errors. Check your journal’s lot size format and ensure your CSV matches.
Error: “Profit column shows negative numbers, not pips”
Some brokers export profit in the account’s currency (e.g., $50 profit), not pips. You’ll need to convert:
Pips = Profit / (10,000 × Lot Size)
Example: $50 profit on 0.10 lot = 50 / (10,000 × 0.10) = 50 / 1,000 = 0.05 or 5 pips.
If your journal expects pips and your CSV has currency, either:
- Ask your journal support (they can auto-convert)
- Add a column in Excel to calculate pips using the formula above
- Switch to a journal that handles currency conversions
Step 6: Verify Your Import
After import, spot-check the data:
-
Random 10 trades: Open your MT4 history and verify 10 random trades imported correctly. Check entry price, exit price, profit, and date.
-
Win rate sanity check: If you’re profitable in MT4, your imported win rate and pips should also show net profit. If the import shows losses but MT4 shows profits, something is wrong.
-
Total pips match: Sum your imported pips. Do they match your MT4 account profit (converted to pips)? They should be close (within a few pips due to rounding and spread costs).
-
Timezone test: Look at a known trade. Do the timestamps make sense? If you remember closing a trade at 3 PM your time, does the import show 3 PM in your timezone?
If any of these fail, re-examine your CSV and re-import.
Handling Multiple Accounts or Brokers
If you trade on multiple MT4 accounts or brokers, import them separately initially. Label them:
| Account | Pair | Entry | Exit | Profit |
| FTMO 1 | EURUSD | ... | ... | ... |
| IC Markets | EURUSD | ... | ... | ... |
| Prop Firm | GBPUSD | ... | ... | ... |
This lets you analyze them separately. Do you trade better on one broker? One account type? The data will show.
Once your journal app supports multiple account filtering, you can compare strategies side-by-side.
Dealing With Pending Orders and Partial Closes
Pending orders (Buy Limit, Sell Stop, etc. that never executed):
- These usually don’t appear in closed trade history
- If they do, they’ll show $0 profit (never executed)
- Delete them; they’re not trades
Partial closes (You closed 0.05 of a 0.10 lot):
- These appear as separate trades in MT4
- Import them as-is; they’re legitimate trades
- Your profit will be proportional to the partial close
Overnight swaps (Interest charged for holding a position):
- Some MT4 exports include these as separate trades (profit = negative swap amount)
- Some don’t
- If they’re included, they’re already reflected in your profit. Don’t double-count.
Post-Import: Setting Up Going Forward
After successful import:
-
Understand your baseline: “My historical win rate is 52%, average pips/trade is +3.2, best pair is EURUSD.”
-
Set realistic targets: “I’ll aim to maintain my 52% win rate and improve to +4 pips/trade.”
-
Start fresh journaling: From now on, log entry reason, emotional state, and context. The historical data is your baseline; going-forward data is your improvement.
Troubleshooting Checklist
If your import fails or feels wrong:
- Verify all closed trades are in the CSV (no pending orders)
- Check timezone—confirm your MT4 broker timezone and set import timezone correctly
- Confirm CSV format—is it actually CSV, not XLS or TXT?
- Check for blank cells—any missing entry prices, exit prices, or times?
- Verify currency conversion—if profit is in $, does your journal need pips instead?
- Spot-check 10 random trades against MT4 directly
- Compare total pips to your account’s real profit (rough match?)
Most import issues resolve by rechecking the timezone setting. MT4 timezone confusion accounts for about 60% of import problems.
The Value of Importing Early
30 minutes spent importing your history now gives you:
- Immediate win rate baseline (know if you’re actually profitable)
- Pair performance data (know which pairs work for you)
- Session performance (know your best trading times)
- Confidence that your going-forward journaling is building on a real foundation
Without historical import, you’re flying blind for months until you generate enough new trades to see patterns. With import, you start with context.
That context is the foundation of disciplined improvement.
People Also Ask
Why is my import showing different pips than my MT4 account balance?
Likely causes: (1) You didn't export your full history, just a date range. (2) Pending orders are included in MT4 but not closed trades. (3) Timezone mismatch is grouping trades into different days. Export your complete closed trade history and verify all trades are included.
Does the import include my open positions?
No. Most CSV exports only include closed trades. Open positions need to be manually logged or added when they close. This is normal—your journal is a record of closed trades, not open ones.
What if my broker isn't MT4/MT5?
Many brokers offer CSV export from their web platform. Check your broker's trade history section—most have an 'Export' or 'Download' button. If not, you can manually log trades (slower but still valid). Or switch to a broker that offers CSV export.
Can I import trades from multiple MT4 accounts?
Yes. Export each account separately, then import them as separate batches or merge them in a spreadsheet first. Make sure to add an 'Account' column to distinguish trades from different accounts.
Why are some fields blank or showing weird values?
MT4/MT5 doesn't export all useful data. You'll need to manually fill in comments (entry reason, emotional state, notes). The import gives you the mechanical data; you add the context.
How far back can I import?
MT4/MT5 stores trade history on your broker's server, usually up to 3-5 years depending on the broker. Some brokers let you request older data. Export as far back as you can for the best baseline.