FTX offers Stop-loss limit, Stop-loss market, Trailing stop, Take profit, and Take Profit limit orders. These orders do not enter the orderbook until the market price reaches a trigger price, at which point they are sent as orders on the market.
You can send these orders by changing the Order Type on Trade pages:
To summarize the options:
- Stop-loss buy orders are sent when the market price exceeds their trigger price. Stop-loss sell orders are sent when the market price drops below their trigger price.
- Take profit buy orders are the opposite: buy orders sent when the market price drops below their trigger price, and sell orders are sent when the market price exceeds their trigger price.
- Trailing stop orders are like stop-losses, but their trigger prices change as the market moves.
- IOC orders will only take, and post-only orders will only provide
- Note that having an advanced order does not guarantee a fill! In particular, having any type of limit, IOC, or post-only order might not get filled if the conditions are not met. If you send a (normal/stop/trailing stop/take profit) limit order, the market might have moved beyond your limit price by the time your order is executed. If you send an IOC, it will be canceled if it would not immediately trade; and if you send a post-only order, it will be canceled if it would immediately trade.
- Note that the price market orders get filled at will depend on their size and market conditions, and might differ significantly from the market price at the time. If you want to control the execution price of an order, use a limit order instead.
- Note further that there are price bands on FTX. This means that, even if you send a market order, if it would move the orderbook by more than a few percent, it might not be fully executed.
- Note that the percentage of position and leverage sliders on the order entry form are just approximations. The actual fraction of your position that an order represents will depend on your other orders and trades. The actual size of an order is purely based on the amount of the future/coin/etc. that you are sending; when in doubt confirm that it's what you want.
- We recommend using "Retry until filled" after reading and understanding the section on it below. While FTX will attempt to maintain orderly, liquid markets, fills--or lack thereof--from orders will depend on FTX's market conditions. Whether or not an order gets a fill--and if so what price--will depend on the order parameters and the orderbooks on FTX and its indexes, and by placing an order you are accepting responsibility for its results.
Stop-Loss (Limit and Market)
When creating a stop-loss order, you directly input the desired trigger price. If you are buying, the order will get sent when the market price exceeds your trigger price. If you are selling, the order will get sent when the market price drops below your trigger price.
Example: BTC-PERP is trading at $10,000. You enter a buy stop-loss order with a trigger price of $10,500 and size 5. When the market moves up to $10,500, your stop-loss order will get triggered, and FTX will turn it into a 5 BTC-PERP buy order.
It will be sent as a market order if you selected Stop Market. Otherwise, it will be sent as a limit order at the limit price.
Take profit (Limit and Market)
Like for a Stop-loss order, you directly input the trigger price when creating a Take profit order. If you are buying, the order will get sent when the market price drops below your trigger price. If you are selling, the order will get sent when the market price exceeds above your trigger price.
Example: BTC-PERP is trading at $10,000. You enter a buy Take profit order with a trigger price of $9,500 and size 5. When the market moves down to $9,500, your take-profit order will get triggered, and FTX will turn it into a 5 BTC-PERP buy order.
It will be sent as a market order if you selected Take profit. Otherwise, if you selected Take profit limit, it will be sent as a limit order at the limit price.
The trigger price of a trailing stop order moves with market price. Instead of directly supplying the trigger price, you give a trail value.
Suppose you are buying. If the market price moves up by the trail value, your order will trigger. If the market price moves down past the lowest point seen since you entered your order, then it'll only trigger if the price moves up by trail value from that new lowest point.
If you are selling, the trail value must be negative.
Example: BTC-PERP is trading at $10,000. You enter a buy stop loss order with trail value 10 and size 5. As long as the market price never dips below $10,000, the order's trigger price is $10,010. If BTC-PERP dips down to $9,998, then the trigger price will follow it down to $10,008. If BTC-PERP moves up to $10,008, your order will trigger and a market order buy for size 5 will be sent.
Retry until filled
FTX offers the ability to retry all trigger market orders (Stop-Loss, Take Profit, and Trailing Stop) until they get filled.
When a trigger order becomes triggered, it's possible for the order it sends to fail: the account may not have enough margin, price bands during sharp market moves might prevent market orders from matching against other orders, etc. In these cases, it may be preferable to retry sending the triggered order until their overall triggered order size is filled.
You can see the result of each trigger on the Trigger Order History page. Click the "+" button on any trigger order set to Retry to view all its triggers.
Retried triggers will be sent when the standard conditions around mark price and trigger price are met. Note that this might mean that if markets move, some of the fills on your retried orders might be at prices far away from your trigger price. This is, in many cases, a feature: you might want to close your position regardless of price given that your trigger condition is met. If this is not something you want, then instead use triggered limit orders or turn off the 'Retry' option.
Reduce-only orders will stop retrying when your position is fully closed.
Please note that when editing trigger orders that are live but partially filled, the size you specify sets the size of the new order; if you have an trigger order out for size 10 BTC-PERP that receives 1 BTC-PERP in fills, submitting a edit request with size 9 sets it to size 9, not 8!
Note that all of the stop order types are triggered by the mark price of the relevant market. Mark price is the median of bid, ask, and last.
FTX also offers a few other order types:
If you send a post only order ('POST' in the UI), your order will not be allowed to take. So if it would provide it will be sent as a normal limit order, but if it would cross the book it will be canceled instead.
For instance, say the orderbook looks like this:
If you send a post only bid at a price of 10,750, it will be placed normally. But if you send a post only bid at a price of 10,765, it will be canceled because it would otherwise have taken the 10,761.50 offer.
This means that post-only orders only pay maker fees; they can never be charged taker fees.
Immediate or cancel (IOC) orders are the opposite of post only: they can only take. If you send an IOC that would not immediately trade, it will be canceled.
For instance, say the orderbook looks like this:
If you send an IOC bid at a price of 10,750, it will be canceled, because it isn't allowed to make. If you send an IOC bid at a price of 10,765, however, it will trade normally. If you send an IOC bid at a price of 10,761.50 for a size of 100, then 71.2848 of the bid will trade against the offer and the rest will be canceled.
If you send a reduce only order, it will only trade if it would decrease your position size. You can find more details here.
A market order is an order sent as far through the book as possible. That means that, if you send a market order to buy 2 BTC-PERP, it will fill you at whatever the lowest offer is for 2 BTC-PERP on the orderbook, independent of the price.
Normally this means that market orders (and stop market orders) will get fully filled but that it could be at any price. However, note that there are also price limits in place on FTX that prevent an order from trading too far through the book; these are in place to prevent a market order from accidentally moving a market 60% during an illiquid period. These price limits mean that, if there isn't sufficient size bid/offered within the price limits of the best bid/offer, your market order might not be fully filled. The price limits are: 25% through the orderbook for spot markets (including leveraged tokens), 2% through the book for futures markets, and 2% of the underlying asset for MOVE markets.
In general, a limit order is an order sent that will buy/sell up to a certain price. For instance, if you send a limit buy order with a limit price on BTC with a limit price of $10,100, that means you are willing to pay up to $10,100 for BTC. Your order will trade against any resting offers below $10,100, and if it is not fully filled it will leave out a providing bid at $10,100 for the remaining size.
Limit orders are not guaranteed to get filled--if no one is willing to sell below your limit price (or buy above, in the case of a sell limit order) then the order will not be fully filled and the remainder will be sent as a providing order on the orderbook at the limit price. However, limit orders do guarantee that to the extent you do get filled on it, the fills will be at a price no worse than your limit price.