Order Refresh Tolerance¶

Updated as of v0.27.0

This feature allows you to specify a percentage value that sets the minimum change in spread to adjust an order.

How It Works¶

By default, this parameter is set to 0. Setting it to -1 will disable the feature and will normally refresh orders based on order_refresh_time seconds.

As an example, setting order_refresh_tolerance_pct to 0.1 and an active order's spread changes from 1.0% to 0.9%-1.1% when it's time to refresh depending on order_refresh_time, this order is kept (not cancelled).

Sample Configuration¶

 1 2 3 4 - bid_spread: 2.0% - ask_spread: 2.0% - order_refresh_time: 30.0 - order_refresh_tolerance_pct: 1% 

This configuration creates your orders as follows.

 1 2 3 4 Orders: Level Type Price Spread Amount (Orig) Amount (Adj) Age Hang 1 sell 9819.545 2.01% 0.001 0.001 00:00:01 no 1 buy 9434.465 1.99% 0.001 0.001 00:00:01 no 

After 30 seconds if the spread of buy/sell order did not change to more than 1% of what it initially was, a message will show in the logs pane.

 1 2 Not cancelling active orders since difference between new order prices and current order prices is within 1.00% order_refresh_tolerance_pct 

Now let's say our sell order spread changed from 2.01% to 0.79%. After 30 seconds, it will cancel our orders and create new ones with a 2.0% spread.

 1 2 3 4 Orders: Level Type Price Spread Amount (Orig) Amount (Adj) Age Hang 1 sell 9706.037 0.79% 0.001 0.001 00:00:29 no 1 buy 9407.538 2.31% 0.001 0.001 00:00:29 no 

Relevant Parameters¶

Parameter Prompt Definition
order_refresh_tolerance_pct Enter the percent change in price needed to refresh orders at each cycle The spread (from mid price) to defer order refresh process to the next cycle.