Order filters
Adds support for PriceFilter and QuantityFilter.
This ensures user orders and market data follow a set of rules.
Pricing rules include:
min_price: Defines the minimum price allowed. Disabled if min_price == 0
max_price: Defines the maximum price allowed. Disabled if max_price == 0
tick_size: Defines the intervals that a price can be increased / decreased by. For the filter to pass, (order.limit_price - min_price) % tick_size == 0
multiplier_up: Defines valid ranges for the order price relative to the mark price. To pass this filter, order.limit_price <= mark_price * multiplier_up
multiplier_down: Defines valid ranges for the order price relative to the mark price To pass this filter, order.limit_price >= mark_price * multiplier_down
Quantity rules:
min_quantity: Defines the minimum quantity of any order. Disabled if 0
max_quantity: Defines the maximum quantity of any order. Disabled if 0
step_size: Defines the intervals that a quantity can be increased / decreased by. For the filter to pass, (quantity - min_qty) % step_size == 0