retcode 10021
10021 — TRADE_RETCODE_PRICE_OFF
Serwer nie ma aktualnych kwotowań, na podstawie których mógłby wykonać zlecenie.
1 fragment kodu z tej strony przeszedł przez kompilator MetaEditor build 6090, 2026-08-05.
Co ten kod znaczy
Instrument nie jest kwotowany w tej chwili — z powodu przerwy w notowaniach, wstrzymania obrotu albo problemu z dostawcą płynności.
Skąd się bierze
- instrument poza sesją, choć formalnie nie jest zamknięty
- wstrzymanie obrotu na akcji albo indeksie
- instrument nieobecny w oknie Rynek, przez co terminal nie subskrybuje kwotowań
- weekend przy instrumentach handlowanych w tygodniu
Co z tym zrobić
Najczęstsza przyczyna po stronie kodu to praca na symbolu, którego nie ma w oknie Rynek. Dodaj go jawnie i sprawdź świeżość ostatniego ticku:
if(!SymbolSelect(symbol, true))
return false;
MqlTick tick;
if(!SymbolInfoTick(symbol, tick))
return false;
if(TimeCurrent() - tick.time > 60)
{
Print("Ostatnie kwotowanie starsze niż minuta — nie wysyłam zlecenia.");
return false;
}