Administrator
7 天以前 d2a4dd9c837f8df2a19e58f7fb4c81a91c114b67
l2/l2_transaction_data_processor.py
@@ -35,6 +35,8 @@
    __TradeBuyQueue = transaction_progress.TradeBuyQueue()
    # 非涨停成交时间
    __not_limit_up_time_dict = {}
    # 最近成交数据字典
    __latest_transaction_data_dict = {}
    # 计算成交进度
    @classmethod
@@ -178,6 +180,8 @@
        # q.append((data['SecurityID'], data['TradePrice'], data['TradeVolume'],
        #                   data['OrderTime'], data['MainSeq'], data['SubSeq'], data['BuyNo'],
        #                   data['SellNo'], data['ExecType']))
        if o_datas:
            cls.__latest_transaction_data_dict[code] = o_datas[-1]
        fdatas = [
            [d, d[6] > d[7], limit_up_price == d[1], d[1] * d[2], '', '']
            for d in o_datas]
@@ -400,6 +404,8 @@
                        L2TradeDataProcessor.cancel_buy(code, f"F撤:{cancel_result[1]}",
                                                        cancel_type=trade_constant.CANCEL_TYPE_F)
        if o_datas:
            cls.__latest_transaction_data_dict[code] = o_datas[-1]
        limit_up_price = gpcode_manager.get_limit_up_price_as_num(code)
        # =====格式化数据=====
        # 整形数据,格式:[(数据本身, 是否主动买, 是否涨停, 总成交额, 不含ms时间,含ms时间)]
@@ -487,3 +493,7 @@
            if _start_time - __start_time > 5:
                l2_log.info(code, hx_logger_l2_upload,
                            f"{code}处理成交用时:{_start_time - __start_time} 数据数量:{len(fdatas)}  详情:{use_time_list}")
    @classmethod
    def get_latest_transaction_data(cls, code):
        return cls.__latest_transaction_data_dict.get(code)