From 7745dedc6dd22b80ad17e5b7c1490ef5ece3d1f5 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 08 三月 2024 16:23:20 +0800 Subject: [PATCH] bug修复 --- l2/l2_transaction_data_processor.py | 36 ++++++++++++++---------------------- 1 files changed, 14 insertions(+), 22 deletions(-) diff --git a/l2/l2_transaction_data_processor.py b/l2/l2_transaction_data_processor.py index 406cd94..9596efb 100644 --- a/l2/l2_transaction_data_processor.py +++ b/l2/l2_transaction_data_processor.py @@ -4,13 +4,13 @@ from code_attribute import gpcode_manager from l2 import l2_data_util, l2_data_manager, l2_data_source_util, transaction_progress from l2.cancel_buy_strategy import FCancelBigNumComputer, LCancelBigNumComputer, LCancelRateManager, \ - GCancelBigNumComputer, SecondCancelBigNumComputer, HourCancelBigNumComputer + GCancelBigNumComputer, SecondCancelBigNumComputer, HourCancelBigNumComputer, DCancelBigNumComputer from l2.l2_data_manager_new import L2TradeDataProcessor from l2.l2_data_util import L2DataUtil, local_today_canceled_buyno_map from l2.l2_transaction_data_manager import HuaXinTransactionDataManager from log_module import async_log_util from log_module.log import hx_logger_l2_debug, logger_l2_trade_buy_queue, logger_debug, hx_logger_l2_upload -from msg import push_msg_manager +from msg import push_msg_manager, buy_order_msg_manager from trade import current_price_process_manager, trade_manager from trade.deal_big_money_manager import DealOrderNoManager from utils import tool @@ -54,7 +54,7 @@ # 宸茬粡涓嬪崟鐨勯渶瑕佺粺璁鎾� try: for d in datas: - if FCancelBigNumComputer().need_cancel(d)[0]: + if FCancelBigNumComputer().need_cancel(d)[0] and not DCancelBigNumComputer().has_auto_cancel_rules(code): L2TradeDataProcessor.cancel_buy(code, f"F鎾ゆ挙鍗�:{d}") order_begin_pos = None break @@ -63,7 +63,7 @@ try: # 涓嬪崟2s鍚庢墠寮�濮嬬敓鏁� cresult = LCancelBigNumComputer().add_transaction_datas(code, datas) - if cresult[0]: + if cresult[0] and not DCancelBigNumComputer().has_auto_cancel_rules(code): L2TradeDataProcessor.cancel_buy(code, f"L鍚庢垚浜ゅお蹇挙鍗�:{cresult[1]}") order_begin_pos = None except Exception as e: @@ -109,6 +109,9 @@ if order_begin_pos and order_begin_pos.buy_exec_index and order_begin_pos.buy_exec_index > -1: HourCancelBigNumComputer().set_transaction_index(code, order_begin_pos.buy_single_index, buy_progress_index) + cresult = FCancelBigNumComputer().need_cancel_for_deal_fast(code,buy_progress_index) + if cresult[0] and not DCancelBigNumComputer().has_auto_cancel_rules(code): + L2TradeDataProcessor.cancel_buy(code, f"涓嬪崟30s鍐呮帓鍗曚笉瓒�:{cresult[1]}") # ---------------------------------鍒ゆ柇鏉垮潡鏄惁璺熶笂鏉ヤ簡------------------------------- try: pass @@ -128,24 +131,13 @@ # 浜ゆ槗杩涘害鍙樺寲锛屽垽鏂埌鐪熷疄涓嬪崟浣嶇疆鐨勮窛绂� real_order_index = SecondCancelBigNumComputer().get_real_place_order_index_cache(code) if real_order_index and real_order_index >= buy_progress_index: - - total_left_count = 0 - for i in range(buy_progress_index + 1, real_order_index): - val = total_datas[i]["val"] - if not L2DataUtil.is_limit_up_price_buy(val): - continue - if val["num"] * float(val["price"]) < 5000: - continue - left_count = l2_data_source_util.L2DataSourceUtils.get_limit_up_buy_no_canceled_count_v2( - code, i, - total_datas, - local_today_canceled_buyno_map.get( - code)) - if left_count > 0: - total_left_count += 1 - if total_left_count <= 3: - # 褰撴垚浜よ繘搴﹁窛绂荤湡瀹炰笅鍗曚綅缃笉瓒�3绗旀椂鎺ㄩ�佸嵆灏嗘垚浜ょ殑娑堟伅 - push_msg_manager.push_order_almost_deal(code, gpcode_manager.get_code_name(code)) + # 鍙戦�佷笅鍗曟秷鎭� + try: + buy_order_msg_manager.almost_deal(code, real_order_index, buy_progress_index) + buy_order_msg_manager.follow_not_enough(code, order_begin_pos.buy_exec_index, + real_order_index) + except Exception as e: + logger_debug.exception(e) else: pass if order_begin_pos and order_begin_pos.buy_exec_index and order_begin_pos.buy_exec_index > -1: -- Gitblit v1.8.0