bład wykonania 5002
5002 — ERR_WRONG_FILENAME
Nieprawidłowa nazwa pliku — najczęściej ścieżka spoza piaskownicy. Program MQL5 widzi wyłącznie dwa miejsca na dysku: katalog `MQL5\Files`
1 fragment kodu z tej strony przeszedł przez kompilator MetaEditor build 6090, 2026-08-05.
2026-08-03 13:55:02.388 Skrypt (EURUSD,H1) FileOpen zwrocilo INVALID_HANDLE, blad 5002Co ten kod znaczy
Nazwa pliku narusza zasady piaskownicy MQL5 albo zawiera znaki, których system nie dopuszcza.
Skąd się bierze
- ścieżka bezwzględna, na przykład
C:\\dane\\plik.csv - wyjście poza katalog przez
.. - znaki zabronione w nazwie: dwukropek, gwiazdka, znak zapytania
- próba zapisu do katalogu, którego nie ma
Co z tym zrobić
Program MQL5 widzi wyłącznie dwa miejsca na dysku: katalog MQL5\Files swojego terminala oraz katalog wspólny, dostępny po podaniu flagi FILE_COMMON. Wszystko poza nimi nie istnieje, niezależnie od uprawnień systemowych.
//--- dziala: sciezka wzgledna wewnatrz piaskownicy
int uchwyt = FileOpen("raporty\\wyniki.csv",
FILE_WRITE | FILE_CSV | FILE_ANSI, ';');
//--- dziala: katalog wspolny, widoczny takze dla agenta testera
int wspolny = FileOpen("wyniki.csv",
FILE_WRITE | FILE_CSV | FILE_ANSI | FILE_COMMON, ';');
if(uchwyt == INVALID_HANDLE)
PrintFormat("Blad %d. Katalog piaskownicy: %s",
GetLastError(), TerminalInfoString(TERMINAL_DATA_PATH));Podkatalogi wewnątrz piaskownicy są dozwolone i tworzą się same przy zapisie. Ukośnik w łańcuchu trzeba podwoić, bo pojedynczy rozpoczyna sekwencję sterującą — to drugi najczęstszy powód tego kodu.