Administrator
2024-12-15 0516355520573c81518a20fd4421b8c105d67bae
servers/data_server.py
@@ -9,6 +9,7 @@
import requests
from code_attribute.gpcode_manager import BlackListCodeManager
from l2.huaxin import huaxin_target_codes_manager
from l2.l2_transaction_data_manager import HuaXinBuyOrderManager
from log_module.log import logger_system, logger_debug, logger_kpl_limit_up, logger_request_api
from third_data.custom_block_in_money_manager import CodeInMoneyManager
@@ -16,9 +17,10 @@
    ContainsLimitupCodesBlocksManager
from third_data.kpl_limit_up_data_manager import LatestLimitUpBlockManager, CodeLimitUpSequenceManager
from third_data.third_blocks_manager import BlockMapManager
from trade.buy_radical import radical_buy_data_manager
from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager
from trade.buy_strategy import OpenLimitUpGoodBlocksBuyStrategy
from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager
from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, BeforeSubDealBigOrderManager
from utils import global_util, tool, data_export_util
from code_attribute import gpcode_manager
from log_module import log_analyse, log_export, async_log_util
@@ -890,28 +892,24 @@
        elif url.path == "/get_l2_subscript_codes":
            # 获取L2订阅的代码
            ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()])
            codes = huaxin_target_codes_manager.HuaXinL2SubscriptCodesManager.get_subscript_codes()
            fresults = []
            try:
                records = LimitUpDataConstant.history_limit_up_datas
                # 获取历史涨停
                if not records:
                    KPLLimitUpDataRecordManager.load_total_datas()
                    records = KPLLimitUpDataRecordManager.total_datas
                if not records:
                    records = []
                codes = set([x[3] for x in records])
                fdatas = []
                if codes:
                    block_top_in_list = RealTimeKplMarketData.top_in_list_cache
                    in_blocks = [x[1] for x in block_top_in_list]
                    yesterday_codes = kpl_data_manager.get_yesterday_limit_up_codes()
                    if yesterday_codes is None:
                        yesterday_codes = set()
                    for code in codes:
                        index = current_price_process_manager.compute_code_order(code, in_blocks[:30], yesterday_codes)
                        if 0 <= index <= 1000:
                            fdatas.append((code, gpcode_manager.get_code_name(code)))
                response_data = json.dumps({"code": 0, "data": fdatas})
                        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 = (
                                output_util.money_desc(th), output_util.money_desc(deal_big_money_info[1]),
                                output_util.money_desc(deal_big_money_info[2]))
                        except:
                            deal_big_order_info = None
                        code_name = gpcode_manager.get_code_name(code)
                        fresults.append((code, code_name, deal_big_order_info))
                response_data = json.dumps({"code": 0, "data": fresults})
            except  Exception as e:
                response_data = json.dumps({"code": 1, "data": str(1)})
@@ -1100,7 +1098,6 @@
            # 保存市场热度
            if strong is not None:
                RealTimeKplMarketData.set_market_strong(strong)
        return json.dumps({"code": 0})