This bot builds upon the original Market Maker bot and introduces the ability to place multiple simultaneous buy/sell orders on both sides of the order book. In addition, it can optionally be configured to skew orders on one side of the book to be larger than the other. This is useful if you want to slowly offload or acquire inventory, or simply wish to maintain a 50/50 split between your base and quote asset values. Inventory Skew is explained further below.
Note: This bot is available in the Pro and Institutional plans. To upgrade your plan, click here.
How the strategy works
Once the bot is started, it will immediately send all orders as limit orders - buy orders below the mid price, and sell orders above the mid price. The distance between each buy order and each sell order can be specified individually. Additionally, the size of each consecutive order can be increased by specifying the "Order Step Size".
The mid price is calculated as follows:
Mid Price = (Best Bid + Best Ask) / 2
The buy and sell prices for the innermost buy and sell orders are calculated as:
Buy Price = (Mid Price * (1 - Distance Between Buy Orders - Maker Fee)
Sell Price = (Mid Price * (1 + Distance Between Sell Orders + Maker Fee)
Similarly, each subsequent buy and sell order is offset from the previous by the same distance. A profit is realized when quantity sold is equal to quantity bought.
Once an order is filled, the bot will wait for specified amount of time (Order Replenish Delay) before cancelling all remaining orders and sending a new set of orders to repeat the process.
The goal of this strategy is to complete as many complete buy/sell cycles as possible (all orders filled), making a profit after covering our exchange fees. For this reason, it is ideal to trade markets where the bid-ask spread is wide (0.05%+) and there is sufficient daily trading volume.
Secondly, whichever pair you choose to trade, be sure that you are comfortable holding both the base and the quote asset for the duration that the bot is running.
And finally, this bot is not limited to trading a range-bound market, we can trade uptrends or downtrends just as easily. Simply adjust the buy/sell thresholds to skew in the direction of the trend.
Sufficient balance is required for both the base asset and the quote asset. Insufficient balance in either asset will result in no orders being placed, which will be shown in the logs. We recommend having an additional 10-20% available balance for each side as a buffer.
- Configuration Name: A name/label for this configuration. You can copy and modify a configuration to run this bot on multiple markets simultaneously.
- Exchange: The exchange to run this bot on. This bot cannot be backtested as it leverages a real-time strategy based on order book data.
- Account: The exchange account to run this bot on.
- Number of Orders: Total number of orders to place. For example, entering 20 will place 10 buy orders and 10 sell orders.
- Order Start Amount: The amount you wish to use for first buy and sell orders. In the example above, the order amount for first (innermost) buy and sell order will be 10.
- Order Step Size: The amount to increment each consecutive order after the first one each side. In the example above, the second buy order size will be 12, the third 14 and so on. Same applies to the sell side.
- Distance Between Buy Orders: Percent offset (in decimal form) for the first buy order from the midpoint. The same distance is applied between the following buy orders.
- Distance Between Sell Orders: Percent offset (in decimal form) for the first sell order from the midpoint. The same distance is applied between the following sell orders.
- Order Replenish Delay: Time (in minutes) to wait before cancelling unfilled orders once any order has been filled, and submitting a new set of orders.
- Maker Fee: The maker fee (for limit orders) charged by your exchange. This fee is used to adjust the buy/sell prices to ensure the fee is covered before profit is made.
- Inventory Skew: Whether to enable Inventory Skew. Use the Inventory Skew Calculator to see how order sizes can be skewed to target a certain base/quote ratio. Feel free to make a copy of this spreadsheet to try out different values for input parameters and see how they affect order sizes.
- Target Base Percent: The proportion of base asset value to target. For example, if the value of your base balance is currently 40% relative to total (base balance value + quote balance value), and you wish to acquire more base asset to achieve a 50/50 split, entering 50% will adjust the order sizes so that there is more quantity being bought than sold until an equilibrium is reached.