Pārlūkot izejas kodu

移除老版本的警告

skyfffire 3 mēneši atpakaļ
vecāks
revīzija
62665d3072

+ 6 - 2
derive/src/binance_swap_export.rs

@@ -1,6 +1,6 @@
 use std::collections::{BTreeMap};
 use async_trait::async_trait;
-use chrono::{FixedOffset, NaiveDateTime, TimeZone};
+use chrono::{DateTime, FixedOffset, Utc};
 use rust_decimal::prelude::ToPrimitive;
 use serde::{Deserialize, Serialize};
 use tracing::{info, warn};
@@ -72,7 +72,11 @@ impl ExportConnector for BinanceSwapExport {
                 let trades_info: Vec<TradesSwap> = serde_json::from_str(&res_data.data.to_string()).unwrap();
                 for value in trades_info.iter() {
                     first_time = value.time + 1;
-                    let time = FixedOffset::east_opt(8 * 3600).unwrap().from_utc_datetime(&NaiveDateTime::from_timestamp_millis(value.time.clone()).unwrap()).format("%Y-%m-%d %H:%M:%S%.3f").to_string();
+                    let utc_datetime = DateTime::<Utc>::from_timestamp_millis(first_time)
+                        .expect("Invalid timestamp");
+                    let fixed_offset = FixedOffset::east_opt(8 * 3600).expect("Invalid timezone offset");
+                    let converted_datetime = utc_datetime.with_timezone(&fixed_offset);
+                    let time = converted_datetime.format("%Y-%m-%d %H:%M:%S%.3f").to_string();
                     let order_type = if value.maker { "Maker" } else { "Taker" };
 
                     data_array.push(vec![

+ 8 - 2
derive/src/bitget_swap_export.rs

@@ -1,7 +1,7 @@
 use std::collections::BTreeMap;
 use std::str::FromStr;
 use async_trait::async_trait;
-use chrono::{FixedOffset, NaiveDateTime, TimeZone};
+use chrono::{DateTime, FixedOffset, NaiveDateTime, Utc};
 use rust_decimal::Decimal;
 use rust_decimal::prelude::{ToPrimitive};
 use serde_json::Value::Null;
@@ -50,7 +50,12 @@ impl ExportConnector for BitgetSwapExport {
                     let fee = value["feeDetail"][0]["totalFee"].as_str().unwrap();
                     let profit = value["profit"].as_str().unwrap();
                     let role = value["tradeScope"].as_str().unwrap();
-                    let created_at = FixedOffset::east_opt(8 * 3600).unwrap().from_utc_datetime(&NaiveDateTime::from_timestamp_millis(created_time.to_i64().unwrap()).unwrap()).format("%Y-%m-%d %H:%M:%S%.3f").to_string();
+                    let created_time_i64 = created_time.to_i64().unwrap();
+                    let utc_datetime = DateTime::<Utc>::from_timestamp_millis(created_time_i64)
+                        .expect("Invalid timestamp");
+                    let fixed_offset = FixedOffset::east_opt(8 * 3600).expect("Invalid timezone offset");
+                    let converted_datetime = utc_datetime.with_timezone(&fixed_offset);
+                    let created_at = converted_datetime.format("%Y-%m-%d %H:%M:%S%.3f").to_string();
 
                     data_array.push(vec![
                         id.to_string(),
@@ -72,6 +77,7 @@ impl ExportConnector for BitgetSwapExport {
                     data_array = data_array.iter().filter(|item| {
                         NaiveDateTime::parse_from_str(item.last().unwrap(), "%Y-%m-%d %H:%M:%S%.3f")
                             .unwrap()
+                            .and_utc()
                             .timestamp_millis() > start_time
                     }).cloned().collect();
                     break;

+ 22 - 5
derive/src/bybit_swap_export.rs

@@ -1,6 +1,6 @@
 use std::collections::{BTreeMap};
 use async_trait::async_trait;
-use chrono::{FixedOffset, NaiveDateTime, TimeZone};
+use chrono::{DateTime, FixedOffset, Utc};
 use rust_decimal::prelude::ToPrimitive;
 use serde::{Deserialize, Serialize};
 use tracing::{warn};
@@ -109,7 +109,13 @@ async fn get_trades(mut request: BybitSwapRest, symbol: String, start_time: i64,
             let trades_info: Vec<TradesSwap> = serde_json::from_str(&*data_clone["list"].to_string()).unwrap();
             cursor = data_clone["nextPageCursor"].as_str().unwrap_or("").to_string();
             for value in trades_info.iter() {
-                let time = FixedOffset::east_opt(8 * 3600).unwrap().from_utc_datetime(&NaiveDateTime::from_timestamp_millis(value.exec_time.parse::<i64>().unwrap()).unwrap()).format("%Y-%m-%d %H:%M:%S%.3f").to_string();
+                let exec_time_i64 = value.exec_time.parse::<i64>().unwrap();
+                let utc_datetime = DateTime::<Utc>::from_timestamp_millis(exec_time_i64)
+                    .expect("Invalid timestamp");
+                let fixed_offset = FixedOffset::east_opt(8 * 3600).expect("Invalid timezone offset");
+                let converted_datetime = utc_datetime.with_timezone(&fixed_offset);
+                let exec_time = converted_datetime.format("%Y-%m-%d %H:%M:%S%.3f").to_string();
+                
                 let order_type = value.order_type.clone();
 
                 data_array.push(vec![
@@ -123,7 +129,7 @@ async fn get_trades(mut request: BybitSwapRest, symbol: String, start_time: i64,
                     value.exec_value.clone(),
                     value.exec_fee.clone(),
                     value.fee_rate.clone(),
-                    time,
+                    exec_time,
                 ]);
             }
 
@@ -173,8 +179,19 @@ async fn get_position_pnl(mut request: BybitSwapRest, symbol: String, start_time
             let trades_info: Vec<PositionPnlSwap> = serde_json::from_str(&*data_clone["list"].to_string()).unwrap();
             cursor = data_clone["nextPageCursor"].as_str().unwrap_or("").to_string();
             for value in trades_info.iter() {
-                let create_time = FixedOffset::east_opt(8 * 3600).unwrap().from_utc_datetime(&NaiveDateTime::from_timestamp_millis(value.created_time.parse::<i64>().unwrap()).unwrap()).format("%Y-%m-%d %H:%M:%S%.3f").to_string();
-                let update_time = FixedOffset::east_opt(8 * 3600).unwrap().from_utc_datetime(&NaiveDateTime::from_timestamp_millis(value.updated_time.parse::<i64>().unwrap()).unwrap()).format("%Y-%m-%d %H:%M:%S%.3f").to_string();
+                let created_time_i64 = value.created_time.parse::<i64>().unwrap();
+                let utc_datetime = DateTime::<Utc>::from_timestamp_millis(created_time_i64)
+                    .expect("Invalid timestamp");
+                let fixed_offset = FixedOffset::east_opt(8 * 3600).expect("Invalid timezone offset");
+                let converted_datetime = utc_datetime.with_timezone(&fixed_offset);
+                let create_time = converted_datetime.format("%Y-%m-%d %H:%M:%S%.3f").to_string();
+
+                let created_time_i64 = value.updated_time.parse::<i64>().unwrap();
+                let utc_datetime = DateTime::<Utc>::from_timestamp_millis(created_time_i64)
+                    .expect("Invalid timestamp");
+                let fixed_offset = FixedOffset::east_opt(8 * 3600).expect("Invalid timezone offset");
+                let converted_datetime = utc_datetime.with_timezone(&fixed_offset);
+                let update_time = converted_datetime.format("%Y-%m-%d %H:%M:%S%.3f").to_string();
 
                 data_array.push(vec![
                     value.order_id.clone(),

+ 8 - 3
derive/src/gate_swap_export.rs

@@ -1,7 +1,7 @@
 use std::collections::BTreeMap;
 use std::str::FromStr;
 use async_trait::async_trait;
-use chrono::{FixedOffset, NaiveDateTime, TimeZone};
+use chrono::{DateTime, FixedOffset, NaiveDateTime, Utc};
 use rust_decimal::Decimal;
 use rust_decimal::prelude::{FromPrimitive, ToPrimitive};
 use rust_decimal_macros::dec;
@@ -68,7 +68,12 @@ impl ExportConnector for GateSwapExport {
                     let size = Decimal::from_i64(value.size).unwrap();
                     let side = if size < Decimal::ZERO { "sell" } else { "buy" };
                     let created_time = Decimal::from_f64(value.create_time).unwrap() * dec!(1000);
-                    let created_at = FixedOffset::east_opt(8 * 3600).unwrap().from_utc_datetime(&NaiveDateTime::from_timestamp_millis(created_time.to_i64().unwrap()).unwrap()).format("%Y-%m-%d %H:%M:%S%.3f").to_string();
+                    let created_time_i64 = created_time.to_i64().unwrap();
+                    let utc_datetime = DateTime::<Utc>::from_timestamp_millis(created_time_i64)
+                        .expect("Invalid timestamp");
+                    let fixed_offset = FixedOffset::east_opt(8 * 3600).expect("Invalid timezone offset");
+                    let converted_datetime = utc_datetime.with_timezone(&fixed_offset);
+                    let created_at = converted_datetime.format("%Y-%m-%d %H:%M:%S%.3f").to_string();
                     let trade_value = Decimal::from_str(&value.price).unwrap() * size.abs();
                     data_array.push(vec![
                         value.id.to_string(),
@@ -88,7 +93,7 @@ impl ExportConnector for GateSwapExport {
                     data_array = data_array.iter().filter(|item| {
                         NaiveDateTime::parse_from_str(item.last().unwrap(), "%Y-%m-%d %H:%M:%S%.3f")
                             .unwrap()
-                            .timestamp_millis() > start_time
+                            .and_utc().timestamp_millis() > start_time
                     }).cloned().collect();
                     break;
                 }

+ 1 - 0
global/src/trace_stack.rs

@@ -45,6 +45,7 @@ impl TraceStack {
     }
 
     pub fn show_delay(ins: &Instant) {
+        #[warn(static_mut_refs)]
         pub static mut COUNT: u128 = 0u128;
         pub static mut SUM_DELAY: u128 = 0u128;
         pub static mut PREV_LOG_TIMESTAMP: i64 = 0;

+ 1 - 1
strategy/src/utils.rs

@@ -569,7 +569,7 @@ mod tests {
     #[test]
     fn clip_test() {
         let num = dec!(11);
-        let num2 = dec!(2);
+        // let num2 = dec!(2);
 
         let lower_limit = dec!(3);
         let upper_limit = dec!(6);