From aa5800658e452c0aa8c9a822395acb989e848f9f Mon Sep 17 00:00:00 2001
From: admin <admin@example.com>
Date: 星期四, 31 七月 2025 13:14:24 +0800
Subject: [PATCH] 修正 昨日K线涨停 误差 的函数修改BUG

---
 strategy/basic_methods.py |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/strategy/basic_methods.py b/strategy/basic_methods.py
index 3cdf59e..6f1e685 100644
--- a/strategy/basic_methods.py
+++ b/strategy/basic_methods.py
@@ -97,20 +97,22 @@
 
 
 # 璁$畻褰撴棩娑ㄥ仠浠峰嚱鏁�   褰㈠弬pre_close  瀹炲弬搴斾紶鍏� pre_close  銆恟eturn鐨勭粨鏋滈渶瑕佸皬鏁扮偣鍚庝袱浣�,鍦ㄧ涓変綅杩涜鍥涜垗浜斿叆銆�
-def limit_up_price(pre_close):
+def limit_up_price(pre_close, fixed=2):
     limit_up_price_data = decimal.Decimal(str(pre_close)) * decimal.Decimal("1.1")
-    limit_up_price_value = limit_up_price_data.quantize(decimal.Decimal("0.00"), decimal.ROUND_HALF_UP)
+    limit_up_price_value = limit_up_price_data.quantize(decimal.Decimal("0." + '0' * fixed), decimal.ROUND_HALF_UP)
     return float(limit_up_price_value)
+
 # 娴嬭瘯璁$畻鐢�
 # limit_up = limit_up_price(15)
 # print(f"limit_up=={limit_up}")
 
 
 # 璁$畻褰撴棩璺屽仠浠峰嚱鏁�   褰㈠弬pre_close  瀹炲弬搴斾紶鍏� pre_close  銆恟eturn鐨勭粨鏋滈渶瑕佸皬鏁扮偣鍚庝袱浣峳ound鍙栨暣銆�
-def limit_down_price(pre_close):
+def limit_down_price(pre_close, fixed=2):
     limit_down_price_data = decimal.Decimal(str(pre_close)) * decimal.Decimal("0.9")
-    limit_down_price_value = limit_down_price_data.quantize(decimal.Decimal("0.00"), decimal.ROUND_HALF_UP)
+    limit_down_price_value = limit_down_price_data.quantize(decimal.Decimal("0." + '0' * fixed), decimal.ROUND_HALF_UP)
     return float(limit_down_price_value)
+
 # 娴嬭瘯璁$畻鐢�
 # limit_down = limit_down_price(20)
 # print(f"limit_up=={limit_down}")
@@ -210,10 +212,11 @@
 
 # 鍏呭垎浜ゆ槗閲忓叕寮� 鐢ㄤ簬璁$畻鏃ュ唴娑ㄥ箙娈电悊璁虹殑瀹夊叏浜ゆ槗閲忓��
 def sufficient_volume(current_volume, yesterday_volume, today_growth):
-    if current_volume < yesterday_volume * today_growth:
-        return False
-    else:
-        return True
+    if today_growth > 0 and round(current_volume / yesterday_volume, 2) >= 0.01:
+        if current_volume > yesterday_volume * (today_growth/10) * 0.3:
+            return True
+        else:
+            return False
 
 
 # 璁$畻 濮斾拱鍜屽鍗栫殑姣斾緥鍑芥暟(鑾峰彇涔扮洏寮哄害鏁版嵁)銆愭帢閲戞暟鎹粨鏋勩��
@@ -258,3 +261,9 @@
     else:
         buying_ratio = 0.01
     return buying_ratio
+
+
+# 缁熻鏈夋剰涔拌偂绁ㄥ嚭鐜版鏁板嚱鏁�
+def count_willing_buy_times(sec_name):
+    willing_buy_times = data_cache.willing_buy_list.count(sec_name)
+    return willing_buy_times
\ No newline at end of file

--
Gitblit v1.8.0