Fix wrong calculation

This commit is contained in:
Sik Yoon 2023-12-18 01:53:21 +09:00
parent b09edb9796
commit 832ebd76fb
3 changed files with 10 additions and 9 deletions

View File

@ -46,7 +46,7 @@ pub async fn execute_list_up_for_buy(
// strategist_004(all_data).await?;
// strategist_005(all_data).await?;
// strategist_006(all_data).await?;
crate::strategy_team::strategy_test::strategist_test(all_data_c4);
crate::strategy_team::strategy_test::strategist_test(all_data_c4).await;
// try_join_all(task_vec).await?;
Ok(())

View File

@ -15,15 +15,15 @@ pub async fn strategist_test(
// 1st filtering: lookup tables if the tradepair is already there
let mut symbol_1 = FilteredData::new();
let mut symbol_2 = FilteredData::new();
let mut symbol_3 = FilteredData::new();
// let mut symbol_2 = FilteredData::new();
// let mut symbol_3 = FilteredData::new();
symbol_1.symbol = String::from("BTCUSDT");
symbol_2.symbol = String::from("XRPUSDT");
symbol_3.symbol = String::from("ETHUSDT");
// symbol_2.symbol = String::from("XRPUSDT");
// symbol_3.symbol = String::from("ETHUSDT");
let mut test_symbols: Vec<FilteredData> = Vec::new();
test_symbols.push(symbol_1);
test_symbols.push(symbol_2);
test_symbols.push(symbol_3);
// test_symbols.push(symbol_2);
// test_symbols.push(symbol_3);
let a = adx(10, 10, &alldata.rt_price_30m_vec, &test_symbols).await?;
println!("{:?}", a);

View File

@ -94,9 +94,10 @@ filtered_symbols: &Vec<FilteredData>,) -> Result<Vec<(String, Vec<AdxData>)>, Bo
// step 4: calculate ADX
let mut initial_adx_vec: Vec<AdxData> = Vec::new();
for di_data in di_data_vec {
let sum = di_data.di_plus - di_data.di_minus;
let sum = di_data.di_plus + di_data.di_minus;
let difference = (di_data.di_plus - di_data.di_minus).abs();
let divisor = if sum <= 0.00000001 { 1.0 } else { sum };
let adx_data = AdxData { adx: sum.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);
}
let partial_vec1 = initial_adx_vec.get(..adx_len).unwrap(); // for calculation of initial value