Administrator
2025-06-11 6dbf7d8320b03533a8a7c70cb3cc309426eac94e
L2订阅接口修改/人为设置大单之后才能自动拉白/红
3个文件已修改
35 ■■■■ 已修改文件
servers/data_server.py 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/buy_radical/radical_buy_data_manager.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/buy_radical/radical_buy_strategy.py 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
servers/data_server.py
@@ -1025,7 +1025,17 @@
                            logger_debug.exception(e)
                            deal_big_order_info = None
                        code_name = gpcode_manager.get_code_name(code)
                        fresults.append((code, code_name, deal_big_order_info, deal_big_order_detail_info))
                        big_order_enough = 0
                        try:
                            total_deal_big_order_result = radical_buy_data_manager.get_total_deal_big_order_info(code,
                                                                                        gpcode_manager.get_limit_up_price_as_num(
                                                                                            code))
                            if total_deal_big_order_result and total_deal_big_order_result[0]<=0:
                                big_order_enough = 1
                        except:
                            pass
                        fresults.append((code, code_name, deal_big_order_info, deal_big_order_detail_info, big_order_enough))
                response_data = json.dumps({"code": 0, "data": fresults})
            except Exception as e:
                response_data = json.dumps({"code": 1, "data": str(1)})
trade/buy_radical/radical_buy_data_manager.py
@@ -641,6 +641,10 @@
        if WantBuyCodesManager().is_in_cache(code):
            if total_deal_big_order_result[0] <= 0:
                # 累计大单足够需要加红
                human_setting_money = TotalDealBigOrderThresholdMoneyManager().get_money_cache(code)
                if not human_setting_money:
                    # 没有人为设置累计大单阈值就不能加白
                    return
                gpcode_manager.MustBuyCodesManager().add_code(code)
                trade_record_log_util.add_must_buy(code, "累计成交大单足够")
        cls.__process_add_white(code)
@@ -656,6 +660,11 @@
            return
        if gpcode_manager.WhiteListCodeManager().is_in_cache(code):
            return
        human_setting_money = TotalDealBigOrderThresholdMoneyManager().get_money_cache(code)
        if not human_setting_money:
            # 没有人为设置累计大单阈值就不能加白
            return
        try:
            total_deal_big_order_result = get_total_deal_big_order_info(code,
                                                                        gpcode_manager.get_limit_up_price_as_num(code))
trade/buy_radical/radical_buy_strategy.py
@@ -16,7 +16,7 @@
from third_data.kpl_data_constant import LimitUpDataConstant, LimitUpCodesBlockRecordManager
from trade.buy_radical import radical_buy_data_manager, block_special_codes_manager
from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager
from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager
from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, TotalDealBigOrderThresholdMoneyManager
from trade.trade_data_manager import RadicalBuyDealCodesManager
from utils import tool, global_util
@@ -142,6 +142,12 @@
    price = transaction_datas[-1][1]
    huaxin_timestamp = transaction_datas[-1][3]
    # 判断是否可以扫入
    can_direct_buy = False
    human_setting_money = TotalDealBigOrderThresholdMoneyManager().get_money_cache(code)
    if human_setting_money:
        can_direct_buy = True
    # 获取参考总卖额
    refer_sell_data = L2MarketSellManager().get_refer_sell_data(code, l2_huaxin_util.convert_time(
        huaxin_timestamp))
@@ -176,7 +182,7 @@
        # 要求的大单够了 以后,回封买,只要有两个大单成交了,立即下单
        THRESHOLD_MONEY, is_temp_threshold_money = radical_buy_data_manager.BeforeSubDealBigOrderManager().get_big_order_threshold_info(
            code)
        if big_order_money > THRESHOLD_MONEY * 2:
        if big_order_money > THRESHOLD_MONEY * 2 and can_direct_buy:
            return BUY_MODE_DIRECT, f"有两个以上大单瞬时成交({big_order_money}/{THRESHOLD_MONEY * 2}), 大单足够"
    if big_order_count >= 2:
@@ -210,10 +216,10 @@
        if threshold_left_sell_money > left_limit_up_sell_money:
            # 剩余总卖小于均大单才能下单
            # 如果是深证且卖一大于5000w可不判断大单是否满足
            if tool.is_sz_code(code) and refer_sell_money >= 5e7:
            if tool.is_sz_code(code) and refer_sell_money >= 5e7 and can_direct_buy:
                return BUY_MODE_DIRECT, f"剩余涨停总卖额-{left_limit_up_sell_money},均大单-{average_big_order_money}, 剩余阈值-{threshold_left_sell_money}, 总抛压大({refer_sell_money})"
            else:
                if total_lack_money_info[0] <= 0 and tool.is_sz_code(code):
                if total_lack_money_info[0] <= 0 and tool.is_sz_code(code) and can_direct_buy:
                    return BUY_MODE_DIRECT, f"剩余涨停总卖额-{left_limit_up_sell_money},均大单-{average_big_order_money}, 大单足够"
    else:
        average_big_order_money = 0