Change calculation way of set_unit_usdt()
This commit is contained in:
parent
90ea086a62
commit
d05a8fb579
|
|
@ -36,25 +36,21 @@ pub async fn set_unit_usdt() {
|
|||
let mut set_unit_trade_usdt = Decimal::new(0, 8);
|
||||
|
||||
// define protect_rate and unit_trade_usdt as high as total_usdt_amount
|
||||
if dec!(0.0) <= asset_info.current_total_usdt && asset_info.current_total_usdt < dec!(500.0) {
|
||||
if dec!(0.0) <= asset_info.current_total_usdt && asset_info.current_total_usdt < dec!(1000.0) {
|
||||
set_unit_trade_usdt = dec!(100.0); // $100 for each trade
|
||||
// set_unit_trade_usdt = decimal_mul(asset_info.current_total_usdt, dec!(0.8)); // 80% of total usdt
|
||||
} else if dec!(500.0) <= asset_info.current_total_usdt
|
||||
&& asset_info.current_total_usdt < dec!(2000.0)
|
||||
} else if dec!(1000.0) <= asset_info.current_total_usdt
|
||||
{
|
||||
// set_unit_trade_usdt = dec!(150.0); // $150 for each trade
|
||||
set_unit_trade_usdt = decimal_mul(asset_info.current_total_usdt, dec!(0.1));
|
||||
// 10% of total usdt
|
||||
} else if dec!(2000.0) <= asset_info.current_total_usdt
|
||||
&& asset_info.current_total_usdt < dec!(5000.0)
|
||||
{
|
||||
set_unit_trade_usdt = dec!(200.0); // $200 for each trade
|
||||
} else if dec!(5000.0) <= asset_info.current_total_usdt
|
||||
&& asset_info.current_total_usdt < dec!(10000.0)
|
||||
{
|
||||
set_unit_trade_usdt = dec!(300.0); // $300 for each trade
|
||||
} else {
|
||||
set_unit_trade_usdt = dec!(500.0); // $500 for each trade
|
||||
let truncated = decimal_mul(decimal_mul(set_unit_trade_usdt, dec!(0.1)).trunc(), dec!(10));
|
||||
let difference = decimal_sub(set_unit_trade_usdt, truncated);
|
||||
|
||||
if difference >= dec!(5) {
|
||||
set_unit_trade_usdt = decimal_add(truncated, dec!(5));
|
||||
} else {
|
||||
set_unit_trade_usdt = truncated;
|
||||
}
|
||||
}
|
||||
|
||||
// update fields in [asset_manage_announcement] table
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user