Administrator
2025-01-09 d424997fce8151bb020ed7d33a0fa6fb74e5be9c
BUG修复
2个文件已修改
29 ■■■■■ 已修改文件
third_data/kpl_data_constant.py 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_manager.py 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
third_data/kpl_data_constant.py
@@ -2,6 +2,7 @@
import constant
from db import redis_manager_delegate as redis_manager
from db.redis_manager_delegate import RedisUtils
from third_data import kpl_util
from third_data.third_blocks_manager import BlockMapManager
from utils import tool
@@ -139,7 +140,8 @@
        # 取涨停次数最多的和最近涨停的
        blocks.add(block_infos[0][0])
        blocks -= constant.KPL_INVALID_BLOCKS
        return blocks
        # 去除例如概念这些泛指词
        return set([kpl_util.filter_block(x) for x in blocks])
    def get_limit_up_reasons(self, code):
        """
trade/trade_manager.py
@@ -580,12 +580,14 @@
                if trade_gui is not None:
                    trade_gui.THSBuyWinManagerNew.cancel_distribute_win_for_code(code)
            # 交易成功时间过去3s之后,且当前委托列表里面还有该代码数据就再次执行撤单
            if tool.trade_time_sub(tool.get_now_time_str(), _time) > 3:
                # 获取到当前是否委托
                for dd in latest_trade_delegate_data:
                    if dd["code"] == code:
                        logger_trade.info("{}交易成功触发,重复下单撤单".format(code))
                        start_cancel_buy(code, True)
            # 新版下单不处理
            if not constant.IS_NEW_VERSION_PLACE_ORDER:
                if tool.trade_time_sub(tool.get_now_time_str(), _time) > 3:
                    # 获取到当前是否委托
                    for dd in latest_trade_delegate_data:
                        if dd["code"] == code:
                            logger_trade.info("{}交易成功触发,重复下单撤单".format(code))
                            start_cancel_buy(code, True)
# 处理委托成功数据
@@ -596,7 +598,6 @@
    latest_trade_delegate_data.extend(datas)
    codes = []
    for data in datas:
        code = data["code"]
        if code is not None:
            codes.append(code)
@@ -665,10 +666,12 @@
            RadicalBuyDealCodesManager().add_deal_code(code)
    # 取s消所有的挂单
    if constant.API_TRADE_ENABLE:
        if constant.TRADE_WAY == constant.TRADE_WAY_JUEJIN:
            trade_juejin.cancel_order(code)
        elif constant.TRADE_WAY == constant.TRADE_WAY_HUAXIN:
            trade_huaxin.cancel_order(code)
        if not constant.IS_NEW_VERSION_PLACE_ORDER:
            # 新版本拆单下单不撤单
            if constant.TRADE_WAY == constant.TRADE_WAY_JUEJIN:
                trade_juejin.cancel_order(code)
            elif constant.TRADE_WAY == constant.TRADE_WAY_HUAXIN:
                trade_huaxin.cancel_order(code)
    else:
        guiTrade.cancel_buy(code)