MT4 error 5004: Cannot open file
Open files inside MQL4\Files.
Updated 24 October 2026. Runs in your browser; nothing you type is uploaded.
The number after "error" in MT4's Experts or Journal tab. 161 codes, as MQL4's reference words them.
Share this fix
What MQL4 says
5004ERR_FILE_CANNOT_OPEN- Cannot open file
From MQL4's table of error codes, read 24 October 2026. An Expert Advisor reads it with GetLastError() after a call fails; the Experts and Journal tabs print what the EA logs.
What causes it
FileOpen() couldn't open the file. MQL4 keeps files in a sandbox: the MQL4\Files folder of the terminal's data folder (Tester\Files when testing), or the folder shared by all MT4 terminals with FILE_COMMON. A path outside it can't be opened.
How to fix it
Open files inside MQL4\Files only. Pass a name relative to it (no drive letter or full path), add FILE_COMMON for a file several terminals share, and check for INVALID_HANDLE, which FileOpen() returns when it fails.
Source: MQL4 Reference: FileOpen. No MQL4 code is shown because none here was compiled; adapt the steps to your EA.
The same error in MT5
MT5 gives it its own runtime error code: MT5 error 5004: File opening error.
Other MT4 errors
- MT4 error 0: No error returned
- MT4 error 1: No error returned, but the result is unknown
- MT4 error 2: Common error
- MT4 error 3: Invalid trade parameters
- MT4 error 130: Invalid stops
- MT4 error 131: Invalid trade volume
- MT4 error 132: Market is closed
- MT4 error 133: Trade is disabled
- MT4 error 134: Not enough money
- MT4 error 136: Off quotes
- MT4 error 4051: Invalid function parameter value
- MT4 error 4107: Invalid price
- MT4 error 4111: Shorts are not allowed
- MT4 error 4112: Automated trading by Expert Advisors/Scripts disabled by trade server
- MT4 error 4200: Object already exists
Moving to MT5? Read a whole EA's source
- MTR FullSystemEA (MQL5 source) The full MQL5 source of a production MT5 EA for XAUUSD M5 (hedge-grid and recovery): 21 files, 16,923 lines. $49 once.