Administrator
2023-09-28 79f2fd73fff134a0e0f6c84abded4900d817f8f7
l2/cancel_buy_strategy.py
@@ -670,25 +670,27 @@
    @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]
            rate = 0
            if count >= len(rates):
                rate = rates[-1]
                block_rate = rates[-1]
            else:
                rate = rates[count]
            base_rate += rate
                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]
            rate = 0
            if temp_rate >= 1:
                if temp_rate > 3:
                    temp_rate = 3
                rate = round((temp_rate * 3.5 - 2.5) / 100, 4)
            base_rate += rate
        return round(base_rate,2)
                deal_rate = round((temp_rate * 3.5 - 2.5) / 100, 4)
        base_rate += block_rate
        base_rate += deal_rate
        return round(base_rate, 2), block_rate, deal_rate
    # 设置板块涨停数量(除开自己)
    @classmethod
@@ -702,8 +704,7 @@
    @classmethod
    def set_big_num_deal_rate(cls, code, rate):
        cls.__big_num_deal_rate_dict[code] = rate
        logger_l2_l_cancel.debug(code, f"设置大单成交金额比值:{rate}")
        l2_log.l_cancel_debug(code, f"设置大单成交金额比值:{rate}")
# 计算成交位置之后的大单(特定笔数)的撤单比例
@@ -959,8 +960,9 @@
                #     return True, total_data[-1]
            rate = round(canceled_num / total_num, 3)
            l2_log.l_cancel_debug(code, f"计算范围:{start_index}-{end_index},已撤单比例:{rate}")
            if rate >= LCancelRateManager.get_cancel_rate(code):
            thresh_hold_rate = LCancelRateManager.get_cancel_rate(code)
            l2_log.l_cancel_debug(code, f"计算范围:{start_index}-{end_index},已撤单比例:{rate}/{thresh_hold_rate}")
            if rate >= thresh_hold_rate:
                return True, total_data[-1]
        return False, None
@@ -1037,7 +1039,7 @@
    # 开始撤单
    def start_cancel(self, code, buy_no, total_datas, buy_order_no_map, local_operate_map, m_val_num):
        # TODO 暂时注释掉G撤
        return False,"暂时不执行G撤"
        return False, "暂时不执行G撤"
        thresh_num = int(m_val_num * 1)
        place_order_index = self.__SecondCancelBigNumComputer.get_real_place_order_index_cache(code)
        if place_order_index is None:
@@ -1540,4 +1542,3 @@
if __name__ == "__main__":
    pass