Update filtering
This commit is contained in:
parent
7483258922
commit
aac7d00e9f
|
|
@ -125,7 +125,7 @@ pub async fn list_up_for_buy(
|
|||
.min_by(|x, y| x.opclo_price.partial_cmp(&y.opclo_price).unwrap())
|
||||
.unwrap().opclo_price;
|
||||
if values.current_price.to_f64().is_some_and(|a| a > min_price) {
|
||||
let stoploss_percent = (min_price - values.current_price.to_f64().unwrap()) / values.current_price.to_f64().unwrap();
|
||||
let stoploss_percent = ((min_price - values.current_price.to_f64().unwrap()) * 100.0) / values.current_price.to_f64().unwrap();
|
||||
values.stoploss = rust_decimal::prelude::FromPrimitive::from_f64(stoploss_percent).unwrap();
|
||||
let target_percent = stoploss_percent.abs() * 2.0;
|
||||
values.target_price = rust_decimal::prelude::FromPrimitive::from_f64(target_percent).unwrap();
|
||||
|
|
|
|||
|
|
@ -40,17 +40,17 @@ pub async fn list_up_for_buy(
|
|||
let mut do_buy = false;
|
||||
let price_and_closetime = get_current_price_decimal(&symbol, &alldata.rt_price_1m_vec).await;
|
||||
if let (Some(ema30_vec), Some(ema200_vec), Some(current_info)) = (ema30.get(symbol), ema200.get(symbol), price_and_closetime) {
|
||||
if ema30_vec.len() > 10
|
||||
&& ema200_vec.len() > 10
|
||||
if ema30_vec.len() > 20
|
||||
&& ema200_vec.len() > 20
|
||||
&& ema30_vec.last().unwrap().close_time > server_epoch
|
||||
&& ema30_vec.last().unwrap().close_time == ema200_vec.last().unwrap().close_time
|
||||
{
|
||||
if ema30_vec.last().unwrap().ema_value < ema200_vec.last().unwrap().ema_value
|
||||
&& ema30_vec[ema30_vec.len()-1].ema_value - ema200_vec[ema200_vec.len()-1].ema_value < ema30_vec[ema30_vec.len()-2].ema_value - ema200_vec[ema200_vec.len()-2].ema_value
|
||||
&& ema30_vec[ema30_vec.len()-2].ema_value - ema200_vec[ema200_vec.len()-2].ema_value < ema30_vec[ema30_vec.len()-3].ema_value - ema200_vec[ema200_vec.len()-3].ema_value
|
||||
&& ema30_vec[ema30_vec.len()-3].ema_value - ema200_vec[ema200_vec.len()-3].ema_value < ema30_vec[ema30_vec.len()-4].ema_value - ema200_vec[ema200_vec.len()-4].ema_value
|
||||
&& ema30_vec[ema30_vec.len()-4].ema_value - ema200_vec[ema200_vec.len()-4].ema_value < ema30_vec[ema30_vec.len()-5].ema_value - ema200_vec[ema200_vec.len()-5].ema_value
|
||||
&& ema30_vec[ema30_vec.len()-5].ema_value - ema200_vec[ema200_vec.len()-5].ema_value < ema30_vec[ema30_vec.len()-6].ema_value - ema200_vec[ema200_vec.len()-6].ema_value
|
||||
&& (ema30_vec[ema30_vec.len()-1].ema_value - ema200_vec[ema200_vec.len()-1].ema_value).abs() < (ema30_vec[ema30_vec.len()-2].ema_value - ema200_vec[ema200_vec.len()-2].ema_value).abs()
|
||||
&& (ema30_vec[ema30_vec.len()-2].ema_value - ema200_vec[ema200_vec.len()-2].ema_value).abs() < (ema30_vec[ema30_vec.len()-3].ema_value - ema200_vec[ema200_vec.len()-3].ema_value).abs()
|
||||
&& (ema30_vec[ema30_vec.len()-3].ema_value - ema200_vec[ema200_vec.len()-3].ema_value).abs() < (ema30_vec[ema30_vec.len()-4].ema_value - ema200_vec[ema200_vec.len()-4].ema_value).abs()
|
||||
&& (ema30_vec[ema30_vec.len()-4].ema_value - ema200_vec[ema200_vec.len()-4].ema_value).abs() < (ema30_vec[ema30_vec.len()-5].ema_value - ema200_vec[ema200_vec.len()-5].ema_value).abs()
|
||||
&& (ema30_vec[ema30_vec.len()-5].ema_value - ema200_vec[ema200_vec.len()-5].ema_value).abs() < (ema30_vec[ema30_vec.len()-6].ema_value - ema200_vec[ema200_vec.len()-6].ema_value).abs()
|
||||
{
|
||||
values.current_price = current_info.0;
|
||||
values.closetime = current_info.1;
|
||||
|
|
@ -125,7 +125,7 @@ pub async fn list_up_for_buy(
|
|||
.max_by(|x, y| x.opclo_price.partial_cmp(&y.opclo_price).unwrap())
|
||||
.unwrap().opclo_price;
|
||||
if values.current_price.to_f64().is_some_and(|a| a < max_price) {
|
||||
let stoploss_percent = (values.current_price.to_f64().unwrap() - max_price) / values.current_price.to_f64().unwrap();
|
||||
let stoploss_percent = ((values.current_price.to_f64().unwrap() - max_price) * 100.0) / values.current_price.to_f64().unwrap();
|
||||
values.stoploss = rust_decimal::prelude::FromPrimitive::from_f64(stoploss_percent).unwrap();
|
||||
let target_percent = stoploss_percent.abs() * 2.0;
|
||||
values.target_price = rust_decimal::prelude::FromPrimitive::from_f64(target_percent).unwrap();
|
||||
|
|
|
|||
|
|
@ -178,7 +178,9 @@ pub async fn future_duplicate_filter(
|
|||
// exists_condition_build.push_str("\' AND close_time=");
|
||||
// exists_condition_build.push_str(filtered_data.closetime.to_string().as_str());
|
||||
exists_condition_build.push_str("\' AND position=");
|
||||
exists_condition_build.push_str("\'");
|
||||
exists_condition_build.push_str(position.to_string().as_str());
|
||||
exists_condition_build.push_str("\'");
|
||||
|
||||
let exists_condition = Some(exists_condition_build);
|
||||
let exists_condition_c = exists_condition.clone();
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user