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