Spot Trading - Instruction of Order Types

okex.comIssued on 2020/06/03 15:23    Content based on the original text . Link

1. Limit Order

A limit order is an order to buy or sell an amount at a specific price or better. After the order is placed, the system will post it on the order book, and match it with the orders available - at the price specified or better.

Case 1: Assuming that the current BTC market price is 13,000 USDT, if a user wants to buy at 12,900 USDT, he can select order type “Limit” and set the buy price as 12,900 USDT. After the order is placed, the order will be filled automatically when the price drops to 12,900 USDT or below.

 

2. Advanced Limit Order

Advanced limit order offers 3 more order options than a regular limit order, including “Post Only”, “Fill or Kill” and “Immediate or Cancel”. The regular limit order has been defaulted as “Good till Canceled”.

(1) Post Only: it never takes liquidity and makes sure the user will be a market maker. If a post-only limit order would cause a match with an existing order, the order will be canceled.

(2) Fill or Kill: it makes sure the order is executed or canceled entirely without partial fulfillments.

(3) Immediate or Cancel: it requires all or part of the order to be executed immediately, and any unfilled parts of the order are cancelled.

Examples, if a user wants to buy BTC and the order book is shown as below:

(1) The user wants to get a Maker Fee, he can select the “Post Only” option under the Advanced Limit Order. If the buy price is 18,726 USDT, the order will not be filled, so the order will be placed and the user will be maker. If the buy price is 18,737.25 USDT, the order will be executed with the sell one in the order book, and the user will be taker, then the order will be cancelled immediately;

(2) If the user selects the “Fill or Kill” option, sets the buy price as 18,745.75 USDT and the order amount as 300 BTC, as the total available amount on the order book is 266 BTC (1+1+8+100+156), the order amount is not fulfilled (300-266=34 BTC) so the order will be canceled entirely. But if the order amount is 266 or less than 266 BTC, the order will be placed and filed;

(3) The user selected the “Immediate or Cancel” option, set the buy price as 18,745.75 USDT and the order amount is 300 BTC, as the total available amount on the order book is 266 BTC (1+1+8+100+156), 34 BTC (300-266) will not be fulfilled, so the order will only be executed with 266 BTC and the unfulfilled 34 BTC will be canceled.

 

3. Market Order

A market order is an order to buy or sell an amount immediately at current market price. Note: Value of single market price order cannot exceed 100,000 USDT.

Case 1: Assuming that the current BTC market price is 13,000 USDT, if a user wants to buy BTC immediately at market price, he can select order type “Market” and set the buying amount as, for example, 20,000 USDT. After the order is placed, the order will be filled immediately, the unfilled part of the order will be canceled. In a fast-moving market, the final buy price of this order may not be 13,000 USDT, but the real-time market price, which may be higher than 13,000 USDT or lower than 13,000 USDT.

 

4. Algo Order

Algo order is a set of instructions for placing a trade at predefined price and volume. All logic of the algo orders is fixed and well-explained in the document. Instructions will be carried out according to the defined parameters. The platform will not manually interfere the execution process of the order.

Algo trading tools allow users to enter trade information in advance to save time from execution when the right moment arrives. Users may also use algorithmic trading tools as reminders of the day's trading strategy, to avoid bad executions due to the distractions from the live market.

Algo orders will not be executed if the conditions pre-set are not met. Also, our system will not place a hold on the funds of user's account if an algo order is made. However, the algo order triggered will be canceled if the account does not have sufficient funds for its execution.

4.1 Stop Order

Stop Order is a set of instructions for placing a trade order at predefined parameters. When the latest market price reaches the trigger price, the system will automatically place order according to the pre-set price and amount.

When a Stop Order is triggered, if the user's account balance is lower than the order amount, the system will automatically place order according to the actual balance. If the user's account balance is lower than the minimum trading amount, order cannot be placed.

Stop Order strategy includes stop-limit and stop-market orders.

(1) Stop - LimitIf a user places a stop order with the limit price, when the stop order is triggered, the system will put the order to the market in the form of a limit order.

Case 1 (Buy with Stop - Limit):

BTC is at 6,600 USDT and the user believes if the price falls to 6,500 USDT, it falls further. Thus, the user wants to buy BTC at 6,450 USDT when the price reaches 6,500 USDT. As shown in the figure below: select the order type "Stop Order", set the trigger price to 6,500 USDT, and the order price as 6,450 USDT with the amount of 10 BTC. When the price of BTC reaches 6,500 USDT or below, the condition of the trigger price is met, the order will be triggered, and the system will put the order to the market in the form of a limit order: the buy price is 6,450 USDT, and the buy amount is 10 BTC. Note: If the user's available USDT balance is 1,000 USDT at this time, because 1,000 USDT is not enough to buy the order amount (10 BTC), the system will put the limit order to the market with the amount that 1,000 USDT can buy, if the user's available balance is 0 USDT at this time, the order will not be placed.

Case 2 (Sell with Stop - Limit):

BTC is at 6,600 USDT and the user believes the price will rise further if it can reach 6,800 USDT. Thus, the user wants to sell 10 BTC at 6,850 USDT when the price reaches 6,800 USDT. He can open a Stop-Limit order, as shown in the figure below: when the price reaches 6,800 USDT or above, the order will be triggered, and the system will put the order to the market in the form of a limit order: the sell price is 6,850 USDT, and the sell amount is 10. If the user has only 8 BTC balance at this time, which is lower than the order amount (10 BTC), the system will automatically post an order of 8 BTC to the market. If the user's balance is 0.0001 BTC which is smaller than the minimum trading amount 0.001 BTC, the order cannot be placed.

When using Stop – Limit,to ensure that the order can be filled after being triggered, it is recommended to set the order price and trigger price as two prices close to each other.

(2) Stop - MarketIf a user places a stop order with the market price, when the stop order is triggered, the system will put the order to the market in the form of a market order, enabling the order to be filled quickly.

Case 1Buy with Stop - Market:

Assuming that the current BTC price is 6,900 USDT, the user wants to immediately buy BTC at the market price when the BTC price reaches 7,000 USDT, and the purchase amount is 14,000 USDT. As shown in the figure below: select the order type "Stop Order", set the trigger price to 7,000 USDT, and set the order price as the market price with the amount of 14,000 USDT. When the price of BTC reaches 7,000 USDT or reaches above 7,000 USDT, the condition of the trigger price is met, so the order is triggered, and the system will put the order to the market in the form of a market order: the purchase price is the market price, and the purchase amount is 14,000 USDT. Note: If the user's available USDT balance is 10,000 USDT, the system will put the market order to the market with the purchase amount of 10,000 USDT as 10,000 USDT is less than the order amount of 14,000 USDT; if the user's available balance is 0 USDT at this time, the order will not be placed.

Case 2Sell with Stop - Market:

Assuming that the current BTC price is 6,900 USDT, the user wants to immediately sell BTC at the market price when the BTC price reaches 6,600 USDT, and the sell amount is 4 BTC. As shown in the figure below: Select the order type "Stop Order", set the trigger price to 6,600 USDT, and set the order price as the market price with the amount of 4 BTC. When the price of BTC reaches 6,600 USDT or reaches below 6,600 USDT, the condition of the trigger price is met, so the order is triggered, and the system will put the order to the market in the form of a market order: the sell price is the market price, and the sell amount is 4 BTC. Note: If the user's available BTC balance is 2 BTC, the system will put the market order to the market with the sell amount of 2 BTC as 2 BTC is less than the order amount of 4 BTC; if the user's available balance is 0 BTC at this time, the order will not be placed.

 

4.2 Trail order

Trail orders allows user to set in advance strategy for significant swings in the market. When the last price reaches maximum (or minimum) market price after trail order is submitted (1±user-defined callback rate), this triggers the order to be executed on the market.

When a Trail order is triggered, if the user's account balance is lower than the order amount, the system will automatically place order according to the actual balance. If the user's account balance is lower than the minimum trading amount, order cannot be placed.

Case 1: The current price of BTC is19,000 USDT. The user believes the BTC market will go down but rebound on a certain price floor. If the user wants to execute a buy order at the market price when the rebound rate exceeds the pre-set “callback rate”, he can place a trail order as follows:

Assuming the market swings as follow:

 BTC market price falls from 19,000 USDT and reaches the lowest point at 17,800 USDT, 17,800< trigger price (18,000 USDT), which meets the requirement of trigger price. And later the price rebounds back to 17,978 USDT, which means the callback rate is (17,978 – 17,800) / 17,800 = 1%, matching the callback rate condition. It will trigger this trail order to place an order at market price and buy according to the trail order amount.

In summary, trail order would only be sent in the following conditions:

A buy trail order will be placed when trigger price >= lowest price, and rebound rate >= callback rate.

A sell trail order will be placed when trigger price <= highest price, and rebound rate >= callback rate.

 

4.3 Iceberg Order

An iceberg order is an algorithmic order type allowing users to avoid place a large order while avoiding slippage. An iceberg order automatically breaks up a user´s large order into multiple smaller orders. These orders will be placed on the market according to the latest best bid and ask price as well as the parameters set by the user. When one of the smaller orders has completely filled, or the latest market price has deviated significantly from the price of the current order, a new order will be placed automatically.

Case 1: A user would like to buy 1,000 BTC and does not want to increase the cost. He can place an iceberg order:

The system will automatically place an iceberg order. The amount of each order will be 80% - 100% of the single average amount. The order price will be the latest buy price* (1-price variance). Once the order completely filled, a new order will be placed. When the last market price exceeds 2*(order variance), the previous order would be cancelled and a new one will be placed.

When the amount traded equals the total order amount, the iceberg trade has been filled. When the last market price exceeds the highest buy price of 20,000 USDT, the iceberg order would be temporarily halted. After the price falls down to 20,000 USDT, the iceberg order would be recommenced.

4.4 Time-weighted average price (TWAP)

Time-weighted average price (TWAP) is the average price of an instrument over a specified time. TWAP is a strategy that will attempt to execute an order which trades in slices of order quantity at regular intervals of time as specified by users. The purpose of TWAP is to minimize the market impact on basket orders.

Case 1: The user would like to buy 1000 BTC and place an order as TWAP.

Assuming the order book as below:

The user set the Price Variance as 1%, the Max Buy Limit Price is thus set as 18,726.93 USDT * (1 + 1.00%) = 18,914.19 USDT. System would then compute the current aggregated sell quantities posted in the order in which the price is lower than mentioned 8,914.19 USDT (which is 156+100+8+1+1=266). Subsequently the system would take a reference on user-defined sweep ratio so to determine the sliced order size, in this case, which is 13.3 BTC (266*5%). The sliced limit buy order would be posted at USDT 18914.19 for 13.3 BTC. All unfilled order quantities would not be posted as pending order but would be cancelled.

Order would be resent according to user-defined time intervals with an updated price and quantities. In case the sliced order price reaches the max/min price limit defined by the user, the order would be sent at the max/min price as defined. Said order would be automatically cancelled should there be no matched price in the market. In case the sliced order quantities reaches the max/min order quantity defined by the user, the order would be sent at the user-defined quantity accordingly.