Delete unnecessary logic

This commit is contained in:
Sik Yoon 2023-08-12 18:33:51 +09:00
parent 7fc7aa8a25
commit aa7ec40434

View File

@ -160,9 +160,6 @@ pub async fn buy_coin(
if !filtered_suggested_coin_vec.is_empty() {
let available_usdt = get_available_usdt().await;
let vec_len = Decimal::new(filtered_suggested_coin_vec.len() as i64, 0);
let weighted_unit_usdt =
(((available_usdt / vec_len).trunc() / unit_trade_usdt).trunc() * unit_trade_usdt)
.trunc();
let mut used_usdt = Decimal::new(0, 8);
let mut base_qty_ordered = Decimal::new(0, 8);
let mut base_qty_fee_adjusted = Decimal::new(0, 8);
@ -197,110 +194,50 @@ pub async fn buy_coin(
let trade_fee = trade_fee_result.unwrap().takercommission;
// buy the suggested coin and transfer it into [buy_ordered_coin_list]
let order_price = element.suggested_price;
if filtered_suggested_coin_vec.len() >= 10
&& weighted_unit_usdt > unit_trade_usdt
{
// adjust regulared_unit_usdt if available number of trade are over 5.
base_qty_ordered = decimal_div(weighted_unit_usdt, order_price)
base_qty_ordered = decimal_div(unit_trade_usdt, element.suggested_price)
.round_dp_with_strategy(
lot_step_size.normalize().scale(),
RoundingStrategy::ToZero,
);
base_qty_fee_adjusted =
decimal_mul(base_qty_ordered, decimal_sub(dec!(1), trade_fee))
.round_dp_with_strategy(
lot_step_size.normalize().scale(),
base_commission_precision,
RoundingStrategy::ToZero,
);
base_qty_fee_adjusted =
decimal_mul(base_qty_ordered, decimal_sub(dec!(1), trade_fee))
used_usdt = decimal_mul(base_qty_ordered, element.suggested_price)
.round_dp_with_strategy(
tick_size.normalize().scale(),
RoundingStrategy::ToZero,
);
expected_pure_profit_percent = decimal_sub(
decimal_div(
decimal_mul(base_qty_fee_adjusted, element.suggested_price)
.round_dp_with_strategy(
base_commission_precision,
tick_size.normalize().scale(),
RoundingStrategy::ToZero,
);
used_usdt = decimal_mul(base_qty_ordered, order_price)
.round_dp_with_strategy(
tick_size.normalize().scale(),
RoundingStrategy::ToZero,
);
expected_pure_profit_percent = decimal_sub(
decimal_div(
decimal_mul(base_qty_fee_adjusted, order_price)
.round_dp_with_strategy(
tick_size.normalize().scale(),
RoundingStrategy::ToZero,
),
used_usdt,
),
dec!(1),
)
.to_f64()
.unwrap()
* 100.0;
),
used_usdt,
),
dec!(1),
)
.to_f64()
.unwrap()
* 100.0;
if (element.registerer == 5 || element.registerer == 6)
&& expected_pure_profit_percent < -0.5
{
} else {
// order the symbol based on base_qty_ordered and current_price
limit_order_buy(
element,
exchange_info_vec,
trade_fee,
TimeInForce::Gtc,
order_price,
base_qty_ordered,
used_usdt,
&base_qty_fee_adjusted.to_string(),
&client,
)
.await;
}
} else {
base_qty_ordered = decimal_div(unit_trade_usdt, order_price)
.round_dp_with_strategy(
lot_step_size.normalize().scale(),
RoundingStrategy::ToZero,
);
base_qty_fee_adjusted =
decimal_mul(base_qty_ordered, decimal_sub(dec!(1), trade_fee))
.round_dp_with_strategy(
base_commission_precision,
RoundingStrategy::ToZero,
);
used_usdt = decimal_mul(base_qty_ordered, order_price)
.round_dp_with_strategy(
tick_size.normalize().scale(),
RoundingStrategy::ToZero,
);
expected_pure_profit_percent = decimal_sub(
decimal_div(
decimal_mul(base_qty_fee_adjusted, order_price)
.round_dp_with_strategy(
tick_size.normalize().scale(),
RoundingStrategy::ToZero,
),
used_usdt,
),
dec!(1),
)
.to_f64()
.unwrap()
* 100.0;
if (element.registerer == 5 || element.registerer == 6)
&& expected_pure_profit_percent < -0.5
{
} else {
// order the symbol based on base_qty_ordered and current_price
limit_order_buy(
element,
exchange_info_vec,
trade_fee,
TimeInForce::Gtc,
order_price,
base_qty_ordered,
used_usdt,
&base_qty_fee_adjusted.to_string(),
&client,
)
.await;
}
}
// order the symbol based on base_qty_ordered and current_price
limit_order_buy(
element,
exchange_info_vec,
trade_fee,
TimeInForce::Gtc,
element.suggested_price,
base_qty_ordered,
used_usdt,
&base_qty_fee_adjusted.to_string(),
&client,
)
.await;
set_is_tradable().await;
is_tradable = get_is_tradable().await;