rodzina 5001–5027
Kody błędów operacji na plikach
Otwieranie, czytanie, zapisywanie i usuwanie plików oraz katalogów. Pełna lista kodów z tej rodziny wraz z tym, co je wywołuje.
1 fragment kodu z tej strony przeszedł przez kompilator MetaEditor build 6090, 2026-08-05.
Operacje plikowe w MQL5 działają w piaskownicy: program widzi wyłącznie katalog MQL5\Files swojego terminala albo katalog wspólny, gdy podasz flagę FILE_COMMON. Ścieżka bezwzględna w rodzaju C:\dane\plik.csv da 5002, i to jest najczęstszy błąd z tej rodziny.
Druga rzecz warta zapamiętania: agent testera pracuje we własnym katalogu i nie widzi twoich plików — opisaliśmy to przy agencie testera.
Pełna lista
| Kod | Stała | Co znaczy |
|---|---|---|
| 5001 | ERR_TOO_MANY_FILES | nie da się otworzyć więcej niż 64 plików naraz |
| 5002 | ERR_WRONG_FILENAME | nieprawidłowa nazwa pliku |
| 5003 | ERR_TOO_LONG_FILENAME | za długa nazwa pliku |
| 5004 | ERR_CANNOT_OPEN_FILE | błąd otwierania pliku |
| 5005 | ERR_FILE_CACHEBUFFER_ERROR | za mało pamięci na bufor odczytu |
| 5006 | ERR_CANNOT_DELETE_FILE | błąd usuwania pliku |
| 5007 | ERR_INVALID_FILEHANDLE | plik o tym uchwycie został zamknięty albo nigdy nie otwarty |
| 5008 | ERR_WRONG_FILEHANDLE | zły uchwyt pliku |
| 5009 | ERR_FILE_NOTTOWRITE | plik musi być otwarty do zapisu |
| 5010 | ERR_FILE_NOTTOREAD | plik musi być otwarty do odczytu |
| 5011 | ERR_FILE_NOTBIN | plik musi być otwarty jako binarny |
| 5012 | ERR_FILE_NOTTXT | plik musi być otwarty jako tekstowy |
| 5013 | ERR_FILE_NOTTXTORCSV | plik musi być otwarty jako tekstowy albo CSV |
| 5014 | ERR_FILE_NOTCSV | plik musi być otwarty jako CSV |
| 5015 | ERR_FILE_READERROR | błąd odczytu pliku |
| 5016 | ERR_FILE_BINSTRINGSIZE | trzeba podać rozmiar łańcucha, bo plik jest binarny |
| 5017 | ERR_INCOMPATIBLE_FILE | tablice łańcuchów wymagają pliku tekstowego, pozostałe binarnego |
| 5018 | ERR_FILE_IS_DIRECTORY | to nie jest plik, tylko katalog |
| 5019 | ERR_FILE_NOT_EXIST | plik nie istnieje |
| 5020 | ERR_FILE_CANNOT_REWRITE | pliku nie da się nadpisać |
| 5021 | ERR_WRONG_DIRECTORYNAME | nieprawidłowa nazwa katalogu |
| 5022 | ERR_DIRECTORY_NOT_EXIST | katalog nie istnieje |
| 5023 | ERR_FILE_ISNOT_DIRECTORY | to jest plik, a nie katalog |
| 5024 | ERR_CANNOT_DELETE_DIRECTORY | katalogu nie da się usunąć |
| 5025 | ERR_CANNOT_CLEAN_DIRECTORY | nie udało się wyczyścić katalogu |
| 5026 | ERR_FILE_WRITEERROR | nie udało się zapisać zasobu do pliku |
| 5027 | ERR_FILE_ENDOFFILE | koniec pliku CSV przy próbie odczytu kolejnej porcji |
Jak czytać te kody w praktyce
Odczyt kodu błędu bez zgadywania
//--- zerujemy przed operacja, ktorej wynik chcemy sprawdzic
ResetLastError();
double bufor[];
ArraySetAsSeries(bufor, true);
if(CopyBuffer(uchwyt, 0, 0, 10, bufor) < 10)
{
int kod = GetLastError();
PrintFormat("nie udalo sie skopiowac danych, kod %d", kod);
ResetLastError();
return;
}