Fill or kill, immediate or cancel i all or none wyjaśnione

2026-09-03

Fill or kill, immediate or cancel i all or none wyjaśnione

Wysyłasz zlecenie na 10 000 jednostek, a księga zleceń trzyma po twojej cenie tylko 1 000. Co dzieje się z pozostałymi 9 000? Każde zlecenie niesie odpowiedź na to pytanie, jeszcze zanim je wyślesz. Fill or kill, immediate or cancel i all or none to trzy sposoby odpowiadania na nie — i nie są trzema odmianami jednego ustawienia.

Fill or kill, immediate or cancel i all or none wyjaśnione: najważniejsze informacje w skrócie

Co naprawdę rozstrzyga time-in-force

Time-in-force (czas działania zlecenia) to instrukcja dołączona do zlecenia i rozstrzyga dokładnie jedno pytanie: co dzieje się z tą częścią, której nie da się zrealizować w tej chwili. Albo ta część czeka w księdze, albo przepada w chwili kojarzenia.

To cała oś. Zlecenie good-till-cancelled wybiera pierwszą gałąź i leży w księdze, aż się wykona lub je usuniesz. Zlecenie good-till-date czeka tak samo, ale zatrzymuje się na terminie, który sam ustawiasz. Immediate or cancel i fill or kill wybierają drugą gałąź, gdzie nic w ogóle nie zostaje w oczekiwaniu.

Protokół FIX, od dawna obowiązująca branżowa specyfikacja obsługi zleceń, definiuje to pole jako określające, jak długo zlecenie pozostaje w mocy, a jego własną wartością domyślną jest ustawienie dnia handlowego odziedziczone po rynkach, które się zamykają. Kraken ustawia good-till-cancelled jako domyślne we własnym interfejsie zleceń. Rozpisane w całości przy pierwszym użyciu, trzy ustawienia skracamy dalej do IOC, FOK i AON.

Immediate or cancel: bierz, co jest, resztę porzuć

Zlecenie immediate-or-cancel handluje w tej chwili przeciw księdze wszystkim, czym może, a resztę porzuca. Dozwolona jest przy nim częściowa realizacja: jeśli po twojej cenie może się wykonać 1 000 z twoich 10 000, wykonuje się 1 000, a pozostałe 9 000 po prostu przestaje istnieć.

Kraken opisuje to ustawienie jako takie, które natychmiast anuluje z powrotem każdą ilość niemożliwą do zrealizowania w chwili dotarcia zlecenia. Coinbase ujmuje to samo zachowanie jako anulowanie pozostałej ilości. Dwie platformy, jeden mechanizm.

Słowo immediate odnosi się tu do chwili kojarzenia, nie do szybkości. Gdy księga jest dość głęboka, by wchłonąć całe zlecenie, IOC i zwykłe zlecenie limit po tej samej cenie idą tą samą drogą i kończą w tym samym miejscu. Różnica pojawia się dopiero w tym momencie, w którym coś zostaje.

Fill or kill: całość teraz albo nic

Zlecenie fill-or-kill dokłada do tej samej natychmiastowości jeden warunek: cała ilość albo nic. To IOC plus wymóg kompletności, a oba warunki muszą zajść razem. Gdyby z twoich 10 000 mogło się wykonać 9 000, IOC wykona te 9 000, a FOK nie wykona nic.

FOK gwarantuje ilość, nie cenę. Może wykonać się w całości po średniej znacznie gorszej niż cena, na którą patrzyłeś, bo zjada tyle głębokości, ile trzeba, by dokończyć robotę. Kontrola ceny to osobne narzędzie — cena limit albo tolerancja poślizgu — a sięganie po fill or kill w obronie przed złą ceną to proszenie go o coś, czego nie daje.

Kraken odnotowuje jeszcze jedno ograniczenie, warte poznania, zanim zaczniesz szukać tego ustawienia: jego opcja fill-or-kill jest dostępna wyłącznie dla zleceń limit.

All or none to inne ustawienie, nie trzeci termin

All or none wygląda na rodzeństwo fill or kill, a nim nie jest. W FIX time-in-force mieszka w jednym polu o ośmiu wartościach i all or none nie ma wśród nich. Mieszka w osobnym polu instrukcji obsługi zlecenia, pod kodem G, opisanym tam jako all or none.

Konsekwencja jest praktyczna, nie urzędnicza. Ponieważ AON siedzi w innym polu, da się je łączyć z terminem: zlecenie all-or-none, które jest zarazem good-till-cancelled, leży w księdze i czeka, ale wykona się wyłącznie jednym kompletnym kawałkiem. Fill or kill pakuje natychmiastowość i kompletność w jedną wartość time-in-force, więc nie może czekać na nic.

Czy reszta może leżeć w księdze Częściowa realizacja dozwolona Częściowa realizacja niedozwolona
Tak, czeka Good-till-cancelled All or none, leżące
Nie, przepada Immediate or cancel Fill or kill

Co mówi status, gdy nic się nie wykonuje

Zlecenie, które nigdy nie doszło do transakcji, nie jest automatycznie nieudanym lub wygasłym zleceniem. W FIX niezrealizowane zlecenie fill-or-kill albo immediate-or-cancel kończy jako anulowane, a specyfikacja wymienia te dwa jako jawne wyjątki od stanu wygasłego.

Brzmi to dziwnie wobec potocznego znaczenia słowa „anulowane”, które sugeruje, że coś leżało, a potem zostało usunięte. Pogodzenie jest takie, że zlecenie owszem stało się aktywne — po prostu nigdy nie leżało w księdze. Coinbase mówi to samo z drugiej strony: zlecenie fill-or-kill trafia do księgi tylko wtedy, gdy miałoby się wykonać natychmiast i w całości.

Oficjalna rozpisana sekwencja pokazuje tę arytmetykę wprost. Zlecenie fill-or-kill na 10 000, którego nie da się dopełnić, kończy bez żadnej transakcji, więc zrealizowana ilość wynosi 0, a pozostała ilość wynosi 0. Zlecenie immediate-or-cancel na te same 10 000, które zastaje dostępne 1 000, kończy z 1 000 wykonanymi i 9 000 anulowanymi. W tych samych tabelach jest też gałąź odrzucenia, a specyfikacja osobno odnotowuje, że zlecenie może przejść ze stanu nowego do odrzuconego nawet po tym, jak zostało potwierdzone. Odrzucone i anulowane to dwa odrębne losy, więc czytaj status, który raportuje twoja platforma, zamiast zakładać, który z nich obowiązuje.

Ustawienia obok siebie

Ustawienie Reszta Częściowa realizacja W jakim polu mieszka
Good-till-cancelled Leży, aż się wykona lub je usuniesz Dozwolona Time-in-force
Good-till-date Leży do twojego terminu Dozwolona Time-in-force
Immediate or cancel Przepada od razu Dozwolona Time-in-force
Fill or kill Przepada od razu Niedozwolona Time-in-force
All or none Zależy od terminu, z którym je sparujesz Niedozwolona Instrukcja obsługi zlecenia

Kiedy które jest właściwym wyborem

Po fill or kill sięgaj wtedy, gdy częściowa pozycja jest gorsza niż żadna. Noga arbitrażu albo noga zabezpieczenia, która działa tylko w pełnym rozmiarze, to przypadek oczywisty: połowa nie jest w połowie tak dobra, jest nową i niechcianą ekspozycją. Ceną, jaką płacisz za tę pewność, jest to, że otarcie się o cel nie daje zupełnie nic.

Po immediate or cancel sięgaj wtedy, gdy chcesz zużyć płynność stojącą właśnie przed tobą, nie zostawiając za sobą widocznego zlecenia. Przechodzi przez leżącą księgę podobnie jak zlecenie market, choć w zleceniu market chodzi o branie najlepszych dostępnych cen, a nie o to, co zrobić z resztą.

Po ustawienie leżące sięgaj wtedy, gdy czekanie jest właśnie sensem. Jeśli twojej ceny jeszcze nie ma w księdze, a ty spokojnie posiedzisz, aż przyjdzie, porzucenie zlecenia w chwili kojarzenia niweczy cały zamysł.

Podsumowanie

Time-in-force odpowiada na jedno pytanie i tylko jedno: co stanie się z ilością, która nie może się wykonać teraz. Immediate or cancel porzuca resztę i zatrzymuje to, co wzięło. Fill or kill odmawia wyniku częściowego w całości, więc albo się dopełnia, albo zostawia cię z niczym. All or none nie jest w ogóle terminem, lecz regułą kompletności w innym polu — i właśnie dlatego może czekać w księdze, a fill or kill nie może.

Zanim któregoś użyjesz, sprawdź, na które z dwóch pytań naprawdę odpowiadasz: jak długo zlecenie ma żyć, czy też czy niepełny wynik jest do przyjęcia. Pomylenie tych dwóch pytań zmienia fill or kill w spodziewaną ochronę ceny, a tym nigdy nie było. Aby dalej poznawać podstawy, śledź kolejne materiały Bitbase Academy.

Powiązane artykuły

Inne artykuły Bitbase na ten temat:

- Nierównowaga księgi, CVD i wpływ na rynek

- Mury kupna, mury sprzedaży i głębokość księgi

- Opłaty maker i taker w krypto: na czym polega różnica?

- Ochrona zlecenia market i limity fat-finger

- Wskaźnik MACD wyjaśniony

Zastrzeżenie: ten artykuł to treść edukacyjna Bitbase Academy, wyłącznie w celach informacyjnych. Nie stanowi porady inwestycyjnej, handlowej, podatkowej ani finansowej. Kryptoaktywa są zmienne — samodzielnie oceń ryzyko. Napisano w wrześniu 2026 r.; sprawdzaj aktualne oficjalne informacje.

Źródła

[1] FIX Trading Community, FIX Application Layer: Order State Changes (FIX Latest według stanu na EP284, listopad 2023 r.) fixtrading.org

[2] Onix Solutions, słownik FIX 4.4, TimeInForce(59) onixs.biz

[3] Onix Solutions, słownik FIX 4.4, ExecInst(18) onixs.biz

[4] Dokumentacja API Kraken, WebSocket v2, Add Order (pole time_in_force) docs.kraken.com

[5] Dokumentacja dla programistów Coinbase, Advanced Trade API, Create Order docs.cdp.coinbase.com