|
@@ -807,7 +807,7 @@ impl Strategy {
|
|
|
// }
|
|
// }
|
|
|
// // debug!(?command);
|
|
// // debug!(?command);
|
|
|
|
|
|
|
|
- if predictor.inventory > Decimal::ZERO && predictor.ask_delta != dec!(-2) && predictor.ask_delta != Decimal::ZERO {
|
|
|
|
|
|
|
+ if predictor.ask_delta != dec!(-2) && predictor.ask_delta != Decimal::ZERO {
|
|
|
if pd_order_num == 0 {
|
|
if pd_order_num == 0 {
|
|
|
let mut price = (short_lower + short_upper) * dec!(0.5);
|
|
let mut price = (short_lower + short_upper) * dec!(0.5);
|
|
|
// 不限制大小
|
|
// 不限制大小
|
|
@@ -827,7 +827,7 @@ impl Strategy {
|
|
|
// debug!(?command);
|
|
// debug!(?command);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- if predictor.inventory < Decimal::ZERO && predictor.bid_delta != dec!(-2) && predictor.bid_delta != Decimal::ZERO {
|
|
|
|
|
|
|
+ if predictor.bid_delta != dec!(-2) && predictor.bid_delta != Decimal::ZERO {
|
|
|
if pk_order_num == 0 {
|
|
if pk_order_num == 0 {
|
|
|
let mut price = (long_upper + long_lower) * dec!(0.5);
|
|
let mut price = (long_upper + long_lower) * dec!(0.5);
|
|
|
// 不限制大小
|
|
// 不限制大小
|
|
@@ -991,12 +991,9 @@ impl Strategy {
|
|
|
let mut target_buy_price = predictor.optimal_bid_price;
|
|
let mut target_buy_price = predictor.optimal_bid_price;
|
|
|
// target_buy_price = utils::clip(target_buy_price, self.bp * dec!(0.97), self.ap * dec!(1.0005));
|
|
// target_buy_price = utils::clip(target_buy_price, self.bp * dec!(0.97), self.ap * dec!(1.0005));
|
|
|
target_buy_price = utils::fix_price(target_buy_price, self.tick_size);
|
|
target_buy_price = utils::fix_price(target_buy_price, self.tick_size);
|
|
|
- let amount = if predictor.inventory < Decimal::ZERO {
|
|
|
|
|
- predictor.pos_amount.abs()
|
|
|
|
|
- } else {
|
|
|
|
|
- let value = min(long_free_value, predictor.one_grid_order_value);
|
|
|
|
|
- utils::fix_amount(value / self.mp, self.step_size)
|
|
|
|
|
- };
|
|
|
|
|
|
|
+
|
|
|
|
|
+ let value = min(long_free_value, predictor.one_grid_order_value);
|
|
|
|
|
+ let amount = utils::fix_amount(value / self.mp, self.step_size);
|
|
|
|
|
|
|
|
// 下单价值判定
|
|
// 下单价值判定
|
|
|
let amount_value = amount * target_buy_price;
|
|
let amount_value = amount * target_buy_price;
|
|
@@ -1024,12 +1021,8 @@ impl Strategy {
|
|
|
// target_sell_price = utils::clip(target_sell_price, self.bp * dec!(0.9995), self.ap * dec!(1.03));
|
|
// target_sell_price = utils::clip(target_sell_price, self.bp * dec!(0.9995), self.ap * dec!(1.03));
|
|
|
// 取消大小限制
|
|
// 取消大小限制
|
|
|
target_sell_price = utils::fix_price(target_sell_price, self.tick_size);
|
|
target_sell_price = utils::fix_price(target_sell_price, self.tick_size);
|
|
|
- let amount = if predictor.inventory > Decimal::ZERO {
|
|
|
|
|
- predictor.pos_amount.abs()
|
|
|
|
|
- } else {
|
|
|
|
|
- let value = min(short_free_value, predictor.one_grid_order_value);
|
|
|
|
|
- utils::fix_amount(value / self.mp, self.step_size)
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ let value = min(short_free_value, predictor.one_grid_order_value);
|
|
|
|
|
+ let amount = utils::fix_amount(value / self.mp, self.step_size);
|
|
|
|
|
|
|
|
// 下单价值不能太大,也不能太小
|
|
// 下单价值不能太大,也不能太小
|
|
|
let amount_value = amount * target_sell_price;
|
|
let amount_value = amount * target_sell_price;
|