Administrator
2023-08-09 e5f394c2dace517213e8ca92013f3947d6da79c9
bug修复
3个文件已修改
35 ■■■■ 已修改文件
constant.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/cancel_buy_strategy.py 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_manager.py 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
constant.py
@@ -111,7 +111,7 @@
# L撤
L_CANCEL_MAX_WATCH_COUNT = 15
# 撤单比例
L_CANCEL_RATE = 0.6
L_CANCEL_RATE = 0.69
# 最小金额
L_CANCEL_MIN_MONEY = 98
l2/cancel_buy_strategy.py
@@ -1007,9 +1007,9 @@
            return False, None
        watch_indexes = set([int(i) for i in watch_indexes])
        # 计算监听的总条数
        total_count = 0
        total_num = 0
        for wi in watch_indexes:
            total_count += total_data[wi]["re"]
            total_num += total_data[wi]["re"]*int(total_data[wi]["val"]["num"])
        # 判断撤单中是否有监听中的索引
        need_compute = False
        for i in range(start_index, end_index + 1):
@@ -1024,15 +1024,15 @@
                    break
        if need_compute:
            # 计算撤单比例
            canceled_count = 0
            canceled_num = 0
            for wi in watch_indexes:
                left_count = l2_data_source_util.L2DataSourceUtils.get_limit_up_buy_no_canceled_count(code,
                                                                                                      wi,
                                                                                                      total_data,
                                                                                                      local_today_num_operate_map)
                canceled_count += (total_data[wi]["re"] - left_count)
            rate = round(canceled_count / total_count, 3)
            logger_l2_l_cancel.info(f"计算范围:{start_index}-{end_index},已撤单比例:{rate}")
                canceled_num += (total_data[wi]["re"] - left_count) * int(total_data[wi]["val"]["num"])
            rate = round(canceled_num / total_num, 3)
            logger_l2_l_cancel.info(f"{code}:计算范围:{start_index}-{end_index},已撤单比例:{rate}")
            if rate >= constant.L_CANCEL_RATE:
                return True, total_data[-1]
trade/trade_manager.py
@@ -491,7 +491,7 @@
    l2_data_manager.add_to_l2_fixed_codes(code)
    # 记录下单的那一帧图片的截图时间与交易用时
    trade_data_manager.TradeBuyDataManager().set_buy_position_info(code, capture_timestamp, use_time, last_data,
                                                                 last_data_index)
                                                                   last_data_index)
    print("买入结束")
    logger_trade.info("{}买入成功".format(code))
@@ -615,15 +615,16 @@
            # 设置下单状态的代码为已委托
            if trade_state == TRADE_STATE_BUY_PLACE_ORDER:
                CodesTradeStateManager().set_trade_state(code, TRADE_STATE_BUY_DELEGATED)
    ing_codes = CodesTradeStateManager().get_codes_by_trade_state(TRADE_STATE_BUY_CANCEL_ING)
    if ing_codes is not None:
        for code in ing_codes:
            if code in codes:
                # 强制重新取消
                start_cancel_buy(code, True)
            else:
                CodesTradeStateManager().set_trade_state(code, TRADE_STATE_BUY_CANCEL_SUCCESS)
                l2_data_manager.remove_from_l2_fixed_codes(code)
    if constant.TRADE_WAY == constant.TRADE_WAY_JUEJIN:
        ing_codes = CodesTradeStateManager().get_codes_by_trade_state(TRADE_STATE_BUY_CANCEL_ING)
        if ing_codes is not None:
            for code in ing_codes:
                if code in codes:
                    # 强制重新取消
                    start_cancel_buy(code, True)
                else:
                    CodesTradeStateManager().set_trade_state(code, TRADE_STATE_BUY_CANCEL_SUCCESS)
                    l2_data_manager.remove_from_l2_fixed_codes(code)
def __clear_data(code):