Administrator
2024-04-23 d30c3d2335348d65878735b18aaf2d1f4537db1c
utils/data_export_util.py
@@ -25,7 +25,7 @@
# 获取L2的数据
def get_l2_datas(code, today_datas=None, date=None):
def get_l2_datas(code, today_datas=None, date=None, max_time=None):
    if date is None:
        date = tool.get_now_date_str()
    datas = today_datas
@@ -48,7 +48,8 @@
    active_sell_set = active_sell_map.get(code)
    if not active_sell_set:
        active_sell_set = set()
    fdatas = export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict, sell_nos, active_sell_set)
    fdatas = export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict, sell_nos,
                            active_sell_set)
    return fdatas
@@ -61,7 +62,8 @@
    return fdatas
def export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict, sell_nos,active_sell_nos):
def export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict, sell_nos,
                   active_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]:
@@ -94,9 +96,11 @@
    fdatas = []
    for data in datas:
        index += 1
        # 先移除
        if data['val']['orderNo'] in active_sell_nos:
            # 过滤主动卖
            continue
        trade_info = find_trade_index(data["index"])
        if not trade_info:
            # 获取真实下单位置
@@ -186,8 +190,8 @@
                    logging.exception(e)
            else:
                deal_info = deal_list_dict.get(str(data["val"].get("orderNo")))
                if deal_info:
                    cancel_info = l2_huaxin_util.convert_time(deal_info[3],
                if deal_info and len(deal_info) >= 5:
                    cancel_info = l2_huaxin_util.convert_time(deal_info[4],
                                                              with_ms=True)
        format_data.append(cancel_info)
        cancel_order_info = None
@@ -214,28 +218,28 @@
        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
    # 不添加主动卖数据
    # 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