- 4001–4018Ogólne kody błędów wykonania
Błędy niezwiązane z rynkiem: pamięć, tablice, wskaźniki obiektów, zasoby. Pełna lista kodów z tej rodziny wraz z tym, co je wywołuje.
- 4101–4205Kody błędów wykresu i obiektów
Operacje na wykresie, jego właściwościach i obiektach graficznych. Pełna lista kodów z tej rodziny wraz z tym, co je wywołuje.
- 4301–4407Kody błędów instrumentu i historii
Dostęp do właściwości instrumentu i do historii notowań. Pełna lista kodów z tej rodziny wraz z tym, co je wywołuje.
- 4501–5203Pozostałe kody błędów wykonania
Zmienne globalne, powiadomienia, rachunek, handel, arkusz zleceń, OpenCL i zapytania sieciowe. Pełna lista kodów z tej rodziny wraz z tym, co je wywołuje.
- 4601–4812Kody błędów wskaźników i buforów
Tworzenie wskaźników, dostęp do ich buforów i przydział pamięci. Pełna lista kodów z tej rodziny wraz z tym, co je wywołuje.
- 5001–5027Kody 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.
- 5030–5062Kody błędów łańcuchów i tablic
Konwersje tekstu na liczby i daty oraz operacje kopiowania tablic. Pełna lista kodów z tej rodziny wraz z tym, co je wywołuje.
- 40074007 — ERR_ARRAY_RESIZE_ERROR
Za mało pamięci albo próba zmiany rozmiaru tablicy statycznej. Druga przyczyna jest znacznie częstsza i zaskakuje, bo kompilator jej nie zgłasza.
- 40124012 — ERR_INVALID_POINTER
Odwołanie przez wskaźnik, który nie wskazuje na istniejący obiekt. `delete` zwalnia obiekt, ale nie zeruje wskaźnika. Zmienna nadal zawiera
- 40144014 — ERR_FUNCTION_NOT_ALLOWED
Kod, który nie mówi o kodzie, tylko o ustawieniach terminala. Najczęściej wyskakuje przy WebRequest z adresem spoza listy dozwolonych.
- 43024302 — ERR_MARKET_NOT_SELECTED
Instrument nie jest wybrany w oknie Rynek. Ten kod nie znaczy, że symbol nie istnieje — od tego jest
- 43044304 — ERR_MARKET_LASTTIME_UNKNOWN
Czas ostatniego ticku nieznany, bo instrument nie miał jeszcze żadnego kwotowania. To jest kod, który najczęściej zaskakuje przy starcie terminala. Ekspert
- 44044404 — ERR_HISTORY_BARS_LIMIT
Liczba świec ograniczona ustawieniami terminala, nie danymi brokera. To jest jedyny kod z rodziny historii, którego przyczyna leży w ustawieniach
- 47564756 — ERR_TRADE_SEND_FAILED
Kod, który sam w sobie nie mówi nic. Prawdziwa przyczyna siedzi w polu retcode struktury wyniku.
- 48054805 — ERR_INDICATOR_CANNOT_ADD
Nie udało się dołożyć wskaźnika: złe parametry albo wyczerpany limit uchwytów. Ostatnia przyczyna jest najbardziej podstępna, bo ujawnia się po czasie.
- 48064806 — ERR_INDICATOR_DATA_NOT_FOUND
Uchwyt wskaźnika istnieje, ale terminal jeszcze nie policzył jego wartości. Najczęściej przy pierwszych ticku po starcie.
- 48074807 — ERR_INDICATOR_WRONG_HANDLE
Uchwyt wskaźnika przestał być ważny albo nigdy taki nie był. Najbardziej podstępna przyczyna jest trzecia i wygląda tak: uchwyt powstaje
- 50025002 — 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`
- 50515051 — ERR_SMALL_ASSERIES_ARRAY
Tablica odbiorcza jest szeregiem czasowym i ma za mały rozmiar. To jest różnica, o której łatwo zapomnieć: zwykła tablica dynamiczna
- 1000410004 — TRADE_RETCODE_REQUOTE
Cena zmieniła się między wysłaniem zapytania a jego przetworzeniem. Typowe dla rachunków z wykonaniem natychmiastowym.
- 1000610006 — TRADE_RETCODE_REJECT
Serwer odrzucił zapytanie bez podania szczegółowej przyczyny. Powód zwykle leży w komentarzu wyniku.
- 1000710007 — TRADE_RETCODE_CANCEL
Zapytanie anulowane przez użytkownika, zwykle z poziomu okna terminala.
- 1000810008 — TRADE_RETCODE_PLACED
Zlecenie oczekujące zostało wystawione. Numer, który dostajesz, nie jest numerem pozycji, a droga od jednego do drugiego bywa przerwana.
- 1000910009 — TRADE_RETCODE_DONE
Kod sukcesu, po którym trzeba jeszcze odczytać, co się faktycznie stało. Wykonanie potrafi różnić się od zamówienia ceną i wolumenem.
- 1001010010 — TRADE_RETCODE_DONE_PARTIAL
Zlecenie wypełniono tylko częściowo. Reszta wolumenu nie została zrealizowana.
- 1001110011 — TRADE_RETCODE_ERROR
Błąd po stronie przetwarzania zapytania na serwerze.
- 1001210012 — TRADE_RETCODE_TIMEOUT
Zapytanie wygasło przed uzyskaniem odpowiedzi. Najniebezpieczniejszy kod z całej listy.
- 1001310013 — TRADE_RETCODE_INVALID
Zapytanie jest niespójne: brakuje wymaganych pól albo kombinacja wartości nie ma sensu.
- 1001410014 — TRADE_RETCODE_INVALID_VOLUME
Wolumen zlecenia nie mieści się w granicach instrumentu albo nie jest wielokrotnością jego kroku.
- 1001510015 — TRADE_RETCODE_INVALID_PRICE
Cena w zapytaniu jest zerowa, przestarzała albo ma za dużo miejsc dziesiętnych. Częsty przy zleceniach oczekujących.
- 1001610016 — TRADE_RETCODE_INVALID_STOPS
Serwer odrzucił zlecenie, bo stop loss albo take profit leży za blisko ceny, po złej stronie rynku albo z nadmiarem miejsc dziesiętnych.
- 1001710017 — TRADE_RETCODE_TRADE_DISABLED
Handel jest wyłączony po stronie serwera albo rachunku. Blokada nie leży w terminalu.
- 1001810018 — TRADE_RETCODE_MARKET_CLOSED
Rynek dla tego instrumentu jest zamknięty. Kod, który zaskakuje głównie przy handlu wielosymbolowym.
- 1001910019 — TRADE_RETCODE_NO_MONEY
Na rachunku brakuje wolnego depozytu na otwarcie pozycji o tym wolumenie.
- 1002010020 — TRADE_RETCODE_PRICE_CHANGED
Cena zmieniła się w trakcie przetwarzania zapytania.
- 1002110021 — TRADE_RETCODE_PRICE_OFF
Serwer nie ma aktualnych kwotowań, na podstawie których mógłby wykonać zlecenie.
- 1002210022 — TRADE_RETCODE_INVALID_EXPIRATION
Tryb wygasania musi być obsługiwany przez instrument, a data podawana w czasie serwera. Dwa warunki, z których każdy zawodzi osobno.
- 1002310023 — TRADE_RETCODE_ORDER_CHANGED
Stan zlecenia zmienił się między odczytem a próbą modyfikacji.
- 1002410024 — TRADE_RETCODE_TOO_MANY_REQUESTS
Ekspert wysyła zapytania częściej, niż pozwala serwer. Prawie zawsze wina kodu, nie rynku.
- 1002510025 — TRADE_RETCODE_NO_CHANGES
Modyfikacja nie zmienia niczego — nowe wartości są identyczne z obecnymi.
- 1002610026 — TRADE_RETCODE_SERVER_DISABLES_AT
Handel automatyczny jest wyłączony po stronie serwera brokera.
- 1002710027 — TRADE_RETCODE_CLIENT_DISABLES_AT
Zapytanie nie wyszło z terminala, bo wyłączony jest przycisk handlu algorytmicznego albo zgoda w ustawieniach eksperta.
- 1002810028 — TRADE_RETCODE_LOCKED
Zapytanie zostało zablokowane do ręcznego przetworzenia przez dealera.
- 1002910029 — TRADE_RETCODE_FROZEN
Zlecenie albo pozycja znajduje się w strefie zamrożenia i nie można jej teraz modyfikować.
- 1003010030 — TRADE_RETCODE_INVALID_FILL
Instrument nie obsługuje trybu wypełnienia podanego w zapytaniu. Kod działa u jednego brokera i przestaje u drugiego.
- 1003110031 — TRADE_RETCODE_CONNECTION
Terminal nie ma połączenia z serwerem handlowym.
- 1003210032 — TRADE_RETCODE_ONLY_REAL
Kod, który przypomina o czymś większym: co jeszcze różni rachunek demo od rzeczywistego i czego nie sprawdzisz przed pierwszą wpłatą.
- 1003310033 — TRADE_RETCODE_LIMIT_ORDERS
Osiągnięto maksymalną liczbę zleceń oczekujących dla tego rachunku.
- 1003410034 — TRADE_RETCODE_LIMIT_VOLUME
Łączny wolumen zleceń i pozycji dla instrumentu osiągnął dopuszczalny limit.
- 1003510035 — TRADE_RETCODE_INVALID_ORDER
Typ zlecenia jest nieprawidłowy albo zabroniony dla tego instrumentu.
- 1003610036 — TRADE_RETCODE_POSITION_CLOSED
Pozycja, którą próbujesz zmodyfikować albo zamknąć, już nie istnieje.
- 1003810038 — TRADE_RETCODE_INVALID_CLOSE_VOLUME
Wolumen zamknięcia jest większy niż wolumen otwartej pozycji.
- 1003910039 — TRADE_RETCODE_CLOSE_ORDER_EXIST
Dla tej pozycji istnieje już zlecenie zamykające.
- 1004010040 — TRADE_RETCODE_LIMIT_POSITIONS
Osiągnięto maksymalną liczbę otwartych pozycji dla rachunku.
- 1004110041 — TRADE_RETCODE_REJECT_CANCEL
Zlecenie oczekujące dobiło do ceny, ale jego aktywacja została odrzucona i samo zlecenie anulowano.
- 1004210042 — TRADE_RETCODE_LONG_POSITIONS_ONLY_ALLOWED
Dla tego instrumentu dozwolone są wyłącznie pozycje długie.
- 1004310043 — TRADE_RETCODE_SHORT_ONLY
Rzadki kod, który odsłania rzecz częstą: twój broker pozwala na mniej, niż zakłada kod. Plus skrypt, który sprawdza to na wszystkich instrumentach naraz.
- 1004410044 — TRADE_RETCODE_CLOSE_ONLY
Instrument przyjmuje wyłącznie zlecenia zamykające istniejące pozycje.
- 1004510045 — TRADE_RETCODE_FIFO_CLOSE
Pozycje trzeba zamykać w kolejności ich otwarcia. Zasada obowiązująca na rachunkach amerykańskich.
- 1004610046 — TRADE_RETCODE_HEDGE_PROHIBITED
Rachunek nie pozwala trzymać jednocześnie pozycji długiej i krótkiej na tym samym instrumencie.