Quellcode durchsuchen

增加server中交易量字段

JiahengHe vor 8 Monaten
Ursprung
Commit
e3cb1da3a6
4 geänderte Dateien mit 7 neuen und 1 gelöschten Zeilen
  1. 1 0
      global/src/cci.rs
  2. 1 0
      src/main.rs
  3. 2 0
      src/server.rs
  4. 3 1
      strategy/src/core.rs

+ 1 - 0
global/src/cci.rs

@@ -8,4 +8,5 @@ pub struct CentralControlInfo {
     pub pos: Decimal,                           // 持仓数量
     pub entry_price: Decimal,                   // 开仓价格
     pub now_price: Decimal,                     // 当前价格
+    pub trading_volume: Decimal,                // 交易量
 }

+ 1 - 0
src/main.rs

@@ -152,6 +152,7 @@ async fn main() {
         pos: Default::default(),
         entry_price: Default::default(),
         now_price: Default::default(),
+        trading_volume: Default::default(),
     };
     let cci_arc = Arc::new(Mutex::new(cci));
 

+ 2 - 0
src/server.rs

@@ -39,6 +39,7 @@ pub fn run_cci_cache(cci_arc: Arc<Mutex<CentralControlInfo>>) -> Arc<Mutex<Centr
         pos: Default::default(),
         entry_price: Default::default(),
         now_price: Default::default(),
+        trading_volume: Default::default(),
     };
     let cci_cache_arc = Arc::new(Mutex::new(cci_cache));
     let cci_cache_arc_clone = cci_cache_arc.clone();
@@ -54,6 +55,7 @@ pub fn run_cci_cache(cci_arc: Arc<Mutex<CentralControlInfo>>) -> Arc<Mutex<Centr
                 cci_cache.unrealized_pn_l = cci.unrealized_pn_l;
                 cci_cache.now_balance = cci.now_balance;
                 cci_cache.entry_price = cci.entry_price;
+                cci_cache.trading_volume = cci.trading_volume;
             }
         }
     });

+ 3 - 1
strategy/src/core.rs

@@ -589,15 +589,17 @@ impl Core {
         // 计算开始时间戳
         let start_time = end_time - seven_days_millis;
         let trade_volume = self.platform_rest.get_trade_amount(start_time, end_time).await;
-
+        let mut cci = self.cci_arc.lock().await;
         match trade_volume {
             Ok(volume) => {
                 info!("交易量定时更新成功: {}", volume);
                 self.trading_volume = volume;
+                cci.trading_volume = volume;
             },
             Err(e) => {
                 error!("获取交易量失败: {}", e);
                 self.trading_volume = Decimal::ZERO;
+                cci.trading_volume = Decimal::ZERO;
             }
         }
     }