Administrator
2022-08-25 34491829675033e41715648b1e92f339bf2f35d1
l2_data_manager.py
@@ -203,9 +203,15 @@
    # 获取涨停价
    limit_up_price = gpcode_manager.get_limit_up_price(code)
    same_time_num = {}
    for item in data:
        # 解析数据
        time = item["time"]
        if time in same_time_num:
            same_time_num[time] = same_time_num[time] + 1
        else:
            same_time_num[time] = 1
        price = float(item["price"])
        num = item["num"]
        limitPrice = item["limitPrice"]
@@ -225,6 +231,11 @@
            # 数据重复次数默认为1
            datas.append({"key": key, "val": item, "re": 1})
            dataIndexs.setdefault(key, len(datas) - 1)
    for key in same_time_num:
        if same_time_num[key] > 50:
            # TODO 保存数据
            redis = _redisManager.getRedis()
            redis.set("big_data-{}-{}".format(code, int(round(t.time() * 1000))), str)
    return day, client, channel, code, datas
@@ -423,7 +434,7 @@
                                if limit_up_price is not None:
                                    if latest_num * limit_up_price * 100 > 1000 * 10000:
                                        # 大于1000w就买
                                        #print("执行撤销")
                                        # print("执行撤销")
                                        logger_l2_trade.info(
                                            "执行撤销:{} - {}".format(code, json.dumps(add_datas[-1])))
                                        try:
@@ -526,7 +537,7 @@
            #         if datas[j]["val"]["limitPrice"] == 1 and datas[j]["val"]["operateType"] == 0:
            #             index_3 = j
            if index_1 - index_0 == 1 and index_2 - index_1 == 1:  # and index_3 - index_2 == 1
                logger_l2_trade.info("找到物理连续涨停买 {},{},{}".format(code, i,datas[i]))
                logger_l2_trade.info("找到物理连续涨停买 {},{},{}".format(code, i, datas[i]))
                return i
        # 同1s内有不连续的4个涨停买(如果遇买撤就重新计算,中间可间隔不涨停买)标记计算起始点
        if __is_limit_up_price_buy(_val):
@@ -548,7 +559,7 @@
            _limit_up_count_1s_start_index = -1
        if _limit_up_count_1s >= 4 and _limit_up_count_1s_start_index > -1:
            logger_l2_trade.info("找到同一秒连续涨停买 {},{},{}".format(code, _limit_up_count_1s_start_index,datas[i]))
            logger_l2_trade.info("找到同一秒连续涨停买 {},{},{}".format(code, _limit_up_count_1s_start_index, datas[i]))
            return _limit_up_count_1s_start_index
    return None
@@ -590,7 +601,7 @@
                        index_2 = j
                        break
            if index_1 - index_0 == 1 and index_2 - index_1 == 1:
                logger_l2_trade.info("连续3个涨停买撤 {},{},{}".format(code, i,json.dumps(datas[i])))
                logger_l2_trade.info("连续3个涨停买撤 {},{},{}".format(code, i, json.dumps(datas[i])))
                return i
    return None
@@ -675,6 +686,7 @@
    key = "l2-fixed-codes"
    redis = _redisManager.getRedis()
    redis.sadd(key, code)
    redis.expire(key, tool.get_expire())
# 是否在l2固定监控代码中
@@ -685,6 +697,7 @@
if __name__ == "__main__":
    print("big_data-{}-{}".format("123", int(round(t.time() * 1000))))
    pass
    # __set_buy_compute_start_data("000000", 100, 1)
    # __set_buy_compute_start_data("000000", 100)