1. Algo Order
Algo orders are sets of instructions for placing trades according to predetermined logic. The logic of all available algo order types is explained in this document. Order submission is carried out according to user-defined parameters. OKCoin does not manually interfere with the execution of algo orders.
Some algo trading tools allow users to enter trade information in advance, and save execution time when predetermined market conditions are in place. Some traders use algorithmic execution tools to help them stick to their trading strategy, and avoid poor executions.
Algo orders will not be executed if pre-set conditions are not met. Also, our system does not place a hold on user account funds when an algo order is made. However, triggered algo orders will be canceled if the account does not have sufficient funds for its execution.
By using our algorithmic trading tools, you understand and agree to our Algo Trading Agreement.
2. Trigger Order
Trigger order is a trading instruction with pre-defined trigger and order parameters set by a customer. Trigger orders are sometimes referred to as stop-limit orders. When the last traded price has reached the trigger price, our system will send trading instructions to the order book.
For example, the last traded price of BTC is 9,600 USD. If a user believes that the price will continue higher after it breaches resistance at 10,000 USD, the user may place a trigger order with the following parameters:
Trigger price: 10,000 USD
Order price: 10,050 USD
Amount: 1.5 BTC
Our system will then automatically send a limit order with the above parameters to the order book when the last traded price reaches 10,000 USD or above. This order type can save users time, as it may reduce their need to monitor the market.
3. Trail Order
Trail orders allow users to execute trades dependent on predefined swings in the market. When market price reaches a defined maximum (or minimum), and retraces a specified amount, a limit order is submitted (1 ± user-defined callback rate).
Case 1: BTC current price is 1,900 USD. The user believes the market trend remains bearish but the price will rebound later. The user would like to execute a buy order BTC when 1) the market rebound exceeds the pre-set "Callback Rate" and 2) the market price exceeds the predefined trigger price.
The user can place a trail order with the following parameters:
Assuming the market swings as follow:
BTC market price fell from 1,900 USD and reached the lowest point at 1,780 USD. And the price rebounds back to 1,799 USD. Hence the market returned 1.1% from the dip [(1799-1780)/1780] = 1.1%
Trail order would NOT be sent because:
- Market rebound rate (which is 1.1%) > user-defined callback rate (which is 1%) -> condition matched.
- Market Price (1799) < User-defined trigger price (1800) -> condition unmatched.
In summary, trail order would only be sent in the following conditions:
- Buy Order = 1) Market lowest price < or = Trigger Price AND 2) Market rebound > or = Callback
- Sell Order = 1) Market highest price > or = Trigger Price AND 2) Market rebound < or = Callback
4. Iceberg Order
An iceberg order is an algorithmic order type allowing users to avoid displaying a large quantity order. An iceberg order automatically breaks up a 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 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.
Case 1: A user would like to buy 1,000 BTC and does not want to impact the market, so they place an iceberg order:
The system will automatically place a slice of the order. The amount of each order slice will be 90% - 110% of the defined 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 USD, the iceberg order would halt temporarily. If the price falls to 20,000 USD, the iceberg order would be begin again.
5. 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 executes an order in slices and at regular intervals of time as specified by users. The purpose of TWAP is to minimize market impact.
Example 1: User would like to buy 1,000 BTC and places an order as TWAP:
The order slice limit price is determined as follows. For buy order, best bid*(1 + price variance %), and for sell order, best ask*(1 - price variance %).
The system references the user-defined sweep ratio to determine the size of order slices. Sliced order sizes equal the available liquidity under the price limit multiplied by the sweep ratio.
All unfilled order quantities would not be posted as pending order but would be cancelled. A new order would then 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. The order would be automatically cancelled should there be no matched price in the market.