Administrator
2023-10-10 b7f067e6bebcf872a4bd90f0d4e7ebb7e4eeb650
l2/cancel_buy_strategy.py
@@ -668,25 +668,28 @@
    @classmethod
    def get_cancel_rate(cls, code):
        base_rate = constant.L_CANCEL_RATE
        block_rate = 0
        if code in cls.__block_limit_up_count_dict:
            count = cls.__block_limit_up_count_dict[code]
            rates = [0, 0.03, 0.06, 0.08, 0.12]
            if count >= len(rates):
                block_rate = rates[-1]
            else:
                block_rate = rates[count]
        try:
            block_rate = 0
            if code in cls.__block_limit_up_count_dict:
                count = cls.__block_limit_up_count_dict[code]
                rates = [0, 0.03, 0.06, 0.08, 0.12]
                if count >= len(rates):
                    block_rate = rates[-1]
                else:
                    block_rate = rates[count]
        deal_rate = 0
        if code in cls.__big_num_deal_rate_dict:
            temp_rate = cls.__big_num_deal_rate_dict[code]
            if temp_rate >= 1:
                if temp_rate > 3:
                    temp_rate = 3
                deal_rate = round((temp_rate * 3.5 - 2.5) / 100, 4)
            deal_rate = 0
            if code in cls.__big_num_deal_rate_dict:
                temp_rate = cls.__big_num_deal_rate_dict[code]
                if temp_rate >= 1:
                    if temp_rate > 3:
                        temp_rate = 3
                    deal_rate = round((temp_rate * 3.5 - 2.5) / 100, 4)
        base_rate += block_rate
        base_rate += deal_rate
            base_rate += block_rate
            base_rate += deal_rate
        except Exception as e:
            l2_log.l_cancel_debug(code, f"计算撤单比例出错:{e}")
        return round(base_rate, 2)
    # 设置板块涨停数量(除开自己)
@@ -935,7 +938,9 @@
            val = data["val"]
            if L2DataUtil.is_limit_up_price_buy_cancel(val):
                # 查询买入位置
                buy_index = l2_data_source_util.L2DataSourceUtils.get_buy_index_with_cancel_data_v2(data, local_today_buyno_map.get(code))
                buy_index = l2_data_source_util.L2DataSourceUtils.get_buy_index_with_cancel_data_v2(data,
                                                                                                    local_today_buyno_map.get(
                                                                                                        code))
                if buy_index is not None and buy_index in watch_indexes:
                    need_compute = True
                    break