Summary: A practical guide to fixing MT4 account history export issues. Covers why the "Save as Report" function fails, how to use the Journal tab to recover data, and a manual workaround for generating complete CSV files.




I was putting together my monthly performance report for a prop firm last week and MT4 decided to play games with me. Hit that "Save as Report" button, selected the date range, and... nothing. Well, not nothing—a corrupted HTML file that showed about half my trades and then just cut off. Classic.

The Actual Problem (not what you think)

Most people assume it's a hard drive space issue or a permissions problem. I went down that rabbit hole too. Checked the folder permissions, made sure I had write access, even ran the terminal as admin. Same result. The real culprit is something the official docs don't spell out: the terminal's internal memory buffer for trade history gets overloaded when you have a lot of trades in a single session, especially if you're running multiple EAs simultaneously.

The MQL4 documentation (docs.mql4.com) covers the HistorySelect() function and how to access trade records programmatically, but it never mentions that the GUI's "Save as Report" feature relies on the same buffer. When that buffer hits a certain threshold, the export process just gives up halfway through.

Step 1: The Quick Workaround

Instead of using "Save as Report," go to the Account History tab, right-click, and select "Save as Detailed Report" or "Save as CSV"—the exact wording depends on your terminal version. This bypasses the HTML rendering engine that usually causes the crash. If that option isn't available, here's the dirty fix I've been using:

  • Open the <strong>Journal</strong> tab.

  • Right-click and select <strong>"Open"</strong> to reveal the log files folder.

  • Navigate to the logs folder, find the file for your current session (it'll be something like 20260624.log).

  • This file actually contains all trade execution records in plain text. You can parse this manually or write a simple script to extract the data.


  • Step 2: The "Refresh Buffer" Trick

    Here's something I stumbled on by accident: closing and reopening the terminal forces the history buffer to flush and reload. I've had situations where a fresh restart fixed the export issue immediately. But there's a catch—if you have open positions, you need to wait until they're closed, or you risk missing data from that session.

    Step 3: When All Else Fails

    If none of that works, the nuclear option is to copy the .hst and .fxt files from the terminal's history folder and process them with an external tool. This is overkill for most people, but if you absolutely need the complete data, this is the only reliable method I've found. The files are in a proprietary format, but tools like Tick Data Suite can read them.

    Reference: MetaQuotes MQL4 Documentation. "History Access." docs.mql4.com.

    本文首发于FXEAR.com,原创内容,未经授权禁止转载。