Administrator
2024-03-21 300cd8f128dd74ae7c3602ae3895f4d34312193e
utils/data_export_util.py
@@ -15,6 +15,7 @@
from log_module import log, log_export
from l2 import l2_data_source_util
from trade import deal_big_money_manager
from utils import tool
def export_l2_excel(code, date=None):
@@ -25,6 +26,8 @@
# 获取L2的数据
def get_l2_datas(code, today_datas=None, date=None):
    if date is None:
        date = tool.get_now_date_str()
    datas = today_datas
    if datas is None:
        local_today_datas = log_export.load_l2_from_log(date)
@@ -38,11 +41,15 @@
    deal_list_dict = {}
    for d in deal_list:
        deal_list_dict[str(d[0])] = d
    fdatas = export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict)
    sell_no_dict = log_export.load_huaxin_transaction_sell_no(code=code, date=date)
    sell_nos = sell_no_dict.get(code)
    fdatas = export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict, sell_nos)
    return fdatas
def export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict):
def export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict, sell_nos):
    def find_process_index(index):
        for i in range(0, len(process_indexs)):
            if process_indexs[i][0] <= index <= process_indexs[i][1]:
@@ -180,6 +187,39 @@
        format_data.append(cancel_order_info)
        format_data.append(data["val"].get("orderNo"))
        fdatas.append((style_int, trade_info, format_data))
    # 将订单号索引
    order_no_index_map = {}
    for i in range(len(fdatas)):
        d = fdatas[i][2]
        if d[6].find('撤') >= 0:
            continue
        order_no_index_map[int(d[10])] = i
    order_no_indexes = [(k, order_no_index_map[k]) for k in order_no_index_map]
    order_no_indexes.sort(key=lambda x: x[0])
    if sell_nos:
        for sell_info in sell_nos:
            if sell_info[1] * sell_info[2] < 50 * 10000:
                continue
            for i in range(len(order_no_indexes) - 1):
                if order_no_indexes[i][0] < sell_info[0] < order_no_indexes[i + 1][0]:
                    item = []
                    item.append(order_no_indexes[i + 1][1])
                    item.append(l2_huaxin_util.convert_time(sell_info[3][0], with_ms=True))
                    item.append("")
                    item.append(
                        "{}万".format(round(sell_info[1] * sell_info[2] / 10000, 1)))
                    item.append(sell_info[2])
                    item.append(sell_info[1] // 100)
                    item.append("主动卖")
                    item.append(1)
                    item.append(l2_huaxin_util.convert_time(sell_info[4][0], with_ms=True))
                    item.append(None)
                    item.append(sell_info[0])
                    fdatas.insert(order_no_indexes[i + 1][1], (0,None,item))
                    break
    return fdatas
@@ -283,6 +323,6 @@
if __name__ == "__main__":
    try:
        get_l2_datas("600822", date="2024-03-12")
        get_l2_datas("600990")
    except Exception as e:
        logging.exception(e)