Advanced Market Making¶
These advanced parameters give you more control over how your bot behaves. Please take the time to understand how these parameters work before risking extensive capital with bots that utilize them.
How to Configure Advanced Parameters¶
There are a few ways to configure these parameters:
configto go through the normal strategy configuration process and answer
Yesto the final question
Would you like to proceed with advanced configuration?
list configsto see the current strategy. Run command
config advanced_mode. This will walk you through in reconfiguring all the advanced parameters.
- Outside of the Hummingbot client, you can edit the strategy configuration file directly and then import it later.
This feature allows 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.
See Multiple Orders for more information.
This feature lets you set and maintain a target inventory split between the base and quote assets. It prevents your overall inventory level from changing too much and may result in more stable performance in volatile markets.
See Inventory Skew for more information.
Filled Order Delay¶
By default, Hummingbot places orders as soon as there are no active orders; i.e., Hummingbot immediately places a new order to replace a filled order. If there is a sustained movement in the market in any one direction for some time, there is a risk of continued trading in that direction: For example, continuing to buy and accumulate base tokens in the case of a prolonged downward move or continuing to sell in the case of a prolonged upward move.
filled_order_replenish_wait_time parameter allows for a delay when placing a new order in the event of an order being filled, which will help mitigate the above scenarios.
Example: If you have a buy order that is filled at 1:00:00 and the delay is set to
60seconds, the next orders placed will be at 1:01:00. The sell order is also cancelled within this delay period and placed at 1:01:00 to ensure that both buy and sell orders stay in sync.
||How long to wait before placing the next order in case your order gets filled.||
This feature prevents keeps orders "hanging" (or not cancelled and remaining on the order book) if a matching order has been filled on the other side of the order book.
See Hanging Orders for more information.
Best Bid Ask Jumping¶
This feature allows users to automatically adjust the prices to right just above the top bid and just below the top ask. If your orders are at the top of the orderbook, this will adjust your prices right next to the next best orders.
See Best Bid Ask Jumping for more information.
Adding Transaction Costs to Prices¶
Transaction costs can now be added to the price calculation.
fee_pct refers to the percentage maker fees per order (generally common in Centralized exchanges) while
fixed_fees refers to the flat fees (generally common in Decentralized exchanges).
- The bid order price will be calculated as:
- The ask order price will be calculated as:
Adding the transaction cost will reduce the bid order price and increase the ask order price i.e. putting your orders further away from the mid price.
We currently display warnings if the adjusted price post adding the transaction costs is 10% away from the original price. If the buy price with the transaction cost is zero or negative, it is not profitable to place orders and orders will not be placed.
||Whether to enable adding transaction costs to order price calculation.||
External Price Source¶
By default, Hummingbot uses the market orderbook mid price (between the top bid and the top ask) as a starting price to calculate maker order prices. With external pricing sources, you can now use external sources for the starting mid price such as an external exchange, data feed, or a custom API.
See External Price Source for more information.