Administrator
2024-08-07 2704b3380b9812e3fc7b70f145db38eba8445dc1
距离太远不下单规则修改
1个文件已修改
16 ■■■■■ 已修改文件
l2/l2_data_manager_new.py 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/l2_data_manager_new.py
@@ -257,6 +257,9 @@
    # 当前批次正在处理的数据索引
    __processing_data_indexes = {}
    # 是否中断买入
    __break_buy_dict = {}
    # 获取代码评分
    @classmethod
    def get_code_scores(cls):
@@ -515,6 +518,7 @@
    # 处理未挂单
    @classmethod
    def __process_not_order(cls, code, start_index, end_index, capture_time, is_first_code):
        cls.__break_buy_dict[code] = False
        __start_time = round(t.time() * 1000)
        # 获取阈值
        threshold_money, msg = cls.__get_threshmoney(code)
@@ -935,6 +939,7 @@
                        buy1_money = 1
                    deal_rate = round(total_deal_money / buy1_money, 2)
                    if deal_rate < 0.05:
                        cls.__break_buy_dict[code] = True
                        return False, True, f"板上放量成交金额不足,近2s总成交比例({deal_rate}):{total_deal_money}/{buy1_money}小于0.05"
            # 判断成交进度是否距离我们的位置很近
            trade_index, is_default = cls.__TradeBuyQueue.get_traded_index(code)
@@ -998,7 +1003,11 @@
            min_num = int(5000 / limit_up_price)
            range_indexes = cls.__processing_data_indexes.get(code)
            if range_indexes:
                for i in range(range_indexes[0], range_indexes[1] + 1):
                # 获取成交进度位
                trade_index, is_default = transaction_progress.TradeBuyQueue().get_traded_index(code)
                if trade_index is None:
                    trade_index = 0
                for i in range(trade_index + 1, range_indexes[1] + 1):
                    val = total_datas[i]["val"]
                    if not L2DataUtil.is_limit_up_price_buy(val):
                        continue
@@ -1009,6 +1018,7 @@
                        break
            if buy_count > THRESHOLD_BUY_COUNT:
                HuaXinSellOrderStatisticManager.clear_latest_deal_volume(code)
                cls.__break_buy_dict[code] = True
                return False, True, f"执行位批次数据量({buy_count})大于{THRESHOLD_BUY_COUNT}"
            # 暂时注释想买单功能
        if not cls.__WantBuyCodesManager.is_in_cache(code):
@@ -1363,6 +1373,10 @@
                            is_first_code,
                            new_add=True):
        # 已经中断买入
        if  cls.__break_buy_dict.get(code):
            return
        if compute_end_index < compute_start_index:
            return