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

MQL5 / Błędy

retcode 10010

10010 — TRADE_RETCODE_DONE_PARTIAL

Zlecenie wypełniono tylko częściowo. Reszta wolumenu nie została zrealizowana.

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

Co ten kod znaczy

Na rynku nie było wystarczającej płynności po akceptowalnej cenie. Serwer wykonał tyle, ile mógł, i anulował resztę — takie zachowanie wynika z trybu wypełnienia ORDER_FILLING_IOC.

Skąd się bierze

  • mała płynność instrumentu, zwłaszcza poza główną sesją
  • duży wolumen względem głębokości arkusza zleceń
  • tryb wypełnienia IOC przy zleceniu, które miało wejść w całości

Co z tym zrobić

Kod obsługujący ten przypadek musi sprawdzić, ile faktycznie weszło:

if(wynik.retcode == TRADE_RETCODE_DONE_PARTIAL)
   PrintFormat("Weszło %.2f z %.2f lota", wynik.volume, zapytanie.volume);

Zignorowanie tego kodu to typowe źródło rozjazdu między tym, co ekspert „myśli", że ma otwarte, a rzeczywistym stanem rachunku. Jeśli logika strategii wymaga całości albo nic, użyj trybu ORDER_FILLING_FOK — wtedy zamiast częściowego wykonania dostaniesz odmowę.

Powiązane