Administrator
8 小时以前 ad615df734b4d82f9a83a7d1805ac9fabdf01a53
cancel_strategy/s_l_h_cancel_strategy.py
@@ -1719,15 +1719,8 @@
        super_big_num_thresold = int(2e7 / gpcode_manager.get_limit_up_price_as_num(code) / 100)
        for wi in watch_indexes:
            if str(wi) in after_place_order_index_dict:
                # 如果加红就需要计算分母
                if must_buy:
                    total_num += total_data[wi]["val"]["num"] * (
                            10 - after_place_order_index_dict[str(wi)]) // 10
                continue
            elif str(wi) in after_place_order_index_by_dict:
                if must_buy:
                    total_num += total_data[wi]["val"]["num"] * (
                            10 - after_place_order_index_by_dict[str(wi)]) // 10
                continue
            if total_data[wi]["val"]["num"] < super_big_num_thresold:
                total_num += total_data[wi]["val"]["num"]
@@ -1767,15 +1760,23 @@
            if is_default:
                trade_index = None
            canceled_buyno_map = local_today_canceled_buyno_map.get(code)
            # 如果撤单比例设置为100%就不需要计算下单位后面的订单
            need_compute_after = abs(thresh_hold_rate - 1.00) > 0.0001
            for wi in watch_indexes:
                cancel_data = L2DataComputeUtil.is_canceled(code, wi, total_data, canceled_buyno_map, trade_index,
                                                            deal_order_nos)
                if cancel_data:
                    if str(wi) in after_place_order_index_dict:
                        if not need_compute_after:
                            continue
                        # 真实下单位置之后的按照权重比例来计算
                        canceled_num += total_data[wi]["val"]["num"] * (
                                10 - after_place_order_index_dict[str(wi)]) // 10
                    elif str(wi) in after_place_order_index_by_dict:
                        if not need_compute_after:
                            continue
                        canceled_num += total_data[wi]["val"]["num"] * (
                                10 - after_place_order_index_by_dict[str(wi)]) // 10
                    else:
@@ -2052,19 +2053,20 @@
            logger_l2_l_cancel.exception(e)
            raise e
        extra_msg = "L后"
        if not can_cancel:
            # 成交位临近撤
            try:
                can_cancel, cancel_data = self.__compute_near_by_trade_progress_need_cancel(code, buy_exec_index,
                                                                                            start_index, end_index,
                                                                                            total_data,
                                                                                            is_first_code)
                if can_cancel:
                    cancel_type = trade_constant.CANCEL_TYPE_L_UP
                extra_msg = "L前"
            except Exception as e:
                logger_l2_l_cancel.exception(e)
                raise e
        # 不需要计算L前
        # if not can_cancel:
        #     # 成交位临近撤
        #     try:
        #         can_cancel, cancel_data = self.__compute_near_by_trade_progress_need_cancel(code, buy_exec_index,
        #                                                                                     start_index, end_index,
        #                                                                                     total_data,
        #                                                                                     is_first_code)
        #         if can_cancel:
        #             cancel_type = trade_constant.CANCEL_TYPE_L_UP
        #         extra_msg = "L前"
        #     except Exception as e:
        #         logger_l2_l_cancel.exception(e)
        #         raise e
        try:
            if self.__need_update_l_down_after(code, start_index, end_index):