From ddd49deef7ac6daff95086f112a0061a641c4fe3 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 13 六月 2024 15:36:00 +0800 Subject: [PATCH] 添加订阅日志 --- utils/init_data_util.py | 35 ++++++++++++++++++++++++++++++++--- 1 files changed, 32 insertions(+), 3 deletions(-) diff --git a/utils/init_data_util.py b/utils/init_data_util.py index a353a2f..d1d61c6 100644 --- a/utils/init_data_util.py +++ b/utils/init_data_util.py @@ -29,8 +29,37 @@ return datas +def parse_max_volume(code, datas, is_new_or_near_top=False): + result = __parse_max_volume(code, datas, is_new_or_near_top) + refer_index = result[3] + # 璁$畻鏈�浣庝环 + refer_price = datas[refer_index]["high"] + min_price = float(refer_price) + for i in range(0, refer_index + 1): + if min_price > datas[i]["low"]: + min_price = datas[i]["low"] + if (refer_price - min_price) / refer_price < 0.4: + return result + # 瓒呰穼 + new_datas = [] + for i in range(0, refer_index): + # 鑾峰彇娑ㄥ箙 + item = datas[i] + rate = (item["low"] - item["pre_close"]) / item["pre_close"] + new_datas.append((i, rate)) + new_datas.sort(key=lambda x: x[1]) + refer_index = new_datas[0][0] + # 鑾峰彇褰撳墠澶╁拰鍚庝竴澶╄緝澶ч噺 + if refer_index > 0: + if datas[refer_index - 1]["volume"] > datas[refer_index]["volume"]: + refer_index -= 1 + + return datas[refer_index]["volume"], datas[refer_index]["volume"], datas[refer_index]['bob'].strftime( + "%Y-%m-%d"), refer_index + + # 杩斿洖锛�(60澶╂渶澶ч噺,鏄ㄦ棩閲�,閲忓弬鑰冩棩鏈�,鍙傝�冮噺鎹粖浜ゆ槗鏃ユ暟) -def parse_max_volume(datas, is_new_or_near_top=False): +def __parse_max_volume(code, datas, is_new_or_near_top=False): max_volume = 0 max_volume_date = None max_volume_index = None @@ -42,7 +71,7 @@ if i >= len(datas): break item = datas[i] - limit_up_price = float(gpcode_manager.get_limit_up_price_by_preprice(item["pre_close"])) + limit_up_price = float(gpcode_manager.get_limit_up_price_by_preprice(code, item["pre_close"])) if abs(limit_up_price - item["high"]) < 0.001: latest_limit_up_index = i break @@ -76,7 +105,7 @@ max_volume = volume max_volume_date = item['bob'] # 鏄惁鏈夋定鍋� - limit_up_price = float(gpcode_manager.get_limit_up_price_by_preprice(item["pre_close"])) + limit_up_price = float(gpcode_manager.get_limit_up_price_by_preprice(code, item["pre_close"])) # 涓嶇湅瓒呰繃60澶╃殑娑ㄥ仠 if abs(limit_up_price - item["high"]) < 0.01 and i <= 59: # 娑ㄥ仠 -- Gitblit v1.8.0