Administrator
2025-07-23 0e642d0c27e40df326733401be6f8c8115e54911
cancel_strategy/s_l_h_cancel_strategy.py
@@ -590,26 +590,27 @@
                    return max(constant.L_CANCEL_RATE_WITH_MUST_BUY_FOR_REDICAL_BUY, human_rate), True, (
                        constant.L_CANCEL_RATE_WITH_MUST_BUY_FOR_REDICAL_BUY, human_rate)
                else:
                    deal_big_order_info = radical_buy_data_manager.get_total_deal_big_order_info(code,
                                                                                                 gpcode_manager.get_limit_up_price_as_num(
                                                                                                     code))
                    # 根据成交额的大单成交占比来计算撤单比例
                    big_money_rate = radical_buy_data_manager.TotalDealBigOrderInfoManager.get_big_order_rate(code)
                    if big_money_rate is not None:
                        threshold_rate = min(big_money_rate * 3, 0.8)
                        if deal_big_order_info[0] <= 0:
                            # 大单足够,将基础比例调整至79%
                            threshold_rate = max(threshold_rate, 0.79)
                        return human_rate if human_rate > 0 else threshold_rate, False, (threshold_rate, human_rate)
                    else:
                        deal_rate = round(deal_big_order_info[1] / deal_big_order_info[2], 2)
                        threshold_rate = 0.5 * deal_rate + 0.35
                        threshold_rate = max(threshold_rate, 0.375)
                        threshold_rate = min(threshold_rate, 0.8)
                        if deal_big_order_info[0] <= 0:
                            # 大单足够,将基础比例调整至79%
                            threshold_rate = max(threshold_rate, 0.79)
                        return human_rate if human_rate > 0 else threshold_rate, False, (threshold_rate, human_rate)
                    # deal_big_order_info = radical_buy_data_manager.get_total_deal_big_order_info(code,
                    #                                                                              gpcode_manager.get_limit_up_price_as_num(
                    #                                                                                  code))
                    # # 根据成交额的大单成交占比来计算撤单比例
                    # big_money_rate = radical_buy_data_manager.TotalDealBigOrderInfoManager.get_big_order_rate(code)
                    # if big_money_rate is not None:
                    #     threshold_rate = min(big_money_rate * 3, 0.8)
                    #     if deal_big_order_info[0] <= 0:
                    #         # 大单足够,将基础比例调整至79%
                    #         threshold_rate = max(threshold_rate, 0.79)
                    #     return human_rate if human_rate > 0 else threshold_rate, False, (threshold_rate, human_rate)
                    # else:
                    #     deal_rate = round(deal_big_order_info[1] / deal_big_order_info[2], 2)
                    #     threshold_rate = 0.5 * deal_rate + 0.35
                    #     threshold_rate = max(threshold_rate, 0.375)
                    #     threshold_rate = min(threshold_rate, 0.8)
                    #     if deal_big_order_info[0] <= 0:
                    #         # 大单足够,将基础比例调整至79%
                    #         threshold_rate = max(threshold_rate, 0.79)
                    threshold_rate = constant.L_CANCEL_RATE
                    return human_rate if human_rate > 0 else threshold_rate, False, (threshold_rate, human_rate)
            if must_buy:
                if is_up:
                    return constant.L_CANCEL_RATE_UP_WITH_MUST_BUY, True, None