When placing a limit order or a conditional limit order, you might notice three order execution options – Good till Cancelled (GTC), Immediate or Cancel (IOC) and Fill or Kill (FOK). What are the differences?
(Bybit offers three different types of limit order executions.)
The main difference lies in the time in force. Let’s look at some examples to understand how they are used.
GTC order will remain valid until the order is executed or manually cancelled by the trader.
Ann plans to buy 100,000 BTCUSD contracts, but she finds the current price of $7,200 too high. Ann sets a limited GTC order to buy in at $7,000. Ten days later, the order is finally executed as price falls to $7,000. If the price continues to soar, Ann’s GTC limit order will remain pending and never gets filled, or she will have to cancel the order.
GTC is for traders who have specific price targets. GTC order can be cancelled at any time before it is executed. Even when the order is filled partially, the rest can still be cancelled.
Immediate or Cancel (IOC)
An IOC order will be executed at order price (or better price), while the unfilled contracts will be cancelled immediately. If entire order is not filled immediately, it will be cancelled; if only part of the order is filled immediately, the unfilled portion will be cancelled.
The current best sell price is $7,050. Ann wants to long 1,000,000 BTCUSD contracts at this price immediately. She sets an IOC limit order at $7,050.
Scenario 1: There are only 800,000 contracts offered at $7,050. 800,000 BTCUSD contracts are filled, while the unfilled 200,000 contracts will be cancelled immediately.
Scenario 2: The $7,050 sell order has been taken by other buyers or the seller has cancelled the order, and the best sell price moves to $7,051 by the time Ann places her order at $7,050. Ann’s OIC order will be cancelled immediately.
Fill or Kill (FOK)
FOK order must be executed entirely at order price (or better price). If not, it will be cancelled automatically. No partial fills are allowed.
Ann wants to buy 1,000,000 BTCUSD contracts at the price of $7,050 immediately, and she sets FOK limit buy at $7,050.
Scenario 1: There are only 800,000 contracts for sales at the price of $7,050. Her FOK order will be cancelled immediately.
Scenario 2: There are 2,000,000 contracts offered at the price of $7,050. Her FOK order is executed. If another 100,000 contracts are offered $7,049 and 2,000,000 contracts at still offered at $7,050, Ann’s buy order will of course still be filled.
Both IOC and FOK are commonly used for large orders, and used in high-frequency trading, arbitrage, market making and scalping strategy for timely execution. For example, FOK can be used to test market depth and direction. Scalpers’ trade decisions change quickly as market condition moves. A buy price may be a sell price just a bit later. Scalpers won’t spare time to manually cancel unfilled orders.