浏览代码

修复清仓问题

skyfffire 2 年之前
父节点
当前提交
1680378b31
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. 7 1
      strategy/src/quant.rs

+ 7 - 1
strategy/src/quant.rs

@@ -971,6 +971,11 @@ impl Quant {
                     if !position.symbol.eq_ignore_ascii_case(self.symbol.as_str()){
                         continue;
                     }
+
+                    if position.amount.eq(&Decimal::ZERO) {
+                        continue;
+                    }
+
                     match self.platform_rest.get_ticker().await {
                         Ok(ticker)=>{
                             let ap = ticker.sell;
@@ -978,6 +983,7 @@ impl Quant {
                             let mp = ( ap + bp ) / Decimal::TWO;
                             let mut price = Decimal::ZERO;
                             let mut side = "pd";
+                            info!(?position);
                             match position.position_mode {
                                 PositionModeEnum::Long => {
                                     // pd
@@ -994,7 +1000,7 @@ impl Quant {
                                     break;
                                 }
                             }
-                            match self.platform_rest.take_order("t-123", side, price, position.amount).await {
+                            match self.platform_rest.take_order("t-123", side, price, position.amount.abs()).await {
                                 Ok(order)=>{
                                     info!("清仓下单!");
                                     info!(?order);