From d957e0dc6dcfb15304a6499e1b9ddee4e18be531 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 02 一月 2025 18:10:23 +0800
Subject: [PATCH] 拆单初步规划/禁止交易板块管理

---
 trade/current_price_process_manager.py |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/trade/current_price_process_manager.py b/trade/current_price_process_manager.py
index 3c799e2..9cb0bd1 100644
--- a/trade/current_price_process_manager.py
+++ b/trade/current_price_process_manager.py
@@ -10,7 +10,9 @@
 from log_module.log import logger_l2_codes_subscript, logger_debug
 import constant
 from code_attribute import gpcode_manager
+from third_data.code_plate_key_manager import KPLPlateForbiddenManager
 from third_data.kpl_data_constant import LimitUpCodesBlockRecordManager, LimitUpDataConstant
+from trade.buy_money_count_setting import BuyMoneyUtil
 from trade.buy_radical import radical_buy_data_manager
 from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager
 from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, RadicalBuyDataManager
@@ -83,10 +85,16 @@
         # 娑ㄥ仠杩囩殑浠g爜鎵嶄細璁$畻鏉垮潡韬綅
         for b in blocks:
             index = None
+
+            # 濡傛灉褰撳墠鏉垮潡涓嶈兘涔板垯涓嶈闃�
+            if KPLPlateForbiddenManager().is_in_cache(b):
+                continue
             if b in top_in_blocks:
                 index = top_in_blocks.index(b)
             else:
-                if RadicalBuyBlockManager.is_block_can_buy_with_block_in(code, b, yesterday_limit_up_codes=yesterday_limit_up_codes)[0]:
+                if RadicalBuyBlockManager.is_block_can_buy_with_block_in(code, b,
+                                                                         yesterday_limit_up_codes=yesterday_limit_up_codes)[
+                    0]:
                     index = 100
             if index is None:
                 continue
@@ -215,15 +223,16 @@
                     latest_add_codes = add_code_set
                     add_datas = []
                     for d in add_code_list:
-                        limit_up_price = gpcode_manager.get_limit_up_price(d)
-                        limit_up_price = round(float(limit_up_price), 2)
+                        limit_up_price = gpcode_manager.get_limit_up_price_as_num(d)
                         min_volume = int(round(50 * 10000 / limit_up_price))
-                        # 浼犻�掔瀛愪环
+                        # 闇�瑕佽闃呯殑鐗规畩鐨勯噺
+                        special_volumes = BuyMoneyUtil.get_possible_buy_volumes(limit_up_price)
+                        special_volumes |= set([tool.get_buy_volume_by_money(limit_up_price, x) for x in
+                                                constant.AVAILABLE_BUY_MONEYS])
                         add_datas.append(
                             # 锛堜唬鐮�, 鏈�灏忛噺, 娑ㄥ仠浠凤紝褰卞瓙璁㈠崟浠锋牸,涔伴噺, 鐗规畩浠锋牸锛�
                             (d, min_volume, limit_up_price, round(tool.get_shadow_price(limit_up_price), 2),
-                             tool.get_buy_volume(limit_up_price),
-                             [tool.get_buy_volume_by_money(limit_up_price, x) for x in constant.AVAILABLE_BUY_MONEYS]))
+                             tool.get_buy_volume(limit_up_price), list(special_volumes)))
                     huaxin_target_codes_manager.HuaXinL2SubscriptCodesManager.push(add_datas, request_id)
             except Exception as e:
                 logging.exception(e)

--
Gitblit v1.8.0