From 21c96ed504f93f16ce6f8a3ccf164a87c9edd9c0 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期二, 30 一月 2024 15:45:23 +0800 Subject: [PATCH] 增加调试日志 --- utils/init_data_util.py | 78 +++++++++++++++++++++++---------------- 1 files changed, 46 insertions(+), 32 deletions(-) diff --git a/utils/init_data_util.py b/utils/init_data_util.py index ecd6e18..a353a2f 100644 --- a/utils/init_data_util.py +++ b/utils/init_data_util.py @@ -29,20 +29,43 @@ return datas -# 瑙f瀽鏈�澶ч噺 -def parse_max_volume(datas, is_new_top=False): +# 杩斿洖锛�(60澶╂渶澶ч噺,鏄ㄦ棩閲�,閲忓弬鑰冩棩鏈�,鍙傝�冮噺鎹粖浜ゆ槗鏃ユ暟) +def parse_max_volume(datas, is_new_or_near_top=False): max_volume = 0 - max_volume_date = None - if is_new_top: + max_volume_index = None + # 鍒ゆ柇30澶╁唴鏄惁鏈夋定鍋� + if is_new_or_near_top: + # 30澶╁唴鏄惁鏈夋定鍋� + latest_limit_up_index = None + for i in range(30): + if i >= len(datas): + break + item = datas[i] + limit_up_price = float(gpcode_manager.get_limit_up_price_by_preprice(item["pre_close"])) + if abs(limit_up_price - item["high"]) < 0.001: + latest_limit_up_index = i + break + if latest_limit_up_index is not None: + # 绐佺牬鍓嶉珮鎴栬�呮帴杩戝墠楂橈紝30涓氦鏄撴棩鍐呮湁娑ㄥ仠 + if latest_limit_up_index > 0 and datas[latest_limit_up_index - 1]["volume"] > datas[latest_limit_up_index][ + "volume"]: + return datas[latest_limit_up_index - 1]["volume"], datas[latest_limit_up_index - 1]["volume"], \ + datas[latest_limit_up_index - 1]['bob'].strftime("%Y-%m-%d"), latest_limit_up_index - 1 + else: + return datas[latest_limit_up_index]["volume"], datas[latest_limit_up_index]["volume"], \ + datas[latest_limit_up_index]['bob'].strftime("%Y-%m-%d"), latest_limit_up_index + + if is_new_or_near_top: # 濡傛灉鏄獊鐮村墠楂樺氨鍙栨渶澶ч噺 - for item in datas: + for i in range(len(datas)): + item = datas[i] if max_volume < item["volume"]: max_volume = item["volume"] max_volume_date = item["bob"] - return max_volume, max_volume, max_volume_date.strftime("%Y-%m-%d") + max_volume_index = i + return max_volume, max_volume, max_volume_date.strftime("%Y-%m-%d"), max_volume_index else: - date = None target_volume = None for i in range(len(datas)): @@ -54,7 +77,8 @@ max_volume_date = item['bob'] # 鏄惁鏈夋定鍋� limit_up_price = float(gpcode_manager.get_limit_up_price_by_preprice(item["pre_close"])) - if abs(limit_up_price - item["high"]) < 0.01: + # 涓嶇湅瓒呰繃60澶╃殑娑ㄥ仠 + if abs(limit_up_price - item["high"]) < 0.01 and i <= 59: # 娑ㄥ仠 next_volume = 0 if i > 0: @@ -63,29 +87,19 @@ if volume < next_volume: volume = next_volume date = datas[i - 1]["bob"] - target_volume = (volume, date) + target_volume = (volume, date, i) break + + # 90涓氦鏄撴棩鏃犳定鍋滐紝鍙栨渶杩�30澶╁唴鐨勬渶楂橀噺浣滀负鍙傝�冮噺 if not target_volume: - target_volume = (max_volume, max_volume_date) - - # --鍒ゆ柇杩�60澶╂棤娑ㄥ仠鐨勬渶澶ч噺 - max_60_volume_info = [0, None] - # 60澶╁唴鏄惁鏈夋定鍋� - has_60_limit_up = False - for i in range(60): - if i >= len(datas): - break - item = datas[i] - volume = item["volume"] - if max_60_volume_info[0] < volume: - max_60_volume_info = [volume, item["bob"]] - limit_up_price = float(gpcode_manager.get_limit_up_price_by_preprice(item["pre_close"])) - if abs(limit_up_price - item["high"]) < 0.01: - has_60_limit_up = True - break - - if not has_60_limit_up and target_volume[0] > max_60_volume_info[0] * 3: - # 60澶╁唴鏃犳定鍋�,涓�60澶╁唴鏈�澶ч噺灏忎簬鏈�澶ч噺鐨�1/3,鍒ゆ柇涓哄湴閲�,杩斿洖杩�60涓氦鏄撴棩鐨勬渶澶ч噺 - return max_60_volume_info[0], max_60_volume_info[0], max_60_volume_info[1].strftime("%Y-%m-%d") - else: - return target_volume[0], target_volume[0], target_volume[1].strftime("%Y-%m-%d") + # --鍒ゆ柇杩�30澶╂棤娑ㄥ仠鐨勬渶澶ч噺 + max_30_volume_info = [0, None] + for i in range(30): + if i >= len(datas): + break + item = datas[i] + volume = item["volume"] + if max_30_volume_info[0] < volume: + max_30_volume_info = [volume, item["bob"], i] + target_volume = max_30_volume_info + return target_volume[0], target_volume[0], target_volume[1].strftime("%Y-%m-%d"), target_volume[2] -- Gitblit v1.8.0