From 4606c0c03f6417bf2fda4953f795eabdf2b8e679 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期二, 15 七月 2025 18:29:02 +0800
Subject: [PATCH] 人为设置累计大单阈值时,如果不够移红/没加红的撤单率以人为的撤单率为准

---
 cancel_strategy/s_l_h_cancel_strategy.py |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/cancel_strategy/s_l_h_cancel_strategy.py b/cancel_strategy/s_l_h_cancel_strategy.py
index 5f39eca..fcf732a 100644
--- a/cancel_strategy/s_l_h_cancel_strategy.py
+++ b/cancel_strategy/s_l_h_cancel_strategy.py
@@ -587,7 +587,8 @@
                     human_rate = 0
                 if must_buy:
                     # 鎵叆鍔犵孩
-                    return max(constant.L_CANCEL_RATE_WITH_MUST_BUY_FOR_REDICAL_BUY, human_rate), True, (constant.L_CANCEL_RATE_WITH_MUST_BUY_FOR_REDICAL_BUY, human_rate)
+                    return max(constant.L_CANCEL_RATE_WITH_MUST_BUY_FOR_REDICAL_BUY, human_rate), True, (
+                        constant.L_CANCEL_RATE_WITH_MUST_BUY_FOR_REDICAL_BUY, human_rate)
                 else:
                     deal_big_order_info = radical_buy_data_manager.get_total_deal_big_order_info(code,
                                                                                                  gpcode_manager.get_limit_up_price_as_num(
@@ -599,7 +600,7 @@
                         if deal_big_order_info[0] <= 0:
                             # 澶у崟瓒冲锛屽皢鍩虹姣斾緥璋冩暣鑷�79%
                             threshold_rate = max(threshold_rate, 0.79)
-                        return max(threshold_rate, human_rate), False, (threshold_rate, human_rate)
+                        return human_rate if human_rate > 0 else threshold_rate, False, (threshold_rate, human_rate)
                     else:
                         deal_rate = round(deal_big_order_info[1] / deal_big_order_info[2], 2)
                         threshold_rate = 0.5 * deal_rate + 0.35
@@ -608,7 +609,7 @@
                         if deal_big_order_info[0] <= 0:
                             # 澶у崟瓒冲锛屽皢鍩虹姣斾緥璋冩暣鑷�79%
                             threshold_rate = max(threshold_rate, 0.79)
-                        return max(threshold_rate, human_rate), False, (threshold_rate, human_rate)
+                        return human_rate if human_rate > 0 else threshold_rate, False, (threshold_rate, human_rate)
             if must_buy:
                 if is_up:
                     return constant.L_CANCEL_RATE_UP_WITH_MUST_BUY, True, None

--
Gitblit v1.8.0