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.
