{"id":15930,"date":"2026-11-04T15:22:19","date_gmt":"2026-11-04T15:22:19","guid":{"rendered":"https:\/\/bjftradinggroup.com\/?p=15930"},"modified":"2026-11-04T15:22:19","modified_gmt":"2026-11-04T15:22:19","slug":"ioc-fok-order-types-algo-trading","status":"publish","type":"post","link":"https:\/\/bjftradinggroup.com\/pt\/ioc-fok-order-types-algo-trading\/","title":{"rendered":"IOC vs FOK, ordens a mercado e limitadas: tipos de ordens para a execu\u00e7\u00e3o algor\u00edtmica em forex"},"content":{"rendered":"<p><\/p>\n<div class=\"iof-page\">\n<div class=\"iof-hero\">\n<span class=\"iof-hero-tag\">BJF TRADING GROUP \u00b7 EXECU\u00c7\u00c3O EM FOREX<\/span><\/p>\n<h2>IOC, FOK, a mercado ou limitada: <span class=\"iof-gold\">como escolher a ordem certa para cada opera\u00e7\u00e3o<\/span><\/h2>\n<p class=\"iof-hero-sub\">Um tipo de ordem \u00e9 uma decis\u00e3o sobre o que voc\u00ea prefere suportar: um pre\u00e7o pior, uma execu\u00e7\u00e3o menor ou nenhuma execu\u00e7\u00e3o. Este guia mostra como cada instru\u00e7\u00e3o se comporta no livro de ofertas, nas mensagens FIX e sob last look, com c\u00e1lculos pr\u00e1ticos para um algoritmo que precisa escolher em milissegundos.<\/p>\n<\/div>\n<div class=\"iof-answer\">\n<p><strong>Resposta curta: IOC vs FOK.<\/strong> Uma ordem Immediate-or-Cancel (IOC) pega tudo o que estiver dispon\u00edvel naquele momento ao seu pre\u00e7o ou melhor e cancela o restante, portanto a execu\u00e7\u00e3o parcial \u00e9 poss\u00edvel. Uma ordem Fill-or-Kill (FOK) precisa ser executada integralmente de imediato ou \u00e9 cancelada por completo: ou voc\u00ea recebe tudo, ou nada. Use IOC quando qualquer parte do tamanho for \u00fatil e FOK quando uma posi\u00e7\u00e3o parcial for pior do que nenhuma.<\/p>\n<\/div>\n<div class=\"iof-toc\">\n<strong>Neste guia<\/strong><\/p>\n<ol>\n<li><a href=\"#iof-two-decisions\">Tipo de ordem e time in force s\u00e3o duas decis\u00f5es<\/a><\/li>\n<li><a href=\"#iof-market\">Ordens a mercado no forex<\/a><\/li>\n<li><a href=\"#iof-limit\">Ordens limitadas, limitadas agressivas e stop<\/a><\/li>\n<li><a href=\"#iof-tif\">Time in force: IOC, FOK, GTC, Day, GTD<\/a><\/li>\n<li><a href=\"#iof-example\">IOC vs FOK vs a mercado: um livro de ofertas, tr\u00eas resultados<\/a><\/li>\n<li><a href=\"#iof-fix\">Como as ordens aparecem no FIX<\/a><\/li>\n<li><a href=\"#iof-lastlook\">Liquidez full-amount e last look<\/a><\/li>\n<li><a href=\"#iof-tolerance\">Onde colocar o limite: um modelo com n\u00fameros<\/a><\/li>\n<li><a href=\"#iof-partial\">Como lidar com execu\u00e7\u00f5es parciais<\/a><\/li>\n<li><a href=\"#iof-matrix\">Qual ordem para qual estrat\u00e9gia<\/a><\/li>\n<li><a href=\"#iof-howto\">Sete passos para configurar a execu\u00e7\u00e3o<\/a><\/li>\n<li><a href=\"#iof-mistakes\">Erros comuns<\/a><\/li>\n<li><a href=\"#iof-measure\">O que medir<\/a><\/li>\n<li><a href=\"#iof-faq\">Perguntas frequentes<\/a><\/li>\n<\/ol>\n<\/div>\n<h2 id=\"iof-two-decisions\">Tipo de ordem e time in force s\u00e3o duas decis\u00f5es separadas<\/h2>\n<p>A maioria dos gloss\u00e1rios lista a mercado, limitada, stop, IOC e FOK como se fossem cinco op\u00e7\u00f5es do mesmo menu. N\u00e3o s\u00e3o. Por tr\u00e1s delas h\u00e1 duas perguntas independentes, e um algoritmo precisa responder \u00e0s duas em cada ordem:<\/p>\n<ul>\n<li><strong>Que pre\u00e7o estou disposto a aceitar?<\/strong> Esse \u00e9 o tipo de ordem: a mercado (qualquer pre\u00e7o), limitada (este pre\u00e7o ou melhor), stop (ativa quando um gatilho \u00e9 negociado ou cotado).<\/li>\n<li><strong>Por quanto tempo a ordem pode permanecer ativa?<\/strong> Esse \u00e9 o time in force, ou TIF: imediatamente (IOC, FOK), at\u00e9 o fim da sess\u00e3o (Day), at\u00e9 ser cancelada (GTC) ou at\u00e9 um hor\u00e1rio definido (GTD).<\/li>\n<\/ul>\n<p>Portanto, IOC e FOK n\u00e3o s\u00e3o alternativas \u00e0 ordem limitada. S\u00e3o tempos de vida associados a ela. \u201cLimit IOC\u201d e \u201cLimit FOK\u201d s\u00e3o as duas instru\u00e7\u00f5es agressivas mais comuns no forex algor\u00edtmico, e o protocolo FIX mant\u00e9m as duas decis\u00f5es em campos separados: <code>OrdType<\/code> (tag 40) e <code>TimeInForce<\/code> (tag 59).<\/p>\n<div class=\"iof-cards\">\n<div class=\"iof-card\"><span class=\"iof-card-v\">Pre\u00e7o<\/span><span class=\"iof-card-l\">Tipo de ordem, tag 40<\/span><span class=\"iof-card-n\">A mercado, limitada, stop, stop-limit. Define o pior pre\u00e7o que voc\u00ea aceita.<\/span><\/div>\n<div class=\"iof-card\"><span class=\"iof-card-v\">Tempo<\/span><span class=\"iof-card-l\">Time in force, tag 59<\/span><span class=\"iof-card-n\">IOC, FOK, Day, GTC, GTD. Define quanto tempo a ordem pode esperar.<\/span><\/div>\n<div class=\"iof-card\"><span class=\"iof-card-v\">Tamanho<\/span><span class=\"iof-card-l\">Regra de execu\u00e7\u00e3o<\/span><span class=\"iof-card-n\">Somente integral (FOK), qualquer tamanho (IOC) ou uma quantidade m\u00ednima (tag 110), quando suportada.<\/span><\/div>\n<\/div>\n<h2 id=\"iof-market\">Ordens a mercado no forex: o que \u201ca mercado\u201d realmente significa<\/h2>\n<p>Uma ordem a mercado diz: execute agora, o pre\u00e7o \u00e9 secund\u00e1rio. Ela n\u00e3o tem limite, por isso oferece a maior certeza de execu\u00e7\u00e3o e nenhuma prote\u00e7\u00e3o quanto ao pre\u00e7o obtido. Se o livro se moveu ou est\u00e1 raso, a ordem vai consumindo os n\u00edveis dispon\u00edveis at\u00e9 completar o tamanho. Esse custo \u00e9 o slippage, tratado em detalhes no nosso guia sobre <a href=\"https:\/\/bjftradinggroup.com\/forex-slippage-explained\/\">como medir e reduzir o slippage no forex<\/a>.<\/p>\n<p>O forex acrescenta dois detalhes que as explica\u00e7\u00f5es baseadas em bolsa deixam de lado:<\/p>\n<ul>\n<li><strong>N\u00e3o existe um \u00fanico livro central.<\/strong> Seu corretor ou ECN mostra um fluxo agregado de v\u00e1rios provedores de liquidez. \u201cA mercado\u201d significa ao melhor pre\u00e7o que sua plataforma de execu\u00e7\u00e3o consegue obter desse fluxo, n\u00e3o a um pre\u00e7o de mercado universal.<\/li>\n<li><strong>Uma ordem a mercado ainda tem um tempo de vida impl\u00edcito.<\/strong> Muitas plataformas tratam ordens a mercado internamente como IOC ou FOK: executam o que for poss\u00edvel agora e informam o restante. Algumas permitem adicionar um desvio m\u00e1ximo, o que na pr\u00e1tica transforma a ordem em limitada. N\u00e3o presuma nada; leia a especifica\u00e7\u00e3o da plataforma.<\/li>\n<\/ul>\n<p>O papel pr\u00e1tico de uma ordem a mercado em um algoritmo \u00e9 restrito. Ela cabe nas situa\u00e7\u00f5es em que <em>n\u00e3o operar<\/em> \u00e9 o perigo maior, como ao fechar uma posi\u00e7\u00e3o que perdeu o hedge.<\/p>\n<h2 id=\"iof-limit\">Ordens limitadas, limitadas agressivas e stop<\/h2>\n<h3>Ordens limitadas passivas<\/h3>\n<p>Uma ordem limitada colocada longe do pre\u00e7o atual fica no livro e espera. Uma compra limitada abaixo do ask n\u00e3o toma liquidez; ela oferece liquidez. Voc\u00ea pode ganhar o spread em vez de pag\u00e1-lo, mas assume o risco de fila e a sele\u00e7\u00e3o adversa: ordens passivas tendem a ser executadas justamente quando o mercado est\u00e1 passando por elas. Ordens passivas normalmente s\u00e3o combinadas com Day, GTC ou GTD.<\/p>\n<h3>Ordens limitadas agressivas<\/h3>\n<p>Uma compra limitada com pre\u00e7o igual ou superior ao ask atual \u00e9 executada de imediato, como uma ordem a mercado, mas n\u00e3o pode ser preenchida al\u00e9m do seu limite. Essa \u201cmarketable limit\u201d, ou limitada agressiva, \u00e9 o burro de carga da execu\u00e7\u00e3o automatizada. Combinada com IOC, ela significa: tome liquidez agora, at\u00e9 este pre\u00e7o, e n\u00e3o deixe nada no livro.<\/p>\n<p>A quest\u00e3o da melhoria de pre\u00e7o costuma ser mal compreendida. O limite \u00e9 o pior pre\u00e7o aceit\u00e1vel, n\u00e3o o pre\u00e7o de execu\u00e7\u00e3o. Se voc\u00ea compra com limite em 1.08510 e o ask est\u00e1 em 1.08502, deve receber 1.08502 ou os n\u00edveis seguintes at\u00e9 o seu limite.<\/p>\n<h3>Ordens stop e stop-limit<\/h3>\n<p>Uma ordem stop fica adormecida at\u00e9 o gatilho ser atingido e ent\u00e3o se torna uma ordem a mercado. J\u00e1 uma stop-limit se torna uma ordem limitada. A primeira garante a ativa\u00e7\u00e3o, n\u00e3o o pre\u00e7o. A segunda limita o pre\u00e7o, mas pode deixar voc\u00ea sem execu\u00e7\u00e3o exatamente quando o mercado d\u00e1 um gap, uma caracter\u00edstica desagrad\u00e1vel para um stop de prote\u00e7\u00e3o. O lugar onde o stop fica tamb\u00e9m importa: um stop mantido na plataforma sobrevive \u00e0 sua desconex\u00e3o, enquanto um stop simulado no seu pr\u00f3prio software n\u00e3o.<\/p>\n<h2 id=\"iof-tif\">Time in force: a lista completa<\/h2>\n<div class=\"iof-table-wrap\">\n<table class=\"iof-table\">\n<thead>\n<tr>\n<th>Instru\u00e7\u00e3o<\/th>\n<th>FIX 59<\/th>\n<th>Tempo de vida<\/th>\n<th>Execu\u00e7\u00e3o parcial?<\/th>\n<th>Uso t\u00edpico<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Day<\/td>\n<td>0<\/td>\n<td>At\u00e9 o fim da sess\u00e3o<\/td>\n<td>Sim<\/td>\n<td>Cota\u00e7\u00f5es passivas durante uma sess\u00e3o definida<\/td>\n<\/tr>\n<tr>\n<td>GTC (Good Till Cancel)<\/td>\n<td>1<\/td>\n<td>At\u00e9 ser cancelada<\/td>\n<td>Sim<\/td>\n<td>Entradas no livro, ordens take-profit e stop<\/td>\n<\/tr>\n<tr>\n<td>IOC (Immediate or Cancel)<\/td>\n<td>3<\/td>\n<td>Executa de imediato, o restante \u00e9 cancelado<\/td>\n<td>Sim<\/td>\n<td>Tomar liquidez quando qualquer parte do tamanho ajuda<\/td>\n<\/tr>\n<tr>\n<td>FOK (Fill or Kill)<\/td>\n<td>4<\/td>\n<td>Tamanho integral de imediato ou nada<\/td>\n<td>N\u00e3o<\/td>\n<td>Entradas tudo ou nada e pernas de tamanho fixo<\/td>\n<\/tr>\n<tr>\n<td>GTD (Good Till Date)<\/td>\n<td>6<\/td>\n<td>At\u00e9 um hor\u00e1rio especificado (tag 126 ou 432)<\/td>\n<td>Sim<\/td>\n<td>Cota\u00e7\u00f5es com vencimento r\u00edgido, por exemplo antes da divulga\u00e7\u00e3o de uma not\u00edcia<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Os valores s\u00e3o da especifica\u00e7\u00e3o 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\u00e7\u00e3o do seu corretor prevalecem sobre qualquer tabela em um artigo.<\/p>\n<h2 id=\"iof-example\">IOC vs FOK vs a mercado: um livro de ofertas, tr\u00eas resultados<\/h2>\n<p>Vamos a um caso concreto. Um algoritmo quer comprar 2,000,000 de EURUSD. O melhor ask \u00e9 1.08500, e este \u00e9 o lado vis\u00edvel da oferta quando a ordem chega:<\/p>\n<div class=\"iof-table-wrap\">\n<table class=\"iof-table\">\n<thead>\n<tr>\n<th>Pre\u00e7o ask<\/th>\n<th>Tamanho dispon\u00edvel<\/th>\n<th>Acumulado<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1.08500<\/td>\n<td>500,000<\/td>\n<td>500,000<\/td>\n<\/tr>\n<tr>\n<td>1.08501<\/td>\n<td>500,000<\/td>\n<td>1,000,000<\/td>\n<\/tr>\n<tr>\n<td>1.08503<\/td>\n<td>1,000,000<\/td>\n<td>2,000,000<\/td>\n<\/tr>\n<tr>\n<td>1.08506<\/td>\n<td>2,000,000<\/td>\n<td>4,000,000<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<figure class=\"iof-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/11\/order-book-walk-ioc-fok-order-types-algo-trading-1760x800-1.webp\" alt=\"Percurso pelo livro de ofertas comparando uma ordem a mercado, uma IOC limitada e uma FOK limitada para uma compra de 2 milh\u00f5es de EURUSD: a ordem a mercado \u00e9 executada integralmente a 1.085018, a IOC executa 1 milh\u00e3o a 1.085005 e a FOK \u00e9 cancelada\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>O mesmo livro, tr\u00eas instru\u00e7\u00f5es. O livro \u00e9 um exemplo constru\u00eddo; a aritm\u00e9tica \u00e9 exata.<\/figcaption><\/figure>\n<div class=\"iof-table-wrap\">\n<table class=\"iof-table\">\n<thead>\n<tr>\n<th>Instru\u00e7\u00e3o<\/th>\n<th>Executado<\/th>\n<th>Pre\u00e7o m\u00e9dio<\/th>\n<th>Custo em rela\u00e7\u00e3o ao melhor ask<\/th>\n<th>Resultado<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>A mercado, 2M<\/td>\n<td>2,000,000<\/td>\n<td>1.085018<\/td>\n<td>0.175 pip, cerca de $35<\/td>\n<td>Conclu\u00edda, a um pre\u00e7o que voc\u00ea n\u00e3o escolheu<\/td>\n<\/tr>\n<tr>\n<td>Limite 1.08502 IOC, 2M<\/td>\n<td>1,000,000<\/td>\n<td>1.085005<\/td>\n<td>0.05 pip, cerca de $5<\/td>\n<td>Metade do tamanho, 1M cancelado<\/td>\n<\/tr>\n<tr>\n<td>Limite 1.08502 FOK, 2M<\/td>\n<td>0<\/td>\n<td>Nenhum<\/td>\n<td>$0<\/td>\n<td>Cancelada: apenas 1M no limite ou abaixo dele<\/td>\n<\/tr>\n<tr>\n<td>Limite 1.08503 FOK, 2M<\/td>\n<td>2,000,000<\/td>\n<td>1.085018<\/td>\n<td>0.175 pip, cerca de $35<\/td>\n<td>Executada: o limite era amplo o suficiente<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>A \u00faltima linha \u00e9 a mais sutil. Um d\u00e9cimo de pip a mais transformou a FOK de nenhuma opera\u00e7\u00e3o em execu\u00e7\u00e3o total, a uma m\u00e9dia melhor do que o seu limite. FOK n\u00e3o significa \u201capertado\u201d. Significa \u201ctodo o tamanho precisa caber abaixo deste pre\u00e7o neste momento\u201d. A IOC e a FOK com o mesmo limite enxergam a mesma liquidez. Elas diferem apenas no que fazem quando ela n\u00e3o \u00e9 suficiente.<\/p>\n<p>Tamb\u00e9m n\u00e3o existe uma instru\u00e7\u00e3o universalmente mais barata. A IOC de $5 parece uma pechincha diante da ordem a mercado de $35, mas entregou metade da posi\u00e7\u00e3o. Se o 1M restante tiver de ser comprado depois a um pre\u00e7o pior, a compara\u00e7\u00e3o muda. Esse custo do tamanho que faltou \u00e9 o tema do restante deste guia.<\/p>\n<h2 id=\"iof-fix\">Como as ordens aparecem no FIX<\/h2>\n<p>Em uma <a href=\"https:\/\/bjftradinggroup.com\/fix-api-forex-trading\/\">conex\u00e3o FIX API<\/a>, voc\u00ea declara cada instru\u00e7\u00e3o explicitamente em uma mensagem NewOrderSingle (<code>35=D<\/code>). Simplificada aos campos que importam, a ordem IOC do exemplo fica assim:<\/p>\n<div class=\"iof-code\">35=D | 11=A1001 | 55=EUR\/USD | 54=1 | 38=2000000 | 40=2 | 44=1.08502 | 59=3<\/div>\n<p>Troque <code>59=3<\/code> por <code>59=4<\/code> e a mesma ordem passa a ser FOK. Remova o pre\u00e7o e defina <code>40=1<\/code> e ela ser\u00e1 uma ordem a mercado. O cabe\u00e7alho, o checksum, os timestamps e os campos de conta foram omitidos aqui, e o formato do s\u00edmbolo varia conforme a plataforma: algumas usam IDs num\u00e9ricos de s\u00edmbolo.<\/p>\n<div class=\"iof-table-wrap\">\n<table class=\"iof-table\">\n<thead>\n<tr>\n<th>Tag<\/th>\n<th>Campo<\/th>\n<th>Valores que voc\u00ea vai encontrar<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>40<\/td>\n<td>OrdType<\/td>\n<td>1 A mercado, 2 Limitada, 3 Stop, 4 Stop-limit, D Previamente cotada<\/td>\n<\/tr>\n<tr>\n<td>59<\/td>\n<td>TimeInForce<\/td>\n<td>0 Day, 1 GTC, 3 IOC, 4 FOK, 6 GTD<\/td>\n<\/tr>\n<tr>\n<td>110<\/td>\n<td>MinQty<\/td>\n<td>Quantidade m\u00ednima que precisa ser executada, quando suportada<\/td>\n<\/tr>\n<tr>\n<td>150<\/td>\n<td>ExecType<\/td>\n<td>0 Nova, F Neg\u00f3cio, 4 Cancelada, 8 Rejeitada, C Expirada<\/td>\n<\/tr>\n<tr>\n<td>39<\/td>\n<td>OrdStatus<\/td>\n<td>0 Nova, 1 Parcialmente executada, 2 Executada, 4 Cancelada, 8 Rejeitada, C Expirada<\/td>\n<\/tr>\n<tr>\n<td>14 \/ 151<\/td>\n<td>CumQty \/ LeavesQty<\/td>\n<td>Executado at\u00e9 agora \/ ainda em aberto. LeavesQty 0 significa que a ordem terminou<\/td>\n<\/tr>\n<tr>\n<td>31 \/ 32 \/ 6<\/td>\n<td>LastPx \/ LastQty \/ AvgPx<\/td>\n<td>Pre\u00e7o e tamanho desta execu\u00e7\u00e3o \/ m\u00e9dia de todas as execu\u00e7\u00f5es<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>A parte dif\u00edcil n\u00e3o \u00e9 enviar a ordem, e sim ler a resposta. Uma \u00fanica IOC pode gerar uma sequ\u00eancia de ExecutionReports (<code>35=8<\/code>), e a forma como o restante \u00e9 informado depende da plataforma.<\/p>\n<figure class=\"iof-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/11\/ioc-execution-lifecycle-ioc-fok-order-types-algo-trading-1760x800-1.webp\" alt=\"Ciclo de vida FIX de uma ordem IOC de 2 milh\u00f5es: NewOrderSingle, dois relat\u00f3rios de execu\u00e7\u00e3o de neg\u00f3cio com CumQty subindo at\u00e9 1 milh\u00e3o, depois um relat\u00f3rio de cancelamento ou expira\u00e7\u00e3o do 1 milh\u00e3o restante com LeavesQty zero, e o algoritmo fazendo hedge apenas da quantidade executada\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Uma IOC s\u00f3 est\u00e1 conclu\u00edda quando LeavesQty chega a 0. Sua posi\u00e7\u00e3o \u00e9 CumQty, nunca a quantidade solicitada.<\/figcaption><\/figure>\n<p>Algumas plataformas enviam uma confirma\u00e7\u00e3o adicional (<code>150=0<\/code>) antes das execu\u00e7\u00f5es. Outras entregam uma \u00fanica execu\u00e7\u00e3o agregada. Sess\u00f5es FIX 4.2 usam valores de ExecType diferentes para execu\u00e7\u00f5es (1 e 2) em rela\u00e7\u00e3o ao FIX 4.3 e posteriores (F). Por isso, um handler robusto se baseia em CumQty, LeavesQty e OrdStatus, n\u00e3o em um n\u00famero fixo de mensagens. O <a href=\"https:\/\/bjftradinggroup.com\/how-fix-protocol-works\/\">passo a passo do protocolo FIX<\/a> explica a camada de sess\u00e3o por tr\u00e1s dessas mensagens.<\/p>\n<h2 id=\"iof-lastlook\">Liquidez full-amount e last look: por que o forex \u00e9 diferente<\/h2>\n<p>As explica\u00e7\u00f5es voltadas ao mercado de a\u00e7\u00f5es pressup\u00f5em um livro central de ordens limitadas em que a oferta exibida \u00e9 firme. As plataformas de forex podem se comportar de forma diferente em dois aspectos que afetam diretamente IOC e FOK.<\/p>\n<p><strong>Liquidez sweepable vs full-amount.<\/strong> Em um livro sweepable, uma ordem pode tomar v\u00e1rios n\u00edveis de v\u00e1rios provedores, como no exemplo acima. Na precifica\u00e7\u00e3o full-amount, o provedor cota um \u00fanico pre\u00e7o para todo o tamanho e as faixas n\u00e3o s\u00e3o som\u00e1veis, portanto uma FOK de 2M deve ser comparada com a faixa de 2M, e n\u00e3o com a soma das cota\u00e7\u00f5es de 1M. Uma mesma exibi\u00e7\u00e3o de profundidade pode, assim, significar coisas diferentes.<\/p>\n<p><strong>Last look.<\/strong> Quando um provedor aplica last look, sua ordem \u00e9 uma solicita\u00e7\u00e3o que ele ainda pode rejeitar ap\u00f3s uma breve reten\u00e7\u00e3o. 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\u00f3digo global de conduta do mercado de c\u00e2mbio) pede que os provedores que usam last look divulguem essa pr\u00e1tica aos clientes, portanto solicite essa divulga\u00e7\u00e3o. As rejei\u00e7\u00f5es de last look s\u00f3 aparecem no seu log se voc\u00ea as registrar. A mec\u00e2nica \u00e9 explicada no nosso guia sobre <a href=\"https:\/\/bjftradinggroup.com\/broker-execution-transparency\/\">execu\u00e7\u00e3o do corretor, A-book, B-book e last look<\/a>.<\/p>\n<div class=\"iof-box\"><strong>Por que isso importa para a medi\u00e7\u00e3o:<\/strong> uma ordem agressiva em uma plataforma com last look pode mostrar excelentes estat\u00edsticas de slippage, porque apenas as execu\u00e7\u00f5es convenientes para o provedor entram na amostra. Um slippage m\u00e9dio baixo combinado com uma alta taxa de rejei\u00e7\u00e3o n\u00e3o \u00e9 boa execu\u00e7\u00e3o.<\/div>\n<h2 id=\"iof-tolerance\">Onde colocar o limite: um modelo com n\u00fameros<\/h2>\n<p>Em uma IOC ou FOK, o par\u00e2metro principal n\u00e3o \u00e9 o TIF, e sim o pre\u00e7o limite. Se voc\u00ea o colocar na cota\u00e7\u00e3o atual, a maioria dos sinais n\u00e3o ser\u00e1 executada. Sem limite algum, as piores execu\u00e7\u00f5es consomem a vantagem. Entre esses extremos existe uma resposta calcul\u00e1vel.<\/p>\n<p>Considere um sinal de curta dura\u00e7\u00e3o com vantagem esperada de 1.2 pips ap\u00f3s comiss\u00f5es, medida a partir do pre\u00e7o do sinal. Entre o sinal e a chegada \u00e0 plataforma, o pre\u00e7o se move. Suponha dois regimes: em 80% dos casos o pre\u00e7o deriva cerca de 0.2 pip contra voc\u00ea (desvio-padr\u00e3o de 0.3 pip) e, em 20%, um movimento r\u00e1pido o leva a cerca de 2 pips de dist\u00e2ncia (desvio-padr\u00e3o de 1 pip). Esses dados s\u00e3o ilustrativos. Na pr\u00e1tica, voc\u00ea os estima a partir do seu pr\u00f3prio log de ordens.<\/p>\n<figure class=\"iof-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/11\/limit-tolerance-model-ioc-fok-order-types-algo-trading-1760x800-1.webp\" alt=\"Modelo ilustrativo: os pips l\u00edquidos esperados por sinal aumentam com a toler\u00e2ncia do limite, atingem o pico perto de 0.82 pips com uma toler\u00e2ncia de cerca de 1.2 pips e caem para 0.64 pips em uma ordem a mercado sem limite, enquanto a taxa de execu\u00e7\u00e3o sobe de 21 por cento para 100 por cento\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Modelo ilustrativo, n\u00e3o s\u00e3o resultados de trading: vantagem de 1.2 pip e deriva de pre\u00e7o em dois regimes. A execu\u00e7\u00e3o ocorre quando a deriva fica dentro da toler\u00e2ncia.<\/figcaption><\/figure>\n<div class=\"iof-table-wrap\">\n<table class=\"iof-table\">\n<thead>\n<tr>\n<th>Toler\u00e2ncia do limite em rela\u00e7\u00e3o ao pre\u00e7o do sinal<\/th>\n<th>Taxa de execu\u00e7\u00e3o<\/th>\n<th>L\u00edquido m\u00e9dio por execu\u00e7\u00e3o<\/th>\n<th>L\u00edquido esperado por sinal<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0 pip (limite no pre\u00e7o do sinal)<\/td>\n<td>20.7%<\/td>\n<td>1.38 pips<\/td>\n<td>0.29 pip<\/td>\n<\/tr>\n<tr>\n<td>0.3 pip<\/td>\n<td>51.3%<\/td>\n<td>1.18 pips<\/td>\n<td>0.61 pip<\/td>\n<\/tr>\n<tr>\n<td>0.6 pip<\/td>\n<td>74.3%<\/td>\n<td>1.05 pips<\/td>\n<td>0.78 pip<\/td>\n<\/tr>\n<tr>\n<td>1.2 pips (igual \u00e0 vantagem)<\/td>\n<td>84.2%<\/td>\n<td>0.98 pip<\/td>\n<td>0.82 pip<\/td>\n<\/tr>\n<tr>\n<td>2.0 pips<\/td>\n<td>90.0%<\/td>\n<td>0.89 pip<\/td>\n<td>0.80 pip<\/td>\n<\/tr>\n<tr>\n<td>Sem limite (ordem a mercado)<\/td>\n<td>100%<\/td>\n<td>0.64 pip<\/td>\n<td>0.64 pip<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Tr\u00eas conclus\u00f5es valem muito al\u00e9m deste exemplo:<\/p>\n<ul class=\"iof-checks\">\n<li><strong>O melhor limite \u00e9 o pre\u00e7o de equil\u00edbrio, n\u00e3o a cota\u00e7\u00e3o.<\/strong> Vale a pena aceitar qualquer execu\u00e7\u00e3o que ainda deixe lucro esperado positivo. Neste modelo, o m\u00e1ximo fica exatamente onde a toler\u00e2ncia \u00e9 igual \u00e0 vantagem, porque a execu\u00e7\u00e3o marginal seguinte rende zero.<\/li>\n<li><strong>A curva \u00e9 plana perto do topo.<\/strong> Entre 0.8 e 2 pips, o lucro esperado quase n\u00e3o muda. Voc\u00ea n\u00e3o precisa de uma toler\u00e2ncia precisa, mas precisa ter uma.<\/li>\n<li><strong>O pre\u00e7o m\u00e9dio de execu\u00e7\u00e3o \u00e9 uma meta enganosa.<\/strong> O limite mais apertado tem o melhor pre\u00e7o por execu\u00e7\u00e3o (1.38 pips) e o pior resultado por sinal (0.29 pip), porque 79% dos sinais nunca s\u00e3o negociados.<\/li>\n<\/ul>\n<p>O modelo ignora os efeitos de fila e pressup\u00f5e que todo o tamanho \u00e9 executado sempre que o limite \u00e9 alcan\u00e7ado. Para ordens maiores, repita o c\u00e1lculo com a sua profundidade real, j\u00e1 que o limite tamb\u00e9m determina quanto tamanho pode ser executado. Verifique as premissas com dados: nosso guia sobre a <a href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage-backtest-execution-time-gap\/\">diferen\u00e7a entre backtests e execu\u00e7\u00e3o real<\/a> mostra como incluir o tempo de execu\u00e7\u00e3o em um teste.<\/p>\n<h2 id=\"iof-partial\">Como lidar com execu\u00e7\u00f5es parciais sem criar novos riscos<\/h2>\n<p>Uma execu\u00e7\u00e3o parcial n\u00e3o \u00e9 um erro, mas \u00e9 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\u00f3gica. Defina a pol\u00edtica antes de entrar em produ\u00e7\u00e3o:<\/p>\n<div class=\"iof-table-wrap\">\n<table class=\"iof-table\">\n<thead>\n<tr>\n<th>Pol\u00edtica para o restante<\/th>\n<th>Quando se aplica<\/th>\n<th>Risco a controlar<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Aceitar e gerenciar o que foi executado<\/td>\n<td>Entradas com vantagem independente do tamanho<\/td>\n<td>Posi\u00e7\u00e3o pequena demais para cobrir os custos fixos<\/td>\n<\/tr>\n<tr>\n<td>Reenviar o restante a um novo pre\u00e7o<\/td>\n<td>Sinal ainda v\u00e1lido, vantagem ainda acima da toler\u00e2ncia<\/td>\n<td>Perseguir o pre\u00e7o. Limite as tentativas e reavalie a vantagem a cada uma<\/td>\n<\/tr>\n<tr>\n<td>Fazer hedge ou completar em outra plataforma<\/td>\n<td>Opera\u00e7\u00f5es com m\u00faltiplas pernas<\/td>\n<td>Passos de lote diferentes e uma segunda chance de n\u00e3o execu\u00e7\u00e3o<\/td>\n<\/tr>\n<tr>\n<td>Zerar a parte executada<\/td>\n<td>Uma execu\u00e7\u00e3o abaixo do tamanho vi\u00e1vel<\/td>\n<td>Pagar o spread duas vezes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>Opera\u00e7\u00f5es com duas pernas exigem o maior cuidado.<\/strong> Suponha que uma opera\u00e7\u00e3o 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\u00e1 com 1M vendido em aberto. A cerca de $100 por pip por milh\u00e3o no EURUSD, um movimento de 10 pips contra essa posi\u00e7\u00e3o custa $1,000, o que supera facilmente a vantagem de muitas opera\u00e7\u00f5es. A regra \u00e9 simples: dimensione a segunda perna pelo CumQty da primeira, nunca pela quantidade solicitada.<\/p>\n<p>Converta tamb\u00e9m 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\u00ea pode fazer hedge de 1,400,000 ou 1,300,000, mas n\u00e3o do tamanho exato. Defina tamb\u00e9m uma regra para esse res\u00edduo e trate qualquer res\u00edduo sem hedge como um limite de risco.<\/p>\n<p>A FOK na primeira perna elimina a diferen\u00e7a de tamanho, mas gera mais eventos sem opera\u00e7\u00e3o. A FOK na segunda perna costuma ser uma m\u00e1 escolha: com a primeira perna j\u00e1 executada, um hedge cancelado deixa voc\u00ea totalmente exposto. \u00c9 exatamente nessa segunda perna que vale a pena pagar pela certeza de execu\u00e7\u00e3o.<\/p>\n<h2 id=\"iof-matrix\">Qual ordem para qual estrat\u00e9gia<\/h2>\n<figure class=\"iof-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/11\/order-type-decision-ioc-fok-order-types-algo-trading-1760x800-1.webp\" alt=\"Fluxograma de decis\u00e3o para escolher o tipo de ordem: se a posi\u00e7\u00e3o precisa mudar agora, use a mercado ou uma IOC ampla; se uma execu\u00e7\u00e3o parcial for in\u00fatil, use FOK; se estiver tomando liquidez com qualquer tamanho \u00fatil, use IOC limitada; caso contr\u00e1rio, deixe uma ordem limitada passiva com Day, GTC ou GTD\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Um ponto de partida para a decis\u00e3o. As regras da plataforma e os seus dados de execu\u00e7\u00e3o t\u00eam a palavra final.<\/figcaption><\/figure>\n<div class=\"iof-table-wrap\">\n<table class=\"iof-table\">\n<thead>\n<tr>\n<th>Situa\u00e7\u00e3o<\/th>\n<th>Padr\u00e3o razo\u00e1vel<\/th>\n<th>Justificativa<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Entrada de arbitragem de lat\u00eancia<\/td>\n<td>IOC limitada no pre\u00e7o de equil\u00edbrio<\/td>\n<td>A vantagem se dissipa em milissegundos; uma execu\u00e7\u00e3o parcial ainda rende, e o limite corta a cauda<\/td>\n<\/tr>\n<tr>\n<td>Primeira perna de um par com hedge<\/td>\n<td>FOK limitada ou IOC com hedge por CumQty<\/td>\n<td>A FOK protege o dimensionamento; a IOC ganha taxa de execu\u00e7\u00e3o, mas exige uma l\u00f3gica melhor<\/td>\n<\/tr>\n<tr>\n<td>Segunda perna, com a primeira j\u00e1 executada<\/td>\n<td>A mercado ou IOC ampla<\/td>\n<td>Ficar sem hedge \u00e9 o risco maior<\/td>\n<\/tr>\n<tr>\n<td>Entrada baseada em not\u00edcias<\/td>\n<td>IOC limitada, tamanho reduzido<\/td>\n<td>Spreads e profundidade mudam rapidamente, e uma ordem a mercado n\u00e3o tem teto<\/td>\n<\/tr>\n<tr>\n<td>Sa\u00edda de emerg\u00eancia ou stop-out<\/td>\n<td>A mercado ou IOC ampla, repetida at\u00e9 zerar<\/td>\n<td>Certeza em primeiro lugar; a FOK pode deixar a posi\u00e7\u00e3o aberta<\/td>\n<\/tr>\n<tr>\n<td>Opera\u00e7\u00f5es em pares ou estat\u00edsticas<\/td>\n<td>IOC limitada ou limitada passiva de curta dura\u00e7\u00e3o<\/td>\n<td>O per\u00edodo de manuten\u00e7\u00e3o \u00e9 mais longo, ent\u00e3o o spread pago importa mais do que a velocidade<\/td>\n<\/tr>\n<tr>\n<td>Captura de spread e rebalanceamento<\/td>\n<td>Limitada passiva, Day ou GTD<\/td>\n<td>Voc\u00ea \u00e9 pago para esperar e precisa cancelar antes de not\u00edcias e do rollover<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>A execu\u00e7\u00e3o tamb\u00e9m depende do momento. Perto do <a href=\"https:\/\/bjftradinggroup.com\/forex-spread-widening\/\">rollover e de not\u00edcias, os spreads se alargam e a profundidade diminui<\/a>, ent\u00e3o um limite que funciona bem ao meio-dia em Londres pode falhar ou ficar caro nessas janelas. Fa\u00e7a a toler\u00e2ncia e o tamanho dependerem do spread atual, em vez de fix\u00e1-los para o dia inteiro. Uma an\u00e1lise mais aprofundada das estrat\u00e9gias sens\u00edveis \u00e0 velocidade est\u00e1 dispon\u00edvel no nosso guia sobre <a href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage\/\">arbitragem de lat\u00eancia<\/a>.<\/p>\n<h2 id=\"iof-howto\">Sete passos para configurar a execu\u00e7\u00e3o de ordens<\/h2>\n<div class=\"iof-steps\">\n<div class=\"iof-step\"><span class=\"iof-step-n\">1<\/span><\/p>\n<div><strong>D\u00ea um pre\u00e7o \u00e0 opera\u00e7\u00e3o perdida.<\/strong> Decida quanto custa n\u00e3o ser executado. Em uma entrada opcional, o custo \u00e9 zero; em um hedge ou uma sa\u00edda, \u00e9 risco em aberto.<\/div>\n<\/div>\n<div class=\"iof-step\"><span class=\"iof-step-n\">2<\/span><\/p>\n<div><strong>Calcule o pior pre\u00e7o aceit\u00e1vel.<\/strong> Pegue a vantagem esperada, subtraia a comiss\u00e3o e uma margem de seguran\u00e7a e coloque o limite nesse ponto de equil\u00edbrio.<\/div>\n<\/div>\n<div class=\"iof-step\"><span class=\"iof-step-n\">3<\/span><\/p>\n<div><strong>Escolha o tempo de vida.<\/strong> Use IOC ou FOK para tomar liquidez e Day, GTC ou GTD para ordens que ficam no livro.<\/div>\n<\/div>\n<div class=\"iof-step\"><span class=\"iof-step-n\">4<\/span><\/p>\n<div><strong>Defina a menor execu\u00e7\u00e3o \u00fatil.<\/strong> Use FOK, ou uma quantidade m\u00ednima quando suportada, se execu\u00e7\u00f5es pequenas n\u00e3o cobrirem os custos fixos.<\/div>\n<\/div>\n<div class=\"iof-step\"><span class=\"iof-step-n\">5<\/span><\/p>\n<div><strong>Escreva a regra para o restante.<\/strong> Defina as novas tentativas, o n\u00famero m\u00e1ximo delas e o que acontece com qualquer res\u00edduo sem hedge.<\/div>\n<\/div>\n<div class=\"iof-step\"><span class=\"iof-step-n\">6<\/span><\/p>\n<div><strong>Confirme as regras da plataforma.<\/strong> Verifique as combina\u00e7\u00f5es suportadas de tipo de ordem e TIF, os passos de tamanho, como os restantes s\u00e3o informados e se h\u00e1 last look.<\/div>\n<\/div>\n<div class=\"iof-step\"><span class=\"iof-step-n\">7<\/span><\/p>\n<div><strong>Registre e revise.<\/strong> Registre todas as ordens, inclusive rejei\u00e7\u00f5es e cancelamentos, e ajuste o limite com base em dados reais de execu\u00e7\u00e3o.<\/div>\n<\/div>\n<\/div>\n<h2 id=\"iof-mistakes\">Erros comuns no tratamento automatizado de ordens<\/h2>\n<ul class=\"iof-checks\">\n<li><strong>Presumir que o tamanho solicitado foi executado.<\/strong> A posi\u00e7\u00e3o deve vir dos relat\u00f3rios de execu\u00e7\u00e3o, n\u00e3o da ordem que voc\u00ea enviou.<\/li>\n<li><strong>Tratar uma FOK cancelada como erro de sistema.<\/strong> \u00c9 um resultado normal. Alertar a cada ocorr\u00eancia ensina voc\u00ea a ignorar alertas; alerte sobre a taxa.<\/li>\n<li><strong>Repetir o mesmo pre\u00e7o em loop.<\/strong> Se o pre\u00e7o se moveu, a nova tentativa tamb\u00e9m falha, e tentativas r\u00e1pidas podem violar os limites de mensagens. Reprecifique ou pare.<\/li>\n<li><strong>Ignorar o estado desconhecido.<\/strong> Quando nenhuma resposta chega, a ordem ainda pode estar ativa ou executada. Consulte-a com um OrderStatusRequest (<code>35=H<\/code>) ou reconcilie a posi\u00e7\u00e3o ap\u00f3s reconectar, antes de enviar uma substituta.<\/li>\n<li><strong>Reutilizar valores de ClOrdID.<\/strong> Uma tag 11 exclusiva para cada ordem, incluindo cada nova tentativa, \u00e9 o que torna a reconcilia\u00e7\u00e3o poss\u00edvel.<\/li>\n<li><strong>Usar pre\u00e7os defasados para o limite.<\/strong> Um limite calculado a partir de uma cota\u00e7\u00e3o atrasada \u00e9 apertado demais ou generoso demais. Um <a href=\"https:\/\/bjftradinggroup.com\/fast-feed-for-arbitrage\/\">feed de pre\u00e7os r\u00e1pido<\/a> d\u00e1 sentido \u00e0 toler\u00e2ncia.<\/li>\n<li><strong>Testar com execu\u00e7\u00f5es perfeitas.<\/strong> Um backtest que executa toda ordem integralmente na cota\u00e7\u00e3o n\u00e3o consegue distinguir a mercado, IOC e FOK. Modele a profundidade e as rejei\u00e7\u00f5es ou fa\u00e7a forward test com tamanho pequeno.<\/li>\n<li><strong>Levar configura\u00e7\u00f5es de uma plataforma para outra.<\/strong> Uma toler\u00e2ncia ajustada em um corretor diz pouco sobre outro, porque profundidade, last look e lat\u00eancia s\u00e3o todos diferentes.<\/li>\n<\/ul>\n<h2 id=\"iof-measure\">O que medir<\/h2>\n<p>Escolher um tipo de ordem \u00e9 uma quest\u00e3o emp\u00edrica, e somente um log completo pode respond\u00ea-la. Os relat\u00f3rios devem abranger sinais e tentativas, n\u00e3o apenas opera\u00e7\u00f5es conclu\u00eddas.<\/p>\n<div class=\"iof-table-wrap\">\n<table class=\"iof-table\">\n<thead>\n<tr>\n<th>M\u00e9trica<\/th>\n<th>Defini\u00e7\u00e3o<\/th>\n<th>O que ela indica<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Taxa de preenchimento<\/td>\n<td>Quantidade executada \/ quantidade solicitada<\/td>\n<td>Muito baixa indica limite apertado ou profundidade reduzida<\/td>\n<\/tr>\n<tr>\n<td>Taxa de rejei\u00e7\u00e3o<\/td>\n<td>Ordens rejeitadas ou canceladas \/ ordens enviadas<\/td>\n<td>Uma alta repentina sugere mudan\u00e7as na liquidez ou no corretor<\/td>\n<\/tr>\n<tr>\n<td>Slippage<\/td>\n<td>Pre\u00e7o de execu\u00e7\u00e3o menos pre\u00e7o de refer\u00eancia no sinal, com sinal positivo ou negativo<\/td>\n<td>Custo de execu\u00e7\u00e3o por opera\u00e7\u00e3o executada<\/td>\n<\/tr>\n<tr>\n<td>Tempo de ida e volta<\/td>\n<td>Do envio da ordem ao primeiro relat\u00f3rio de execu\u00e7\u00e3o<\/td>\n<td>Se a plataforma est\u00e1 ficando mais lenta, por hor\u00e1rio do dia<\/td>\n<\/tr>\n<tr>\n<td>L\u00edquido por sinal<\/td>\n<td>Resultado total \/ todos os sinais, incluindo os perdidos<\/td>\n<td>O n\u00famero que deve orientar a toler\u00e2ncia<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Separe esses n\u00fameros por s\u00edmbolo, plataforma, hora e tipo de ordem e compare os resultados antes e depois de cada mudan\u00e7a. O SharpTrader mostra ordens e estat\u00edsticas de desempenho com PnL, slippage e tempo de execu\u00e7\u00e3o, uma base pr\u00e1tica para esse tipo de an\u00e1lise. Os tipos de ordem e os valores de TIF dispon\u00edveis em cada configura\u00e7\u00e3o dependem do conector e do corretor, portanto confirme-os para a sua pr\u00f3pria conta.<\/p>\n<div class=\"iof-cta\">\n<h3>Construa a execu\u00e7\u00e3o em torno dos seus pr\u00f3prios dados<\/h3>\n<p>O SharpTrader se conecta a corretores por FIX API e outros protocolos, executa estrat\u00e9gias de arbitragem e de n\u00e3o arbitragem e registra o slippage e o tempo de execu\u00e7\u00e3o de cada ordem. Para ajustar os par\u00e2metros com base nesses dados, o SharpTrader Optimizer automatiza a busca.<\/p>\n<p><a class=\"iof-btn\" href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-forex-crypto-arbitrage\/\">Conhe\u00e7a o SharpTrader<\/a><a class=\"iof-btn iof-btn-alt\" href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-optimizer\/\">SharpTrader Optimizer<\/a>\n<\/div>\n<div class=\"bjf-ff-wrap\"><div class=\"bjf-ff\" id=\"bjfff2262\" style=\"max-width:640px;margin:28px auto;padding:24px 26px;border:1px solid #d9e1ec;border-radius:12px;background:#f6f8fb\">\n<p style=\"margin:0 0 6px;font-size:20px;font-weight:700;color:#0f1b2d\">Scanner de arbitragem gr\u00e1tis + curso curto por e-mail<\/p>\n<p style=\"margin:0 0 16px;font-size:15px;line-height:1.55;color:#44505f\">Receba o link do scanner gr\u00e1tis e alguns e-mails curtos e pr\u00e1ticos do Boris: o que uma diferen\u00e7a de pre\u00e7o realmente significa depois dos custos, como testar uma estrat\u00e9gia antes de arriscar dinheiro real e quais ferramentas combinam com o seu mercado. Sem exageros. Os e-mails s\u00e3o enviados em ingl\u00eas.<\/p>\n<form method=\"post\" novalidate>\n<input type=\"hidden\" name=\"market\" value=\"forex\"><input type=\"hidden\" name=\"source\" value=\"blog\"><input type=\"hidden\" name=\"ts\" value=\"1793826985\"><input type=\"hidden\" name=\"ref\" value=\"ioc-fok-order-types-algo-trading\"><input type=\"hidden\" name=\"lang\" value=\"pt\"><div style=\"position:absolute;left:-9999px\" aria-hidden=\"true\"><label>Website<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label><\/div>\n<div style=\"display:flex;flex-wrap:wrap;gap:10px\">\n<input type=\"text\" name=\"first_name\" placeholder=\"Nome\" aria-label=\"Nome\" autocomplete=\"given-name\" style=\"flex:1 1 160px;min-width:0;padding:11px 12px;border:1px solid #c9d3df;border-radius:8px;font-size:15px\">\n<input type=\"email\" name=\"email\" required placeholder=\"E-mail\" aria-label=\"E-mail\" autocomplete=\"email\" style=\"flex:2 1 220px;min-width:0;padding:11px 12px;border:1px solid #c9d3df;border-radius:8px;font-size:15px\">\n<button type=\"submit\" style=\"flex:1 1 160px;padding:11px 16px;border:0;border-radius:8px;background:#c9962a;color:#0f1b2d;font-weight:700;font-size:15px;cursor:pointer\">Quero receber<\/button>\n<\/div>\n<p style=\"margin:10px 0 0;font-size:12px;line-height:1.5;color:#6b7785\">Ao enviar, voc\u00ea concorda em receber e-mails da BJF Trading Group sobre ferramentas de arbitragem e software de trading. Cancele a inscri\u00e7\u00e3o quando quiser. Veja nossa <a href=\"https:\/\/bjftradinggroup.com\/pt\/privacy-policy\/\">Pol\u00edtica de Privacidade<\/a>.<\/p>\n<p class=\"bjf-ff-msg\" role=\"status\" style=\"margin:10px 0 0;font-size:15px;font-weight:600\"><\/p>\n<\/form><\/div>\n<script>(function(){var M={\"invalid\":\"Informe um e-mail v\\u00e1lido.\",\"sending\":\"Enviando\\u2026\",\"done\":\"Pronto! Confira sua caixa de entrada em alguns minutos.\",\"err\":\"Algo deu errado, tente novamente.\",\"net\":\"Erro de rede, tente novamente.\",\"srv\":false};var b=document.getElementById('bjfff2262');if(!b)return;var f=b.querySelector('form'),m=b.querySelector('.bjf-ff-msg');f.addEventListener('submit',function(e){e.preventDefault();var d=new FormData(f);if(!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(d.get('email')||'')){m.style.color='#b42318';m.textContent=M.invalid;return;}var btn=f.querySelector('button');btn.disabled=true;m.style.color='#44505f';m.textContent=M.sending;fetch('\/wp-json\/bjf\/v1\/subscribe',{method:'POST',body:d}).then(function(r){return r.json()}).then(function(j){if(j&&j.ok){m.style.color='#1a7f4b';m.textContent=M.done;f.querySelectorAll('input,button').forEach(function(x){x.disabled=true});if(window.gtag)gtag('event','generate_lead',{form_source:d.get('source')});if(window.fbq)fbq('track','Lead',{content_name:d.get('source')});}else{btn.disabled=false;m.style.color='#b42318';m.textContent=(M.srv&&j&&j.msg)||M.err;}}).catch(function(){btn.disabled=false;m.style.color='#b42318';m.textContent=M.net;});});})();<\/script>\n<\/div>\n<h2 id=\"iof-faq\">Perguntas frequentes<\/h2>\n<div class=\"iof-faq\">\n<h3>Qual \u00e9 a diferen\u00e7a entre IOC e FOK?<\/h3>\n<p>Ambas s\u00e3o executadas de imediato e nunca ficam no livro. A IOC aceita execu\u00e7\u00e3o parcial e cancela o restante n\u00e3o executado. A FOK exige que toda a quantidade seja executada de uma vez; caso contr\u00e1rio, a ordem inteira \u00e9 cancelada e nada \u00e9 negociado.<\/p>\n<h3>A FOK \u00e9 melhor do que a IOC?<\/h3>\n<p>Nenhuma \u00e9 melhor de modo geral. A FOK \u00e9 adequada a opera\u00e7\u00f5es em que uma posi\u00e7\u00e3o parcial \u00e9 in\u00fatil ou complica um hedge. A IOC costuma ser negociada com mais frequ\u00eancia, pois parte do tamanho \u00e9 executada, mas seu algoritmo precisa lidar corretamente com execu\u00e7\u00f5es parciais.<\/p>\n<h3>Uma ordem FOK pode ser executada parcialmente?<\/h3>\n<p>N\u00e3o. Por defini\u00e7\u00e3o, uma ordem FOK \u00e9 executada integralmente ou n\u00e3o \u00e9 executada. Se voc\u00ea vir uma execu\u00e7\u00e3o parcial, a ordem n\u00e3o foi uma FOK verdadeira naquela plataforma, ent\u00e3o verifique como o corretor mapeia a instru\u00e7\u00e3o.<\/p>\n<h3>O que acontece com a parte n\u00e3o executada de uma ordem IOC?<\/h3>\n<p>Ela \u00e9 cancelada imediatamente e nunca fica no livro. No FIX, voc\u00ea recebe um relat\u00f3rio de execu\u00e7\u00e3o que encerra a ordem, normalmente como cancelada (Canceled) ou expirada (Expired), conforme a plataforma, com LeavesQty igual a 0.<\/p>\n<h3>Uma ordem a mercado \u00e9 o mesmo que uma ordem IOC?<\/h3>\n<p>N\u00e3o exatamente. Uma ordem a mercado n\u00e3o tem limite de pre\u00e7o, enquanto uma IOC normalmente tem. Muitas plataformas processam ordens a mercado com comportamento de IOC ou FOK, ent\u00e3o o tempo de vida pode coincidir, mas somente um limite protege o pre\u00e7o.<\/p>\n<h3>Quais s\u00e3o os valores FIX para IOC e FOK?<\/h3>\n<p>No campo TimeInForce, tag 59, IOC \u00e9 3 e FOK \u00e9 4. O tipo de ordem \u00e9 definido separadamente na tag 40, em que 1 \u00e9 a mercado e 2 \u00e9 limitada.<\/p>\n<h3>Todos os corretores de forex suportam IOC e FOK?<\/h3>\n<p>N\u00e3o. O suporte depende do corretor, da plataforma e do tipo de conex\u00e3o. As conex\u00f5es FIX API costumam oferecer mais controle, mas cada plataforma publica a sua pr\u00f3pria lista de combina\u00e7\u00f5es aceitas de tipo de ordem e time in force.<\/p>\n<\/div>\n<p class=\"iof-note\">Este artigo tem car\u00e1ter educacional e n\u00e3o constitui recomenda\u00e7\u00e3o de investimento. O livro de ofertas e o modelo s\u00e3o exemplos ilustrativos, n\u00e3o resultados de trading. Operar no mercado de c\u00e2mbio envolve risco significativo de perda.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"headline\": \"IOC vs FOK, ordens a mercado e limitadas: tipos de ordens para a execu\u00e7\u00e3o algor\u00edtmica em forex\",\n      \"description\": \"IOC vs FOK explicados com um livro de ofertas de exemplo, tags FIX, last look, tratamento de execu\u00e7\u00f5es parciais e um modelo para definir o pre\u00e7o limite em algoritmos de forex.\",\n      \"image\": \"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/11\/article-cover-ioc-fok-order-types-algo-trading-1200x630-1.webp\",\n      \"author\": {\n        \"@type\": \"Organization\",\n        \"name\": \"BJF Trading Group\",\n        \"url\": \"https:\/\/bjftradinggroup.com\/\"\n      },\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"BJF Trading Group\",\n        \"url\": \"https:\/\/bjftradinggroup.com\/\"\n      },\n      \"datePublished\": \"2026-11-04\",\n      \"dateModified\": \"2026-11-04\",\n      \"mainEntityOfPage\": \"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/\"\n    },\n    {\n      \"@type\": \"HowTo\",\n      \"name\": \"Como configurar a execu\u00e7\u00e3o de ordens de um algoritmo de forex\",\n      \"step\": [\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 1,\n          \"name\": \"D\u00ea um pre\u00e7o \u00e0 opera\u00e7\u00e3o perdida\",\n          \"text\": \"D\u00ea um pre\u00e7o \u00e0 opera\u00e7\u00e3o perdida. Decida quanto custa n\u00e3o ser executado. Em uma entrada opcional, o custo \u00e9 zero; em um hedge ou uma sa\u00edda, \u00e9 risco em aberto.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 2,\n          \"name\": \"Calcule o pior pre\u00e7o aceit\u00e1vel\",\n          \"text\": \"Calcule o pior pre\u00e7o aceit\u00e1vel. Pegue a vantagem esperada, subtraia a comiss\u00e3o e uma margem de seguran\u00e7a e coloque o limite nesse ponto de equil\u00edbrio.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 3,\n          \"name\": \"Escolha o tempo de vida\",\n          \"text\": \"Escolha o tempo de vida. Use IOC ou FOK para tomar liquidez e Day, GTC ou GTD para ordens que ficam no livro.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 4,\n          \"name\": \"Defina a menor execu\u00e7\u00e3o \u00fatil\",\n          \"text\": \"Defina a menor execu\u00e7\u00e3o \u00fatil. Use FOK, ou uma quantidade m\u00ednima quando suportada, se execu\u00e7\u00f5es pequenas n\u00e3o cobrirem os custos fixos.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 5,\n          \"name\": \"Escreva a regra para o restante\",\n          \"text\": \"Escreva a regra para o restante. Defina as novas tentativas, o n\u00famero m\u00e1ximo delas e o que acontece com qualquer res\u00edduo sem hedge.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 6,\n          \"name\": \"Confirme as regras da plataforma\",\n          \"text\": \"Confirme as regras da plataforma. Verifique as combina\u00e7\u00f5es suportadas de tipo de ordem e TIF, os passos de tamanho, como os restantes s\u00e3o informados e se h\u00e1 last look.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 7,\n          \"name\": \"Registre e revise\",\n          \"text\": \"Registre e revise. Registre todas as ordens, inclusive rejei\u00e7\u00f5es e cancelamentos, e ajuste o limite com base em dados reais de execu\u00e7\u00e3o.\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Qual \u00e9 a diferen\u00e7a entre IOC e FOK?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Ambas s\u00e3o executadas de imediato e nunca ficam no livro. A IOC aceita execu\u00e7\u00e3o parcial e cancela o restante n\u00e3o executado. A FOK exige que toda a quantidade seja executada de uma vez; caso contr\u00e1rio, a ordem inteira \u00e9 cancelada e nada \u00e9 negociado.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"A FOK \u00e9 melhor do que a IOC?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Nenhuma \u00e9 melhor de modo geral. A FOK \u00e9 adequada a opera\u00e7\u00f5es em que uma posi\u00e7\u00e3o parcial \u00e9 in\u00fatil ou complica um hedge. A IOC costuma ser negociada com mais frequ\u00eancia, pois parte do tamanho \u00e9 executada, mas seu algoritmo precisa lidar corretamente com execu\u00e7\u00f5es parciais.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Uma ordem FOK pode ser executada parcialmente?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"N\u00e3o. Por defini\u00e7\u00e3o, uma ordem FOK \u00e9 executada integralmente ou n\u00e3o \u00e9 executada. Se voc\u00ea vir uma execu\u00e7\u00e3o parcial, a ordem n\u00e3o foi uma FOK verdadeira naquela plataforma, ent\u00e3o verifique como o corretor mapeia a instru\u00e7\u00e3o.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"O que acontece com a parte n\u00e3o executada de uma ordem IOC?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Ela \u00e9 cancelada imediatamente e nunca fica no livro. No FIX, voc\u00ea recebe um relat\u00f3rio de execu\u00e7\u00e3o que encerra a ordem, normalmente como cancelada (Canceled) ou expirada (Expired), conforme a plataforma, com LeavesQty igual a 0.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Uma ordem a mercado \u00e9 o mesmo que uma ordem IOC?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"N\u00e3o exatamente. Uma ordem a mercado n\u00e3o tem limite de pre\u00e7o, enquanto uma IOC normalmente tem. Muitas plataformas processam ordens a mercado com comportamento de IOC ou FOK, ent\u00e3o o tempo de vida pode coincidir, mas somente um limite protege o pre\u00e7o.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Quais s\u00e3o os valores FIX para IOC e FOK?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"No campo TimeInForce, tag 59, IOC \u00e9 3 e FOK \u00e9 4. O tipo de ordem \u00e9 definido separadamente na tag 40, em que 1 \u00e9 a mercado e 2 \u00e9 limitada.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Todos os corretores de forex suportam IOC e FOK?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"N\u00e3o. O suporte depende do corretor, da plataforma e do tipo de conex\u00e3o. As conex\u00f5es FIX API costumam oferecer mais controle, mas cada plataforma publica a sua pr\u00f3pria lista de combina\u00e7\u00f5es aceitas de tipo de ordem e time in force.\"\n          }\n        }\n      ]\n    }\n  ]\n}\n<\/script>\n<\/div>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>IOC vs FOK e os outros tipos de ordem entre os quais um algoritmo precisa escolher: como ordens a mercado, limitadas e stop se combinam com o time in force, um livro de ofertas com tr\u00eas resultados, tags FIX e relat\u00f3rios de execu\u00e7\u00e3o, last look, onde colocar o limite, tratamento de execu\u00e7\u00f5es parciais e uma matriz de estrat\u00e9gias.<\/p>\n","protected":false},"author":1,"featured_media":15931,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[53,221],"tags":[],"class_list":["post-15930","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arbitrage-software","category-forex-trading"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.7 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>IOC vs FOK: tipos de ordens para algoritmos de forex<\/title>\n<meta name=\"description\" content=\"IOC vs FOK na pr\u00e1tica: livro de ofertas de exemplo, tags FIX, last look, execu\u00e7\u00f5es parciais e um modelo para definir o limite em algoritmos de forex.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bjftradinggroup.com\/pt\/ioc-fok-order-types-algo-trading\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IOC vs FOK: tipos de ordens para algoritmos de forex\" \/>\n<meta property=\"og:description\" content=\"IOC vs FOK na pr\u00e1tica: livro de ofertas de exemplo, tags FIX, last look, execu\u00e7\u00f5es parciais e um modelo para definir o limite em algoritmos de forex.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bjftradinggroup.com\/pt\/ioc-fok-order-types-algo-trading\/\" \/>\n<meta property=\"og:site_name\" content=\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/bjftradinggroup\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-04T15:22:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/11\/article-cover-ioc-fok-order-types-algo-trading-1200x630-1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Boris Fesenko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Boris Fesenko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/\"},\"author\":{\"name\":\"Boris Fesenko\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\"},\"headline\":\"IOC vs FOK, ordens a mercado e limitadas: tipos de ordens para a execu\u00e7\u00e3o algor\u00edtmica em forex\",\"datePublished\":\"2026-11-04T15:22:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/\"},\"wordCount\":41110,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/article-cover-ioc-fok-order-types-algo-trading-1200x630-1.webp\",\"articleSection\":[\"Arbitrage Software\",\"Forex trading\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/#respond\"]}],\"name\":\"IOC vs FOK: tipos de ordens para algoritmos de forex\",\"description\":\"IOC vs FOK na pr\u00e1tica: livro de ofertas de exemplo, tags FIX, last look, execu\u00e7\u00f5es parciais e um modelo para definir o limite em algoritmos de forex.\",\"publisher\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/\",\"name\":\"IOC vs FOK: tipos de ordens para algoritmos de forex\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/article-cover-ioc-fok-order-types-algo-trading-1200x630-1.webp\",\"datePublished\":\"2026-11-04T15:22:19+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\"},\"description\":\"IOC vs FOK na pr\u00e1tica: livro de ofertas de exemplo, tags FIX, last look, execu\u00e7\u00f5es parciais e um modelo para definir o limite em algoritmos de forex.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/article-cover-ioc-fok-order-types-algo-trading-1200x630-1.webp\",\"contentUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/article-cover-ioc-fok-order-types-algo-trading-1200x630-1.webp\",\"width\":1200,\"height\":630,\"caption\":\"IOC vs FOK order types for algorithmic forex execution: an order book ladder with a limit line\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/ioc-fok-order-types-algo-trading\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bjftradinggroup.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IOC vs FOK, Market and Limit Orders: Order Types for Algorithmic Forex Execution\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"name\":\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\",\"description\":\"FX Software pioneer since 2000\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bjftradinggroup.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\",\"name\":\"Boris Fesenko\",\"pronouns\":\"He\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"caption\":\"Boris Fesenko\"},\"description\":\"Born in 1971 in Ukraine, I graduated from East Ukrainian State University and later completed postgraduate studies at the same university, where I also wrote my PhD dissertation. In 2006, I moved to Canada. I am the founder of BJF Trading Group and specialize in the development and implementation of advanced arbitrage trading systems for the Forex and cryptocurrency markets, as well as other trading solutions.\",\"sameAs\":[\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\",\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.instagram.com\\\/bjftradinggroup\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/bjftradinggroup\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCapi2ct0Iv7axHJ93wN_bsQ\"],\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/pt\\\/author\\\/boris\\\/\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\",\"name\":\"BJF Trading Group Inc.\",\"legalName\":\"BJF Trading Group Inc.\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/logo.png\",\"width\":512,\"height\":512},\"foundingDate\":\"2000\",\"founder\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\\\/#person\"},\"address\":{\"@type\":\"PostalAddress\",\"addressRegion\":\"Ontario\",\"addressCountry\":\"CA\"},\"contactPoint\":[{\"@type\":\"ContactPoint\",\"contactType\":\"customer support\",\"email\":\"support@bjftradinggroup.com\",\"availableLanguage\":[\"English\",\"German\",\"Japanese\",\"Korean\",\"Spanish\",\"Portuguese\",\"Arabic\",\"Indonesian\",\"Vietnamese\"]}],\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/twitter.com\\\/BjfGroup\",\"https:\\\/\\\/www.youtube.com\\\/@bjftradinggroup\",\"https:\\\/\\\/t.me\\\/bjftradinggroup\",\"https:\\\/\\\/instagram.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/bjf-trading-group\\\/\"],\"knowsAbout\":[\"Forex arbitrage\",\"Cryptocurrency arbitrage\",\"Latency arbitrage\",\"News trading\",\"FIX API trading\",\"High-frequency trading\",\"Lock arbitrage\",\"Hedge arbitrage\",\"Pair trading\",\"Algorithmic trading software\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"IOC vs FOK: tipos de ordens para algoritmos de forex","description":"IOC vs FOK na pr\u00e1tica: livro de ofertas de exemplo, tags FIX, last look, execu\u00e7\u00f5es parciais e um modelo para definir o limite em algoritmos de forex.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bjftradinggroup.com\/pt\/ioc-fok-order-types-algo-trading\/","og_locale":"pt_PT","og_type":"article","og_title":"IOC vs FOK: tipos de ordens para algoritmos de forex","og_description":"IOC vs FOK na pr\u00e1tica: livro de ofertas de exemplo, tags FIX, last look, execu\u00e7\u00f5es parciais e um modelo para definir o limite em algoritmos de forex.","og_url":"https:\/\/bjftradinggroup.com\/pt\/ioc-fok-order-types-algo-trading\/","og_site_name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","article_author":"https:\/\/www.facebook.com\/bjftradinggroup","article_published_time":"2026-11-04T15:22:19+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/11\/article-cover-ioc-fok-order-types-algo-trading-1200x630-1.webp","type":"image\/webp"}],"author":"Boris Fesenko","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Boris Fesenko","Tempo estimado de leitura":"18 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/#article","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/"},"author":{"name":"Boris Fesenko","@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9"},"headline":"IOC vs FOK, ordens a mercado e limitadas: tipos de ordens para a execu\u00e7\u00e3o algor\u00edtmica em forex","datePublished":"2026-11-04T15:22:19+00:00","mainEntityOfPage":{"@id":"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/"},"wordCount":41110,"commentCount":0,"image":{"@id":"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/11\/article-cover-ioc-fok-order-types-algo-trading-1200x630-1.webp","articleSection":["Arbitrage Software","Forex trading"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/#respond"]}],"name":"IOC vs FOK: tipos de ordens para algoritmos de forex","description":"IOC vs FOK na pr\u00e1tica: livro de ofertas de exemplo, tags FIX, last look, execu\u00e7\u00f5es parciais e um modelo para definir o limite em algoritmos de forex.","publisher":{"@id":"https:\/\/bjftradinggroup.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/","url":"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/","name":"IOC vs FOK: tipos de ordens para algoritmos de forex","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/#primaryimage"},"image":{"@id":"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/11\/article-cover-ioc-fok-order-types-algo-trading-1200x630-1.webp","datePublished":"2026-11-04T15:22:19+00:00","author":{"@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9"},"description":"IOC vs FOK na pr\u00e1tica: livro de ofertas de exemplo, tags FIX, last look, execu\u00e7\u00f5es parciais e um modelo para definir o limite em algoritmos de forex.","breadcrumb":{"@id":"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/#primaryimage","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/11\/article-cover-ioc-fok-order-types-algo-trading-1200x630-1.webp","contentUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/11\/article-cover-ioc-fok-order-types-algo-trading-1200x630-1.webp","width":1200,"height":630,"caption":"IOC vs FOK order types for algorithmic forex execution: an order book ladder with a limit line"},{"@type":"BreadcrumbList","@id":"https:\/\/bjftradinggroup.com\/ioc-fok-order-types-algo-trading\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bjftradinggroup.com\/"},{"@type":"ListItem","position":2,"name":"IOC vs FOK, Market and Limit Orders: Order Types for Algorithmic Forex Execution"}]},{"@type":"WebSite","@id":"https:\/\/bjftradinggroup.com\/#website","url":"https:\/\/bjftradinggroup.com\/","name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","description":"FX Software pioneer since 2000","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bjftradinggroup.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9","name":"Boris Fesenko","pronouns":"He","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","caption":"Boris Fesenko"},"description":"Born in 1971 in Ukraine, I graduated from East Ukrainian State University and later completed postgraduate studies at the same university, where I also wrote my PhD dissertation. In 2006, I moved to Canada. I am the founder of BJF Trading Group and specialize in the development and implementation of advanced arbitrage trading systems for the Forex and cryptocurrency markets, as well as other trading solutions.","sameAs":["https:\/\/bjftradinggroup.com\/about-boris-fesenko","https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/www.instagram.com\/bjftradinggroup\/","https:\/\/www.linkedin.com\/in\/bjftradinggroup\/","https:\/\/www.youtube.com\/channel\/UCapi2ct0Iv7axHJ93wN_bsQ"],"url":"https:\/\/bjftradinggroup.com\/pt\/author\/boris\/"},{"@type":"Organization","@id":"https:\/\/bjftradinggroup.com\/#organization","name":"BJF Trading Group Inc.","legalName":"BJF Trading Group Inc.","url":"https:\/\/bjftradinggroup.com\/","logo":{"@type":"ImageObject","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/logo.png","width":512,"height":512},"foundingDate":"2000","founder":{"@id":"https:\/\/bjftradinggroup.com\/about-boris-fesenko\/#person"},"address":{"@type":"PostalAddress","addressRegion":"Ontario","addressCountry":"CA"},"contactPoint":[{"@type":"ContactPoint","contactType":"customer support","email":"support@bjftradinggroup.com","availableLanguage":["English","German","Japanese","Korean","Spanish","Portuguese","Arabic","Indonesian","Vietnamese"]}],"sameAs":["https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/twitter.com\/BjfGroup","https:\/\/www.youtube.com\/@bjftradinggroup","https:\/\/t.me\/bjftradinggroup","https:\/\/instagram.com\/bjftradinggroup","https:\/\/www.linkedin.com\/company\/bjf-trading-group\/"],"knowsAbout":["Forex arbitrage","Cryptocurrency arbitrage","Latency arbitrage","News trading","FIX API trading","High-frequency trading","Lock arbitrage","Hedge arbitrage","Pair trading","Algorithmic trading software"]}]}},"_links":{"self":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/posts\/15930","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/comments?post=15930"}],"version-history":[{"count":37,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/posts\/15930\/revisions"}],"predecessor-version":[{"id":15972,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/posts\/15930\/revisions\/15972"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/media\/15931"}],"wp:attachment":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/media?parent=15930"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/categories?post=15930"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/tags?post=15930"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}