IFO Order
An IFO (If-Filled/OCO) order is a conditional order that automatically places a take-profit and a stop-loss once a specified trigger price is reached, effectively creating a bracketed trade.
Quick Definition Box
An IFO order is a three-part instruction: a trigger price, a take-profit level, and a stop-loss level. When the market hits the trigger, the order becomes active, and both the take-profit and stop-loss are placed simultaneously as an OCO (One-Cancels-Other) pair. This allows traders to automate entry and exit without monitoring the chart constantly.
Detailed Explanation
The IFO order is a compound order type used primarily in forex and CFD trading platforms. It combines two distinct mechanisms: the "If-Filled" condition and the "OCO" (One-Cancels-Other) execution logic. The name itself is a contraction of these two components.
How the "If-Filled" component works:
The first part of an IFO order is a conditional trigger. You specify a price level at which you want the trade to become active. This trigger can be set above the current market price (for a buy stop) or below it (for a sell stop). Until the market reaches that trigger price, the order remains dormant—it does not interact with the order book. For example, if EUR/USD is trading at 1.0850 and you set an IFO buy trigger at 1.0900, nothing happens until price touches 1.0900. At that moment, the order "fills" and becomes a live market position.
How the "OCO" component works:
Simultaneously with the trigger, you define two additional price levels: a take-profit (TP) and a stop-loss (SL). These are not placed immediately; they are queued to be placed the instant the trigger fills. Once the position is open, both the TP and SL are active as an OCO pair. This means that if one of them executes, the other is automatically canceled. For instance, if your TP at 1.0950 is hit, the SL at 1.0850 is removed from the system. This prevents accidental double execution.
Key parameters of an IFO order:
- Trigger price: The level that activates the trade.
- Order type at trigger: Usually a market order, but some platforms allow limit orders.
- Take-profit price: The level where you lock in profit.
- Stop-loss price: The level where you cap losses.
- Validity: Most IFO orders are "Good for Day" or "Good Till Canceled," depending on the broker.
A practical numeric example:
Suppose you trade GBP/USD at 1.2700. You anticipate a breakout above 1.2750 but want to limit risk. You place an IFO order:
- Trigger: 1.2750 (buy stop)
- Take-profit: 1.2820 (70 pips above trigger)
- Stop-loss: 1.2710 (40 pips below trigger)
If price never reaches 1.2750, the order expires or remains pending. If price hits 1.2750, you enter long. Immediately, a TP at 1.2820 and an SL at 1.2710 are placed. If price rises to 1.2820, you gain 70 pips and the SL is canceled. If price falls to 1.2710, you lose 40 pips and the TP is canceled.
Real-World Example
Let’s walk through a complete scenario using USD/JPY.
Current market: USD/JPY trades at 149.20.
Trader’s view: Expects a rally if price breaks above 149.80, but wants to exit if it falls below 149.00.
IFO order placed:
- Trigger: 149.80 (buy stop)
- Take-profit: 150.60 (80 pips above trigger)
- Stop-loss: 149.00 (80 pips below trigger)
Scenario A – Trigger hit, TP hit:
Price rises to 149.80, your buy executes. The platform instantly places TP at 150.60 and SL at 149.00. Over the next hour, price climbs to 150.60. Your TP fills, you earn 80 pips (minus spread). The SL is automatically canceled.
Scenario B – Trigger hit, SL hit:
Price reaches 149.80, you enter long. But then price reverses and drops to 149.00. Your SL fills, you lose 80 pips. The TP is canceled.
Scenario C – Trigger never hit:
Price stays below 149.80 all day. The IFO order remains pending and expires at the end of the trading day (if GFD) or stays until canceled (if GTC). No position is opened, no loss occurs.
This example shows how the IFO order removes the need to watch the screen after setting the trigger. The trade is fully managed from entry to exit.
Why It Matters for Traders
The IFO order is valuable for traders who cannot monitor the market continuously. It addresses three common problems:
- Missed breakouts: A trigger above resistance ensures you enter only when momentum confirms the move, avoiding premature entries.
- Unmanaged risk: The pre-placed stop-loss guarantees that a losing trade is cut off at a predefined level, even if you are away from the screen.
- Profit locking: The take-profit ensures you exit at a favorable level without emotional interference.
Compared to a plain limit-order or market-order, an IFO order bundles entry and exit into one instruction. This reduces the number of separate orders you need to manage and lowers the risk of forgetting to place a protective stop.
However, it is not a perfect tool. The trigger price must be reached exactly; if the market gaps over your trigger, your fill may occur at a worse price. Also, the stop-loss and take-profit are fixed—they do not adapt to market volatility. For dynamic protection, a trailing-stop might be more suitable, but that requires a separate order after entry.
Common Misconceptions
Misconception 1: "IFO orders guarantee my entry price."
False. The trigger activates a market order, not a limit order. If price gaps or moves fast, your actual fill may differ from the trigger. For example, if your trigger is 149.80 but price jumps to 150.10 in one tick, you enter at 150.10, not 149.80.
Misconception 2: "The stop-loss and take-profit are placed before the trigger fills."
Incorrect. They are queued but not active until the trigger executes. If the trigger never fills, no SL or TP exists. This is different from an OCO order placed on an existing position.
Misconception 3: "IFO orders are the same as a stop-limit order."
No. A stop-limit order uses a limit price after the trigger, meaning you might not get filled if price moves away. An IFO uses a market order after the trigger, guaranteeing a fill (though not a price). The IFO also includes both TP and SL, which a stop-limit does not.
Misconception 4: "You can modify the TP or SL after the trigger fills."
Yes, you can—most platforms allow you to edit or cancel the TP and SL once the position is open. But doing so defeats the purpose of automation. The IFO is designed to be set-and-forget.
Related Terms
- stop-loss: A protective order that closes a position at a predetermined loss level. The IFO’s SL component works exactly like this.
- take-profit: An order that closes a position at a predetermined profit level. The IFO’s TP component is identical.
- trailing-stop: A dynamic stop-loss that moves with price. Unlike an IFO’s fixed SL, a trailing stop adjusts automatically.
- limit-order: An order to buy or sell at a specified price or better. The IFO’s trigger is a stop, not a limit, but the TP component is a limit order.
- market-order: An order executed immediately at the current price. The IFO’s trigger fills as a market order.
How XM Compares
XM offers IFO orders on its MT4 and MT5 platforms, allowing traders to set a trigger, take-profit, and stop-loss in one step. The availability of IFO orders may depend on the account type and the specific instrument traded. XM’s execution model generally supports this order type for forex and CFD products, but conditions such as minimum distance from market price, maximum order size, and platform version can affect usage. Traders should verify the current IFO order specifications, including any restrictions on pending orders, on XM’s official website or within the platform’s order ticket. As with all order types, slippage and market gaps can impact final execution prices.
Compliance Footer
⚠️ This glossary entry is educational. Forex/CFD trading carries high risk. This is not investment advice.
See all glossary entries: /en/glossary