|
|
@@ -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")]
|