From cf89766b43b7e5601220e5144edab8ee9307a8ad Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期三, 26 三月 2025 17:29:03 +0800
Subject: [PATCH] 新题材拉黑机制修改

---
 api/outside_api_command_callback.py |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/api/outside_api_command_callback.py b/api/outside_api_command_callback.py
index 33e1218..9c233dd 100644
--- a/api/outside_api_command_callback.py
+++ b/api/outside_api_command_callback.py
@@ -1063,7 +1063,19 @@
                             except:
                                 pass
                             # L鎾ゆ瘮渚�
-                            l_down_cancel_rate, must_buy = LCancelRateManager.get_cancel_rate(code, buy_mode = OrderBeginPosInfo.MODE_RADICAL)
+                            l_down_cancel_rate, must_buy = LCancelRateManager.get_cancel_rate(code,
+                                                                                              buy_mode=OrderBeginPosInfo.MODE_RADICAL)
+
+                            # 鍦ㄦ寕鐨勮窛绂绘垚浜よ繘搴︿綅閲戦/锛堣繙杩戞湡鍙傝�冮噺-鍗曞綋鏃ュ疄鏃舵垚浜ら噺锛�*100%
+                            expire_rate = "鏈煡"
+                            try:
+                                referer_volume = code_volumn_manager.CodeVolumeManager().get_radical_buy_refer_volume(
+                                    code, limit_up_price)
+                                today_volumn = code_volumn_manager.CodeVolumeManager().get_today_volumn(code)
+                                expire_rate = f"{round(100 * total_left_num * 100 / (referer_volume - today_volumn), 2)}%"
+                            except:
+                                pass
+
                             fdata = {"id": orderSysID, "code_info": (code, code_name), "total_num": total_nums,
                                      "finish_num": deal_or_cancel_num,
                                      "buy1_money": output_util.money_desc(buy1_money),
@@ -1087,7 +1099,8 @@
                                      "is_near_big_order": is_near_big_order,
                                      "block": '',
                                      "trade_queue": [],
-                                     "l_down_cancel_rate":l_down_cancel_rate
+                                     "l_down_cancel_rate": l_down_cancel_rate,
+                                     "expire_rate": expire_rate
                                      }
                             limit_up_data = kpl_data_manager.KPLLimitUpDataRecordManager.record_code_dict.get(code)
                             # 鑾峰彇褰撳墠鏉垮潡
@@ -1354,7 +1367,7 @@
                                     "zyltgb": constant.RADICAL_BUY_ZYLTGB_AS_YI_RANGES,
                                     "top_block_count_by_market_strong": constant.RADICAL_BUY_TOP_IN_COUNT_BY_MARKET_STRONG,
                                     "special_codes_max_block_in_rank": constant.RADICAL_BUY_TOP_IN_INDEX_WITH_SPECIAL,
-                                    "ignore_block_in_money_market_strong":constant.IGNORE_BLOCK_IN_MONEY_MARKET_STRONG
+                                    "ignore_block_in_money_market_strong": constant.IGNORE_BLOCK_IN_MONEY_MARKET_STRONG
                                     }}
                 self.send_response({"code": 0, "data": data, "msg": f""},
                                    client_id,
@@ -1373,7 +1386,8 @@
                         constant.RADICAL_BUY_TOP_IN_INDEX_WITH_SPECIAL = radical_buy.get(
                             "special_codes_max_block_in_rank")
                     if radical_buy.get('ignore_block_in_money_market_strong') is not None:
-                        constant.IGNORE_BLOCK_IN_MONEY_MARKET_STRONG = radical_buy.get('ignore_block_in_money_market_strong')
+                        constant.IGNORE_BLOCK_IN_MONEY_MARKET_STRONG = radical_buy.get(
+                            'ignore_block_in_money_market_strong')
                 self.send_response({"code": 0, "data": {}, "msg": f""},
                                    client_id,
                                    request_id)

--
Gitblit v1.8.0