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

MQL5 / Błędy

bład wykonania 4014

4014 — 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.

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

2026-08-03 10:12:44.907  Ekspert (EURUSD,H1)  WebRequest zwrocil -1, blad 4014

Co ten kod znaczy

Funkcja istnieje i została wywołana poprawnie, ale terminal nie zgadza się na jej wykonanie. To nie jest błąd w kodzie — to brak zgody w ustawieniach albo wywołanie w kontekście, w którym dana funkcja nie działa.

Cztery sytuacje, w tej kolejności częstości

1. Adres spoza listy dozwolonych w WebRequest. Narzędzia → Opcje → Doradcy Ekspert, pole z dozwolonymi adresami URL. Adres wpisuje się jako przedrostek, dokładnie w tej postaci, której używasz — https://api.pl nie obejmie http://api.pl.

2. Wywołanie funkcji zakazanej w danym typie programu. WebRequest i Sleep nie działają we wskaźnikach. OrderSend nie zadziała w skrypcie bez zgody na handel.

3. Import DLL bez zgody. Zezwolenie na bibliotekę zewnętrzną jest osobnym polem w oknie parametrów programu i osobnym w ustawieniach terminala.

4. Program uruchomiony w kontekście z ograniczeniami, na przykład w testerze, gdzie zapytania sieciowe nie działają w ogóle.

Sprawdzenie, zanim funkcja zawiedzie
ResetLastError();

int kod = WebRequest("GET", adres, "", 5000, dane, odpowiedz, naglowki);

if(kod == -1 && GetLastError() == 4014)
  {
   PrintFormat("Adres %s nie jest na liscie dozwolonych. "
               "Dodaj go w Narzedzia > Opcje > Doradcy Ekspert.", adres);
   return;
  }

Powiązane