MT5 error 4802: Indicator cannot be created
Compile the .ex5 and check its path.
Updated 24 October 2026. Runs in your browser; nothing you type is uploaded.
The number after retcode= or "error" in MT5's Experts or Journal tab. 296 codes, return codes and runtime errors, as MQL5's reference words them.
Share this fix
What MQL5 says
4802ERR_INDICATOR_CANNOT_CREATE- Indicator cannot be created
From MQL5's table of runtime errors, read 24 October 2026. An Expert Advisor reads it with GetLastError() after a call fails; the Experts tab prints what the EA logs.
What causes it
iCustom() couldn't find the indicator's .ex5. MQL5's iCustom page: it looks next to the calling program, then under MQL5\Indicators, and returns INVALID_HANDLE with 4802 when the file is in neither; an indicator that was never compiled has no .ex5 at all.
The fix in MQL5
Compile the indicator so its .ex5 exists, pass its name relative to MQL5\Indicators (a subfolder with a double backslash, "MyFolder\\MyIndicator"), and check the handle against INVALID_HANDLE.
int h = INVALID_HANDLE;
int OnInit()
{
h = iCustom(_Symbol, PERIOD_CURRENT, "MyIndicator.mq5"); // the source file, not the .ex5 MT5 loads
return(INIT_SUCCEEDED);
}int h = INVALID_HANDLE;
int OnInit()
{
// the compiled indicator, relative to MQL5\Indicators, double backslash for a subfolder
h = iCustom(_Symbol, PERIOD_CURRENT, "MyFolder\\MyIndicator");
if(h == INVALID_HANDLE)
{
Print("iCustom failed: ", GetLastError()); // 4802: no MQL5\Indicators\MyFolder\MyIndicator.ex5
return(INIT_FAILED);
}
return(INIT_SUCCEEDED);
}Both compile in MetaEditor 5 with no errors or warnings. Adapt them to your EA; they were not run against a trade server.
Other MT5 errors
- MT5 error 4014: Function is not allowed for call
- MT5 error 4753: Position not found
- MT5 error 4756: Trade request sending failed
- MT5 error 4806: Requested data not found
- MT5 error 5004: File opening error
- MT5 error 10004: Requote
- MT5 error 10006: Request rejected
- MT5 retcode 10009: Request completed
- MT5 error 10013: Invalid request
- MT5 error 10014: Invalid volume in the request
- MT5 error 10015: Invalid price in the request
- MT5 error 10016: Invalid stops in the request
- MT5 error 10017: Trade is disabled
- MT5 error 10018: Market is closed
- MT5 error 10019: There is not enough money to complete the request
- MT5 error 10021: There are no quotes to process the request
- MT5 error 10022: Invalid order expiration date in the request
- MT5 error 10026: Autotrading disabled by server
- MT5 error 10027: Autotrading disabled by client terminal
- MT5 error 10030: Invalid order filling type
- MT5 error 10031: No connection with the trade server
- MT5 error 10044: The request is rejected, because the "Only position closing is allowed" rule is set for the symbol
- MT5 error 10046: The request is rejected, because the "Opposite positions on a single symbol are disabled" rule is set for the trading account.
Read a whole MT5 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.