Administrator
2025-03-12 b37fe91f5eed9ac691a4ee9acaec506af1267506
l2/l2_transaction_data_processor.py
@@ -6,7 +6,7 @@
from cancel_strategy.s_l_h_cancel_strategy import LCancelBigNumComputer, LCancelRateManager
from cancel_strategy.s_l_h_cancel_strategy import SCancelBigNumComputer
from code_attribute import gpcode_manager
from l2 import l2_data_util, l2_data_manager, transaction_progress
from l2 import l2_data_util, l2_data_manager, transaction_progress, l2_log
from l2.cancel_buy_strategy import FCancelBigNumComputer, \
    NewGCancelBigNumComputer, \
    NBCancelBigNumComputer
@@ -69,15 +69,15 @@
                if order_begin_pos and order_begin_pos.mode == OrderBeginPosInfo.MODE_RADICAL:
                    RadicalBuyDataManager.big_order_deal(code)
            if is_placed_order and bigger_buy_datas:
                # 有大于50w的大单成交
                buyno_map = l2_data_util.local_today_buyno_map.get(code)
                if buyno_map:
                    for buy_data in bigger_buy_datas:
                        order_no = f"{buy_data[0]}"
                        if order_no in buyno_map:
                            LCancelBigNumComputer().add_deal_index(code, buyno_map[order_no]["index"],
                                                                   order_begin_pos.buy_single_index)
                if bigger_buy_datas:
                    # 有大于50w的大单成交
                    buyno_map = l2_data_util.local_today_buyno_map.get(code)
                    if buyno_map:
                        for buy_data in bigger_buy_datas:
                            order_no = f"{buy_data[0]}"
                            if order_no in buyno_map:
                                LCancelBigNumComputer().add_deal_index(code, buyno_map[order_no]["index"],
                                                                       order_begin_pos.buy_single_index)
        except Exception as e:
            logger_debug.exception(e)
@@ -99,7 +99,7 @@
            current_price_process_manager.set_trade_price(code, datas[-1][1])
            if limit_up_price > datas[-1][1]:
                # 没有涨停
                EveryLimitupBigDealOrderManager.open_limit_up(code)
                EveryLimitupBigDealOrderManager.open_limit_up(code, f"最新成交价:{datas[-1][1]}")
                radical_buy_strategy.clear_data(code)
        except:
            pass
@@ -117,13 +117,15 @@
            _start_time = time.time()
            L2LimitUpSellDataManager.set_deal_datas(code, datas)
            use_time_list.append(("统计涨停卖成交", time.time() - _start_time))
            _start_time = time.time()
            #  大单统计
            # cls.__statistic_thread_pool.submit(cls.statistic_big_order_infos, code, datas, order_begin_pos)
            try:
                cls.statistic_big_order_infos(code, datas, order_begin_pos)
            except Exception as e:
                hx_logger_l2_debug.error(f"统计大单出错:{str(e)}")
            use_time_list.append(("统计买单数据", time.time() - _start_time))
                async_log_util.error(hx_logger_l2_debug, f"统计大单出错:{str(e)}")
            use_time_list.append(("统计大单数据", time.time() - _start_time))
            _start_time = time.time()
            big_sell_order_info = None
@@ -149,13 +151,17 @@
                # 统计卖单
                big_sell_order_info = HuaXinSellOrderStatisticManager.add_transaction_datas(code, datas, limit_up_price)
                use_time_list.append(("处理卖单成交数据", time.time() - _start_time))
                _start_time = time.time()
                use_time_list.append(("处理卖单成交数据", _start_time - __start_time))
                if is_placed_order:
                    need_cancel, cancel_msg = SCancelBigNumComputer().set_big_sell_order_info_for_cancel(code,
                                                                                                         big_sell_order_info,
                                                                                                         order_begin_pos)
                    LCancelBigNumComputer().set_big_sell_order_info(code, big_sell_order_info)
                    # need_cancel, cancel_msg = SCancelBigNumComputer().set_big_sell_order_info_for_cancel(code,
                    #                                                                                      big_sell_order_info,
                    #                                                                                      order_begin_pos)
                    need_cancel, cancel_msg = False, ""
                    cancel_type = None
                    if need_cancel:
                        cancel_msg = f"S撤:{cancel_msg}"
@@ -239,5 +245,5 @@
        finally:
            use_time = int((time.time() - __start_time) * 1000)
            if use_time > 5:
                async_log_util.info(hx_logger_l2_upload,
                                    f"{code}处理成交用时:{use_time} 数据数量:{len(datas)}  详情:{use_time_list}")
                l2_log.info(code, hx_logger_l2_upload,
                            f"{code}处理成交用时:{use_time} 数据数量:{len(datas)}  详情:{use_time_list}")