retcode 10012
10012 — TRADE_RETCODE_TIMEOUT
Zapytanie wygasło przed uzyskaniem odpowiedzi. Najniebezpieczniejszy kod z całej listy.
1 fragment kodu z tej strony przeszedł przez kompilator MetaEditor build 6090, 2026-08-05.
Co ten kod znaczy
Serwer nie odpowiedział w wyznaczonym czasie. Kluczowe: nie wiesz, czy zlecenie zostało wykonane, czy nie. Odpowiedź mogła zaginąć już po wykonaniu operacji.
Skąd się bierze
- zerwane albo bardzo wolne połączenie z serwerem
- przeciążenie serwera przy publikacji danych
- VPS o kiepskiej jakości łącza do serwera brokera
Co z tym zrobić
Nigdy nie powtarzaj zapytania po tym kodzie na ślepo. Najpierw sprawdź rzeczywisty stan rachunku:
Kontrola stanu po przekroczeniu czasu
if(wynik.retcode == TRADE_RETCODE_TIMEOUT)
{
Sleep(2000); // dajemy serwerowi chwilę
if(PositionSelect(_Symbol))
{
Print("Pozycja jednak powstała — nie ponawiam.");
return true;
}
Print("Pozycji brak, można spróbować ponownie.");
}Powtórzenie bez tej kontroli to najczęstsza przyczyna podwójnych pozycji otwartych przez eksperta w ciągu jednej sekundy — i jeden z nielicznych błędów w kodzie, który realnie kosztuje pieniądze przy pierwszym wystąpieniu.