Administrator
2023-07-10 4202470a0702b313b150eff1797ec495ee1ca59a
l2/l2_data_manager_new.py
@@ -4,6 +4,7 @@
from code_attribute import big_money_num_manager, code_volumn_manager, code_data_util, industry_codes_sort, \
    limit_up_time_manager, global_data_loader, gpcode_manager
import constant
from l2.huaxin import l2_huaxin_util
from utils import global_util, ths_industry_util, tool
import l2_data_util
from db import redis_manager
@@ -14,10 +15,11 @@
from l2.cancel_buy_strategy import SecondCancelBigNumComputer, HourCancelBigNumComputer, L2LimitUpMoneyStatisticUtil, \
    L2LimitUpSellStatisticUtil
from l2.l2_data_manager import L2DataException, TradePointManager
from l2.l2_data_util import local_today_datas, L2DataUtil, local_today_num_operate_map,local_today_buyno_map, local_latest_datas
from l2.l2_data_util import local_today_datas, L2DataUtil, local_today_num_operate_map, local_today_buyno_map, \
    local_latest_datas
import l2.l2_data_util
from logs_.log import logger_l2_trade_buy, logger_l2_process, \
    logger_place_order_score
    logger_place_order_score, logger_l2_error
# TODO l2数据管理
from trade.trade_data_manager import CodeActualPriceProcessor
@@ -210,6 +212,35 @@
            if code in cls.unreal_buy_dict:
                cls.unreal_buy_dict.pop(code)
    # 处理华鑫L2数据
    @classmethod
    def process_huaxin(cls, code, datas):
        origin_start_time = round(t.time() * 1000)
        try:
            # 加载历史的L2数据
            is_normal = l2.l2_data_util.load_l2_data(code,load_latest=False)
            if not is_normal:
                print("历史数据异常:", code)
                # 数据不正常需要禁止交易
                l2_trade_util.forbidden_trade(code)
            # 转换数据格式
            _start_index = 0
            if local_today_datas.get(code) is not None and len(
                    local_today_datas[code]) > 0:
                _start_index = local_today_datas[code][-1]["index"] + 1
            datas = l2_huaxin_util.get_format_l2_datas(code, datas,
                                                       gpcode_manager.get_limit_up_price(code), _start_index)
            __start_time = round(t.time() * 1000)
            cls.process_add_datas(code, datas, 0, __start_time)
        except Exception as e:
            logging.exception(e)
            logger_l2_error.exception(e)
        finally:
            l2_data_log.l2_time(code, round(t.time() * 1000) - origin_start_time,
                                "l2数据处理总耗时",
                                True)
            l2.l2_data_util.save_l2_data(code, None, datas)
    @classmethod
    def process_add_datas(cls, code, add_datas, capture_timestamp, __start_time):
        now_time_str = tool.get_now_time_str()