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
| Kod | Stała | Co znaczy |
|---|---|---|
| 4301 | ERR_MARKET_UNKNOWN_SYMBOL | nieznany symbol |
| 4302 | ERR_MARKET_NOT_SELECTED | symbol nie jest wybrany w oknie Rynek |
| 4303 | ERR_MARKET_WRONG_PROPERTY | zły identyfikator właściwości symbolu |
| 4304 | ERR_MARKET_LASTTIME_UNKNOWN | czas ostatniego ticku nieznany, brak ticków |
| 4305 | ERR_MARKET_SELECT_ERROR | błąd dodawania albo usuwania symbolu z okna Rynek |
| 4401 | ERR_HISTORY_NOT_FOUND | żądanej historii nie znaleziono |
| 4402 | ERR_HISTORY_WRONG_PROPERTY | zły identyfikator właściwości historii |
| 4403 | ERR_HISTORY_TIMEOUT | przekroczony czas oczekiwania na historię |
| 4404 | ERR_HISTORY_BARS_LIMIT | liczba żądanych świec ograniczona ustawieniami terminala |
| 4405 | ERR_HISTORY_LOAD_ERRORS | wielokrotne błędy przy wczytywaniu historii |
| 4407 | ERR_HISTORY_SMALL_BUFFER | tablica 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;
}