#[derive(Debug, Serialize)]
pub enum MarketFilter {
Rate(RateFilter),
Percent(PercentFilter),
LotSize(LotSizeFilter),
MarketLotSize(LotSizeFilter),
Notional(NotionalFilter),
IcebergParts(IcebergPartsFilter),
MaxNumAlgoOrders(MaxNumAlgoOrdersFilter),
}
#[derive(Debug, Serialize)]
pub struct RateFilter {
pub min_points: u64,
pub max_points: u64,
pub tick_points_size: u64,
}
#[derive(Debug, Serialize)]
pub struct PercentFilter {
pub multiplier_up: f64,
pub multiplier_down: f64,
pub avg_price_mins: u64,
}
#[derive(Debug, Serialize)]
pub struct LotSizeFilter {
pub min_qty_points: u64,
pub max_qty_points: u64,
pub step_size_points: u64,
}
#[derive(Debug, Serialize)]
pub struct NotionalFilter {
pub min_notional_points: u64,
pub apply_to_market: bool,
pub avg_price_mins: u64,
}
#[derive(Debug, Serialize)]
pub struct IcebergPartsFilter {
pub limit: u64,
}
#[derive(Debug, Serialize)]
pub struct MaxNumAlgoOrdersFilter {
pub max_num_algo_orders: u64,
}