Administrator
2024-06-12 d873f18025970f81d5ad93d9ba948ff4747a1964
bug修复
3个文件已修改
43 ■■■■ 已修改文件
log_module/log_export.py 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/l2_transaction_data_manager.py 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/output_data_util.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
log_module/log_export.py
@@ -109,7 +109,7 @@
        lines = file.readlines()
        for line in lines:
            start_index = line.find("]")
            if start_index<0:
            if start_index < 0:
                continue
            line = line[start_index + 1:].strip()
            data = eval(line)
@@ -117,6 +117,28 @@
    return fdatas
def load_big_buy_order(date=tool.get_now_date_str()):
    """
    获取大买单
    :param date:
    :return:
    """
    path = f"{constant.get_path_prefix()}/{constant.LOG_DIR}/huaxin/l2/transaction_big_buy.{date}.log"
    fdatas = {}
    with open(path, 'r') as file:
        lines = file.readlines()
        for line in lines:
            start_index = line.find("]")
            if start_index < 0:
                continue
            line = line[start_index + 1:].strip()
            ds = line.split("#")
            code = ds[0].strip()
            data = eval(ds[1])
            if code not in fdatas:
                fdatas[code] = []
            fdatas[code].append(data)
    return fdatas
if __name__ == "__main__":
trade/l2_transaction_data_manager.py
@@ -1,5 +1,5 @@
# 成交数据统计
from log_module import async_log_util
from log_module import async_log_util, log_export
from log_module.log import hx_logger_l2_transaction_big_buy_order
from utils import l2_huaxin_util
@@ -12,7 +12,7 @@
    # 最近成交的订单{"code":(订单号,是否成交完成)}
    __latest_deal_order_info_dict = {}
    __total_big_buy_orders_dict={}
    __total_big_buy_orders_dict = {}
    def __new__(cls, *args, **kwargs):
        if not cls.__instance:
@@ -22,7 +22,9 @@
    @classmethod
    def __load_datas(cls):
        pass
        fdatas = log_export.load_big_buy_order()
        for code in fdatas:
            cls.__total_big_buy_orders_dict[code] = fdatas[code]
    @classmethod
    def get_big_buy_orders(cls, code):
@@ -32,6 +34,11 @@
        :return:[(订单号,总股数,成交金额,成交开始时间,成交结束时间)]
        """
        return cls.__total_big_buy_orders_dict.get(code)
    @classmethod
    def get_big_buy_orders_from_file(cls, code):
        fdatas = log_export.load_big_buy_order()
        return fdatas.get(code)
    @classmethod
    def get_dealing_order_info(cls, code):
@@ -74,7 +81,7 @@
                # 是否为大买单
                if deal_info[2] >= threshold_big_money:
                    big_buy_datas.append(deal_info)
                    async_log_util.info(hx_logger_l2_transaction_big_buy_order,f"{code}#{deal_info}")
                    async_log_util.info(hx_logger_l2_transaction_big_buy_order, f"{code}#{deal_info}")
                if deal_info[2] >= 500000:
                    normal_buy_datas.append(deal_info)
                # 初始化本条数据
utils/output_data_util.py
@@ -54,9 +54,9 @@
    # 统计板块的
    fresults["blockInfos"] = blockInfos
    fresults["blocks"] = list(blocks)
    big_orders = HuaXinBuyOrderManager.get_big_buy_orders(code)
    big_orders = HuaXinBuyOrderManager.get_big_buy_orders_from_file(code)
    if not big_orders:
        big_orders = []
    fresults["bigOrderDealCount"] = len(big_orders)
    fresults["bigOrderDealMoney"] = sum([x[1] for x in big_orders])
    fresults["bigOrderDealMoney"] = sum([x[2] for x in big_orders])
    return fresults