Administrator
2023-09-12 c97dc748bfcc4fa4361ca50924359c916271ce1f
l2/l2_data_manager_new.py
@@ -607,6 +607,8 @@
                l2_log.debug(code, "执行买入成功")
                ################下单成功处理################
                trade_result_manager.real_buy_success(code, cls.__TradePointManager)
                cancel_buy_strategy.set_real_place_position(code, local_today_datas.get(code)[-1]["index"],
                                                            buy_single_index)
                l2_log.debug(code, "处理买入成功")
                params_desc = cls.__l2PlaceOrderParamsManagerDict[code].get_buy_rank_desc()
                l2_log.debug(code, params_desc)
@@ -812,7 +814,7 @@
            total_data = local_today_datas.get(code)
            trade_index, is_default = cls.__TradeBuyQueue.get_traded_index(code)
            if not is_default and trade_index:
                buy_index_set = set()
                not_cancel_num = 0
                num_operate_map = local_today_num_operate_map.get(code)
                for i in range(trade_index + 1, total_data[-1]["index"] + 1):
                    if L2DataUtil.is_limit_up_price_buy(total_data[i]["val"]):
@@ -823,10 +825,11 @@
                                                                                                              total_data,
                                                                                                              num_operate_map)
                        if left_count > 0:
                            buy_index_set.add(total_data[i]["index"])
                if len(buy_index_set) < 5:
                    return False, False, f"成交位置距离当前位置小于5笔"
                            not_cancel_num += total_data[i]["val"]["num"]
                m = cls.__get_threshmoney(code)
                not_cancel_money = not_cancel_num * 100 * float(gpcode_manager.get_limit_up_price(code))
                if cls.__get_threshmoney(code) > not_cancel_money:
                    return False, False, f"成交位置距离当前位置纯买额({not_cancel_money})小于m值({m})"
        else:
            # 判断买1价格档位
            zyltgb = global_util.zyltgb_map.get(code)
@@ -1149,7 +1152,11 @@
    @classmethod
    def __get_threshmoney(cls, code):
        return cls.__l2PlaceOrderParamsManagerDict[code].get_m_val()
        m = cls.__l2PlaceOrderParamsManagerDict[code].get_m_val()
        if trade_manager.CodesTradeStateManager().get_trade_state_cache(code) == trade_manager.TRADE_STATE_NOT_TRADE:
            # 首次下单m值扩大1.5倍
            m = int(m * 1.5)
        return m
    # 计算万手哥笔数
    @classmethod