From 64acc2bcd5e531f02be2da919e97b7af6bc86e4a Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期二, 27 二月 2024 16:52:21 +0800 Subject: [PATCH] zeromq集成测试 --- utils/init_data_util.py | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 39 insertions(+), 8 deletions(-) diff --git a/utils/init_data_util.py b/utils/init_data_util.py index 3cd570e..7a4008b 100644 --- a/utils/init_data_util.py +++ b/utils/init_data_util.py @@ -29,10 +29,39 @@ return datas -# 瑙f瀽鏈�澶ч噺 def parse_max_volume(datas, is_new_or_near_top=False): + result = __parse_max_volume(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): max_volume = 0 max_volume_date = None + max_volume_index = None # 鍒ゆ柇30澶╁唴鏄惁鏈夋定鍋� if is_new_or_near_top: # 30澶╁唴鏄惁鏈夋定鍋� @@ -50,18 +79,20 @@ 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") + 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") + 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 @@ -84,7 +115,7 @@ if volume < next_volume: volume = next_volume date = datas[i - 1]["bob"] - target_volume = (volume, date) + target_volume = (volume, date, i) break # 90涓氦鏄撴棩鏃犳定鍋滐紝鍙栨渶杩�30澶╁唴鐨勬渶楂橀噺浣滀负鍙傝�冮噺 @@ -97,6 +128,6 @@ item = datas[i] volume = item["volume"] if max_30_volume_info[0] < volume: - max_30_volume_info = [volume, item["bob"]] + 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") + return target_volume[0], target_volume[0], target_volume[1].strftime("%Y-%m-%d"), target_volume[2] -- Gitblit v1.8.0