From be73e2b78857adaf006063275726b69c4c60f0d7 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 12 十月 2022 11:54:25 +0800 Subject: [PATCH] 买撤策略修改;加入报警功能 --- l2_data_util.py | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/l2_data_util.py b/l2_data_util.py index 8c4ec83..c3de649 100644 --- a/l2_data_util.py +++ b/l2_data_util.py @@ -4,6 +4,7 @@ """ # 姣旇緝鏃堕棿鐨勫ぇ灏� +import datetime import json import time @@ -44,7 +45,7 @@ local_today_num_operate_map[code] = {} for data in source_datas: - key = "{}-{}-{}".format(data["val"]["num"], data["val"]["operateType"],data["val"]["price"]) + key = "{}-{}-{}".format(data["val"]["num"], data["val"]["operateType"], data["val"]["price"]) if local_today_num_operate_map[code].get(key) is None: local_today_num_operate_map[code].setdefault(key, []) local_today_num_operate_map[code].get(key).append(data) @@ -86,10 +87,11 @@ def get_buy_data_with_cancel_data(cancel_data, local_today_num_operate_map): # 璁$畻鏃堕棿鍖洪棿 min_space, max_space = compute_time_space_as_second(cancel_data["val"]["cancelTime"], - cancel_data["val"]["cancelTimeUnit"]) + cancel_data["val"]["cancelTimeUnit"]) max_time = __sub_time(cancel_data["val"]["time"], min_space) min_time = __sub_time(cancel_data["val"]["time"], max_space) - buy_datas = local_today_num_operate_map.get("{}-{}-{}".format(cancel_data["val"]["num"], "0",cancel_data["val"]["price"])) + buy_datas = local_today_num_operate_map.get( + "{}-{}-{}".format(cancel_data["val"]["num"], "0", cancel_data["val"]["price"])) if buy_datas is None: # 鏃犳暟鎹� return None, None @@ -126,9 +128,13 @@ # 淇濆瓨蹇収 # logger_l2_big_data.debug("code:{} d1:{} d2:{}", code, d1[i - 60: i + 30], d2[i - 60: i + 30]) break + time_str = datetime.datetime.now().strftime("%H:%M:%S") - for key in same_time_nums: - if same_time_nums[key] > 20: + for time_ in same_time_nums: + # 鍙繚鐣欐渶杩�3s鍐呯殑澶ф暟鎹� + if abs(get_time_as_seconds(time_str) - get_time_as_seconds(time_)) > 3: + continue + if same_time_nums[time_] > 20: redis = l2_data_manager._redisManager.getRedis() redis.setex("big_data-{}-{}".format(code, int(round(time.time() * 1000))), tool.get_expire(), d1) break -- Gitblit v1.8.0