浏览代码

再丢一个版本看看。

skyffire 1 年之前
父节点
当前提交
fdcd64072a
共有 2 个文件被更改,包括 10 次插入14 次删除
  1. 5 8
      strategy/src/core.rs
  2. 5 6
      strategy/src/predictor.rs

+ 5 - 8
strategy/src/core.rs

@@ -756,16 +756,14 @@ impl Core {
         // 更新保证金
         self.trade_msg.cash = self.local_cash.round_dp(10);
         self.trade_msg.coin = self.local_coin.round_dp(10);
-        let position = self.local_position_by_orders.clone();
         // 使用本地推算仓位
-        self.trade_msg.position = position;
-        let orders = self.local_orders.clone();
-        self.trade_msg.orders = orders;
+        self.trade_msg.position = self.local_position_by_orders.clone();
+        self.trade_msg.orders = self.local_orders.clone();
         // 更新 ref
         let mut ref_tickers: BTreeMap<String, Ticker> = BTreeMap::new();
         for i in &self.ref_name {
-            let bp = self.tickers.get(i).unwrap().buy.clone();
-            let ap = self.tickers.get(i).unwrap().sell.clone();
+            let bp = self.tickers.get(i).unwrap().buy;
+            let ap = self.tickers.get(i).unwrap().sell;
             ref_tickers.insert(i.clone(), Ticker {
                 time: 0,
                 high: Default::default(),
@@ -776,8 +774,7 @@ impl Core {
                 volume: Default::default(),
             });
         }
-        let ref_price: Vec<Vec<Decimal>> = self.predictor.get_ref_price(&ref_tickers);
-        self.trade_msg.ref_price = ref_price;
+        self.trade_msg.ref_price = self.predictor.get_ref_price(&ref_tickers);
         // 更新主动性方向
         self.trade_msg.side = self.side.clone();
     }

+ 5 - 6
strategy/src/predictor.rs

@@ -1,7 +1,6 @@
 use std::collections::BTreeMap;
 use rust_decimal::prelude::*;
 use rust_decimal_macros::dec;
-use tracing::{instrument};
 use standard::Ticker;
 use global::public_params;
 
@@ -48,7 +47,7 @@ impl Predictor {
     }
 
     // 计算任务,python里写作processer,是个错误的单词
-    #[instrument(skip(self), level="TRACE")]
+    // #[instrument(skip(self), level="TRACE")]
     fn processor(&mut self) {
         let last_market_info = self.market_info_list.last().unwrap();
 
@@ -74,7 +73,7 @@ impl Predictor {
     }
 
     // 更新平均价差,_update_avg_spread
-    #[instrument(skip(self), level="TRACE")]
+    // #[instrument(skip(self), level="TRACE")]
     fn update_avg_spread(&mut self) {
         let last_ref_mid_price_per_exchange = self.ref_mid_price_per_exchange_per_frame.last().unwrap();
         let mid_price_last = self.mid_price_list.last().unwrap();
@@ -98,7 +97,7 @@ impl Predictor {
     }
 
     // 长度限定
-    #[instrument(skip(self), level="TRACE")]
+    // #[instrument(skip(self), level="TRACE")]
     fn check_length(&mut self) {
         // 市场汇总信息长度限定
         if self.market_info_list.len() > self.data_length_max {
@@ -115,7 +114,7 @@ impl Predictor {
     }
 
     // 市场信息处理器,也是python里的onTime方法
-    #[instrument(skip(self, new_market_info), level="TRACE")]
+    // #[instrument(skip(self, new_market_info), level="TRACE")]
     pub fn market_info_handler(&mut self, new_market_info: &Vec<Decimal>) {
         // 空数据不处理
         if new_market_info.len() == 0 {
@@ -131,7 +130,7 @@ impl Predictor {
     }
 
     // 获取预定价格, 也就是python的Get_ref函数
-    #[instrument(skip(self, ref_ticker_map), level="TRACE")]
+    // #[instrument(skip(self, ref_ticker_map), level="TRACE")]
     pub fn get_ref_price(&mut self, ref_ticker_map: &BTreeMap<String, Ticker>) -> Vec<Vec<Decimal>> {
         let mut ref_price_list = vec![];
         let ref_exchange_names: Vec<_> = ref_ticker_map.keys().collect();