Dlaczego bot pomija okazję? Prowizje, poślizg i płynność

Brak transakcji może oznaczać prawidłowe działanie. Wyjaśniamy filtry, przez które dodatni spread nie przechodzi do etapu wykonania.

Bot odrzucający sygnał niespełniający filtrów opłacalności

Skaner może pokazać różnicę cen, a bot mimo to nie wyśle żadnego zlecenia. To nie musi być awaria. Dobrze zaprojektowany system odrzuca sygnały, które wyglądają atrakcyjnie przed kosztami, ale nie spełniają warunków wykonania.

Spread nie przeszedł testu netto

Najczęstszy powód to prowizje. Jeżeli cykl obejmuje trzy zlecenia, koszt występuje trzy razy. Po dodaniu bid-ask, slippage i bufora wynik może spaść poniżej minimalnego progu.

Porównaj wartości w kalkulatorze arbitrażu albo przejdź przez przykład w artykule Spread brutto a zysk netto.

Brak wystarczającej płynności

Najlepsza oferta może dotyczyć małej ilości. Bot symuluje pełną wartość zlecenia na kolejnych poziomach arkusza. Jeżeli średnia cena powoduje przekroczenie limitu slippage, sygnał zostaje pominięty.

Dlatego ta sama okazja może być dostępna dla 100 USDT, ale nie dla 10 000 USDT.

Dane są zbyt stare

System powinien mierzyć wiek każdego notowania. Jeżeli jedna z trzech par przestała się aktualizować, obliczenie miesza aktualne ceny z nieaktualną i nie może być podstawą zlecenia. Bezpieczną reakcją jest pominięcie oraz alert o jakości danych.

Ilość nie spełnia reguł giełdy

Giełdy określają minimalną wartość zlecenia, krok ilości i precyzję ceny. Po kolejnych konwersjach wyliczona ilość może wymagać zaokrąglenia albo spaść poniżej minimum. Bot powinien policzyć rezultat po zaokrągleniu przed rozpoczęciem cyklu.

Saldo jest niedostępne

Saldo widoczne na rachunku może być częściowo zablokowane przez inne zlecenia. Strategia powinna korzystać z dostępnej kwoty, uwzględnić rezerwę na opłaty i nie konkurować o kapitał z innym procesem.

Zadziałał limit ryzyka

Sygnał może być poprawny, ale dzienny limit ekspozycji, straty, liczby operacji albo seria błędów blokuje nowe cykle. To oczekiwane zachowanie. Limit ma pierwszeństwo przed pojedynczą okazją.

Rynek zmienił się przed wykonaniem

Między wykryciem a ostatnią walidacją ceny mogły się przesunąć. Bot powinien przeliczyć cykl bezpośrednio przed wysłaniem pierwszego zlecenia. Jeżeli wynik spadł, rezygnacja jest lepsza niż próba realizacji nieaktualnego planu.

Giełda lub API odrzuciły warunek

Maintenance, ograniczenie częstotliwości żądań, zamknięty rynek albo błąd autoryzacji mogą uniemożliwić wykonanie. Takie zdarzenie powinno być odróżnione od filtra ekonomicznego i zapisane jako przyczyna techniczna.

Dobry dziennik wyjaśnia każdą decyzję

Zamiast komunikatu „pominięto” potrzebny jest kod przyczyny, wartość zmierzona i próg: na przykład NET_MARGIN 0,31% < 0,40% albo SLIPPAGE 0,28% > 0,20%. Dzięki temu użytkownik może ocenić ustawienia bez zgadywania.

Bot nie powinien maksymalizować liczby transakcji. Powinien wykonywać tylko te cykle, które przechodzą komplet aktualnych reguł. Czasami najlepszą decyzją systemu jest brak zlecenia.

Najczęstsze pytania

Czy dodatni spread oznacza, że bot powinien kupić?

Nie. Spread musi pozostać dodatni po prowizjach, slippage, ograniczeniach ilości i buforze wykonania.

Dlaczego małe zlecenie przechodzi, a duże nie?

Większa ilość może wykorzystać kilka poziomów arkusza i zwiększyć średnią cenę zakupu lub obniżyć cenę sprzedaży.

Czy częste pomijanie oznacza błąd konfiguracji?

Nie zawsze. Może oznaczać ostrożne filtry. Wymaga analizy powodów odrzucenia i porównania ich z założeniami strategii.

Gdzie sprawdzić powód pominięcia?

Dziennik decyzji powinien wskazywać konkretny filtr, wartość zmierzoną i wymagany próg.