Você envia uma ordem de 10.000 unidades e o livro de ofertas só tem 1.000 ao seu preço. O que acontece com as outras 9.000? Toda ordem já carrega uma resposta a essa pergunta antes de ser enviada. Fill or kill, immediate or cancel e all or none são três formas de responder, e não são três sabores de uma mesma configuração.
O que um time-in-force realmente decide
Um time-in-force é uma instrução anexada a uma ordem, e ele resolve exatamente uma pergunta: o que acontece com a parte que não pode ser executada agora. Ou essa parte espera no livro, ou é descartada no momento do casamento de ordens.
É esse o eixo inteiro. Uma ordem good-till-cancelled toma o primeiro ramo e espera até executar ou até você tirá-la de lá. Uma ordem good-till-date espera do mesmo jeito, mas para num prazo que você define. Immediate or cancel e fill or kill tomam o segundo ramo, onde nada fica esperando.
O protocolo FIX, uma especificação de mercado de longa data para o tratamento de ordens, define esse campo como aquele que diz por quanto tempo a ordem permanece em vigor, e o padrão do próprio protocolo é uma configuração de dia de negociação herdada de mercados que fecham. A Kraken define good-till-cancelled como padrão na sua própria interface de ordens. Escritas por extenso no primeiro uso, as três configurações passam a aparecer daqui em diante como IOC, FOK e AON.
Immediate or cancel: pegue o que está lá e descarte o resto
Uma ordem immediate-or-cancel negocia o que conseguir contra o livro naquele momento e descarta o resto. Ela permite uma execução parcial: se 1.000 das suas 10.000 puderem negociar ao seu preço, 1.000 negociam e as outras 9.000 simplesmente deixam de existir.
A Kraken descreve a configuração como aquela que cancela de imediato qualquer quantidade que não possa ser executada na chegada. A Coinbase enuncia o mesmo comportamento como cancelar qualquer quantidade restante. Duas exchanges, um mesmo mecanismo.
O immediate aqui se refere ao momento do casamento, não à velocidade. Quando o livro é fundo o bastante para absorver a ordem inteira, uma IOC e uma ordem limitada comum ao mesmo preço seguem o mesmo caminho e terminam no mesmo lugar. A diferença só aparece no instante em que sobra alguma coisa.
Fill or kill: tudo agora, ou nada
Uma ordem fill-or-kill acrescenta uma condição a essa mesma imediatez: a quantidade inteira, ou nada. Ela é uma IOC mais uma exigência de integralidade, e as duas condições precisam valer juntas. Se 9.000 das suas 10.000 pudessem negociar, uma IOC negocia as 9.000 e uma FOK não negocia nada.
O que uma FOK garante é quantidade, não preço. Ela pode se completar por inteiro a uma média bem pior do que o preço que você estava olhando, porque consome toda a profundidade necessária para terminar o serviço. O controle de preço é um instrumento à parte, um preço limite ou uma tolerância de slippage, e recorrer ao fill or kill para evitar um preço ruim é pedir a ele algo que ele não oferece.
A Kraken registra mais uma restrição que vale saber antes de você procurar a configuração: a opção fill-or-kill dela está disponível apenas para ordens limitadas.
All or none é outra configuração, não um terceiro prazo
All or none parece um irmão do fill or kill, e não é. No FIX, o time-in-force mora num campo com oito valores, e all or none não está entre eles. Ele mora num campo separado, o das instruções de tratamento de ordens, sob o código G, descrito ali como all or none.
A consequência é prática, não burocrática. Como o AON fica num campo diferente, ele pode ser combinado com um prazo: uma ordem all-or-none que também seja good-till-cancelled fica parada no livro e espera, mas só vai negociar em uma peça completa. O fill or kill junta imediatez e integralidade num único valor de time-in-force, então ele não consegue esperar por nada.
| O resto pode ficar parado no livro | Execução parcial permitida | Execução parcial não permitida |
|---|---|---|
| Sim, ele espera | Good-till-cancelled | All or none, parada no livro |
| Não, ele é descartado | Immediate or cancel | Fill or kill |
O que o status diz quando nada executa
Uma ordem que nunca negociou não é automaticamente uma ordem com falha ou expirada. No FIX, uma ordem fill-or-kill ou immediate-or-cancel que não executou termina como cancelada, e a especificação lista essas duas como as exceções explícitas ao estado de expirada.
Isso soa estranho diante do sentido comum de cancelada, que sugere algo que ficou parado e depois foi retirado. A conciliação é que a ordem de fato entrou em vigor; ela apenas nunca ficou parada no livro. A Coinbase diz a mesma coisa pela outra ponta: uma ordem fill-or-kill só é colocada no livro se for executada de imediato e integralmente.
A sequência oficial resolvida passo a passo deixa a aritmética visível. Uma ordem fill-or-kill de 10.000 que não pode ser completada termina sem nada negociado, então a quantidade executada é 0 e a quantidade restante é 0. Uma ordem immediate-or-cancel das mesmas 10.000 que encontra 1.000 disponíveis termina com 1.000 negociadas e 9.000 canceladas. Essas mesmas tabelas também trazem um ramo de rejeitada, e a especificação observa em separado que uma ordem pode passar de nova para rejeitada mesmo depois de ter sido reconhecida. Rejeitada e cancelada são dois resultados distintos, então leia o status que a sua exchange reporta em vez de supor qual dos dois se aplica.
As configurações lado a lado
| Configuração | O resto | Execução parcial | Em que campo ela mora |
|---|---|---|---|
| Good-till-cancelled | Fica parado até executar ou até você tirá-lo de lá | Permitida | Time-in-force |
| Good-till-date | Fica parado até o prazo que você definiu | Permitida | Time-in-force |
| Immediate or cancel | Descartado de imediato | Permitida | Time-in-force |
| Fill or kill | Descartado de imediato | Não permitida | Time-in-force |
| All or none | Depende do prazo com que for combinado | Não permitida | Instrução de tratamento de ordens |
Quando cada uma é a escolha certa
Recorra ao fill or kill quando uma posição parcial for pior do que posição nenhuma. Uma perna de arbitragem ou uma perna de hedge que só funciona no tamanho cheio é o caso claro: metade dela não é metade tão boa, é uma exposição nova e indesejada. O preço que você aceita por essa certeza é que um quase acerto não devolve nada.
Recorra ao immediate or cancel quando quiser consumir a liquidez que está na sua frente agora sem deixar uma ordem visível para trás. Ela avança pelas ordens paradas no livro de um jeito parecido com o de uma ordem a mercado, embora a ordem a mercado seja sobre pegar os melhores preços disponíveis, e não sobre o que fazer com um resto.
Recorra a uma configuração que fica parada quando esperar é justamente o ponto. Se o seu preço ainda não está no livro e você se contenta em ficar sentado até ele chegar, descartar a ordem no momento do casamento anula o propósito.
Em resumo
Um time-in-force responde a uma pergunta e só a uma: o que acontece com a quantidade que não pode negociar agora. O immediate or cancel descarta o resto e fica com o que conseguiu. O fill or kill recusa o resultado parcial por inteiro, então ou ele se completa ou deixa você sem nada. All or none não é prazo nenhum, e sim uma regra de integralidade num campo diferente, e é por isso que ele pode esperar no livro enquanto o fill or kill não pode.
Antes de usar uma delas, verifique qual das duas perguntas você está de fato respondendo: quanto tempo a ordem deve viver, ou se um resultado incompleto é aceitável. Confundir as duas é o que transforma o fill or kill numa proteção de preço esperada, coisa que ele nunca foi. Para continuar aprendendo os fundamentos, acompanhe mais conteúdos da Bitbase Academy.
Leituras relacionadas
Outros artigos da Bitbase sobre este tema:
- Desequilíbrio do livro de ofertas, CVD e impacto no mercado
- Muros de compra, muros de venda e profundidade do livro de ofertas
- Taxas maker e taker em cripto: qual é a diferença?
- Proteção de ordem a mercado e limites fat-finger
Aviso: Este artigo é conteúdo educacional da Bitbase Academy, fornecido apenas para fins informativos. Não constitui aconselhamento de investimento, negociação, tributário ou financeiro. Criptoativos são voláteis; avalie seu próprio risco. Escrito em setembro de 2026; consulte as informações oficiais mais recentes.
Fontes
[1] FIX Trading Community, FIX Application Layer: Order State Changes (FIX Latest, atualizado até EP284, novembro de 2023) fixtrading.org
[2] Onix Solutions, dicionário FIX 4.4, TimeInForce(59) onixs.biz
[3] Onix Solutions, dicionário FIX 4.4, ExecInst(18) onixs.biz
[4] Documentação da API da Kraken, WebSocket v2, Add Order (campo time_in_force) docs.kraken.com
[5] Documentação para desenvolvedores da Coinbase, Advanced Trade API, Create Order docs.cdp.coinbase.com






