瀏覽代碼

优化存放逻辑。

skyfffire 11 月之前
父節點
當前提交
b38bb1201c
共有 1 個文件被更改,包括 21 次插入16 次删除
  1. 21 16
      strategy/src/avellaneda_stoikov.rs

+ 21 - 16
strategy/src/avellaneda_stoikov.rs

@@ -581,26 +581,31 @@ impl AvellanedaStoikov {
             });
 
             // 长度限定,最大100w条
-            if cci.predictor_state_vec.len() > 10_000 {
+            if cci.predictor_state_vec.len() > 700_000 {
                 cci.predictor_state_vec.remove(0);
             }
         });
 
-        // let error_rate = self.error_rate;
-        // // 将数据存入本地json文件,要求不能在行情烈度比较大的时候执行这个逻辑,防止卡交易逻辑
-        // if now - self.prev_save_time < dec!(60000) || error_rate > dec!(0.15) {
-        //     return;
-        // }
-        // // 存放逻辑
-        // info!("存放, {}, {}, {}", now, self.prev_save_time, now - self.prev_save_time);
-        //
-        //
-        //
-        // self.prev_save_time = Decimal::from(Utc::now().timestamp_millis());
-        // let cci = cci_arc.lock().await;
-        // let temp_json_str = serde_json::to_string(&cci.predictor_state_vec).unwrap();
-        // Self::write_to_file(&temp_json_str, "./db/db.json".to_string()).await;
-        // info!("存放完毕, {}", self.prev_save_time - now);
+        let error_rate = self.error_rate;
+        // 将数据存入本地json文件,要求不能在行情烈度比较大的时候执行这个逻辑,防止卡交易逻辑
+        if now - self.prev_save_time < dec!(600000) || error_rate > dec!(0.15) {
+            return;
+        }
+        // 存放逻辑
+        info!("存放, {}, {}, {}", now, self.prev_save_time, now - self.prev_save_time);
+
+
+
+        let cci = cci_arc.lock().await;
+        let data_c = cci.predictor_state_vec.clone();
+
+        tokio::spawn(async move {
+            let temp_json_str = serde_json::to_string(&data_c).unwrap();
+            AvellanedaStoikov::write_to_file(&temp_json_str, "./db/db.json".to_string()).await;
+        });
+
+        self.prev_save_time = Decimal::from(Utc::now().timestamp_millis());
+        info!("存放完毕, {}", self.prev_save_time - now);
     }
 
     // #[instrument(skip(self, ref_ticker_map), level="TRACE")]