| | |
| | | |
| | | # 获取涨停价 |
| | | 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"] |
| | |
| | | # 数据重复次数默认为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 |
| | | |
| | |
| | | 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: |
| | |
| | | # 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): |
| | |
| | | _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 |
| | |
| | | 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 |
| | | |
| | |
| | | key = "l2-fixed-codes" |
| | | redis = _redisManager.getRedis() |
| | | redis.sadd(key, code) |
| | | redis.expire(key, tool.get_expire()) |
| | | |
| | | |
| | | # 是否在l2固定监控代码中 |
| | |
| | | |
| | | |
| | | 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) |