What is a stop order?
A stop order basically allows you to place a buy or sell order after the index price has touched a specific point, called a Stop Price or Trigger Price. When placing a stop order, you specify if you would like to buy/sell, and then provide an amount and a stop price. Once the index price touches your stop price, a Fill-or-Kill order will automatically be placed to limit buy/sell your order amount.
The limit price will be 5% higher (for buys) or 5% (lower) for sells than the trigger price. This is to account for large price swings where the index price does not update as fast as the orderbook. This also means that in times of extreme volatility, the stop order may not execute as it may not be fillable when triggered.
What is the index price?
dYdX uses two types of index prices. One index price is an aggregate on-chain price that uses multiple price oracles from different exchanges. All liquidations on dYdX are determined based on this on-chain index price. Having liquidations based off an aggregate price like this helps protect users from being stop-hunted via orderbook manipulation.
The other type of index price is used for triggering stop orders. This index price is also an aggregate price based off of multiple exchanges, but is off-chain and therefore updates much quicker to ensure accurate stop order triggers which is very important in times of rapid market fluctuation.
Where do I access stop orders on dYdX?
There are two ways to place a stop order. If you have open positions you would like to place a stop on, go to the Positions tab and hover over the column called Stop Price. This will reveal a button you can then click to add or edit the stop associated with your position.
You can also place stop orders in your main account by clicking the Trade tab in the sidebar and selecting the Stop order type.
Stop orders on Perpetuals are similar to this latter method - they exist on the trade sidebar on the left hand side.
How do I cancel a stop order on my position?
Open the modal to edit the stop on your position using the instructions above. Then click the Clear button. You will see the button text on the bottom right of the modal change to Remove Stop. Clicking the button and signing the cancel message will cancel the stop associated with that position.
Is there a minimum trade size for stop orders?
The minimum size for stop orders is the same as limit orders: 0.1 ETH for ETH-DAI, ETH-USDC or 20DAI for DAI-USDC.
Can I have multiple stop orders in the same market or position?
For open positions, your stop order will automatically fully close your position, so only one stop order is allowed per position. For trades placed on the " tab, there is no limit to the number of stop orders you can have for each market, as long as those orders can't potentially put your main account under the collateralization threshold.
Can I place stop orders on margin?
Yes - stop orders can be places on margin so long as you maintain a sufficient collateral ratio - 125%. If you have open stop orders and your collateral ratio falls below that threshold, orders will be cancelled based on distance to mid-market price (closest to mid market will be cancelled first). This is because orders further away from mid market impact your collateralization level less than orders closer to mid market.
What are the trading fees for limit orders? What about gas?
Since Stop orders are executed as taker orders, the fees are the same as taker orders. Gas fees are covered by dYdX.