Explorar el Código

适配新结构体

skyfffire hace 2 años
padre
commit
40ba6b323c
Se han modificado 2 ficheros con 19 adiciones y 12 borrados
  1. 9 3
      src/main.rs
  2. 10 9
      tests/order_command_test.rs

+ 9 - 3
src/main.rs

@@ -1,8 +1,11 @@
 mod server;
 
 use std::collections::BTreeMap;
+use std::io::Error;
 use std::str::FromStr;
+use tokio::sync::mpsc;
 use tracing::{info, subscriber};
+use standard::Order;
 use strategy::params::Params;
 use strategy::quant::Quant;
 
@@ -22,11 +25,14 @@ async fn main() {
     info!(?params);
     info!(?tracing_log_level);
 
-    let mut quant = Quant::new(params.clone());
-
     let mut exchange_params:BTreeMap<String, String> = BTreeMap::new();
     exchange_params.insert("access_key".to_string(), params.access_key.clone());
     exchange_params.insert("secret_key".to_string(), params.secret_key.clone());
 
-    quant.before_trade(exchange_params).await;
+    let (order_sender, mut order_receiver) = mpsc::channel::<Order>(100);
+    let (error_sender, mut error_receiver) = mpsc::channel::<Error>(100);
+
+    let mut quant = Quant::new(params.clone(), exchange_params, order_sender.clone(), error_sender.clone()).await;
+
+    quant.before_trade().await;
 }

+ 10 - 9
tests/order_command_test.rs

@@ -3,7 +3,7 @@ use std::{env};
 use tokio::sync::mpsc;
 use std::io::Error;
 use std::time::Duration;
-use tracing::{error, info, subscriber, trace};
+use tracing::{error, info};
 use exchanges::proxy;
 use standard::exchange::{Exchange, ExchangeEnum};
 use standard::{Order, OrderCommand};
@@ -18,13 +18,14 @@ async fn main() {
     let secret_key = env::var("gate_secret_key").unwrap_or("".to_string());
     params.insert("access_key".to_string(), access_key);
     params.insert("secret_key".to_string(), secret_key);
-    let exchange = Exchange::new(ExchangeEnum::GateSwap, "BTC_USDT".to_string(), false, params);
-
-    global::log_utils::init_log_with_info();
 
     let (order_sender, mut order_receiver) = mpsc::channel::<Order>(100);
     let (error_sender, mut error_receiver) = mpsc::channel::<Error>(100);
 
+    global::log_utils::init_log_with_info();
+
+    let exchange = Exchange::new(ExchangeEnum::GateSwap, "BTC_USDT".to_string(), false,
+                                 params, order_sender.clone(), error_sender.clone()).await;
     let main_thread = tokio::spawn(async move {
         let client_id_0 = "123425678".to_string();
         let client_id_1 = "123452679".to_string();
@@ -33,9 +34,9 @@ async fn main() {
             // 下单
             info!("下单");
             let mut command = OrderCommand::new();
-            command.limits_open.insert("BTC_USDT1".to_string(), vec!["0.0001".to_string(), "pd".to_string(), "28000".to_string(), client_id_0.clone()]);
-            command.limits_open.insert("BTC_USDT2".to_string(), vec!["0.0001".to_string(), "pk".to_string(), "25000".to_string(), client_id_1.clone()]);
-            exchange.command_order(command.clone(), order_sender.clone(), error_sender.clone()).await;
+            command.limits_open.insert("BTC_USDT1".to_string(), vec!["0.0001".to_string(), "kd".to_string(), "24000".to_string(), client_id_0.clone()]);
+            command.limits_open.insert("BTC_USDT2".to_string(), vec!["0.0001".to_string(), "kk".to_string(), "28000".to_string(), client_id_1.clone()]);
+            exchange.command_order(command.clone()).await;
             tokio::time::sleep(Duration::from_secs(5)).await;
 
             // 查单
@@ -43,7 +44,7 @@ async fn main() {
             let mut command = OrderCommand::new();
             command.check.insert("BTC_USDT1".to_string(), vec![client_id_0.clone(), "".to_string()]);
             command.check.insert("BTC_USDT2".to_string(), vec![client_id_1.clone(), "".to_string()]);
-            exchange.command_order(command.clone(), order_sender.clone(), error_sender.clone()).await;
+            exchange.command_order(command.clone()).await;
             tokio::time::sleep(Duration::from_secs(5)).await;
 
             // 撤单
@@ -51,7 +52,7 @@ async fn main() {
             let mut command = OrderCommand::new();
             command.cancel.insert("BTC_USDT1".to_string(), vec![client_id_0.clone(), "".to_string()]);
             command.cancel.insert("BTC_USDT2".to_string(), vec![client_id_1.clone(), "".to_string()]);
-            exchange.command_order(command.clone(), order_sender.clone(), error_sender.clone()).await;
+            exchange.command_order(command.clone()).await;
             tokio::time::sleep(Duration::from_secs(10)).await;
         }
     });