From effdce8f3786e640e371d718190233adbc596460 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 09 九月 2024 17:27:40 +0800 Subject: [PATCH] 撤单传入撤单类型 --- l2/l2_data_manager_new.py | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-) diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index 6ec5472..dcfb8a0 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -328,7 +328,7 @@ try: cancel_result = cancel_buy_strategy.FCancelBigNumComputer().need_cancel_for_deal_fast(code) if cancel_result[0]: - L2TradeDataProcessor.cancel_buy(code, f"F鎾�:{cancel_result[1]}") + L2TradeDataProcessor.cancel_buy(code, f"F鎾�:{cancel_result[1]}", cancel_type=trade_constant.CANCEL_TYPE_F) else: l2_log.f_cancel_debug(code, f"鑾峰彇鐪熷疄鎴愪氦浣嶇殑F鎾ゆ湭鐢熸晥锛歿cancel_result[1]}") except Exception as e: @@ -660,25 +660,30 @@ # 榛樿閲忎负0.2 if order_begin_pos.buy_volume_rate is None: order_begin_pos.buy_volume_rate = 0.2 - cancel_data, cancel_msg = None, "" + cancel_data, cancel_msg, cancel_type = None, "", None if not cancel_data: cancel_data, cancel_msg = g_cancel(order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index) + cancel_type = trade_constant.CANCEL_TYPE_G # 渚濇澶勭悊 if not cancel_data: cancel_data, cancel_msg = l_cancel(order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index) + cancel_type = trade_constant.CANCEL_TYPE_L # B鎾� if not cancel_data: cancel_data, cancel_msg = b_cancel(order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index) + cancel_type = trade_constant.CANCEL_TYPE_G if not cancel_data: cancel_data, cancel_msg = h_cancel(order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index) + cancel_type = trade_constant.CANCEL_TYPE_H # J鎾� if not cancel_data: cancel_data, cancel_msg = j_cancel(order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index) + cancel_type = trade_constant.CANCEL_TYPE_J if cancel_data and not DCancelBigNumComputer().has_auto_cancel_rules(code): l2_log.debug(code, "瑙﹀彂鎾ゅ崟锛屾挙鍗曚綅缃細{} 锛屾挙鍗曞師鍥狅細{}", cancel_data["index"], cancel_msg) # 鎾ゅ崟 - cls.cancel_buy(code, cancel_msg, cancel_index=cancel_data["index"]) + cls.cancel_buy(code, cancel_msg, cancel_index=cancel_data["index"], cancel_type=cancel_type) # 鎾ゅ崟鎴愬姛锛岀户缁绠椾笅鍗� cls.__process_not_order(code, cancel_data["index"] + 1, end_index, capture_time, is_first_code) else: @@ -1321,10 +1326,14 @@ pass @classmethod - def cancel_buy(cls, code, msg=None, source="l2", cancel_index=None): + def cancel_buy(cls, code, msg=None, source="l2", cancel_index=None, cancel_type=None): # 鏄惁鏄氦鏄撻槦鍒楄Е鍙� order_begin_pos = cls.__get_order_begin_pos( code) + # 婵�杩涗笅鍗曞彧鏈塋鎾よ兘鎾ゅ崟 + if order_begin_pos and order_begin_pos.mode == OrderBeginPosInfo.MODE_RADICAL and cancel_type not in {trade_constant.CANCEL_TYPE_L,trade_constant.CANCEL_TYPE_L_UP, trade_constant.CANCEL_TYPE_L_DOWN}: + return False + total_datas = local_today_datas.get(code) if not total_datas: return False -- Gitblit v1.8.0