From 81f328532e366eef171b71810b221a9294dda78f Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 21 十二月 2023 14:31:58 +0800
Subject: [PATCH] 买入条件调整/L撤调整

---
 third_data/history_k_data_util.py |   32 ++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/third_data/history_k_data_util.py b/third_data/history_k_data_util.py
index bfc77b7..26208f5 100644
--- a/third_data/history_k_data_util.py
+++ b/third_data/history_k_data_util.py
@@ -11,6 +11,8 @@
 from db.redis_manager_delegate import RedisUtils
 from utils import tool, middle_api_protocol
 from db import redis_manager_delegate as redis_manager
+
+
 # import gm.api as gmapi
 
 
@@ -194,7 +196,8 @@
 
 
 class HistoryKDatasUtils(object):
-    __previous_trading_date_cache={}
+    __previous_trading_date_cache = {}
+    __latest_trading_date_cache = {}
 
     @classmethod
     def get_gp_latest_info(cls, codes, fields=None):
@@ -221,6 +224,26 @@
         if fdata:
             cls.__previous_trading_date_cache[date] = fdata
         return fdata
+
+    # 鑾峰彇鏈�杩戠殑浜ゆ槗鏃�
+    @classmethod
+    def get_latest_trading_date(cls, day_count):
+        now_day = tool.get_now_date_str()
+        days = []
+        for i in range(day_count):
+            pday = cls.get_previous_trading_date_cache(now_day)
+            days.append(pday)
+            now_day = pday
+        return days
+
+    @classmethod
+    def get_latest_trading_date_cache(cls, day_count):
+        key = f"{tool.get_now_date_str()}-{day_count}"
+        if key in cls.__latest_trading_date_cache:
+            return cls.__latest_trading_date_cache[key]
+        days = cls.get_latest_trading_date(day_count)
+        cls.__latest_trading_date_cache[key] = days
+        return days
 
     # 杩斿洖鎸囧畾鏃ユ湡鐨勪笅涓氦鏄撴棩
     @classmethod
@@ -285,4 +308,9 @@
 
 if __name__ == "__main__":
     constant.JUEJIN_LOCAL_API = False
-    print(HistoryKDatasUtils.get_lowest_price_rate("000725", 30))
+    print(tool.get_now_time_str())
+    print(HistoryKDatasUtils.get_latest_trading_date(5))
+    print(tool.get_now_time_str())
+    print(HistoryKDatasUtils.get_latest_trading_date(5))
+    print(tool.get_now_time_str())
+    print(HistoryKDatasUtils.get_latest_trading_date(5))

--
Gitblit v1.8.0