| 123456789101112131415161718192021222324252627282930313233343536 |
- use std::collections::BTreeMap;
- use std::io::Error;
- use std::sync::Arc;
- use std::sync::atomic::{AtomicBool};
- use tokio::sync::{mpsc, Mutex};
- use tracing::{info};
- use global::cci::CentralControlInfo;
- use global::params::Params;
- use standard::Order;
- use strategy::clear_core::ClearCore;
- pub async fn init(params: Params,
- _ws_running: Arc<AtomicBool>,
- running: Arc<AtomicBool>,
- cci_arc: Arc<Mutex<CentralControlInfo>>) -> ClearCore {
- // 封装
- 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());
- exchange_params.insert("pass_key".to_string(), params.pass_key.clone());
- let (order_sender, _order_receiver) = mpsc::channel::<Order>(100);
- let (error_sender, _error_receiver) = mpsc::channel::<Error>(100);
- let mut core_obj = ClearCore::new(params.exchange.clone(),
- params.clone(),
- exchange_params.clone(),
- order_sender.clone(),
- error_sender.clone(),
- running.clone(),
- cci_arc.clone()).await;
- info!("清仓检查程序ClearCore初始化……");
- core_obj.before_trade().await;
- return core_obj;
- }
|