What is Immediate or Cancel in forex and CFD trading
An Immediate or Cancel (IOC) order is a time-in-force instruction requiring that any portion of a market or limit order that can be executed immediately must be filled, and any unfilled remaining quantity must be instantly canceled. The Immediate or Cancel instruction matters because it ensures that a trader gets the maximum possible execution size at the current price, without leaving any residual order volume to contend with price changes or liquidity withdrawal. A trader can verify the use of an IOC order by selecting the order option, typically labeled “IOC” or “Immediate or Cancel,” within the order entry screen and then checking the trade history to see the partially filled quantity and the canceled balance. You can learn more about related trading concepts in our forex glossary.
Key facts about Immediate or Cancel
- Execution Time: The order must be executed instantly upon submission; any delay in matching will result in cancellation of the unmatched portion.
- Partial Fills: IOC orders permit partial fills; if 60% of the requested volume is available immediately, that 60% is filled, and the remaining 40% is canceled.
- Order Book Visibility: The unfilled portion of an IOC order is never displayed in the market’s public order book, ensuring minimal market impact from the residual volume.
- Use Case: IOC is frequently used by professional traders and algorithms seeking to access available liquidity quickly without creating a lasting order book presence.
- Liquidity Risk Management: This instruction manages liquidity risk by immediately removing order exposure to unfavorable price changes that might occur if the remainder was left pending.
- Availability: IOC is usually available on institutional platforms, FIX API connections, and advanced retail platforms like MetaTrader 5 (MT5) and TraderEvolution.
- Pricing: When applied to a limit order, the executed portion must be filled at the specified limit price or better, ensuring favorable or requested pricing.
How Immediate or Cancel works in forex and CFD trading
The Immediate or Cancel mechanism is an instruction that dictates how the broker’s execution engine handles the order volume and timing.
The process involves these sequential actions:
- Order Submission: A trader submits an order for 10 standard lots of EUR/USD and specifies the time-in-force as Immediate or Cancel.
- Liquidity Check: The broker’s aggregator instantly queries the available liquidity from all connected liquidity providers at the best current price or the specified limit price.
- Maximum Instant Fill: The system identifies the maximum volume that can be matched instantaneously, for example, 7 standard lots are available at the requested price.
- Execution (Partial Fill): The available 7 standard lots are executed immediately, establishing a live position for that quantity.
- Cancellation (Remainder Kill): The remaining 3 standard lots, which could not be filled instantly, are automatically and immediately canceled.
- Confirmation: The trader receives confirmation of the 7-lot execution and notification of the 3-lot cancellation; no portion of the order is left pending.
Example of Immediate or Cancel with a real trade
This example demonstrates the execution outcome and resulting exposure when using an Immediate or Cancel order during fluctuating liquidity.
- Scenario: A trader needs to sell 15 standard lots of EUR/USD quickly at the market price, which is currently 1.1000 Bid.
- Entry Type: Sell Market Order with IOC instruction Current Market Bid: 1.1000 Position size: 15 standard lots (1,500,000 units)
- Liquidity Available at 1.1000 Bid:
- Liquidity Provider A: 5 standard lots
- Liquidity Provider B: 8 standard lots
- Total Available Instant Liquidity: 13 standard lots
- IOC Order Execution:
- Instantaneous Fill: 13 standard lots are executed immediately at 1.1000.
- Remaining Unfilled Quantity: 15 lots requested – 13 lots filled = 2 lots remaining.
- Cancellation: The remaining 2 lots are instantly canceled due to the IOC instruction.
- Result: 13 standard lots sold at 1.1000, with 2 lots canceled. Initial exposure is 13/15 of the intended size. Zero commission structure eliminates per-trade execution costs on the filled portion.
How Immediate or Cancel affects your cost and risk
The IOC instruction optimizes execution price and speed for the filled quantity, but it introduces volume uncertainty. It guarantees that a trader will not suffer execution slippage on the filled portion beyond the current quoted price or the limit price, while minimizing the risk of a pending order being executed later at a much worse price.
Immediate or Cancel compared with related concepts
Immediate or Cancel (IOC) vs Good-Til-Canceled (GTC)
Immediate or Cancel requires instantaneous execution of whatever volume is available, with the remainder canceled, whereas Good-Til-Canceled (GTC) allows the order to remain active and pending in the order book until it is either fully filled or manually canceled by the trader. IOC prioritizes speed and immediate cancellation, while GTC prioritizes eventual full fill at the target price.
Immediate or Cancel (IOC) vs Fill or Kill (FOK)
Immediate or Cancel permits partial fills as long as they occur instantly, with the rest canceled, whereas Fill or Kill demands the entire, 100% requested volume be filled instantly; otherwise, the whole order is canceled. IOC is focused on accessing current liquidity without delay, accepting partial execution, while FOK demands volume certainty.
Broker differences in Immediate or Cancel across the industry
The implementation of the IOC order type depends on how efficiently a broker can connect to and aggregate liquidity sources. Institutional liquidity brokers are generally better equipped to handle IOC orders accurately due to their aggregated price feeds.
How to verify Immediate or Cancel on your trading platform
Verifying the availability and proper function of an IOC instruction requires using an advanced platform such as MetaTrader 5 or TraderEvolution.
- Open the Order Window: Launch the New Order window for a liquid instrument like EUR/USD.
- Select Limit Order: Choose to place a Buy Limit or Sell Limit order, as IOC is often tied to non-market orders.
- Locate Time in Force (TIF): Find the Time in Force dropdown menu or option panel, usually located near the order expiry settings.
- Select IOC: Choose the “Immediate or Cancel” (IOC) instruction from the list of TIF options.
- Enter Order Details: Set a large volume, for instance, 10 standard lots, and submit the order with a slightly unfavorable price to force a partial fill or cancellation.
- Review History: Immediately check the Trade History or Journal log. The result must show a partial fill (e.g., 6 lots filled) and an immediate subsequent cancellation entry for the remainder (4 lots canceled).
- Sanity check: If the unfilled portion remains in the “Pending Orders” tab after a few seconds, the order defaulted to a Good-Til-Canceled instruction, not IOC.
Related Tools
Use these calculators to apply what you've learned:
- Pip Value Calculator
Calculate pip value for any pair
- Position Size Calculator
Size your position correctly
- Drawdown Calculator
Track your risk
- Compare Costs
Compare trading costs to current broker
- Live Spreads
Trade live institutional spreads verified the lowest all-in costs globally
No Fine Print. Better Trading Economics.
Built on transparency. Lowest total trading costs.
Execution you can measure. Rewards shared with you.