IOC vs FOK, ordini a mercato e limite: i tipi di ordine per l’esecuzione algoritmica nel forex Novembre 4, 2026 – Posted in: Arbitrage Software, Forex trading

BJF TRADING GROUP · ESECUZIONE FOREX

IOC, FOK, a mercato o limite: scegliere l’ordine giusto per il trade

Un tipo di ordine è una decisione su che cosa preferisci subire: un prezzo peggiore, un’esecuzione più piccola o nessuna esecuzione. Questa guida mostra come si comporta ogni istruzione nel book, nei messaggi FIX e in presenza di last look, con esempi numerici per un algoritmo che deve scegliere in pochi millisecondi.

Risposta breve: IOC vs FOK. Un ordine Immediate-or-Cancel (IOC) prende ciò che è disponibile in quel momento al tuo prezzo o a un prezzo migliore e cancella il resto, quindi è possibile un’esecuzione parziale. Un ordine Fill-or-Kill (FOK) deve essere eseguito per intero e immediatamente, altrimenti viene cancellato del tutto: o ottieni tutto o niente. Usa IOC quando qualsiasi parte della size ti è utile, e FOK quando una posizione parziale sarebbe peggio di nessuna posizione.

Tipo di ordine e time in force sono due decisioni separate

La maggior parte dei glossari elenca mercato, limite, stop, IOC e FOK come se fossero cinque opzioni dello stesso menu. Non è così. Dietro ci sono due domande indipendenti, e un algoritmo deve rispondere a entrambe per ogni ordine:

  • Quale prezzo sono disposto ad accettare? Questo è il tipo di ordine: a mercato (qualsiasi prezzo), limite (questo prezzo o migliore), stop (si attiva quando un trigger viene scambiato o quotato).
  • Per quanto tempo può restare attivo l’ordine? Questo è il time in force, o TIF: immediatamente (IOC, FOK), fino alla fine della sessione (Day), fino alla cancellazione (GTC) o fino a un orario prestabilito (GTD).

Quindi IOC e FOK non sono alternative a un ordine limite: sono durate associate a esso. «Limit IOC» e «Limit FOK» sono le due istruzioni aggressive più comuni nel forex algoritmico, e il protocollo FIX tiene le due decisioni in campi separati: OrdType (tag 40) e TimeInForce (tag 59).

PrezzoTipo di ordine, tag 40Mercato, limite, stop, stop-limit. Stabilisce il prezzo peggiore che accetti.
TempoTime in force, tag 59IOC, FOK, Day, GTC, GTD. Stabilisce quanto a lungo l’ordine può attendere.
SizeRegola di esecuzioneSolo per intero (FOK), qualsiasi quantità (IOC) o una quantità minima (tag 110), dove supportata.

Ordini a mercato nel forex: che cosa significa davvero «a mercato»

Un ordine a mercato dice: eseguimi subito, il prezzo è secondario. Non ha limite, quindi offre la massima certezza di esecuzione e nessuna protezione sul prezzo che ottieni. Se il book si è mosso o è sottile, l’ordine risale i livelli disponibili finché la size non è completata. Questo costo è lo slippage, trattato a fondo nella nostra guida su come misurare e ridurre lo slippage nel forex.

Il forex aggiunge due dettagli che le spiegazioni basate sulle borse trascurano:

  • Non esiste un unico book centrale. Il tuo broker o ECN mostra un flusso aggregato di diversi fornitori di liquidità. «A mercato» significa al miglior prezzo che la tua sede di esecuzione riesce a ottenere da quel flusso, non a un prezzo di mercato universale.
  • Anche un ordine a mercato ha una durata implicita. Molte sedi trattano internamente gli ordini a mercato come IOC o FOK: eseguono ciò che è eseguibile subito e riportano il resto. Alcune consentono di aggiungere una deviazione massima, che di fatto trasforma l’ordine in un limite. Non dare nulla per scontato: leggi le specifiche della sede.

Il ruolo pratico di un ordine a mercato in un algoritmo è ristretto. Serve dove il pericolo maggiore è non operare, ad esempio per chiudere una posizione che ha perso la copertura.

Ordini limite, marketable limit e stop

Ordini limite passivi

Un ordine limite piazzato lontano dal prezzo corrente resta nel book e attende. Un buy limit sotto l’ask non prende liquidità: la offre. Puoi guadagnare lo spread invece di pagarlo, ma ti assumi il rischio di coda e la selezione avversa: gli ordini passivi tendono a essere eseguiti proprio quando il mercato li sta attraversando. Gli ordini passivi si abbinano normalmente a Day, GTC o GTD.

Ordini marketable limit

Un buy limit con prezzo pari o superiore all’ask corrente viene eseguito subito, come un ordine a mercato, ma non può essere eseguito oltre il suo limite. Questo «marketable limit» è il cavallo di battaglia dell’esecuzione automatizzata. Combinato con IOC significa: prendi la liquidità adesso, fino a questo prezzo, e non lasciare nulla nel book.

Il miglioramento di prezzo è un punto spesso frainteso. Un limite è il prezzo peggiore accettabile, non il prezzo di esecuzione. Se compri con un limite a 1.08510 e l’ask è 1.08502, dovresti ricevere 1.08502 o i livelli successivi fino al tuo limite.

Ordini stop e stop-limit

Un ordine stop resta dormiente finché non viene raggiunto il trigger, poi diventa un ordine a mercato. Uno stop-limit diventa invece un ordine limite. Il primo garantisce l’attivazione, non il prezzo. Il secondo fissa un tetto al prezzo, ma può lasciarti senza esecuzione proprio quando il mercato fa un gap, una caratteristica sgradevole per uno stop di protezione. Conta anche dove risiede lo stop: uno stop tenuto sulla sede sopravvive alla tua disconnessione, mentre uno simulato nel tuo software no.

Time in force: l’elenco completo

Istruzione FIX 59 Durata Esecuzione parziale? Uso tipico
Day 0 Fino alla fine della sessione Sì Quotazioni passive durante una sessione definita
GTC (Good Till Cancel) 1 Fino alla cancellazione Sì Ingressi in attesa, ordini take-profit e stop
IOC (Immediate or Cancel) 3 Eseguito subito, il resto viene cancellato Sì Prendere liquidità quando qualsiasi parte della size è utile
FOK (Fill or Kill) 4 Tutta la size subito o niente No Ingressi tutto-o-niente e gambe a size fissa
GTD (Good Till Date) 6 Fino a un orario specificato (tag 126 o 432) Sì Quotazioni con scadenza rigida, ad esempio prima di una notizia

I valori provengono dalla specifica FIX 4.4. Le sedi di norma supportano solo una parte dell’elenco e alcune limitano un TIF a determinati tipi di ordine, quindi le regole operative del tuo broker prevalgono su qualsiasi tabella pubblicata in un articolo.

IOC vs FOK vs mercato: un book, tre risultati

Prendiamo un caso concreto. Un algoritmo vuole comprare 2,000,000 EURUSD. Il miglior ask è 1.08500 e questo è il lato offerta visibile all’arrivo dell’ordine:

Prezzo ask Size disponibile Cumulata
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
Percorso nel book che confronta un ordine a mercato, un limit IOC e un limit FOK per un acquisto di 2 milioni di EURUSD: l'ordine a mercato viene eseguito per intero a 1.085018, l'IOC esegue 1 milione a 1.085005 e il FOK viene cancellato
Lo stesso book, tre istruzioni. Il book è un esempio costruito; l’aritmetica è esatta.
Istruzione Eseguito Prezzo medio Costo rispetto al miglior ask Risultato
A mercato, 2M 2,000,000 1.085018 0.175 pip, circa $35 Completato, a un prezzo che non hai scelto
Limit 1.08502 IOC, 2M 1,000,000 1.085005 0.05 pip, circa $5 Metà della size, 1M cancellato
Limit 1.08502 FOK, 2M 0 Nessuno $0 Cancellato: solo 1M pari o sotto il limite
Limit 1.08503 FOK, 2M 2,000,000 1.085018 0.175 pip, circa $35 Eseguito: il limite era abbastanza ampio

L’ultima riga è quella più sottile. Un decimo di pip in più ha trasformato il FOK da nessun trade a esecuzione completa, con una media migliore del suo limite. FOK non significa «stretto». Significa «l’intera size deve stare sotto questo prezzo in questo momento». IOC e FOK con lo stesso limite vedono la stessa liquidità. Si differenziano solo per ciò che fanno quando non basta.

Non esiste nemmeno un’istruzione più economica in assoluto. L’IOC da $5 sembra un affare rispetto all’ordine a mercato da $35, ma ha consegnato metà della posizione. Se il restante 1M va comprato più tardi a un prezzo peggiore, il confronto cambia. Il costo della size mancante è l’argomento del resto di questa guida.

Come appaiono gli ordini in FIX

Su una connessione FIX API dichiari ogni istruzione in modo esplicito in un messaggio NewOrderSingle (35=D). Ridotto ai campi che contano, l’ordine IOC dell’esempio si presenta così:

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

Cambia 59=3 in 59=4 e lo stesso ordine diventa FOK. Togli il prezzo e imposta 40=1 e diventa un ordine a mercato. Header, checksum, timestamp e campi del conto sono omessi, e il formato del simbolo varia a seconda della sede: alcune usano ID numerici.

Tag Campo Valori che incontrerai
40 OrdType 1 A mercato, 2 Limite, 3 Stop, 4 Stop-limit, D Già quotato
59 TimeInForce 0 Day, 1 GTC, 3 IOC, 4 FOK, 6 GTD
110 MinQty Quantità minima da eseguire, dove supportata
150 ExecType 0 Nuovo, F Trade, 4 Cancellato, 8 Rifiutato, C Scaduto
39 OrdStatus 0 Nuovo, 1 Parzialmente eseguito, 2 Eseguito, 4 Cancellato, 8 Rifiutato, C Scaduto
14 / 151 CumQty / LeavesQty Eseguito finora / ancora aperto. LeavesQty 0 significa che l’ordine è concluso
31 / 32 / 6 LastPx / LastQty / AvgPx Prezzo e size di questa esecuzione / media di tutte le esecuzioni

La parte difficile non è inviare l’ordine, ma leggere la risposta. Un solo IOC può produrre una sequenza di ExecutionReport (35=8), e il modo in cui viene riportato il residuo dipende dalla sede.

Ciclo di vita FIX di un ordine IOC da 2 milioni: NewOrderSingle, due report di esecuzione trade con CumQty che sale a 1 milione, poi un report di cancellazione o scadenza per il restante 1 milione con LeavesQty a zero, e l'algoritmo che copre solo la quantità eseguita
Un IOC è completo solo quando LeavesQty arriva a 0. La tua posizione è CumQty, mai la quantità richiesta.

Alcune sedi inviano una conferma aggiuntiva (150=0) prima delle esecuzioni. Altre consegnano un’unica esecuzione aggregata. Le sessioni FIX 4.2 usano per le esecuzioni valori ExecType (1 e 2) diversi da FIX 4.3 e successivi (F). Un handler robusto si basa quindi su CumQty, LeavesQty e OrdStatus, non su un numero fisso di messaggi. La guida passo per passo al protocollo FIX spiega il livello di sessione sottostante a questi messaggi.

Liquidità full-amount e last look: perché il forex è diverso

Le spiegazioni pensate per il mercato azionario presuppongono un book centrale in cui l’offerta esposta è ferma. Le sedi forex possono comportarsi diversamente in due modi che incidono direttamente su IOC e FOK.

Liquidità sweepable vs full-amount. In un book sweepable un ordine può prendere più livelli da più fornitori, come nell’esempio qui sopra. Nel pricing full-amount un fornitore quota un solo prezzo per l’intera size e i livelli non si sommano, quindi un FOK da 2M va confrontato con il livello da 2M, non con la somma delle quotazioni da 1M. Una schermata di profondità dall’aspetto identico può quindi significare cose diverse.

Last look. Dove un fornitore applica il last look, il tuo ordine è una richiesta che può ancora essere rifiutata dopo una breve attesa. Un FOK può essere rifiutato anche se il book mostrava una size sufficiente al momento dell’invio, e un IOC può tornare più piccolo di quanto esposto. Il FX Global Code (il codice di condotta globale del mercato dei cambi) chiede ai fornitori che usano il last look di comunicare questa pratica ai clienti, quindi chiedi tale informativa. I rifiuti da last look sono visibili nel tuo log solo se li registri. Il meccanismo è trattato nella nostra guida a esecuzione del broker, A-book, B-book e last look.

Perché conta per la misurazione: un ordine aggressivo su una sede con last look può mostrare statistiche di slippage eccellenti, perché nel campione ci sono solo le esecuzioni che hanno fatto comodo al fornitore. Uno slippage medio basso unito a un alto tasso di rifiuto non è una buona esecuzione.

Dove mettere il limite: un modello con i numeri

Per un IOC o un FOK il parametro chiave non è il TIF ma il prezzo limite. Se lo metti alla quotazione corrente, la maggior parte dei segnali va persa. Se non lo limiti, le esecuzioni peggiori si mangiano il vantaggio. Tra questi due estremi esiste una risposta calcolabile.

Considera un segnale di breve durata con un vantaggio atteso di 1.2 pip al netto delle commissioni, misurato dal prezzo del segnale. Tra il segnale e l’arrivo alla sede il prezzo si muove. Ipotizza due regimi: nell’80% dei casi il prezzo si sposta di circa 0.2 pip contro di te (deviazione standard 0.3 pip), e nel 20% un movimento rapido lo porta a circa 2 pip di distanza (deviazione standard 1 pip). Questi input sono illustrativi. In pratica li stimi dal tuo log degli ordini.

Modello illustrativo: i pip netti attesi per segnale crescono con la tolleranza del limite, raggiungono il massimo vicino a 0.82 pip con una tolleranza di circa 1.2 pip e scendono a 0.64 pip per un ordine a mercato senza limite, mentre il tasso di esecuzione sale dal 21 al 100 percento
Modello illustrativo, non risultati di trading: vantaggio di 1.2 pip e deriva del prezzo a due regimi. L’esecuzione avviene quando la deriva rientra nella tolleranza.
Tolleranza del limite dal prezzo del segnale Tasso di esecuzione Netto medio per esecuzione Netto atteso per segnale
0 pip (limite al prezzo del segnale) 20.7% 1.38 pip 0.29 pip
0.3 pip 51.3% 1.18 pip 0.61 pip
0.6 pip 74.3% 1.05 pip 0.78 pip
1.2 pip (pari al vantaggio) 84.2% 0.98 pip 0.82 pip
2.0 pip 90.0% 0.89 pip 0.80 pip
Nessun limite (ordine a mercato) 100% 0.64 pip 0.64 pip

Tre conclusioni valgono ben oltre questo esempio:

  • Il limite migliore è il prezzo di pareggio, non la quotazione. Conviene accettare qualsiasi esecuzione che lasci ancora un profitto atteso positivo. In questo modello il massimo si trova esattamente dove la tolleranza è pari al vantaggio, perché l’esecuzione marginale successiva guadagna zero.
  • La curva è piatta vicino al massimo. Tra 0.8 e 2 pip il profitto atteso cambia pochissimo. Non ti serve una tolleranza precisa, ma te ne serve una.
  • Il prezzo medio di esecuzione è un obiettivo fuorviante. Il limite più stretto ha il miglior prezzo per esecuzione (1.38 pip) e il peggior risultato per segnale (0.29 pip), perché il 79% dei segnali non diventa mai un trade.

Il modello ignora gli effetti di coda e presuppone che l’intera size venga eseguita ogni volta che il limite viene raggiunto. Per ordini più grandi ripeti il calcolo con la tua profondità reale, perché il limite decide anche quanta size può essere eseguita. Verifica le ipotesi con i dati: la nostra guida al divario tra backtest ed esecuzione live mostra come portare il tempo di esecuzione in un test.

Gestire le esecuzioni parziali senza creare nuovi rischi

Un’esecuzione parziale non è un errore, ma è un nuovo stato per il quale l’algoritmo deve avere una regola. FOK evita questo stato all’ingresso; IOC sposta il problema nella tua logica. Decidi la politica prima di andare live:

Politica sul residuo Quando è adatta Rischio da controllare
Accettare e gestire ciò che è stato eseguito Ingressi con un vantaggio indipendente dalla size Posizione troppo piccola per coprire i costi fissi
Reinviare il residuo a un nuovo prezzo Segnale ancora valido, vantaggio ancora sopra la tolleranza Rincorrere il prezzo. Limita i tentativi e ricontrolla il vantaggio ogni volta
Coprire o completare su un’altra sede Trade multi-gamba Lot step diversi e una seconda possibilità di mancata esecuzione
Chiudere la parte eseguita Un’esecuzione sotto la size minima sostenibile Pagare lo spread due volte

I trade a due gambe richiedono la massima attenzione. Supponi che un trade coperto compri 2M sulla sede A con IOC e venda sulla sede B. Se A esegue 1M e l’algoritmo vende comunque i 2M previsti, resta con 1M short aperto. Con circa $100 per pip per milione su EURUSD, un movimento di 10 pip contro quella posizione costa $1,000, cifra che supera facilmente il vantaggio di molti trade. La regola è semplice: dimensiona la seconda gamba dal CumQty della prima, mai dalla quantità richiesta.

Converti anche sulla griglia di size della seconda sede. Se la prima gamba esegue 1,370,000 e la sede B accetta step da 100,000, puoi coprire 1,400,000 o 1,300,000, non la size esatta. Stabilisci una regola anche per questo residuo e tratta un residuo non coperto come un limite di rischio.

FOK sulla prima gamba elimina il disallineamento di size ma genera più casi di mancato trade. FOK sulla seconda gamba è di solito una scelta sbagliata: quando la prima gamba è già eseguita, una copertura cancellata ti lascia completamente esposto. È proprio su quella seconda gamba che vale la pena pagare per la certezza di esecuzione.

Quale ordine per quale strategia

Diagramma decisionale per scegliere un tipo di ordine: se la posizione deve cambiare subito usa mercato o un IOC ampio; se un'esecuzione parziale è inutile usa FOK; se prendi liquidità con qualsiasi size utile usa limit IOC; altrimenti lascia un limite passivo con Day, GTC o GTD
Un punto di partenza per la decisione. L’ultima parola spetta alle regole della sede e ai tuoi dati di esecuzione.
Situazione Scelta predefinita ragionevole Motivazione
Ingresso di arbitraggio di latenza Limit IOC al prezzo di pareggio Il vantaggio svanisce in millisecondi; un’esecuzione parziale guadagna comunque e il limite taglia la coda
Prima gamba di una coppia coperta Limit FOK o IOC con copertura basata su CumQty FOK protegge il dimensionamento; IOC guadagna in tasso di esecuzione ma richiede una logica migliore
Seconda gamba, quando la prima è eseguita Mercato o IOC ampio Restare scoperti è il rischio maggiore
Ingresso sulle notizie Limit IOC, size contenuta Spread e profondità cambiano rapidamente, e un ordine a mercato non ha un tetto
Uscita di emergenza o stop-out Mercato o IOC ampio, ripetuto fino ad azzerare la posizione Prima la certezza; FOK può lasciare la posizione aperta
Pair trading o trade statistici Limit IOC o limite passivo di breve durata L’holding period è più lungo, quindi lo spread pagato conta più della velocità
Cattura dello spread e ribilanciamento Limite passivo, Day o GTD Vieni pagato per attendere, e devi cancellare prima di notizie e rollover

L’esecuzione dipende anche dal timing. Intorno a rollover e notizie gli spread si allargano e la profondità si assottiglia, quindi un limite che funziona bene a mezzogiorno di Londra può fallire o diventare costoso in quelle finestre. Fai dipendere tolleranza e size dallo spread corrente invece di fissarle per tutta la giornata. Un approfondimento sulle strategie sensibili alla velocità è disponibile nella nostra guida all’arbitraggio di latenza.

Sette passi per configurare l’esecuzione degli ordini

1
Dai un prezzo al trade mancato. Decidi quanto costa una mancata esecuzione. Per un ingresso facoltativo è zero; per una copertura o un’uscita è rischio aperto.
2
Calcola il prezzo peggiore accettabile. Prendi il vantaggio atteso, sottrai commissioni e un margine di sicurezza e fissa il limite a quel pareggio.
3
Scegli la durata. Usa IOC o FOK per prendere liquidità e Day, GTC o GTD per gli ordini in attesa.
4
Stabilisci l’esecuzione minima utile. Usa FOK, o una quantità minima dove supportata, se le piccole esecuzioni non coprono i costi fissi.
5
Scrivi la regola per il residuo. Definisci i nuovi tentativi, il numero massimo di tentativi e che cosa succede a qualsiasi residuo non coperto.
6
Conferma le regole della sede. Controlla le coppie di tipo di ordine e TIF supportate, gli step di size, come vengono riportati i residui e se si applica il last look.
7
Registra e rivedi. Registra ogni ordine, compresi rifiuti e cancellazioni, e regola il limite sulla base dei dati reali di esecuzione.

Errori comuni nella gestione automatizzata degli ordini

  • Dare per scontato che la size richiesta sia stata eseguita. La posizione deve derivare dagli execution report, non dall’ordine inviato.
  • Trattare un FOK cancellato come un errore di sistema. È un esito normale. Un avviso per ognuno ti abitua a ignorare gli avvisi; imposta invece l’avviso sul tasso.
  • Ritentare allo stesso prezzo in un ciclo. Se il prezzo si è mosso, anche il nuovo tentativo fallisce, e i tentativi rapidi possono violare i limiti di messaggi. Riprezza o fermati.
  • Ignorare lo stato sconosciuto. Quando non arriva risposta, l’ordine può essere ancora attivo o già eseguito. Interrogalo con un OrderStatusRequest (35=H) o riconcilia la posizione dopo la riconnessione, prima di inviare un ordine sostitutivo.
  • Riutilizzare i valori ClOrdID. Un tag 11 univoco per ogni ordine, compreso ogni nuovo tentativo, è ciò che rende possibile la riconciliazione.
  • Usare prezzi non aggiornati per il limite. Un limite calcolato da una quotazione in ritardo è troppo stretto o troppo generoso. Un feed di prezzi veloce dà senso alla tolleranza.
  • Testare con esecuzioni perfette. Un backtest che esegue ogni ordine per intero alla quotazione non può distinguere il mercato da IOC e FOK. Modella profondità e rifiuti, oppure fai un forward test con size ridotte.
  • Trasferire le impostazioni tra sedi. Una tolleranza ottimizzata su un broker dice poco su un altro, perché profondità, last look e latenza sono tutti diversi.

Che cosa misurare

Scegliere un tipo di ordine è una questione empirica, e solo un log completo può dare la risposta. I report devono coprire segnali e tentativi, non solo i trade completati.

Metrica Definizione Che cosa ti dice
Fill ratio Quantità eseguita / quantità richiesta Se è troppo basso, il limite è stretto o la profondità è scarsa
Tasso di rifiuto Ordini rifiutati o cancellati / ordini inviati Un aumento improvviso indica cambiamenti nella liquidità o nel broker
Slippage Prezzo di esecuzione meno prezzo di riferimento al segnale, con segno Costo di esecuzione per trade eseguito
Tempo di andata e ritorno Dall’invio dell’ordine al primo execution report Se la sede sta rallentando, per fascia oraria
Netto per segnale Risultato totale / tutti i segnali, compresi quelli mancati Il numero che dovrebbe guidare la tolleranza

Suddividi questi dati per simbolo, sede, ora e tipo di ordine e confronta i risultati prima e dopo ogni modifica. SharpTrader mostra ordini e statistiche di performance con PnL, slippage e tempo di esecuzione: una base pratica per questo tipo di revisione. I tipi di ordine e i valori TIF disponibili in una data configurazione dipendono dal connettore e dal broker, quindi verificali per il tuo conto.

Costruisci l’esecuzione sui tuoi dati

SharpTrader si collega ai broker tramite FIX API e altri protocolli, esegue strategie di arbitraggio e non di arbitraggio e registra slippage e tempo di esecuzione per ogni ordine. Per ottimizzare i parametri su questi dati, SharpTrader Optimizer automatizza la ricerca.

Scopri SharpTraderSharpTrader Optimizer

Scanner di arbitraggio gratuito + breve corso via email

Ricevi il link allo scanner gratuito e alcune email brevi e pratiche di Boris: cosa significa davvero un divario di prezzo dopo i costi, come testare una strategia prima di rischiare denaro reale e quali strumenti sono adatti al tuo mercato. Niente promesse esagerate. Le email sono in inglese.

Inviando il modulo accetti di ricevere email da BJF Trading Group su strumenti di arbitraggio e software di trading. Puoi annullare l’iscrizione in qualsiasi momento. Consulta la nostra Informativa sulla privacy.

Domande frequenti

Qual è la differenza tra IOC e FOK?

Entrambi vengono eseguiti immediatamente e non restano mai nel book. IOC accetta un’esecuzione parziale e cancella il residuo non eseguito. FOK richiede che l’intera quantità venga eseguita subito, altrimenti tutto l’ordine viene cancellato e non avviene alcun trade.

FOK è meglio di IOC?

In generale nessuno dei due è migliore. FOK è adatto ai trade in cui una posizione parziale è inutile o complica la copertura. IOC di solito opera più spesso, perché una parte della size viene eseguita, ma il tuo algoritmo deve gestire correttamente le esecuzioni parziali.

Un ordine FOK può essere eseguito parzialmente?

No. Per definizione un ordine FOK viene eseguito per intero oppure per niente. Se vedi un’esecuzione parziale, l’ordine non era un vero FOK su quella sede: verifica come il broker mappa l’istruzione.

Che cosa succede alla parte non eseguita di un ordine IOC?

Viene cancellata immediatamente e non resta mai nel book. Su FIX ricevi un execution report che chiude l’ordine, di solito come Canceled o Expired a seconda della sede, con LeavesQty pari a 0.

Un ordine a mercato è la stessa cosa di un ordine IOC?

Non esattamente. Un ordine a mercato non ha un limite di prezzo, mentre un IOC di norma ce l’ha. Molte sedi eseguono gli ordini a mercato con un comportamento IOC o FOK, quindi la durata può coincidere, ma solo un limite protegge il prezzo.

Quali sono i valori FIX per IOC e FOK?

Nel campo TimeInForce, tag 59, IOC è 3 e FOK è 4. Il tipo di ordine si imposta separatamente nel tag 40, dove 1 è mercato e 2 è limite.

Tutti i broker forex supportano IOC e FOK?

No. Il supporto dipende dal broker, dalla piattaforma e dal tipo di connessione. Le connessioni FIX API di solito offrono più controllo, ma ogni sede pubblica il proprio elenco di combinazioni accettate di tipo di ordine e time in force.

Questo articolo ha finalità educative e non costituisce consulenza finanziaria. Il book e il modello sono esempi illustrativi, non risultati di trading. Il trading sui cambi comporta un rischio significativo di perdita.