diff --git a/src/strategy_team/future_strategy_long.rs b/src/strategy_team/future_strategy_long.rs index fd6af06..26023fe 100644 --- a/src/strategy_team/future_strategy_long.rs +++ b/src/strategy_team/future_strategy_long.rs @@ -369,11 +369,18 @@ pub async fn list_up_for_sell(all_data: &AllData, futures_exchange_info_map: &Ha if count_candles < maximum_candles && server_epoch - element.transact_time > (1_800_000) * count_candles - && (element.target_percent != 0.0 + && ((element.pure_profit_percent > 0.0 && element.target_percent * ((maximum_candles - count_candles) as f64 / (maximum_candles - minimum_candles + 1) as f64) <= element.pure_profit_percent) + || + (element.pure_profit_percent < 0.0 + && element.stoploss_percent + * ((maximum_candles - count_candles) as f64 + / (maximum_candles - minimum_candles + 1) as f64) + >= element.pure_profit_percent) + ) { is_sell = true; break; diff --git a/src/strategy_team/future_strategy_short.rs b/src/strategy_team/future_strategy_short.rs index 3ee311e..be7e492 100644 --- a/src/strategy_team/future_strategy_short.rs +++ b/src/strategy_team/future_strategy_short.rs @@ -376,11 +376,18 @@ pub async fn list_up_for_sell(all_data: &AllData, futures_exchange_info_map: &Ha if count_candles < maximum_candles && server_epoch - element.transact_time > (1_800_000) * count_candles - && (element.target_percent != 0.0 + && ((element.pure_profit_percent > 0.0 && element.target_percent * ((maximum_candles - count_candles) as f64 / (maximum_candles - minimum_candles + 1) as f64) <= element.pure_profit_percent) + || + (element.pure_profit_percent < 0.0 + && element.stoploss_percent + * ((maximum_candles - count_candles) as f64 + / (maximum_candles - minimum_candles + 1) as f64) + >= element.pure_profit_percent) + ) { is_sell = true; break;