From fb47d36048e94b9a506d5c153e3dd19a01e37df1 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 30 十月 2023 16:30:27 +0800 Subject: [PATCH] bug修复 --- l2/l2_data_manager_new.py | 30 ++++++++++++++++-------------- 1 files changed, 16 insertions(+), 14 deletions(-) diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index 9ca3fe1..943967d 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -1,4 +1,5 @@ import logging +import random import time as t from code_attribute import big_money_num_manager, code_volumn_manager, code_data_util, industry_codes_sort, \ @@ -215,7 +216,6 @@ __SecondCancelBigNumComputer = SecondCancelBigNumComputer() __HourCancelBigNumComputer = HourCancelBigNumComputer() __LCancelBigNumComputer = LCancelBigNumComputer() - __DCancelBigNumComputer = DCancelBigNumComputer() __TradeStateManager = trade_manager.TradeStateManager() __CodesTradeStateManager = trade_manager.CodesTradeStateManager() __PauseBuyCodesManager = gpcode_manager.PauseBuyCodesManager() @@ -283,13 +283,14 @@ cls.unreal_buy_dict.pop(code) @classmethod - def set_real_place_order_index(cls, code, index, buy_single_index): - trade_record_log_util.add_real_place_order_position_log(code, index, buy_single_index) - need_cancel = FastCancelBigNumComputer().set_real_order_index(code, index) - if need_cancel: - cls.cancel_buy(code, msg="F鎾や笉澶�2绗旇Е鍙戞挙鍗�") - else: - cancel_buy_strategy.set_real_place_position(code, index, buy_single_index) + def set_real_place_order_index(cls, code, index, order_begin_pos:OrderBeginPosInfo): + trade_record_log_util.add_real_place_order_position_log(code, index, order_begin_pos.buy_single_index) + if order_begin_pos.mode == OrderBeginPosInfo.MODE_FAST: + need_cancel = FastCancelBigNumComputer().set_real_order_index(code, index) + if need_cancel: + cls.cancel_buy(code, msg="F鎾や笉澶�2绗旇Е鍙戞挙鍗�") + return + cancel_buy_strategy.set_real_place_position(code, index, order_begin_pos.buy_single_index) # 澶勭悊鍗庨懌L2鏁版嵁 @classmethod @@ -349,7 +350,7 @@ if place_order_index: order_begin_pos = cls.__get_order_begin_pos( code) - cls.set_real_place_order_index(code, place_order_index, order_begin_pos.buy_single_index) + cls.set_real_place_order_index(code, place_order_index, order_begin_pos) async_log_util.info(logger_l2_process, "code:{} 鑾峰彇鍒颁笅鍗曠湡瀹炰綅缃細{}", code, place_order_index) except: async_log_util.error(logger_l2_error, f"{code} 澶勭悊鐪熷疄涓嬪崟浣嶇疆鍑洪敊") @@ -599,6 +600,7 @@ jx_blocks, jx_blocks_by = KPLCodeJXBlockManager().get_jx_blocks_cache( code), KPLCodeJXBlockManager().get_jx_blocks_cache(code, by=True) info = cls.__trade_log_placr_order_info_dict[code] + info.mode = order_begin_pos.mode info.set_buy_index(order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index) if jx_blocks: info.set_kpl_blocks(list(jx_blocks)) @@ -1226,19 +1228,19 @@ @classmethod def __compute_fast_order_begin_pos(cls, code, start_index, end_index): limit_up_price = gpcode_manager.get_limit_up_price(code) - if float(limit_up_price) >= 10: - return False, -1, "鑲′环澶т簬10鍧�" + # if float(limit_up_price) >= 10: + # return False, -1, "鑲′环澶т簬10鍧�" total_datas = local_today_datas[code] start_time_str = total_datas[start_index]["val"]["time"] - if tool.trade_time_sub(start_time_str, "10:00:00") > 0: - return False, -1, "瓒呰繃瑙勫畾鏃堕棿" + # if tool.trade_time_sub(start_time_str, "13:00:00") > 0: + # return False, -1, "瓒呰繃瑙勫畾鏃堕棿" refer_sell_data = cls.__L2MarketSellManager.get_refer_sell_data(code, start_time_str) if refer_sell_data is None: return False, -1, "鎬诲崠涓虹┖" if cls.__L2MarketSellManager.is_refer_sell_time_used(code, refer_sell_data[0]): return False, -1, "鎬诲崠缁熻鏃堕棿宸茶浣跨敤" # 鏄惁澶т簬500涓� - if refer_sell_data[1] < 500 * 10000: + if refer_sell_data[1] <= 500 * 10000: return False, -1, "鎬诲崠灏忎簬鎸囧畾閲戦" # 缁熻涔嬪墠鐨勫崠 threshold_money = refer_sell_data[1] -- Gitblit v1.8.0