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