Administrator
4 天以前 48fb7a00951f91bdc707e5dd2d196e5bccb752c3
servers/data_server.py
@@ -10,6 +10,7 @@
import constant
import inited_data
from api import low_suction_data_pusher
from code_attribute.gpcode_manager import BlackListCodeManager, HumanRemoveForbiddenManager
from l2.huaxin import huaxin_target_codes_manager
from l2.l2_transaction_data_manager import HuaXinBuyOrderManager
@@ -948,9 +949,12 @@
                                th_sell = BeforeSubDealBigOrderManager().get_big_sell_order_threshold(code)
                            except:
                                th_sell = 0
                            # (缺少的资金, 净成交金额, 要求的大单金额, 计算得到的大单阈值金额, 人为设置的大单)
                            deal_big_money_info = radical_buy_data_manager.get_total_deal_big_order_info(
                                code, gpcode_manager.get_limit_up_price_as_num(code))
                            if deal_big_money_info[1] == 0 and len(codes) == 1:
                                # 总成交金额为0
                                deal_big_money_info = list(deal_big_money_info)
                                # 没有订阅L2会出现没有值的情况,如果涨停过就拉取之前的涨停买/卖大单
                                deal_big_orders_result = radical_buy_data_manager.request_deal_big_orders(code)
@@ -968,13 +972,15 @@
                                    th_buy = threshold_money
                                    buy_money = sum(limit_up_price_money_list)
                                    sell_money = sum([x[0] for x in sell_datas if x[1] == limit_up_price])
                                    # 涨停大单净买入
                                    # 涨停买净成交金额净买额
                                    deal_big_money_info[1] = buy_money - sell_money
                                    # 要求的大单累计金额
                                    deal_big_money_info[
                                        2] = radical_buy_data_manager.compute_total_deal_big_order_threshold_money(code,
                                                                                                                   limit_up_price,
                                                                                                                   threshold_money)
                                    logger_debug.info(f"{code}-累计大单阈值:{deal_big_money_info[2]}")
                                    # logger_debug.info(f"{code}-累计大单阈值:{deal_big_money_info[2]}")
                                    # logger_debug.info(f"{code}非订阅大单, buy_money-{buy_money}, sell_money-{sell_money}")
                            big_money_rate = radical_buy_data_manager.TotalDealBigOrderInfoManager.get_big_order_rate(
                                code)
@@ -1000,12 +1006,15 @@
                                # 加载大单详情
                                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]))
                                # 累计涨停买金额
                                buy_money = output_util.money_desc(limit_up_big_order_detail[0] + limit_up_big_order_detail[1])
                                sell_money = output_util.money_desc(limit_up_big_order_detail[2] + limit_up_big_order_detail[3])
                                deal_big_order_info.append(buy_money)
                                # 累计涨停卖金额
                                deal_big_order_info.append(sell_money)
                                deal_big_order_info.append(
                                    radical_buy_data_manager.TotalDealBigOrderInfoManager().get_big_order_rate(code))
@@ -1016,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)})
@@ -1199,6 +1218,13 @@
                                    lambda: request_new_blocks_codes(update_new_block_plates, new_block_codes.keys()))
                    except Exception as e:
                        logger_debug.exception(e)
                    # 将数据推送至其他项目
                    try:
                        low_suction_data_pusher.push_limit_up_list(result_list_)
                    except:
                        pass
                    self.__kplDataManager.save_data(type_, result_list_)
            except Exception as e:
                logger_debug.exception(e)