diff --git a/src/main.rs b/src/main.rs index 28f2de1..5e94bad 100644 --- a/src/main.rs +++ b/src/main.rs @@ -92,6 +92,7 @@ async fn main() -> Result<(), Box> { let mut rx3_tradefee_vec = rx_tradefee_vec.clone(); let mut rx4_tradefee_vec = rx_tradefee_vec.clone(); let mut rx5_tradefee_vec = rx_tradefee_vec.clone(); + let mut tradefee_vec_capacity = rx_tradefee_vec.clone(); // valid usdt trade data let mut valid_usdt_trade_vec: Vec = Vec::new(); // symbol @@ -100,28 +101,35 @@ async fn main() -> Result<(), Box> { let mut rx2_valid_usdt_trade_vec = rx_valid_usdt_trade_vec.clone(); let mut rx3_valid_usdt_trade_vec = rx_valid_usdt_trade_vec.clone(); let mut rx4_valid_usdt_trade_vec = rx_valid_usdt_trade_vec.clone(); + let mut valid_usdt_trade_vec_capacity = rx_valid_usdt_trade_vec.clone(); // price per second data and channels let mut price_vec: Vec = Vec::new(); // (symbol, price) let (tx_price_vec, mut rx_price_vec) = watch::channel(price_vec); let mut rx3_price_vec = rx_price_vec.clone(); let mut rx5_price_vec = rx_price_vec.clone(); + let mut price_vec_capacity = rx_price_vec.clone(); // candle data from endpoint and channels let mut candle_1m_vec: Vec<(String, Vec)> = Vec::new(); // (symbol, Vec let (tx_candle_1m_vec, mut rx_candle_1m_vec) = watch::channel(candle_1m_vec); + let mut candle_1m_vec_capacity = rx_candle_1m_vec.clone(); let mut candle_30m_vec: Vec<(String, Vec)> = Vec::new(); let (tx_candle_30m_vec, mut rx_candle_30m_vec) = watch::channel(candle_30m_vec); + let mut candle_30m_vec_capacity = rx_candle_30m_vec.clone(); let mut candle_1d_vec: Vec<(String, Vec)> = Vec::new(); let (tx_candle_1d_vec, mut rx_candle_1d_vec) = watch::channel(candle_1d_vec); + let mut candle_1d_vec_capacity = rx_candle_1d_vec.clone(); let mut candle_1w_vec: Vec<(String, Vec)> = Vec::new(); let (tx_candle_1w_vec, mut rx_candle_1w_vec) = watch::channel(candle_1w_vec); + let mut candle_1w_vec_capacity = rx_candle_1w_vec.clone(); let mut candle_1mon_vec: Vec<(String, Vec)> = Vec::new(); let (tx_candle_1mon_vec, mut rx_candle_1mon_vec) = watch::channel(candle_1mon_vec); + let mut candle_1mon_vec_capacity = rx_candle_1mon_vec.clone(); // real-time reflected price data and channels let mut rt_price_1m_vec: Vec<(String, Vec)> = Vec::new(); // (symbol, Vec @@ -130,6 +138,7 @@ async fn main() -> Result<(), Box> { let mut rx3_rt_price_1m_vec = rx_rt_price_1m_vec.clone(); let mut rx4_rt_price_1m_vec = rx_rt_price_1m_vec.clone(); let mut rx5_rt_price_1m_vec = rx_rt_price_1m_vec.clone(); + let mut rt_price_1m_vec_capacity = rx_rt_price_1m_vec.clone(); let mut rt_price_30m_vec: Vec<(String, Vec)> = Vec::new(); let (tx_rt_price_30m_vec, mut rx_rt_price_30m_vec) = watch::channel(rt_price_30m_vec); @@ -137,24 +146,28 @@ async fn main() -> Result<(), Box> { let mut rx3_rt_price_30m_vec = rx_rt_price_30m_vec.clone(); let mut rx4_rt_price_30m_vec = rx_rt_price_30m_vec.clone(); let mut rx5_rt_price_30m_vec = rx_rt_price_30m_vec.clone(); + let mut rt_price_30m_vec_capacity = rx_rt_price_30m_vec.clone(); let mut rt_price_1d_vec: Vec<(String, Vec)> = Vec::new(); let (tx_rt_price_1d_vec, mut rx_rt_price_1d_vec) = watch::channel(rt_price_1d_vec); let mut rx2_rt_price_1d_vec = rx_rt_price_1d_vec.clone(); let mut rx3_rt_price_1d_vec = rx_rt_price_1d_vec.clone(); let mut rx4_rt_price_1d_vec = rx_rt_price_1d_vec.clone(); + let mut rt_price_1d_vec_capacity = rx_rt_price_1d_vec.clone(); let mut rt_price_1w_vec: Vec<(String, Vec)> = Vec::new(); let (tx_rt_price_1w_vec, mut rx_rt_price_1w_vec) = watch::channel(rt_price_1w_vec); let mut rx2_rt_price_1w_vec = rx_rt_price_1w_vec.clone(); let mut rx3_rt_price_1w_vec = rx_rt_price_1w_vec.clone(); let mut rx4_rt_price_1w_vec = rx_rt_price_1w_vec.clone(); + let mut rt_price_1w_vec_capacity = rx_rt_price_1w_vec.clone(); let mut rt_price_1mon_vec: Vec<(String, Vec)> = Vec::new(); let (tx_rt_price_1mon_vec, mut rx_rt_price_1mon_vec) = watch::channel(rt_price_1mon_vec); let mut rx2_rt_price_1mon_vec = rx_rt_price_1mon_vec.clone(); let mut rx3_rt_price_1mon_vec = rx_rt_price_1mon_vec.clone(); let mut rx4_rt_price_1mon_vec = rx_rt_price_1mon_vec.clone(); + let mut rt_price_1mon_vec_capacity = rx_rt_price_1mon_vec.clone(); // TEMA data // let mut tema3_1m_data: Vec<(String, Vec<(f64, i64)>)> = Vec::new(); // Vec<(symbol, Vec<(price, closetime)>)> @@ -198,6 +211,7 @@ async fn main() -> Result<(), Box> { let mut rx4_exchange_info_data = rx_exchange_info_data.clone(); let mut rx5_exchange_info_data = rx_exchange_info_data.clone(); let mut rx6_exchange_info_data = rx_exchange_info_data.clone(); + let mut exchange_info_data_capacity = rx_exchange_info_data.clone(); { if RUNNING_MODE == RunningMode::REAL { @@ -1482,7 +1496,38 @@ async fn main() -> Result<(), Box> { // println!("test limit order 실행"); // let client = ClientBuilder::new().timeout(Duration::from_millis(1000)).build().unwrap(); // limit_order_buy_test(&client).await; - sleep(Duration::from_secs(300000000000)).await; + let capacity_vec_1 = tradefee_vec_capacity.borrow().clone(); + let capacity_vec_2 = valid_usdt_trade_vec_capacity.borrow().clone(); + let capacity_vec_3 = price_vec_capacity.borrow().clone(); + let capacity_vec_4 = candle_1m_vec_capacity.borrow().clone(); + let capacity_vec_5 = candle_30m_vec_capacity.borrow().clone(); + let capacity_vec_6 = candle_1d_vec_capacity.borrow().clone(); + let capacity_vec_7 = candle_1w_vec_capacity.borrow().clone(); + let capacity_vec_8 = candle_1mon_vec_capacity.borrow().clone(); + let capacity_vec_9 = rt_price_1m_vec_capacity.borrow().clone(); + let capacity_vec_10 = rt_price_30m_vec_capacity.borrow().clone(); + let capacity_vec_11 = rt_price_1d_vec_capacity.borrow().clone(); + let capacity_vec_12 = rt_price_1w_vec_capacity.borrow().clone(); + let capacity_vec_13 = rt_price_1mon_vec_capacity.borrow().clone(); + let capacity_vec_14 = exchange_info_data_capacity.borrow().clone(); + + println!("@@ {:3}, {:3}, {:3}, {:3}, {:3}, {:3}, {:3}, {:3}, {:3}, {:3}, {:3}, {:3}, {:3}, {:3},", + capacity_vec_1.capacity(), + capacity_vec_2.capacity(), + capacity_vec_3.capacity(), + capacity_vec_4.capacity(), + capacity_vec_5.capacity(), + capacity_vec_6.capacity(), + capacity_vec_7.capacity(), + capacity_vec_8.capacity(), + capacity_vec_9.capacity(), + capacity_vec_10.capacity(), + capacity_vec_11.capacity(), + capacity_vec_12.capacity(), + capacity_vec_13.capacity(), + capacity_vec_14.capacity()); + + sleep(Duration::from_secs(1)).await; } Ok(())