Dlaczego mój bot się wstrzymał lub zatrzymał?
Gdy bot przestaje robić to, czego oczekujesz, niemal zawsze stoi za tym jedna z kilku łatwych do usunięcia przyczyn — zwykle coś po stronie exchange, jak środki lub uprawnienia API. Ten przewodnik omawia je po kolei, od najczęstszej do najrzadszej.
To nie to samo, co bot, który nie otwiera transakcji. Jeśli Twój bot działa poprawnie, ale nie wszedł w pozycję, chodzi zwykle o warunki wejścia — zobacz Dlaczego mój bot nie handluje?. Ten artykuł dotyczy bota, który się wstrzymał, zatrzymał lub napotkał błąd.
Key Takeaways
- Bot przechodzi przez jasno określone statusy — Aktywny (czeka na wejście), Wyzwalanie, Działa (pozycja otwarta), Wstrzymany, Oczekuje na wstrzymanie oraz Błąd — a ten przewodnik wyjaśnia, dlaczego bot się wstrzymuje, zatrzymuje lub zgłasza błąd.
- Najczęstszym powodem, dla którego bot przestaje realizować zlecenia, jest niewystarczające saldo lub margin na Twoim koncie exchange.
- Problemy z kluczem API — klucz nieprawidłowy, cofnięty lub z błędnymi uprawnieniami albo blokada białej listy IP — również zatrzymują bota; pomaga ponowne podłączenie świeżego klucza z uprawnieniami do odczytu i handlu.
- Na futures zbyt wysoka dźwignia dla danej pary lub niezgodność trybu pozycji mogą blokować zlecenia.
- Wiele błędów exchange (rate limity, timeouty, zegar/timestamp) ma charakter przejściowy; Freya powiadamia Cię, gdy bot napotka błąd, abyś mógł zareagować.
Statusy bota w skrócie
- Aktywny — działa na żywo i obserwuje rynek pod kątem swoich warunków wejścia; żadna pozycja nie jest jeszcze otwarta.
- Wyzwalanie — warunki wejścia zostały spełnione; bot otwiera pozycję.
- Działa — pozycja jest otwarta, a bot zarządza dealem (Safety Order, Take Profit, wyjścia).
- Wstrzymany — Ty go wstrzymałeś; nie otworzy nowych pozycji, dopóki go nie wznowisz.
- Oczekuje na wstrzymanie — wstrzymałeś go, gdy pozycja była otwarta; bot bezpiecznie kończy obsługę tej pozycji, a następnie przechodzi w status Wstrzymany.
- Błąd — bot próbował działać, ale exchange lub kontrola odrzuciły jego działanie; zatrzymuje się i sygnalizuje problem.
- Zamykanie / Zamknięty — bot kończy deal; po zakończeniu deal zostaje zapisany w Twojej historii.
(Pełne omówienie statusów wraz z różnicą między AKTYWNY a DZIAŁA znajdziesz w artykule Dlaczego mój bot nie handluje?.)
Gdy bot napotka problem, z którego nie potrafi wyjść, przechodzi w stan błędu, a Ty otrzymujesz powiadomienie „Błąd bota” (jeśli masz skonfigurowane powiadomienia), dzięki czemu możesz szybko zareagować.
Najczęstsza przyczyna: za mało salda lub marginu
Zdecydowanie najczęstszym powodem, dla którego bot przestaje składać zlecenia, jest niewystarczające saldo (spot) lub niewystarczający margin (futures) na Twoim koncie exchange. Bot próbował złożyć zlecenie — Base Order, Safety Order lub Take Profit — a exchange odmówił, ponieważ zabrakło środków.
Rozwiązanie: zadbaj o to, aby na koncie exchange było wystarczająco wolnego salda/marginu na cały plan bota — łącznie z każdym Safety Order w jego siatce. (Właśnie dlatego sfinansowanie całej siatki ma znaczenie; zobacz Zlecenia wejścia i siatka.)
Problemy z kluczem API
Jeśli Freya nie może już działać w Twoim imieniu, bot się zatrzymuje. Typowe przyczyny związane z kluczem API:
- Klucz nieprawidłowy, cofnięty lub wygenerowany na nowo — jeśli usunąłeś lub zrotowałeś klucz na exchange, kopia po stronie Freya przestaje działać.
- Błędne uprawnienia — klucz potrzebuje uprawnień do odczytu i handlu (nigdy do wypłat). Klucz tylko do odczytu nie może składać zleceń.
- Blokada białej listy IP — jeśli ograniczyłeś klucz do konkretnych adresów IP, adresy IP serwerów Freya muszą być dozwolone (są pokazywane podczas podłączania exchange).
Rozwiązanie: podłącz ponownie świeży klucz z uprawnieniami do odczytu i handlu. Zobacz Jak podłączyć swój exchange oraz Zarządzanie kluczami API.
Zbyt małe zlecenie
Każdy exchange ma minimalny rozmiar zlecenia (minimalną wartość nominalną). Jeśli Twoja kwota zlecenia — lub pojedyncze zlecenie z siatki — spadnie poniżej tego progu, exchange odrzuci zlecenie.
Rozwiązanie: zwiększ swoją kwotę handlową (lub wolumen pojedynczego zlecenia) tak, aby każde zlecenie przekraczało minimum exchange.
Specyfika futures: dźwignia i tryb pozycji
Na futures dwa ustawienia mogą blokować zlecenia:
- Zbyt wysoka dźwignia — ustawiona przez Ciebie dźwignia przekracza to, na co exchange pozwala dla danej pary. Obniż ją do dozwolonego poziomu.
- Niezgodność trybu pozycji — Twoje konto na exchange działa w innym trybie pozycji (hedge vs one-way) niż zakłada bot. Dostosuj tryb pozycji na exchange do sposobu, w jaki bot handluje.
Przejściowe problemy exchange
Część błędów nie wynika z Twojej winy i często ustępuje sama:
- Rate limity — zbyt wiele zapytań w krótkim czasie.
- Timeouty / błędy sieci — chwilowy problem z połączeniem z exchange.
- Błędy timestampu — problem z synchronizacją zegara między systemami a exchange.
- Exchange przeciążony / konserwacja — sam exchange jest przeciążony lub niedostępny.
Rozwiązanie: takie sytuacje zwykle rozwiązują się same. Jeśli bot zgłosił błąd z jednego z tych powodów, zazwyczaj możesz go wznowić, gdy exchange znów odpowiada normalnie.
Co robić: szybka lista kontrolna
- Sprawdź saldo/margin na exchange — przyczyna numer jeden. Doładuj, jeśli jest za niskie.
- Sprawdź klucz API — czy nadal jest ważny, ma uprawnienia do odczytu i handlu oraz czy adresy IP Freya są dozwolone.
- Sprawdź rozmiar zlecenia — czy przekracza minimum exchange.
- Na futures upewnij się, że dźwignia mieści się w limitach, a tryb pozycji się zgadza.
- Jeśli to był błąd przejściowy, poczekaj, aż exchange wróci do normy, i wznów bota.
- Nadal nie działa? Napisz na [email protected].
Najczęściej zadawane pytania
Dlaczego mój bot się wstrzymał lub zatrzymał?
Najczęściej dlatego, że exchange odrzucił zlecenie — zwykle z powodu niewystarczającego salda lub marginu, problemu z kluczem API albo zlecenia poniżej minimalnego rozmiaru na exchange. Na futures zlecenia mogą blokować także ustawienia dźwigni lub trybu pozycji. Przejściowe problemy exchange (rate limity, timeouty) również potrafią zatrzymać bota, ale te zwykle ustępują same.
Co oznacza, że mój bot jest w stanie błędu?
Bot próbował działać, ale coś odrzuciło tę akcję, więc zatrzymał się i zasygnalizował problem, zamiast działać dalej na ślepo. Otrzymasz powiadomienie „Błąd bota” (jeśli powiadomienia są włączone). Usuń przyczynę źródłową — zwykle saldo lub klucz API — i możesz uruchomić bota ponownie.
Mój bot zgłasza niewystarczające saldo — co mam zrobić?
Dodaj środki na swoje konto exchange, aby było wystarczająco wolnego salda (spot) lub marginu (futures) na pokrycie zleceń bota, w tym jego siatki Safety Order. Bot nie mógł złożyć zlecenia, ponieważ środki nie były dostępne na exchange.
Czy problemem może być mój klucz API?
Tak — to częsty przypadek. Jeśli klucz został usunięty, wygenerowany na nowo lub ustawiony tylko do odczytu, albo jeśli jest ograniczony do konkretnych IP, a adresy IP serwerów Freya nie są dozwolone, bot nie może handlować. Podłącz ponownie świeży klucz z uprawnieniami do odczytu i handlu (nigdy do wypłat).
Mój bot na futures nie składa zleceń — czy to może być dźwignia albo tryb pozycji?
Tak. Jeśli Twoja dźwignia jest wyższa, niż exchange dopuszcza dla danej pary, albo tryb pozycji Twojego konta (hedge vs one-way) nie pasuje do sposobu, w jaki handluje bot, zlecenia będą odrzucane. Obniż dźwignię do dozwolonego poziomu i dostosuj tryb pozycji na exchange.
Czy dostanę powiadomienie, jeśli mój bot napotka błąd?
Tak — jeśli masz skonfigurowane powiadomienia, Freya wysyła alert „Błąd bota”, gdy bot przechodzi w stan błędu, abyś mógł szybko zareagować. Zobacz Jak skonfigurować powiadomienia.
Mój bot działa, ale nie otworzył żadnej transakcji — czy to to samo?
Nie. Działający bot, który nie wszedł w pozycję, zwykle po prostu nie spełnił jeszcze swoich warunków wejścia — to temat artykułu Dlaczego mój bot nie handluje?. Ten artykuł dotyczy bota, który się wstrzymał, zatrzymał lub napotkał błąd.
