From a00da3062c6c825b585f82275823ac45cdeb6502 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 19 一月 2024 19:16:20 +0800
Subject: [PATCH] L后成交太快撤单

---
 third_data/block_info.py |   47 +++++++++++++++++++++++++++++++++++++----------
 1 files changed, 37 insertions(+), 10 deletions(-)

diff --git a/third_data/block_info.py b/third_data/block_info.py
index 1ca14f6..b492143 100644
--- a/third_data/block_info.py
+++ b/third_data/block_info.py
@@ -9,6 +9,8 @@
 from third_data.history_k_data_util import HistoryKDatasUtils
 from third_data.kpl_data_manager import KPLLimitUpDataRecordManager, KPLDataManager
 
+from third_data import kpl_data_manager
+
 __before_block_dict = {}
 
 __kplDataManager = KPLDataManager()
@@ -16,12 +18,21 @@
 
 def __load_before_block(code):
     if code not in __before_block_dict:
-        blocks = KPLLimitUpDataRecordManager.get_latest_blocks(code)
+        blocks = KPLLimitUpDataRecordManager.get_latest_blocks_set(code)
         if blocks:
-            blocks = blocks[0].split(',')
             __before_block_dict[code] = blocks
 
     return __before_block_dict.get(code)
+
+
+# 鑾峰彇涔嬪墠鐨勬澘鍧�
+def get_before_blocks(code):
+    return __before_block_dict.get(code)
+
+
+# 鑾峰彇涔嬪墠鐨勪唬鐮�-鏉垮潡瀛楀吀
+def get_before_blocks_dict():
+    return __before_block_dict
 
 
 def __get_code_from_code_info(code_info):
@@ -58,7 +69,7 @@
     if now_day in __blocks_dict:
         return __blocks_dict[now_day]
     now_date = datetime.datetime.now()
-    end_date = HistoryKDatasUtils.get_previous_trading_date(tool.get_now_date_str())
+    end_date = HistoryKDatasUtils.get_previous_trading_date_cache(tool.get_now_date_str())
     start_date = now_date - datetime.timedelta(days=(day_count * 2 + 10))
     start_date = start_date.strftime("%Y-%m-%d")
     days = HistoryKDatasUtils.get_trading_dates(start_date, end_date)
@@ -160,7 +171,7 @@
                 code_ = d[3]
                 limit_up_codes_info_set.add((code_, d[5]))
                 block_codes_set.add(code_)
-            elif d[3]==code:
+            elif d[3] == code:
                 limit_up_codes_info_set.add((d[3], d[5]))
     # 鑾峰彇娑ㄥ仠鐨勯『搴�
     limit_up_index = -1
@@ -193,12 +204,13 @@
             code_ = data[0]
             break_codes.add(code_)
     # 缁熻鍥炲皝
-    for data in latest_datas:
-        if data[5] != target_block:
-            continue
-        # 鍥炲皝
-        if data[2] != data[3]:
-            re_limit_codes.add(data[0])
+    if latest_datas:
+        for data in latest_datas:
+            if data[5] != target_block:
+                continue
+            # 鍥炲皝
+            if data[2] != data[3]:
+                re_limit_codes.add(data[0])
 
     # 鎺掗櫎鑷繁
     break_codes.discard(code)
@@ -229,5 +241,20 @@
     return fresult
 
 
+# 鍒濆鍖栨澘鍧楁暟鎹�
+def init():
+    # 鍔犺浇鏁版嵁鍒板唴瀛樹腑
+    kpl_data_manager.get_current_limit_up_data_records(10)
+    # 鍔犺浇鏈�杩戞暟鎹埌鍐呭瓨涓�
+    limit_up_datas = kpl_data_manager.KPLDataManager().get_data(kpl_util.KPLDataType.LIMIT_UP)
+    if limit_up_datas:
+        kpl_data_manager.KPLLimitUpDataRecordManager.latest_origin_datas = limit_up_datas
+
+
+def init_code(code):
+    # 鍔犺浇鍘嗗彶娑ㄥ仠鍘熷洜
+    __load_before_block(code)
+
+
 if __name__ == "__main__":
     get_info("603133")

--
Gitblit v1.8.0