Przejdź do treści
MQL5 · MetaTrader 5 · po polsku
kod odczarowany

MQL5 / Błędy

rodzina 4301–4407

Kody 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.

1 fragment kodu z tej strony przeszedł przez kompilator MetaEditor build 6090, 2026-08-05.

Dostęp do instrumentu i do historii notowań. To rodzina, która najczęściej zaskakuje w kodzie wielosymbolowym, bo wszystkie te operacje są asynchroniczne: terminal dociąga dane w tle, a pierwsze wywołania zwracają pustkę albo błąd.

Poprawna reakcja jest zawsze ta sama: wyjść z funkcji i spróbować przy kolejnym ticku. Pętla z czekaniem blokuje wątek i w testerze potrafi zawiesić przebieg.

Pełna lista

KodStałaCo znaczy
4301ERR_MARKET_UNKNOWN_SYMBOLnieznany symbol
4302ERR_MARKET_NOT_SELECTEDsymbol nie jest wybrany w oknie Rynek
4303ERR_MARKET_WRONG_PROPERTYzły identyfikator właściwości symbolu
4304ERR_MARKET_LASTTIME_UNKNOWNczas ostatniego ticku nieznany, brak ticków
4305ERR_MARKET_SELECT_ERRORbłąd dodawania albo usuwania symbolu z okna Rynek
4401ERR_HISTORY_NOT_FOUNDżądanej historii nie znaleziono
4402ERR_HISTORY_WRONG_PROPERTYzły identyfikator właściwości historii
4403ERR_HISTORY_TIMEOUTprzekroczony czas oczekiwania na historię
4404ERR_HISTORY_BARS_LIMITliczba żądanych świec ograniczona ustawieniami terminala
4405ERR_HISTORY_LOAD_ERRORSwielokrotne błędy przy wczytywaniu historii
4407ERR_HISTORY_SMALL_BUFFERtablica odbiorcza za mała na wszystkie żądane dane

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;
  }

Powiązane