Info on order levels
These parameters allow you to set multiple levels of orders on each side and gives you more fine-grained control over the spreads and sizes of each set of orders.
The number of order levels to place for each side of the order book.
The size can either increase (if set to a value greater than zero) or decrease (if set to a value less than zero) for subsequent order levels after the first level.
The incremental spread increases for subsequent order levels after the first level.
Enter the value for
order_levels to specify how many orders you want to place on each side (buy and sell).
Users can also increase or decrease the size of subsequent orders starting from the first order in increments or decrements specified in order_level_amount. This can be set to 0 if you don't want your multiple order sizes to increase Greater than 0(i.e. 0.4) to allow order sizes to increase by 0.4 after the first level Less than 0(i.e. -2) to allow order sizes to decrease by 2 after the first level.
order_level_spread logic works the same as the order step size, but instead, it increases the spreads of your subsequent orders starting from the first order.
Let us focus on one side of the order for now which is the "sell" side of the order book. Given the sample scenarios above, your active orders will show as:
- market: BTC-USDT - bid_spread: 1 - ask_spread: 1 - order_amount: 0.002 - order_levels: 3 - order_level_amount: 0.002 - order_level_spread: 0.5
Running a bot with the parameters above, the
status command shows 3 levels of orders in the BTC-USDT trading pair:
You might notice that our output's actual spread is not exactly similar to the parameters we have configured for the percentage. This is because of two things:
- quantization: Hummingbot adjusts order prices to match exchange tick rules and
- changes in market price after an order is placed.