Time in Force applies to all limit orders, allowing traders to specify how long their limit order remains active. There are three options for Time in Force; GoodTillCancel, ImmediateOrCancel, and FillOrKill.
The order panel shows the Time in Force options at the lower right-hand side. Click on the blue arrow to select your option.
GoodTillCancel specifies that the limit order remains active until it is filled or it is cancelled. When placing a limit order, the default setting for Time in Force is GoodTillCancel.
For example, if you wanted to set a limit order to buy 10,000 BTC-PERP contracts at $8,000 but there were only 9,000 contracts on the ask side of the order book at $8,000, your position of 9,000 BTC-PERP contracts would be opened once the price hits $8,000. The remaining 1,000 contracts of the order will be executed once more asks are placed at $8,000.
If there is any portion of the limit order that is not filled after placement, it is cancelled. Using ImmediateOrCancel reduces the chances of getting an unfavourable fill price in an illiquid market as well as ensuring full or partial execution in a strong trend.
The ImmediateOrCancel option is useful for submitting large orders to prevent the order from being filled at different prices.
If you set a limit order to buy 10,000 BTC-PERP contracts at $8,000 when specifying ImmediateOrCancel and there are only 9,000 contracts on the ask side of the order book, your position of 9,000 BTC-PERP contracts would be executed. The remaining 1,000 contracts would be cancelled.
The limit order is only executed if the full quantity can be immediately filled. FillOrKill is useful for day traders and traders using lower timeframes, as they will want to get their position filled at a single price to take advantage of a short-term move.
If the order is not filled entirely at the limit price, the market may move and the trader would end up with a worse entry price if FillOrKill was not used.
Suppose you set a limit order to buy 10,000 BTC-PERP contracts at $8,000 but there are only 9,000 contracts on the ask side of the order book at a price of $8,000. In this case, using FillOrKill will mean that your order will not be completely filled and therefore is not executed. If you set a limit order to buy 9,000 contracts using FillOrKill, the limit order would be executed.