Browse Source

添加鉴别运行模式的参数

JiahengHe 1 năm trước cách đây
mục cha
commit
b53457da17
2 tập tin đã thay đổi với 20 bổ sung1 xóa
  1. 3 0
      global/src/params.rs
  2. 17 1
      src/main.rs

+ 3 - 0
global/src/params.rs

@@ -50,6 +50,8 @@ pub struct Params {
     pub log_level: String,
     // 中控端口
     pub port: u32,
+    // 运行模式 0.正常策略运行, 1.清理挂单及仓位
+    pub run_mode: i8
 }
 
 impl Params {
@@ -96,6 +98,7 @@ impl Params {
             gamma: dec!(0.999),
             log_level: "info".to_string(),
             port: call_port,
+            run_mode: 0,
         };
         Ok(params)
     }

+ 17 - 1
src/main.rs

@@ -44,6 +44,8 @@ fn log_level_init(log_str: String, port: u32, account_name: String) -> WorkerGua
 fn read_params_json() -> Params {
     let mut path = "config.json";
     let mut call_port = 5555;
+    // 运行模式 0.正常策略运行, 1.清理挂单及仓位
+    let mut run_mode = 0;
 
     let args: Vec<String> = std::env::args().collect();
 
@@ -66,10 +68,24 @@ fn read_params_json() -> Params {
                 }
             }
         }
+
+        // Check for the --port argument and assign its value.
+        if arg.starts_with("--run_mode=") {
+            let parts: Vec<&str> = arg.split('=').collect();
+            if parts.len() == 2 {
+                match u32::from_str(parts[1]) {
+                    Ok(num) => run_mode = num,
+                    Err(_) => eprintln!("Invalid number for run_mode: {}", parts[1]),
+                }
+            }
+        }
     }
 
     println!("通讯端口:{}, 配置文件路径:{}", call_port, path);
-    let params = Params::new_json(path, call_port).unwrap();
+    let mut params = Params::new_json(path, call_port).unwrap();
+    if run_mode == 1{
+        params.run_mode = 1;
+    }
     return params;
 }