From 3a87b1c89a76d858e8e7e4e54ff360dc0b8670f5 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 11 九月 2025 16:27:20 +0800 Subject: [PATCH] L撤删除L前撤单与L后后半段撤单 --- trade/trade_record_log_util.py | 95 ++++++++++++++++++++++++++++++++++++----------- 1 files changed, 72 insertions(+), 23 deletions(-) diff --git a/trade/trade_record_log_util.py b/trade/trade_record_log_util.py index 0ce36dc..2a01990 100644 --- a/trade/trade_record_log_util.py +++ b/trade/trade_record_log_util.py @@ -4,11 +4,9 @@ # 涓嬪崟淇℃伅 import json -import pickle from log_module import async_log_util from log_module.log import logger_trade_record -from third_data.code_plate_key_manager import KPLCodeJXBlockManager TYPE_PLACE_ORDER = "place_order" # 涓嬪崟 TYPE_REAL_PLACE_ORDER_POSITION = "real_place_order_position" # 鐪熷疄涓嬪崟浣嶇疆 @@ -16,21 +14,38 @@ TYPE_FORBIDDEN_BUY = "forbidden_buy" # 绂佹涔板叆 TYPE_CANT_PLACE_ORDER = "can_not_place_order" # 涓嶈兘涓嬪崟 TYPE_CANCEL = "cancel" # 鎾ゅ崟 +TYPE_ACTION = "action" # 閽堝浠g爜鐨勬搷浣� class PlaceOrderInfo(object): def __init__(self, buy_single_index=None, buy_exec_index=None, m_val=None, safe_count=None, big_num_indexes=None, - kpl_blocks=None): + kpl_blocks=None, kpl_match_blocks=None, mode=None, mode_desc=None, sell_info=None, + block_info=None): self.buy_single_index = buy_single_index self.buy_exec_index = buy_exec_index self.m_val = m_val self.safe_count = safe_count self.big_num_indexes = big_num_indexes self.kpl_blocks = kpl_blocks + self.kpl_match_blocks = kpl_match_blocks + self.mode = mode + self.mode_desc = mode_desc + self.sell_info = sell_info + self.block_info = block_info + + def set_block_info(self, block_info): + """ + @param block_info:(鏉垮潡,娴佸叆閲戦) + @return: + """ + self.block_info = block_info def set_buy_index(self, buy_single_index, buy_exec_index): self.buy_single_index = buy_single_index self.buy_exec_index = buy_exec_index + + def set_sell_info(self, sell_info): + self.sell_info = sell_info def set_trade_factor(self, m_val, safe_count, big_num_indexes): self.m_val = m_val @@ -39,6 +54,9 @@ def set_kpl_blocks(self, kpl_blocks): self.kpl_blocks = kpl_blocks + + def set_kpl_match_blocks(self, kpl_blocks): + self.kpl_match_blocks = kpl_blocks def to_json_str(self): return json.dumps(vars(self)) @@ -60,9 +78,10 @@ CANCEL_TYPE_L_DOWN = "l_cancel_down" CANCEL_TYPE_D = "d_cancel" - def __init__(self, cancel_type, watch_indexes: list): + def __init__(self, cancel_type, buy_single_index, watch_indexes: list): self.cancel_type = cancel_type self.watch_indexes = watch_indexes + self.buy_single_index = buy_single_index def to_json_str(self): return json.dumps(vars(self)) @@ -95,8 +114,14 @@ __add_log(TYPE_FORBIDDEN_BUY, code, {"msg": msg}) +__latest_cant_place_order_log_msg_dict = {} + + # 涓嶈兘涔� def add_cant_place_order_log(code, msg): + if __latest_cant_place_order_log_msg_dict.get(code) == msg: + return + __latest_cant_place_order_log_msg_dict[code] = msg __add_log(TYPE_CANT_PLACE_ORDER, code, {"msg": msg}) @@ -111,25 +136,49 @@ # 娣诲姞鎾ゅ崟淇℃伅 -def add_cancel_msg_log(code, msg): - __add_log(TYPE_CANCEL, code, {"msg": msg}) +def add_cancel_msg_log(code, real_place_order_index, msg): + __add_log(TYPE_CANCEL, code, {"msg": msg, "real_place_order_index": real_place_order_index}) + + +# 鍔犵孩淇℃伅 +def add_must_buy(code, msg=""): + __add_log(TYPE_ACTION, code, {"type": "鍔犵孩", "msg": msg}) + + +# 鍔犵豢 +def add_green(code, msg=""): + __add_log(TYPE_ACTION, code, {"type": "鍔犵豢", "msg": msg}) + + +# 鍔犵櫧 +def add_white_buy(code, msg=""): + __add_log(TYPE_ACTION, code, {"type": "鍔犵櫧", "msg": msg}) + + +# 鍔犳兂 +def add_want_buy(code, msg=""): + __add_log(TYPE_ACTION, code, {"type": "鍔犳兂", "msg": msg}) + + +# 绉绘兂 +def remove_want_buy(code, msg=""): + __add_log(TYPE_ACTION, code, {"type": "绉绘兂", "msg": msg}) + + +# 鍔犱复鏃惰鲸璇嗗害绁� +def add_temp_special_codes(code, msg=""): + __add_log(TYPE_ACTION, code, {"type": "鏂伴鏉�", "msg": msg}) + + +# 鍔犱笅鍗曡�楁椂 +def add_place_order_use_time(code, msg): + __add_log(TYPE_ACTION, code, {"type": "涓嬪崟鑰楁椂", "msg": msg}) + + +# 鍔犵櫧 +def add_common_msg(code, type_, msg=""): + __add_log(TYPE_ACTION, code, {"type": type_, "msg": msg}) if __name__ == "__main__": - code = "000333" - __trade_log_placr_order_info_dict = {code: PlaceOrderInfo()} - try: - jx_blocks, jx_blocks_by = KPLCodeJXBlockManager().get_jx_blocks_cache( - code), KPLCodeJXBlockManager().get_jx_blocks_cache(code, by=True) - info = __trade_log_placr_order_info_dict[code] - info.set_buy_index(0, 1) - if jx_blocks: - info.set_kpl_blocks(list(jx_blocks)) - elif jx_blocks_by: - info.set_kpl_blocks(list(jx_blocks_by)) - else: - info.set_kpl_blocks([]) - - add_place_order_log(code, info) - except Exception as e: - pass + pass -- Gitblit v1.8.0