Several weeks ago we have added posibility to use IOC orders on FIX API accont for Latency (1-leg) Arbitrage Software.
An IOC order requires all or part of the order to be executed immediately, and any unfilled parts of the order are cancelled. Partial fills are accepted with this type of order duration, unlike a fill-or-kill order, which must be filled immediately in its entirety or be cancelled.
Today we also improved Lock Arbitrage Software and you can use it now on FIX API brokers not only with FOK orders but with IOC as well. It is big improvement because if you trade lot size higher than 0.01, FIX API broker may lack liquidity.
Warning: You need to use Lock Arbitrage version 1.9 or higher.
A fill or kill (FOK) order is "an order to buy or sell a stock that must be executed immediately"—a few seconds, customarily—in its entirety; otherwise, the entire order is cancelled; no partial fulfillments are allowed.
This situation is most often found on important economic news, when broker recieves a lot of orders, or if you are trading a large lot size. if you use FOK orders, you order will be rejected. But if you use IOC, broker will execute available part of order.
It is alos useful if your broker has no FOK orders and you can use only market orders or IOC orders.
FOK and IOC order alows you to control slippage. It means if you set slippage = 1pip, order will not be ececuted with higher slippage. it is very important for arbitrage strategies.
For example if we set FOK orders and slippage 0.3 and price on fast feed for EURUSD 1.34560 and price on slow broker 1.34550 and we trade 1 lot, BUY EURUSD order will be executed on slow broker by price 1.34553 (1.34550+ 0.3) or rejected.
If we set IOC orders and slippage 0.3 and price on fast feed for EURUSD 1.34560 and price on slow broker 1.34550 and we trade 1 lot, BUY EURUSD order will be executed on slow broker by price 1.34553 (1.34550+ 0.3) or part of order will be executed by price 1.34553.