
Trader Workstation supports over 50 order types and algos
that may help limit risk, speed execution, provide price improvement,
allow privacy, time the market and simplify the trading process through
advanced trading functions.

| Order Type | Category | STK | OPT | FUT | FOP | FX | BND | FND | WAR | EFPs | CMB | CFDs |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Order Type | Category | STK | OPT | FUT | FOP | FX | BND | FND | WAR | EFPs | CMB | CFDs |
| Accumulate/Distribute | Algorithmic Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| All or None | Time to Market | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Arrival Price | Algorithmic Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| At Auction | Speed of Execution | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Auction | Price Improvement | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Balance Impact and Risk | Algorithmic Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Basket | Advanced Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Block | Price Improvement | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Box Top | Price Improvement | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Bracket | Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Conditional | Advanced Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Dark Ice The Dark Ice IB Algo lets you specify a display size different from the order size that is shown in the market. Additionally, the Dark Ice algo randomizes the display size +/- 50% and, based on the calculated probability of the price moving favorably, decides whether to place the order at the limit price or one tick better. |
Algorithmic Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Discretionary | Speed of Execution | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Fill or Kill | Time to Market | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Good After Time/Date (GAT) | Time to Market | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Good-till-Canceled (GTC) | Time to Market | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Good-till-Date/Time (GTD) | Time to Market | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Hidden | Privacy | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| IBDARK This order type may be appropriate if you are trying to buy or sell a block of stock by trading against other IB customers without exposing your interest to the public markets. If you want an immediate or faster fill or if you want to expose your trading interest in the public markets, you should not route your order to IBDARK as these orders will not be routed or displayed outside of IB. |
Privacy | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Iceberg/Reserve | Privacy | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Immediate or Cancel (IOC) | Time to Market | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Limit if Touched | Price Improvement | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Limit-on-Close | Price Improvement | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Limit-on-Open | Price Improvement | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Limit | Price Improvement | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Market if Touched | Speed of Execution | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Market on Close | Speed of Execution | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Market on Open | Speed of Execution | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Market to Limit | Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Market with Protection A Market with Protection order is a market order that is cancelled and resubmitted as a limit order if the entire order does not immediately execute at the market price. The order's limit price is set by the exchange to be close to the current market price, slightly higher for a sell order and lower for a buy order. |
Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Market | Speed of Execution | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Midpoint Match (MPM) | Speed of Execution | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Minimize Impact | Algorithmic Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| NYSE Closing Auction D-Quote | Price Improvement | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| One-Cancels-All (OCA) | Advanced Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Passive Relative A Passive Relative order derives its price from a combination of the market quote and a user-defined offset amount. While similar to a Relative order, it applies the offset in the opposite direction to make the order less aggressive, versus the Relative order which applies the offset to become more aggressive. |
Price Improvement | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Pegged-to-Market | Speed of Execution | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Pegged-to-Midpoint | Price Improvement | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Pegged-to-Stock | Speed of Execution | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Percent of Volume | Algorithmic Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Relative/Pegged-to-Primary | Speed of Execution | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Request-for-Quote (RFQ) | Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Retail Price Improvement (RPI) The Retail Price Improvement (RPI) order is a liquidity-adding order that works within the parameters of the NYSE Retail Price Improvement program. This program allows qualified stock orders to fill against eligible, hidden RPI orders that offer price improvement over the current best bid and offer. |
Price Improvement | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Scale | Algorithmic Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Spreads | Advanced Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Stop - Adjustable | Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Stop - Trailing Stop Limit A trailing stop limit for a sell order sets the stop price at a fixed amount below the market price and defines a limit price for the sell order. If the market price rises, the stop loss price rises by the increased amount, but if the stock price falls, the stop loss price remains the same. When the order triggers, a limit order is submitted at the price you defined. The reverse is true for a buy trailing stop limit order. |
Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Stop - Trailing Stop | Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Stop Limit | Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Stop with Protection | Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Stop | Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Sweep-to-Fill A Sweep-to-Fill order identifies the best price and the exact quantity offered/available at the price, and transmits the corresponding portion of your order for immediate execution. Simultaneously it is identifying the next best price and quantity offered/available, and submits the matching quantity of your order for immediate execution. |
Speed of Execution | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Trailing Limit if Touched | Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Trailing Market if Touched A TRAIL MIT (Trailing Market-if-Touched) is is similar to a trailing stop order, except that the sell order sets the initial stop price at a fixed amount above the market price instead of below. This order is held in the system until the trigger price is touched, and is then submitted as a market order. |
Limit Risk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| TWAP | Algorithmic Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Volatility | Advanced Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| VWAP - Best Efforts | Algorithmic Trading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| VWAP - Guaranteed The VWAP for a stock is calculated by adding the dollars traded for every transaction in that stock ("price" x "number of shares traded") and dividing the total shares traded. By default, a VWAP order is computed from the open of the market to the market close, and is calculated by volume weighting all transactions during this time period. TWS allows you to modify the cut-off and expiration times using the Time in Force and Expiration Date fields, respectively. |
Privacy | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
IB simulates certain order types (for example, stop or conditional orders). Where IB simulates an order type, IB's SmartRouting system will manage the order to try to achieve the same outcome as an order type offered "natively" by an exchange. Simulated order types may be used in cases where an exchange does not offer an order type or in cases where IB does not offer a certain order type offered natively by an exchange. While simulated orders offer substantial control opportunities, they may be subject to problems relating to performance of third parties outside of IB control, such as market data providers and exchanges.
Although we attempt to filter external data to ensure the best possible execution quality, IB cannot anticipate all of the reasons that a simulated order may not receive an execution, or may receive an erroneous execution. Unsatisfactory (non)executions may result from events, including [i] erroneous, missing or inconsistent market data; [ii] IB data filters (example: we may ignore last sale data that is reported outside the prevailing bid-ask as it often represents untimely or erroneous transactions; this may impact triggering of simulated orders); [iii] transactions subsequently deemed erroneous by an exchange; [iv] market halts and interruptions.
Customers should understand the sensitivity of simulated orders and consider this in their trading decisions.