From 48fb7a00951f91bdc707e5dd2d196e5bccb752c3 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期三, 18 六月 2025 18:41:30 +0800
Subject: [PATCH] 异常保护

---
 l2_test.py |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/l2_test.py b/l2_test.py
index 4015391..d555401 100644
--- a/l2_test.py
+++ b/l2_test.py
@@ -11,6 +11,7 @@
 import psutil
 import requests
 
+from api import low_suction_data_pusher
 from code_attribute import global_data_loader
 from huaxin_client import l2_client_test, l1_subscript_codes_manager
 from log_module.log import logger_local_huaxin_l2_transaction_big_order, logger_system, \
@@ -18,6 +19,7 @@
 from third_data.custom_block_in_money_manager import CodeInMoneyManager, BlockInMoneyRankManager
 from third_data.history_k_data_manager import HistoryKDataManager
 from third_data.history_k_data_util import HistoryKDatasUtils
+from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager
 from utils import tool, middle_api_protocol, global_util
 import urllib.parse as urlparse
 from urllib.parse import parse_qs
@@ -123,12 +125,16 @@
             volume = zylt_volume_map.get(code)
             # 浠婃棩娑ㄥ仠浠疯绐佺牬鏄ㄦ棩鏈�楂樹环
             k_bars = HistoryKDataManager().get_history_bars(code, last_trade_day)
-            if k_bars and 30e8 <= k_bars[0]["close"] * volume * tool.get_limit_up_rate(code) <= 300e8:
-                # 鑷敱娴侀�氬競鍊煎湪30浜�-300浜夸互涓�
+            if k_bars and 10e8 <= k_bars[0]["close"] * volume * tool.get_limit_up_rate(code) <= 300e8:
+                # 鑷敱娴侀�氬競鍊煎湪10浜�-300浜夸互涓�
                 limit_up_price = round(tool.get_limit_up_rate(code) * k_bars[0]["close"], 2)
-                if limit_up_price > k_bars[0]["high"]:
+                if limit_up_price > k_bars[0]["high"] or True:
                     # 浠婃棩娑ㄥ仠浠疯绐佺牬鏄ㄦ棩鏈�楂樹环
                     codes.add(code)
+        # 鑾峰彇杈ㄨ瘑搴︾殑绁�
+        special_codes = BlockSpecialCodesManager().get_origin_code_blocks_dict().keys()
+        if special_codes:
+            codes |= set(special_codes)
         return codes
     except Exception as e:
         logger_system.exception(e)
@@ -138,8 +144,14 @@
 def __save_accurate_big_order(big_accurate_order_queue):
     while True:
         try:
-            data = big_accurate_order_queue.get()
-            logger_local_huaxin_l2_transaction_accurate_big_order.info(f"{data}")
+            datas = []
+            while not big_accurate_order_queue.empty():
+                data = big_accurate_order_queue.get()
+                datas.append(data)
+            if datas:
+                low_suction_data_pusher.push_big_order(datas)
+                for data in datas:
+                    logger_local_huaxin_l2_transaction_accurate_big_order.info(f"{data}")
         except:
             pass
 
@@ -217,6 +229,10 @@
             __upload_data("jingxuan_rank", json.dumps(fins))
             __upload_data("jingxuan_rank_out", json.dumps(fouts))
             __upload_codes_in_money()
+            try:
+                low_suction_data_pusher.push_block_in(in_list)
+            except:
+                pass
         except Exception as e:
             logging.exception(e)
         finally:

--
Gitblit v1.8.0