Fix bound condition
This commit is contained in:
parent
00646370ab
commit
725bcec59c
|
|
@ -99,28 +99,30 @@ filtered_symbols: &HashMap<String, FilteredDataValue>,) -> Result<HashMap<String
|
||||||
let adx_data = AdxData { adx: difference.abs()/divisor, close_time: di_data.close_time };
|
let adx_data = AdxData { adx: difference.abs()/divisor, close_time: di_data.close_time };
|
||||||
initial_adx_vec.push(adx_data);
|
initial_adx_vec.push(adx_data);
|
||||||
}
|
}
|
||||||
let partial_vec1 = initial_adx_vec.get(..adx_len).unwrap(); // for calculation of initial value
|
|
||||||
let partial_vec2 = initial_adx_vec.get(adx_len..).unwrap(); // for calculation of the rest
|
|
||||||
|
|
||||||
let mut smoothed_adx_vec: Vec<AdxData> = Vec::new();
|
if let (Some(partial_vec1), Some(partial_vec2)) = (initial_adx_vec.get(..adx_len), initial_adx_vec.get(adx_len..)) {
|
||||||
let mut adx_calculated = 0.0;
|
// partial_vec1 is for calculation of initial value
|
||||||
for element in partial_vec1 {
|
// partial_vec2 is for calculation of the rest
|
||||||
adx_calculated += element.adx;
|
let mut smoothed_adx_vec: Vec<AdxData> = Vec::new();
|
||||||
}
|
let mut adx_calculated = 0.0;
|
||||||
adx_calculated /= adx_len as f64;
|
for element in partial_vec1 {
|
||||||
|
adx_calculated += element.adx;
|
||||||
let adx_data = AdxData { adx: adx_calculated, close_time: partial_vec1.last().unwrap().close_time };
|
}
|
||||||
smoothed_adx_vec.push(adx_data);
|
adx_calculated /= adx_len as f64;
|
||||||
|
|
||||||
let alpha: f64 = 1.0 /(adx_len as f64);
|
let adx_data = AdxData { adx: adx_calculated, close_time: partial_vec1.last().unwrap().close_time };
|
||||||
for element in partial_vec2 {
|
|
||||||
adx_calculated = alpha * element.adx + (1.0 - alpha) * adx_calculated;
|
|
||||||
let adx_data = AdxData { adx: 100.0 * adx_calculated, close_time: element.close_time };
|
|
||||||
smoothed_adx_vec.push(adx_data);
|
smoothed_adx_vec.push(adx_data);
|
||||||
}
|
|
||||||
|
let alpha: f64 = 1.0 /(adx_len as f64);
|
||||||
|
for element in partial_vec2 {
|
||||||
|
adx_calculated = alpha * element.adx + (1.0 - alpha) * adx_calculated;
|
||||||
|
let adx_data = AdxData { adx: 100.0 * adx_calculated, close_time: element.close_time };
|
||||||
|
smoothed_adx_vec.push(adx_data);
|
||||||
|
}
|
||||||
|
|
||||||
let mut adx_vec_arc_lock = adx_vec_arc_c.lock().await;
|
let mut adx_vec_arc_lock = adx_vec_arc_c.lock().await;
|
||||||
adx_vec_arc_lock.insert(symbol.clone(), smoothed_adx_vec.clone());
|
adx_vec_arc_lock.insert(symbol.clone(), smoothed_adx_vec.clone());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user