From ed9e2367eea9baa6c8bea82e0f81c209ffb2a56f Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 02 一月 2023 17:55:50 +0800
Subject: [PATCH] 撤单策略再次修改

---
 log.py |   90 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 83 insertions(+), 7 deletions(-)

diff --git a/log.py b/log.py
index d44db65..1d4c035 100644
--- a/log.py
+++ b/log.py
@@ -8,6 +8,7 @@
 
 from loguru import logger
 
+import gpcode_manager
 import tool
 
 
@@ -39,7 +40,8 @@
         logger.add(self.get_path("l2", "l2_data"), filter=lambda record: record["extra"].get("name") == "l2_data",
                    rotation="00:00", compression="zip", enqueue=True)
 
-        logger.add(self.get_path("l2", "l2_latest_data"), filter=lambda record: record["extra"].get("name") == "l2_latest_data",
+        logger.add(self.get_path("l2", "l2_latest_data"),
+                   filter=lambda record: record["extra"].get("name") == "l2_latest_data",
                    rotation="00:00", compression="zip", enqueue=True)
 
         # 鏄剧ず鍦ㄦ帶鍒跺彴
@@ -86,6 +88,10 @@
                    filter=lambda record: record["extra"].get("name") == "buy_1_volumn_record",
                    rotation="00:00", compression="zip", enqueue=True)
 
+        logger.add(self.get_path("ths", "day_volumn"),
+                   filter=lambda record: record["extra"].get("name") == "day_volumn",
+                   rotation="00:00", compression="zip", enqueue=True)
+
     def get_path(self, dir_name, log_name):
         return "D:/logs/gp/{}/{}".format(dir_name, log_name) + ".{time:YYYY-MM-DD}.log"
 
@@ -118,6 +124,8 @@
 logger_buy_1_volumn = __mylogger.get_logger("buy_1_volumn")
 
 logger_buy_1_volumn_record = __mylogger.get_logger("buy_1_volumn_record")
+
+logger_day_volumn = __mylogger.get_logger("day_volumn")
 
 
 class LogUtil:
@@ -183,9 +191,10 @@
     return tool.time_seconds_format(s - 2 - cha)
 
 
-def load_l2_from_log():
+def load_l2_from_log(date=None):
     today_data = {}
-    date = datetime.datetime.now().strftime("%Y-%m-%d")
+    if  date is None:
+        date = datetime.datetime.now().strftime("%Y-%m-%d")
     with open("D:/logs/gp/l2/l2_data.{}.log".format(date), mode='r') as f:
         while True:
             data = f.readline()
@@ -208,11 +217,78 @@
     return today_data
 
 
+# 鑾峰彇L2姣忔鎵归噺澶勭悊鏁版嵁鐨勪綅缃寖鍥�
+def get_l2_process_position(code, date=None):
+    if not date:
+        date = datetime.datetime.now().strftime("%Y-%m-%d")
+    pos_list = []
+    with open("D:/logs/gp/l2/l2_process.{}.log".format(date), mode='r', encoding="utf-8") as f:
+        while True:
+            line = f.readline()
+            if not line:
+                break
+            if line.find("code:{}".format(code)) < 0:
+                continue
+            line = line[line.find("澶勭悊鏁版嵁鑼冨洿") + len("澶勭悊鏁版嵁鑼冨洿") + 1:line.find("澶勭悊鏃堕棿")].strip()
+            if len(pos_list) == 0 or pos_list[-1][1] < int(line.split("-")[0]):
+                pos_list.append((int(line.split("-")[0]), int(line.split("-")[1])))
+    return pos_list
+
+
+# 鑾峰彇L2姣忔鎵归噺澶勭悊鏁版嵁鐨勪綅缃寖鍥�
+def get_l2_trade_position(code, date=None):
+    if not date:
+        date = datetime.datetime.now().strftime("%Y-%m-%d")
+    pos_list = []
+    with open("D:/logs/gp/l2/l2_trade.{}.log".format(date), mode='r', encoding="utf-8") as f:
+        while True:
+            line = f.readline()
+            if not line:
+                break
+            if line.find("code={}".format(code)) < 0:
+                continue
+            print(line)
+
+            if line.find("鑾峰彇鍒颁拱鍏ヤ俊鍙疯捣濮嬬偣") > 0:
+                str_ = line.split("鑾峰彇鍒颁拱鍏ヤ俊鍙疯捣濮嬬偣锛�")[1].strip()
+                index = str_[0:str_.find(" ")].strip()
+                # print("淇″彿璧峰浣嶇疆锛�", index)
+                pos_list.append((0, int(index), ""))
+
+            elif line.find("鑾峰彇鍒颁拱鍏ユ墽琛屼綅缃�") > 0:
+                str_ = line.split("鑾峰彇鍒颁拱鍏ユ墽琛屼綅缃細")[1].strip()
+                index = str_[0:str_.find(" ")].strip()
+                # print("涔板叆鎵ц浣嶇疆锛�", index)
+                pos_list.append((1, int(index), ""))
+            elif line.find("瑙﹀彂鎾ゅ崟") > 0:
+                str_ = line.split("瑙﹀彂鎾ゅ崟锛屾挙鍗曚綅缃細")[1].strip()
+                index = str_[0:str_.find(" ")].strip()
+                # print("鎾ゅ崟浣嶇疆锛�", index)
+                pos_list.append((2, int(index), line.split("鎾ゅ崟鍘熷洜锛�")[1]))
+                pass
+            else:
+                continue
+    return pos_list
+
+
+def export_logs(code):
+    code_name = gpcode_manager.get_code_name(code)
+    date = datetime.datetime.now().strftime("%Y-%m-%d")
+    # 瀵煎嚭浜ゆ槗鏃ュ織
+    LogUtil.extract_log_from_key("code={}".format(code), "D:/logs/gp/l2/l2_trade.{}.log".format(date),
+                                 "D:/logs/gp/l2/l2_trade.{}_{}.{}.log".format(code, code_name, date))
+    # 瀵煎嚭鍙栨秷鏃ュ織
+    LogUtil.extract_log_from_key("code={}".format(code), "D:/logs/gp/l2/l2_trade_cancel.{}.log".format(date),
+                                 "D:/logs/gp/l2/l2_trade_cancel.{}_{}.{}.log".format(code, code_name, date))
+
+    LogUtil.extract_log_from_key("{}".format(code), "D:/logs/gp/l2/l2_process.{}.log".format(date),
+                                 "D:/logs/gp/l2/l2_process.{}_{}.{}.log".format(code, code_name, date))
+
+
 if __name__ == '__main__':
     # logger_l2_process_time.info("test123")
-
-    date = datetime.datetime.now().strftime("%Y-%m-%d")
-    LogUtil.extract_log_from_key("002193", "D:/logs/gp/l2/l2_trade_queue.{}.log".format(date),
-                                 "D:/logs/gp/l2/l2_trade_queue{}.{}.log".format("002193", date))
+    codes = ["603255", "600853", "000620", "002044", "001256"]
+    for code in codes:
+        export_logs(code)
 
     # parse_l2_data()

--
Gitblit v1.8.0