Administrator
2025-01-08 6f261784e09576a0433bae869994f6a63c6726d8
大单接口输出
2个文件已修改
47 ■■■■■ 已修改文件
servers/data_server.py 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/buy_radical/radical_buy_data_manager.py 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
servers/data_server.py
@@ -788,7 +788,8 @@
                deals_month = trade_data_manager.AccountMoneyManager().get_deal_count_info(start_date, end_date)
                cost_month = sum([round(0.1 * x[1], 2) for x in delegates_month])
                make_month = 0
                make_month += max(1 * deals_month[0][1], deals_month[0][2] * 1.854/10000) + 1 * deals_month[1][1] + 0 * deals_month[2][1]
                make_month += max(1 * deals_month[0][1], deals_month[0][2] * 1.854 / 10000) + 1 * deals_month[1][
                    1] + 0 * deals_month[2][1]
                fdata["month_commission"] = round(make_month - cost_month, 2)
                # 计算当日手续费详情
                delegates = trade_data_manager.AccountMoneyManager().get_delegated_count_info()
@@ -916,18 +917,22 @@
                    for code in codes:
                        deal_big_order_detail_info = None
                        try:
                            # 获取成交大单:(参考大单金额,已成交大单金额,大单要求金额)
                            # 获取成交大单:(参考大单金额,已成交大单金额,大单要求金额, 已成交涨停买金额, 已成交涨停卖金额)
                            th = BeforeSubDealBigOrderManager().get_big_order_threshold(code)
                            deal_big_money_info = radical_buy_data_manager.get_total_deal_big_order_info(
                                code, gpcode_manager.get_limit_up_price_as_num(code))
                            # 大单成交信息
                            deal_big_order_info = (
                            deal_big_order_info = [
                                output_util.money_desc(th), output_util.money_desc(deal_big_money_info[1]),
                                output_util.money_desc(deal_big_money_info[2]))
                            if len(codes) ==1:
                                output_util.money_desc(deal_big_money_info[2])]
                            if len(codes) == 1:
                                # 加载大单详情
                                deal_big_order_detail_info = radical_buy_data_manager.get_l2_big_order_deal_info(code)
                                # 加载涨停大单详情
                                limit_up_big_order_detail = radical_buy_data_manager.get_total_detal_big_order_details(code)
                                deal_big_order_info.append(output_util.money_desc(limit_up_big_order_detail[0]+limit_up_big_order_detail[1]))
                                deal_big_order_info.append(
                                    output_util.money_desc(limit_up_big_order_detail[2] + limit_up_big_order_detail[3]))
                        except:
                            deal_big_order_info = None
                        code_name = gpcode_manager.get_code_name(code)
trade/buy_radical/radical_buy_data_manager.py
@@ -126,7 +126,8 @@
                total_deal_sell_money_info_list.append(info)
            async_log_util.info(logger_l2_radical_buy_data,
                                f"之前的大卖单:{code}-{total_deal_sell_money}-{total_deal_sell_money_info_list}")
            self.__already_total_sell_deal_big_order_money[code] = (total_deal_sell_money, pre_limit_up_price_money_sell_list)
            self.__already_total_sell_deal_big_order_money[code] = (
            total_deal_sell_money, pre_limit_up_price_money_sell_list)
    def get_big_order_threshold(self, code):
        """
@@ -152,7 +153,6 @@
        if code in self.__already_total_sell_deal_big_order_money:
            return self.__already_total_sell_deal_big_order_money[code][0]
        return 0
    def get_deal_big_order_money_list(self, code):
        """
@@ -1285,6 +1285,19 @@
        return self.__codes
def get_total_detal_big_order_details(code):
    """
    获取成交大单详情
    @param code:
    @return: 买大单, 上板前买大单, 卖大单, 上板前卖大单
    """
    buy_money = BigOrderDealManager().get_total_buy_money(code)
    sell_money = BigOrderDealManager().get_total_sell_money(code)
    before_buy_money = BeforeSubDealBigOrderManager().get_deal_big_order_money(code)
    before_sell_money = BeforeSubDealBigOrderManager().get_sell_deal_big_order_money(code)
    return buy_money, before_buy_money, sell_money, before_sell_money
def get_total_deal_big_order_info(code, limit_up_price):
    """
    总成交大单啊是否足够
@@ -1298,15 +1311,9 @@
        TOTAL_BIG_DEAL_MONEY_THRESHOLD_COUNT *= 3.3
    TOTAL_BIG_DEAL_MONEY_THRESHOLD_MONEY = TOTAL_BIG_DEAL_MONEY_THRESHOLD_COUNT * THRESHOLD_MONEY
    deal_big_order_money = BigOrderDealManager().get_total_buy_money(code)
    deal_big_sell_money = BigOrderDealManager().get_total_sell_money(code)
    # 减去大卖单
    deal_big_order_money -= deal_big_sell_money
    # 添加订阅之前缺失的大单
    deal_big_order_money += BeforeSubDealBigOrderManager().get_deal_big_order_money(code)
    # 添加订阅之前的卖大单
    deal_big_order_money -= BeforeSubDealBigOrderManager().get_sell_deal_big_order_money(code)
    big_order_detail_info = get_total_detal_big_order_details(code)
    deal_big_order_money = big_order_detail_info[0] + big_order_detail_info[1] - big_order_detail_info[2] - big_order_detail_info[3]
    try:
        # 获取正在成交的订单
        dealing_order_info = HuaXinBuyOrderManager().get_dealing_order_info(code)
@@ -1554,7 +1561,8 @@
                    min_order_no = data["val"]["orderNo"]
                    break
            BeforeSubDealBigOrderManager().set_big_deal_order_list(code_, buy_datas, sell_datas,
                                                                   gpcode_manager.get_limit_up_price_as_num(code_), min_order_no)
                                                                   gpcode_manager.get_limit_up_price_as_num(code_),
                                                                   min_order_no)
def get_l2_big_order_deal_info(code_):