IOC vs FOK, ordens a mercado e limitadas: tipos de ordens para a execução algorítmica em forex Quarta-feira, 4 de Novembro de 2026 – Posted in: Arbitrage Software, Forex trading

BJF TRADING GROUP · EXECUÇÃO EM FOREX

IOC, FOK, a mercado ou limitada: como escolher a ordem certa para cada operação

Um tipo de ordem é uma decisão sobre o que você prefere suportar: um preço pior, uma execução menor ou nenhuma execução. Este guia mostra como cada instrução se comporta no livro de ofertas, nas mensagens FIX e sob last look, com cálculos práticos para um algoritmo que precisa escolher em milissegundos.

Resposta curta: IOC vs FOK. Uma ordem Immediate-or-Cancel (IOC) pega tudo o que estiver disponível naquele momento ao seu preço ou melhor e cancela o restante, portanto a execução parcial é possível. Uma ordem Fill-or-Kill (FOK) precisa ser executada integralmente de imediato ou é cancelada por completo: ou você recebe tudo, ou nada. Use IOC quando qualquer parte do tamanho for útil e FOK quando uma posição parcial for pior do que nenhuma.

Tipo de ordem e time in force são duas decisões separadas

A maioria dos glossários lista a mercado, limitada, stop, IOC e FOK como se fossem cinco opções do mesmo menu. Não são. Por trás delas há duas perguntas independentes, e um algoritmo precisa responder às duas em cada ordem:

  • Que preço estou disposto a aceitar? Esse é o tipo de ordem: a mercado (qualquer preço), limitada (este preço ou melhor), stop (ativa quando um gatilho é negociado ou cotado).
  • Por quanto tempo a ordem pode permanecer ativa? Esse é o time in force, ou TIF: imediatamente (IOC, FOK), até o fim da sessão (Day), até ser cancelada (GTC) ou até um horário definido (GTD).

Portanto, IOC e FOK não são alternativas à ordem limitada. São tempos de vida associados a ela. “Limit IOC” e “Limit FOK” são as duas instruções agressivas mais comuns no forex algorítmico, e o protocolo FIX mantém as duas decisões em campos separados: OrdType (tag 40) e TimeInForce (tag 59).

PreçoTipo de ordem, tag 40A mercado, limitada, stop, stop-limit. Define o pior preço que você aceita.
TempoTime in force, tag 59IOC, FOK, Day, GTC, GTD. Define quanto tempo a ordem pode esperar.
TamanhoRegra de execuçãoSomente integral (FOK), qualquer tamanho (IOC) ou uma quantidade mínima (tag 110), quando suportada.

Ordens a mercado no forex: o que “a mercado” realmente significa

Uma ordem a mercado diz: execute agora, o preço é secundário. Ela não tem limite, por isso oferece a maior certeza de execução e nenhuma proteção quanto ao preço obtido. Se o livro se moveu ou está raso, a ordem vai consumindo os níveis disponíveis até completar o tamanho. Esse custo é o slippage, tratado em detalhes no nosso guia sobre como medir e reduzir o slippage no forex.

O forex acrescenta dois detalhes que as explicações baseadas em bolsa deixam de lado:

  • Não existe um único livro central. Seu corretor ou ECN mostra um fluxo agregado de vários provedores de liquidez. “A mercado” significa ao melhor preço que sua plataforma de execução consegue obter desse fluxo, não a um preço de mercado universal.
  • Uma ordem a mercado ainda tem um tempo de vida implícito. Muitas plataformas tratam ordens a mercado internamente como IOC ou FOK: executam o que for possível agora e informam o restante. Algumas permitem adicionar um desvio máximo, o que na prática transforma a ordem em limitada. Não presuma nada; leia a especificação da plataforma.

O papel prático de uma ordem a mercado em um algoritmo é restrito. Ela cabe nas situações em que não operar é o perigo maior, como ao fechar uma posição que perdeu o hedge.

Ordens limitadas, limitadas agressivas e stop

Ordens limitadas passivas

Uma ordem limitada colocada longe do preço atual fica no livro e espera. Uma compra limitada abaixo do ask não toma liquidez; ela oferece liquidez. Você pode ganhar o spread em vez de pagá-lo, mas assume o risco de fila e a seleção adversa: ordens passivas tendem a ser executadas justamente quando o mercado está passando por elas. Ordens passivas normalmente são combinadas com Day, GTC ou GTD.

Ordens limitadas agressivas

Uma compra limitada com preço igual ou superior ao ask atual é executada de imediato, como uma ordem a mercado, mas não pode ser preenchida além do seu limite. Essa “marketable limit”, ou limitada agressiva, é o burro de carga da execução automatizada. Combinada com IOC, ela significa: tome liquidez agora, até este preço, e não deixe nada no livro.

A questão da melhoria de preço costuma ser mal compreendida. O limite é o pior preço aceitável, não o preço de execução. Se você compra com limite em 1.08510 e o ask está em 1.08502, deve receber 1.08502 ou os níveis seguintes até o seu limite.

Ordens stop e stop-limit

Uma ordem stop fica adormecida até o gatilho ser atingido e então se torna uma ordem a mercado. Já uma stop-limit se torna uma ordem limitada. A primeira garante a ativação, não o preço. A segunda limita o preço, mas pode deixar você sem execução exatamente quando o mercado dá um gap, uma característica desagradável para um stop de proteção. O lugar onde o stop fica também importa: um stop mantido na plataforma sobrevive à sua desconexão, enquanto um stop simulado no seu próprio software não.

Time in force: a lista completa

Instrução FIX 59 Tempo de vida Execução parcial? Uso típico
Day 0 Até o fim da sessão Sim Cotações passivas durante uma sessão definida
GTC (Good Till Cancel) 1 Até ser cancelada Sim Entradas no livro, ordens take-profit e stop
IOC (Immediate or Cancel) 3 Executa de imediato, o restante é cancelado Sim Tomar liquidez quando qualquer parte do tamanho ajuda
FOK (Fill or Kill) 4 Tamanho integral de imediato ou nada Não Entradas tudo ou nada e pernas de tamanho fixo
GTD (Good Till Date) 6 Até um horário especificado (tag 126 ou 432) Sim Cotações com vencimento rígido, por exemplo antes da divulgação de uma notícia

Os valores são da especificação FIX 4.4. As plataformas normalmente suportam apenas parte da lista, e algumas restringem um TIF a determinados tipos de ordem, portanto as regras de operação do seu corretor prevalecem sobre qualquer tabela em um artigo.

IOC vs FOK vs a mercado: um livro de ofertas, três resultados

Vamos a um caso concreto. Um algoritmo quer comprar 2,000,000 de EURUSD. O melhor ask é 1.08500, e este é o lado visível da oferta quando a ordem chega:

Preço ask Tamanho disponível Acumulado
1.08500 500,000 500,000
1.08501 500,000 1,000,000
1.08503 1,000,000 2,000,000
1.08506 2,000,000 4,000,000
Percurso pelo livro de ofertas comparando uma ordem a mercado, uma IOC limitada e uma FOK limitada para uma compra de 2 milhões de EURUSD: a ordem a mercado é executada integralmente a 1.085018, a IOC executa 1 milhão a 1.085005 e a FOK é cancelada
O mesmo livro, três instruções. O livro é um exemplo construído; a aritmética é exata.
Instrução Executado Preço médio Custo em relação ao melhor ask Resultado
A mercado, 2M 2,000,000 1.085018 0.175 pip, cerca de $35 Concluída, a um preço que você não escolheu
Limite 1.08502 IOC, 2M 1,000,000 1.085005 0.05 pip, cerca de $5 Metade do tamanho, 1M cancelado
Limite 1.08502 FOK, 2M 0 Nenhum $0 Cancelada: apenas 1M no limite ou abaixo dele
Limite 1.08503 FOK, 2M 2,000,000 1.085018 0.175 pip, cerca de $35 Executada: o limite era amplo o suficiente

A última linha é a mais sutil. Um décimo de pip a mais transformou a FOK de nenhuma operação em execução total, a uma média melhor do que o seu limite. FOK não significa “apertado”. Significa “todo o tamanho precisa caber abaixo deste preço neste momento”. A IOC e a FOK com o mesmo limite enxergam a mesma liquidez. Elas diferem apenas no que fazem quando ela não é suficiente.

Também não existe uma instrução universalmente mais barata. A IOC de $5 parece uma pechincha diante da ordem a mercado de $35, mas entregou metade da posição. Se o 1M restante tiver de ser comprado depois a um preço pior, a comparação muda. Esse custo do tamanho que faltou é o tema do restante deste guia.

Como as ordens aparecem no FIX

Em uma conexão FIX API, você declara cada instrução explicitamente em uma mensagem NewOrderSingle (35=D). Simplificada aos campos que importam, a ordem IOC do exemplo fica assim:

35=D | 11=A1001 | 55=EUR/USD | 54=1 | 38=2000000 | 40=2 | 44=1.08502 | 59=3

Troque 59=3 por 59=4 e a mesma ordem passa a ser FOK. Remova o preço e defina 40=1 e ela será uma ordem a mercado. O cabeçalho, o checksum, os timestamps e os campos de conta foram omitidos aqui, e o formato do símbolo varia conforme a plataforma: algumas usam IDs numéricos de símbolo.

Tag Campo Valores que você vai encontrar
40 OrdType 1 A mercado, 2 Limitada, 3 Stop, 4 Stop-limit, D Previamente cotada
59 TimeInForce 0 Day, 1 GTC, 3 IOC, 4 FOK, 6 GTD
110 MinQty Quantidade mínima que precisa ser executada, quando suportada
150 ExecType 0 Nova, F Negócio, 4 Cancelada, 8 Rejeitada, C Expirada
39 OrdStatus 0 Nova, 1 Parcialmente executada, 2 Executada, 4 Cancelada, 8 Rejeitada, C Expirada
14 / 151 CumQty / LeavesQty Executado até agora / ainda em aberto. LeavesQty 0 significa que a ordem terminou
31 / 32 / 6 LastPx / LastQty / AvgPx Preço e tamanho desta execução / média de todas as execuções

A parte difícil não é enviar a ordem, e sim ler a resposta. Uma única IOC pode gerar uma sequência de ExecutionReports (35=8), e a forma como o restante é informado depende da plataforma.

Ciclo de vida FIX de uma ordem IOC de 2 milhões: NewOrderSingle, dois relatórios de execução de negócio com CumQty subindo até 1 milhão, depois um relatório de cancelamento ou expiração do 1 milhão restante com LeavesQty zero, e o algoritmo fazendo hedge apenas da quantidade executada
Uma IOC só está concluída quando LeavesQty chega a 0. Sua posição é CumQty, nunca a quantidade solicitada.

Algumas plataformas enviam uma confirmação adicional (150=0) antes das execuções. Outras entregam uma única execução agregada. Sessões FIX 4.2 usam valores de ExecType diferentes para execuções (1 e 2) em relação ao FIX 4.3 e posteriores (F). Por isso, um handler robusto se baseia em CumQty, LeavesQty e OrdStatus, não em um número fixo de mensagens. O passo a passo do protocolo FIX explica a camada de sessão por trás dessas mensagens.

Liquidez full-amount e last look: por que o forex é diferente

As explicações voltadas ao mercado de ações pressupõem um livro central de ordens limitadas em que a oferta exibida é firme. As plataformas de forex podem se comportar de forma diferente em dois aspectos que afetam diretamente IOC e FOK.

Liquidez sweepable vs full-amount. Em um livro sweepable, uma ordem pode tomar vários níveis de vários provedores, como no exemplo acima. Na precificação full-amount, o provedor cota um único preço para todo o tamanho e as faixas não são somáveis, portanto uma FOK de 2M deve ser comparada com a faixa de 2M, e não com a soma das cotações de 1M. Uma mesma exibição de profundidade pode, assim, significar coisas diferentes.

Last look. Quando um provedor aplica last look, sua ordem é uma solicitação que ele ainda pode rejeitar após uma breve retenção. Uma FOK pode ser rejeitada mesmo que o livro exibisse tamanho suficiente no momento do envio, e uma IOC pode voltar menor do que o exibido. O FX Global Code (o código global de conduta do mercado de câmbio) pede que os provedores que usam last look divulguem essa prática aos clientes, portanto solicite essa divulgação. As rejeições de last look só aparecem no seu log se você as registrar. A mecânica é explicada no nosso guia sobre execução do corretor, A-book, B-book e last look.

Por que isso importa para a medição: uma ordem agressiva em uma plataforma com last look pode mostrar excelentes estatísticas de slippage, porque apenas as execuções convenientes para o provedor entram na amostra. Um slippage médio baixo combinado com uma alta taxa de rejeição não é boa execução.

Onde colocar o limite: um modelo com números

Em uma IOC ou FOK, o parâmetro principal não é o TIF, e sim o preço limite. Se você o colocar na cotação atual, a maioria dos sinais não será executada. Sem limite algum, as piores execuções consomem a vantagem. Entre esses extremos existe uma resposta calculável.

Considere um sinal de curta duração com vantagem esperada de 1.2 pips após comissões, medida a partir do preço do sinal. Entre o sinal e a chegada à plataforma, o preço se move. Suponha dois regimes: em 80% dos casos o preço deriva cerca de 0.2 pip contra você (desvio-padrão de 0.3 pip) e, em 20%, um movimento rápido o leva a cerca de 2 pips de distância (desvio-padrão de 1 pip). Esses dados são ilustrativos. Na prática, você os estima a partir do seu próprio log de ordens.

Modelo ilustrativo: os pips líquidos esperados por sinal aumentam com a tolerância do limite, atingem o pico perto de 0.82 pips com uma tolerância de cerca de 1.2 pips e caem para 0.64 pips em uma ordem a mercado sem limite, enquanto a taxa de execução sobe de 21 por cento para 100 por cento
Modelo ilustrativo, não são resultados de trading: vantagem de 1.2 pip e deriva de preço em dois regimes. A execução ocorre quando a deriva fica dentro da tolerância.
Tolerância do limite em relação ao preço do sinal Taxa de execução Líquido médio por execução Líquido esperado por sinal
0 pip (limite no preço do sinal) 20.7% 1.38 pips 0.29 pip
0.3 pip 51.3% 1.18 pips 0.61 pip
0.6 pip 74.3% 1.05 pips 0.78 pip
1.2 pips (igual à vantagem) 84.2% 0.98 pip 0.82 pip
2.0 pips 90.0% 0.89 pip 0.80 pip
Sem limite (ordem a mercado) 100% 0.64 pip 0.64 pip

Três conclusões valem muito além deste exemplo:

  • O melhor limite é o preço de equilíbrio, não a cotação. Vale a pena aceitar qualquer execução que ainda deixe lucro esperado positivo. Neste modelo, o máximo fica exatamente onde a tolerância é igual à vantagem, porque a execução marginal seguinte rende zero.
  • A curva é plana perto do topo. Entre 0.8 e 2 pips, o lucro esperado quase não muda. Você não precisa de uma tolerância precisa, mas precisa ter uma.
  • O preço médio de execução é uma meta enganosa. O limite mais apertado tem o melhor preço por execução (1.38 pips) e o pior resultado por sinal (0.29 pip), porque 79% dos sinais nunca são negociados.

O modelo ignora os efeitos de fila e pressupõe que todo o tamanho é executado sempre que o limite é alcançado. Para ordens maiores, repita o cálculo com a sua profundidade real, já que o limite também determina quanto tamanho pode ser executado. Verifique as premissas com dados: nosso guia sobre a diferença entre backtests e execução real mostra como incluir o tempo de execução em um teste.

Como lidar com execuções parciais sem criar novos riscos

Uma execução parcial não é um erro, mas é um novo estado para o qual o algoritmo precisa ter uma regra. A FOK evita esse estado na entrada; a IOC transfere o problema para a sua lógica. Defina a política antes de entrar em produção:

Política para o restante Quando se aplica Risco a controlar
Aceitar e gerenciar o que foi executado Entradas com vantagem independente do tamanho Posição pequena demais para cobrir os custos fixos
Reenviar o restante a um novo preço Sinal ainda válido, vantagem ainda acima da tolerância Perseguir o preço. Limite as tentativas e reavalie a vantagem a cada uma
Fazer hedge ou completar em outra plataforma Operações com múltiplas pernas Passos de lote diferentes e uma segunda chance de não execução
Zerar a parte executada Uma execução abaixo do tamanho viável Pagar o spread duas vezes

Operações com duas pernas exigem o maior cuidado. Suponha que uma operação com hedge compre 2M na plataforma A com IOC e venda na plataforma B. Se A executar 1M e o algoritmo ainda vender os 2M planejados, ele ficará com 1M vendido em aberto. A cerca de $100 por pip por milhão no EURUSD, um movimento de 10 pips contra essa posição custa $1,000, o que supera facilmente a vantagem de muitas operações. A regra é simples: dimensione a segunda perna pelo CumQty da primeira, nunca pela quantidade solicitada.

Converta também para a grade de tamanhos da segunda plataforma. Se a primeira perna executar 1,370,000 e a plataforma B aceitar passos de 100,000, você pode fazer hedge de 1,400,000 ou 1,300,000, mas não do tamanho exato. Defina também uma regra para esse resíduo e trate qualquer resíduo sem hedge como um limite de risco.

A FOK na primeira perna elimina a diferença de tamanho, mas gera mais eventos sem operação. A FOK na segunda perna costuma ser uma má escolha: com a primeira perna já executada, um hedge cancelado deixa você totalmente exposto. É exatamente nessa segunda perna que vale a pena pagar pela certeza de execução.

Qual ordem para qual estratégia

Fluxograma de decisão para escolher o tipo de ordem: se a posição precisa mudar agora, use a mercado ou uma IOC ampla; se uma execução parcial for inútil, use FOK; se estiver tomando liquidez com qualquer tamanho útil, use IOC limitada; caso contrário, deixe uma ordem limitada passiva com Day, GTC ou GTD
Um ponto de partida para a decisão. As regras da plataforma e os seus dados de execução têm a palavra final.
Situação Padrão razoável Justificativa
Entrada de arbitragem de latência IOC limitada no preço de equilíbrio A vantagem se dissipa em milissegundos; uma execução parcial ainda rende, e o limite corta a cauda
Primeira perna de um par com hedge FOK limitada ou IOC com hedge por CumQty A FOK protege o dimensionamento; a IOC ganha taxa de execução, mas exige uma lógica melhor
Segunda perna, com a primeira já executada A mercado ou IOC ampla Ficar sem hedge é o risco maior
Entrada baseada em notícias IOC limitada, tamanho reduzido Spreads e profundidade mudam rapidamente, e uma ordem a mercado não tem teto
Saída de emergência ou stop-out A mercado ou IOC ampla, repetida até zerar Certeza em primeiro lugar; a FOK pode deixar a posição aberta
Operações em pares ou estatísticas IOC limitada ou limitada passiva de curta duração O período de manutenção é mais longo, então o spread pago importa mais do que a velocidade
Captura de spread e rebalanceamento Limitada passiva, Day ou GTD Você é pago para esperar e precisa cancelar antes de notícias e do rollover

A execução também depende do momento. Perto do rollover e de notícias, os spreads se alargam e a profundidade diminui, então um limite que funciona bem ao meio-dia em Londres pode falhar ou ficar caro nessas janelas. Faça a tolerância e o tamanho dependerem do spread atual, em vez de fixá-los para o dia inteiro. Uma análise mais aprofundada das estratégias sensíveis à velocidade está disponível no nosso guia sobre arbitragem de latência.

Sete passos para configurar a execução de ordens

1
Dê um preço à operação perdida. Decida quanto custa não ser executado. Em uma entrada opcional, o custo é zero; em um hedge ou uma saída, é risco em aberto.
2
Calcule o pior preço aceitável. Pegue a vantagem esperada, subtraia a comissão e uma margem de segurança e coloque o limite nesse ponto de equilíbrio.
3
Escolha o tempo de vida. Use IOC ou FOK para tomar liquidez e Day, GTC ou GTD para ordens que ficam no livro.
4
Defina a menor execução útil. Use FOK, ou uma quantidade mínima quando suportada, se execuções pequenas não cobrirem os custos fixos.
5
Escreva a regra para o restante. Defina as novas tentativas, o número máximo delas e o que acontece com qualquer resíduo sem hedge.
6
Confirme as regras da plataforma. Verifique as combinações suportadas de tipo de ordem e TIF, os passos de tamanho, como os restantes são informados e se há last look.
7
Registre e revise. Registre todas as ordens, inclusive rejeições e cancelamentos, e ajuste o limite com base em dados reais de execução.

Erros comuns no tratamento automatizado de ordens

  • Presumir que o tamanho solicitado foi executado. A posição deve vir dos relatórios de execução, não da ordem que você enviou.
  • Tratar uma FOK cancelada como erro de sistema. É um resultado normal. Alertar a cada ocorrência ensina você a ignorar alertas; alerte sobre a taxa.
  • Repetir o mesmo preço em loop. Se o preço se moveu, a nova tentativa também falha, e tentativas rápidas podem violar os limites de mensagens. Reprecifique ou pare.
  • Ignorar o estado desconhecido. Quando nenhuma resposta chega, a ordem ainda pode estar ativa ou executada. Consulte-a com um OrderStatusRequest (35=H) ou reconcilie a posição após reconectar, antes de enviar uma substituta.
  • Reutilizar valores de ClOrdID. Uma tag 11 exclusiva para cada ordem, incluindo cada nova tentativa, é o que torna a reconciliação possível.
  • Usar preços defasados para o limite. Um limite calculado a partir de uma cotação atrasada é apertado demais ou generoso demais. Um feed de preços rápido dá sentido à tolerância.
  • Testar com execuções perfeitas. Um backtest que executa toda ordem integralmente na cotação não consegue distinguir a mercado, IOC e FOK. Modele a profundidade e as rejeições ou faça forward test com tamanho pequeno.
  • Levar configurações de uma plataforma para outra. Uma tolerância ajustada em um corretor diz pouco sobre outro, porque profundidade, last look e latência são todos diferentes.

O que medir

Escolher um tipo de ordem é uma questão empírica, e somente um log completo pode respondê-la. Os relatórios devem abranger sinais e tentativas, não apenas operações concluídas.

Métrica Definição O que ela indica
Taxa de preenchimento Quantidade executada / quantidade solicitada Muito baixa indica limite apertado ou profundidade reduzida
Taxa de rejeição Ordens rejeitadas ou canceladas / ordens enviadas Uma alta repentina sugere mudanças na liquidez ou no corretor
Slippage Preço de execução menos preço de referência no sinal, com sinal positivo ou negativo Custo de execução por operação executada
Tempo de ida e volta Do envio da ordem ao primeiro relatório de execução Se a plataforma está ficando mais lenta, por horário do dia
Líquido por sinal Resultado total / todos os sinais, incluindo os perdidos O número que deve orientar a tolerância

Separe esses números por símbolo, plataforma, hora e tipo de ordem e compare os resultados antes e depois de cada mudança. O SharpTrader mostra ordens e estatísticas de desempenho com PnL, slippage e tempo de execução, uma base prática para esse tipo de análise. Os tipos de ordem e os valores de TIF disponíveis em cada configuração dependem do conector e do corretor, portanto confirme-os para a sua própria conta.

Construa a execução em torno dos seus próprios dados

O SharpTrader se conecta a corretores por FIX API e outros protocolos, executa estratégias de arbitragem e de não arbitragem e registra o slippage e o tempo de execução de cada ordem. Para ajustar os parâmetros com base nesses dados, o SharpTrader Optimizer automatiza a busca.

Conheça o SharpTraderSharpTrader Optimizer

Scanner de arbitragem grátis + curso curto por e-mail

Receba o link do scanner grátis e alguns e-mails curtos e práticos do Boris: o que uma diferença de preço realmente significa depois dos custos, como testar uma estratégia antes de arriscar dinheiro real e quais ferramentas combinam com o seu mercado. Sem exageros. Os e-mails são enviados em inglês.

Ao enviar, você concorda em receber e-mails da BJF Trading Group sobre ferramentas de arbitragem e software de trading. Cancele a inscrição quando quiser. Veja nossa Política de Privacidade.

Perguntas frequentes

Qual é a diferença entre IOC e FOK?

Ambas são executadas de imediato e nunca ficam no livro. A IOC aceita execução parcial e cancela o restante não executado. A FOK exige que toda a quantidade seja executada de uma vez; caso contrário, a ordem inteira é cancelada e nada é negociado.

A FOK é melhor do que a IOC?

Nenhuma é melhor de modo geral. A FOK é adequada a operações em que uma posição parcial é inútil ou complica um hedge. A IOC costuma ser negociada com mais frequência, pois parte do tamanho é executada, mas seu algoritmo precisa lidar corretamente com execuções parciais.

Uma ordem FOK pode ser executada parcialmente?

Não. Por definição, uma ordem FOK é executada integralmente ou não é executada. Se você vir uma execução parcial, a ordem não foi uma FOK verdadeira naquela plataforma, então verifique como o corretor mapeia a instrução.

O que acontece com a parte não executada de uma ordem IOC?

Ela é cancelada imediatamente e nunca fica no livro. No FIX, você recebe um relatório de execução que encerra a ordem, normalmente como cancelada (Canceled) ou expirada (Expired), conforme a plataforma, com LeavesQty igual a 0.

Uma ordem a mercado é o mesmo que uma ordem IOC?

Não exatamente. Uma ordem a mercado não tem limite de preço, enquanto uma IOC normalmente tem. Muitas plataformas processam ordens a mercado com comportamento de IOC ou FOK, então o tempo de vida pode coincidir, mas somente um limite protege o preço.

Quais são os valores FIX para IOC e FOK?

No campo TimeInForce, tag 59, IOC é 3 e FOK é 4. O tipo de ordem é definido separadamente na tag 40, em que 1 é a mercado e 2 é limitada.

Todos os corretores de forex suportam IOC e FOK?

Não. O suporte depende do corretor, da plataforma e do tipo de conexão. As conexões FIX API costumam oferecer mais controle, mas cada plataforma publica a sua própria lista de combinações aceitas de tipo de ordem e time in force.

Este artigo tem caráter educacional e não constitui recomendação de investimento. O livro de ofertas e o modelo são exemplos ilustrativos, não resultados de trading. Operar no mercado de câmbio envolve risco significativo de perda.