|
|
@@ -94,8 +94,8 @@ pub async fn get_gate_ticker_info(symbol: &str, start_at: &str, end_at: &str) ->
|
|
|
let ct_val = market_info.unwrap().ct_val;
|
|
|
let mut end_time = end_at.to_string();
|
|
|
let mut ticker_info_list: Vec<Trades> = vec![];
|
|
|
+ info!("正在查询 Gate {} 信息,请稍候!", symbol);
|
|
|
loop {
|
|
|
- info!("正在查询 Gate 信息,请稍后!");
|
|
|
let ticker_info = gate_swap_standard::standard_trades(symbol, start_at, &end_time, Option::from(ct_val)).await;
|
|
|
match ticker_info {
|
|
|
Ok(value) => {
|
|
|
@@ -121,14 +121,13 @@ pub async fn get_binance_ticker_info(symbol: &str, start_at: &str, end_at: &str)
|
|
|
let end_at_d = Decimal::from_str(end_at).unwrap();
|
|
|
let end_time = if end_at_d - start_at_d > dec!(3600) { (start_at_d + dec!(3600)).to_string() } else { end_at_d.to_string() };
|
|
|
|
|
|
- info!("正在查询 Binance 信息,请稍后!");
|
|
|
+ info!("正在查询 Binance {} 信息,请稍候!", symbol);
|
|
|
let agg_trades_first = binance_swap_standard::standard_agg_trades(symbol, start_at, &end_time, "").await.unwrap();
|
|
|
agg_ticker_info_list.extend(agg_trades_first.clone());
|
|
|
|
|
|
if agg_trades_first.len() >= 1000 {
|
|
|
let mut trade_id = (Decimal::from_str(&agg_trades_first[agg_trades_first.len() - 1].id.clone()).unwrap() + Decimal::ONE).to_string();
|
|
|
loop {
|
|
|
- info!("正在查询 Binance 信息,请稍后!");
|
|
|
let agg_trades_info = binance_swap_standard::standard_agg_trades(symbol, "", "", &trade_id).await;
|
|
|
match agg_trades_info {
|
|
|
Ok(value) => {
|
|
|
@@ -175,37 +174,25 @@ pub async fn get_okx_ticker_info(symbol: &str, start_at: &str, end_at: &str) ->
|
|
|
let end_at_d_str = if end_at != "" { format!("{}{}", end_at_d.to_string(), "000") } else { "".to_string() };
|
|
|
|
|
|
|
|
|
- info!("正在查询 okx 信息,请稍后!");
|
|
|
- info!("当前时间---{:?}---{:?}",start_at,end_at);
|
|
|
-
|
|
|
- let mut list_array: Vec<Trades> = vec![];
|
|
|
- let ticker_one = okx_swap_standard::standard_history_candles(symbol, "", end_at_d_str.as_str(), ct_val).await.unwrap();
|
|
|
- if ticker_one.len() > 0 {
|
|
|
- let ticker_0 = ticker_one.get(0).cloned();
|
|
|
- let ticker_size = ticker_one.get(ticker_one.len() - 1).cloned();
|
|
|
- if ticker_one.len() > 0 {
|
|
|
- let mut create_time_0 = ticker_0.unwrap().create_time;
|
|
|
- let mut create_time_size = ticker_size.unwrap().create_time;
|
|
|
- info!("第一次查询范畴--{:?}---{:?}",create_time_0,create_time_size);
|
|
|
- list_array.extend(ticker_one.clone());
|
|
|
+ info!("正在查询 okx 信息,请稍候!");
|
|
|
|
|
|
+ let mut ticker_info_list: Vec<Trades> = vec![];
|
|
|
+ let mut trades_list = okx_swap_standard::standard_history_candles(symbol, "", end_at_d_str.as_str(), ct_val).await.unwrap();
|
|
|
+ if trades_list.len() > 0 {
|
|
|
+ if trades_list.len() > 0 {
|
|
|
+ let mut create_time_size = trades_list.get(trades_list.len() - 1).cloned().unwrap().create_time;
|
|
|
+ ticker_info_list.extend(trades_list.clone());
|
|
|
let mut i = 1;
|
|
|
loop {
|
|
|
tokio::time::sleep(Duration::from_millis(500)).await;
|
|
|
i = i + 1;
|
|
|
let start_at_str = format!("{}000", start_at);
|
|
|
if start_at_str < create_time_size {
|
|
|
- let ticker_one2 = okx_swap_standard::standard_history_candles(symbol, "", create_time_size.as_ref(), ct_val).await.unwrap();
|
|
|
-
|
|
|
- let ticker_0_2 = ticker_one2.get(0).cloned();
|
|
|
- let ticker_size_2 = ticker_one2.get(ticker_one.len() - 1).cloned();
|
|
|
-
|
|
|
- create_time_0 = ticker_0_2.unwrap().create_time;
|
|
|
- create_time_size = ticker_size_2.unwrap().create_time;
|
|
|
- info!("第{:?}次查询范畴--{:?}---{:?}",i,create_time_0,create_time_size);
|
|
|
- list_array.extend(ticker_one2.clone());
|
|
|
+ create_time_size = trades_list.get(trades_list.len() - 1).unwrap().clone().create_time;
|
|
|
+ let ticker_end = create_time_size.clone();
|
|
|
+ trades_list = okx_swap_standard::standard_history_candles(symbol, "", &ticker_end, ct_val).await.unwrap();
|
|
|
+ ticker_info_list.extend(trades_list.clone());
|
|
|
} else {
|
|
|
- info!("查询完毕!");
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -215,7 +202,7 @@ pub async fn get_okx_ticker_info(symbol: &str, start_at: &str, end_at: &str) ->
|
|
|
}
|
|
|
|
|
|
let mut set = std::collections::HashSet::new();
|
|
|
- list_array.clone().into_iter().filter(|trades| {
|
|
|
+ ticker_info_list.clone().into_iter().filter(|trades| {
|
|
|
trades.create_time > start_at_d_str && trades.create_time < end_at_d_str && trades.is_effect && set.insert(trades.clone())
|
|
|
}).collect()
|
|
|
}
|