Administrator
2025-07-10 e31fc732b89baf27f7f999b6c89013b83066e513
真实下单位获取位置调整
1个文件已修改
41 ■■■■ 已修改文件
l2/l2_data_manager_new.py 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/l2_data_manager_new.py
@@ -559,26 +559,7 @@
                        logger_debug.exception(e)
                    finally:
                        # 执行最后再获取真实下单位置,防止下单位置那批数据有大批量的撤单
                        # ======获取下单位置
                        if constant.IS_NEW_VERSION_PLACE_ORDER:
                            place_order_index, order_info, compute_type = huaxin_delegate_postion_manager.RealDelegateOrderPositionManager.compute_l2_place_order_position(
                                code, add_datas)
                        else:
                            place_order_index, order_info, compute_type = huaxin_delegate_postion_manager.get_l2_place_order_position(
                                code, float(
                                    gpcode_manager.get_limit_up_price(code)), add_datas)
                        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, order_info[1])
                            try:
                                cls.__re_compute_threading_pool.submit(
                                    cls.__recompute_real_order_index, code, place_order_index, order_info,
                                    compute_type)
                            except:
                                pass
                            async_log_util.info(logger_l2_process, f"code:{code} 获取到下单真实位置:{place_order_index}")
                except:
                    async_log_util.error(logger_l2_error, f"{code} 处理真实下单位置出错")
            # 第1条数据是否为09:30:00
@@ -654,6 +635,28 @@
                    # 已挂单
                    place_ordered_desc = "已下单"
                    cls.__process_order(code, start_index, end_index, capture_timestamp, is_first_code)
                    # ======获取下单位置
                    state = cls.__CodesTradeStateManager.get_trade_state_cache(code)
                    if trade_util.is_delegated(state):
                        if constant.IS_NEW_VERSION_PLACE_ORDER:
                            place_order_index, order_info, compute_type = huaxin_delegate_postion_manager.RealDelegateOrderPositionManager.compute_l2_place_order_position(
                                code, add_datas)
                        else:
                            place_order_index, order_info, compute_type = huaxin_delegate_postion_manager.get_l2_place_order_position(
                                code, float(
                                    gpcode_manager.get_limit_up_price(code)), add_datas)
                        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, order_info[1])
                            try:
                                cls.__re_compute_threading_pool.submit(
                                    cls.__recompute_real_order_index, code, place_order_index, order_info,
                                    compute_type)
                            except:
                                pass
                            async_log_util.info(logger_l2_process, f"code:{code} 获取到下单真实位置:{place_order_index}")
                else:
                    place_ordered_desc = "未下单"
                    # 未挂单,时间相差不大才能挂单