diff --git a/src/strategy_team/future_strategy_long.rs b/src/strategy_team/future_strategy_long.rs index e7750fa..84325d7 100644 --- a/src/strategy_team/future_strategy_long.rs +++ b/src/strategy_team/future_strategy_long.rs @@ -114,26 +114,26 @@ pub async fn list_up_for_buy( // remove_keys(&mut filtered_data, keys_to_remove).await; // supertrend(ATR period 30, multiplier: 2.0, 30m close price) - // let mut keys_to_remove: HashSet = HashSet::new(); - // let supertrend_30m_map = - // supertrend(100, 1.5, true, &alldata.rt_price_30m_vec, &filtered_data).await?; - // for (symbol, values) in &mut filtered_data { - // let mut do_buy = false; - // if let Some(supertrend_vec) = supertrend_30m_map.get(symbol) - // { - // if supertrend_vec.len() > 10 - // && supertrend_vec.last().is_some_and(|a| a.close_time == values.closetime) - // && supertrend_vec.last().unwrap().area == SuperTrendArea::UP - // && supertrend_vec[supertrend_vec.len()-2].area == SuperTrendArea::UP { - // do_buy = true; - // } - // } + let mut keys_to_remove: HashSet = HashSet::new(); + let supertrend_1m_map = + supertrend(100, 2.5, true, &alldata.rt_price_1m_vec, &filtered_data).await?; + for (symbol, values) in &mut filtered_data { + let mut do_buy = false; + if let Some(supertrend_vec) = supertrend_1m_map.get(symbol) + { + if supertrend_vec.len() > 10 + && supertrend_vec.last().is_some_and(|a| a.close_time > server_epoch) + && supertrend_vec.last().unwrap().area == SuperTrendArea::UP + && supertrend_vec[supertrend_vec.len()-2].area == SuperTrendArea::UP { + do_buy = true; + } + } - // if do_buy == false { - // keys_to_remove.insert(symbol.clone()); - // } - // } - // remove_keys(&mut filtered_data, keys_to_remove).await; + if do_buy == false { + keys_to_remove.insert(symbol.clone()); + } + } + remove_keys(&mut filtered_data, keys_to_remove).await; // set target_price and stop_loss // let mut keys_to_remove: HashSet = HashSet::new(); diff --git a/src/strategy_team/future_strategy_short.rs b/src/strategy_team/future_strategy_short.rs index 8a920c0..6c01b19 100644 --- a/src/strategy_team/future_strategy_short.rs +++ b/src/strategy_team/future_strategy_short.rs @@ -113,26 +113,26 @@ pub async fn list_up_for_buy( // remove_keys(&mut filtered_data, keys_to_remove).await; // supertrend(ATR period 30, multiplier: 2.0, 30m close price) - // let mut keys_to_remove: HashSet = HashSet::new(); - // let supertrend_30m_map = - // supertrend(100, 1.5, true, &alldata.rt_price_30m_vec, &filtered_data).await?; - // for (symbol, values) in &mut filtered_data { - // let mut do_buy = false; - // if let Some(supertrend_vec) = supertrend_30m_map.get(symbol) - // { - // if supertrend_vec.len() > 10 - // && supertrend_vec.last().is_some_and(|a| a.close_time == values.closetime) - // && supertrend_vec.last().unwrap().area == SuperTrendArea::DOWN - // && supertrend_vec[supertrend_vec.len()-2].area == SuperTrendArea::DOWN { - // do_buy = true; - // } - // } + let mut keys_to_remove: HashSet = HashSet::new(); + let supertrend_1m_map = + supertrend(100, 2.5, true, &alldata.rt_price_1m_vec, &filtered_data).await?; + for (symbol, values) in &mut filtered_data { + let mut do_buy = false; + if let Some(supertrend_vec) = supertrend_1m_map.get(symbol) + { + if supertrend_vec.len() > 10 + && supertrend_vec.last().is_some_and(|a| a.close_time > server_epoch) + && supertrend_vec.last().unwrap().area == SuperTrendArea::DOWN + && supertrend_vec[supertrend_vec.len()-2].area == SuperTrendArea::DOWN { + do_buy = true; + } + } - // if do_buy == false { - // keys_to_remove.insert(symbol.clone()); - // } - // } - // remove_keys(&mut filtered_data, keys_to_remove).await; + if do_buy == false { + keys_to_remove.insert(symbol.clone()); + } + } + remove_keys(&mut filtered_data, keys_to_remove).await; // set target_price and stop_loss // let mut keys_to_remove: HashSet = HashSet::new();