From d7c1e83f8c4cb71b8d0c0b59e636816b5f89eda9 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 24 一月 2025 14:22:39 +0800
Subject: [PATCH] L2历史数据解析

---
 log_module/log_export.py |   52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 51 insertions(+), 1 deletions(-)

diff --git a/log_module/log_export.py b/log_module/log_export.py
index 476ffcb..910361f 100644
--- a/log_module/log_export.py
+++ b/log_module/log_export.py
@@ -432,6 +432,7 @@
             fdatas.append((time_str, code, type, data_json["data"]))
     return fdatas
 
+
 @cache_log
 def load_cancel_buy_reasons(code, date=tool.get_now_date_str()):
     """
@@ -564,6 +565,54 @@
     return fdatas
 
 
+@cache_log
+def load_huaxin_l2_sell_deal(code=None, date=tool.get_now_date_str()):
+    path = f"{constant.get_path_prefix()}/logs/huaxin/l2/sell_l2_deal.{date}.log"
+    fdatas = {}
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            for line in lines:
+                if line:
+                    time_str = __get_async_log_time(line)
+                    data = line.split(" - ")[1].strip()
+                    if data.startswith("["):
+                        data = data[data.find("]") + 1:].strip()
+                    data = data.split("鏈夋定鍋滀富鍔ㄥ崠锛�")[1]
+                    code_ = data[:6]
+                    if code and code != code_:
+                        continue
+                    data = data[6:].strip()
+                    volume = int(data.split("鎴愪氦閲�-")[1].strip())
+                    if code_ not in fdatas:
+                        fdatas[code_] = []
+                    fdatas[code_].append((time_str, volume))
+    return fdatas
+
+
+@cache_log
+def load_huaxin_l2_sell_delegate(code=None, date=tool.get_now_date_str()):
+    path = f"{constant.get_path_prefix()}/logs/huaxin/l2/sell_l2_delegate.{date}.log"
+    fdatas = {}
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            for line in lines:
+                if line:
+                    time_str = __get_async_log_time(line)
+                    data = line.split(" - ")[1].strip()
+                    if data.startswith("["):
+                        data = data[data.find("]") + 1:].strip()
+                    datas = data.split("-")
+                    code_ = datas[0]
+                    if code and code != code_:
+                        continue
+                    if code_ not in fdatas:
+                        fdatas[code_] = []
+                    fdatas[code_].append((time_str, datas[1], eval(datas[2])))
+    return fdatas
+
+
 # 鍔犺浇鍗庨懌鏈湴涔板叆璁㈠崟鍙�
 def load_l2_market_data():
     path = f"{constant.get_path_prefix()}/logs/huaxin/l2/marketdata.{tool.get_now_date_str()}.log"
@@ -632,6 +681,7 @@
                     except:
                         pass
     return fdatas
+
 
 @cache_log
 def load_huaxin_active_sell_map(date=tool.get_now_date_str()):
@@ -751,7 +801,7 @@
 
 
 if __name__ == '__main__':
-    load_huaxin_transaction_sell_no(code = '2024-11-10')
+    load_huaxin_transaction_sell_no(code='2024-11-10')
     load_huaxin_transaction_sell_no(code='2024-11-10')
     # print(get_h_cancel_compute_info("603912"))
 

--
Gitblit v1.8.0