From 055a6e8fc94c2bb7b124059f1b58a327e5330690 Mon Sep 17 00:00:00 2001
From: admin <admin@example.com>
Date: 星期三, 23 七月 2025 14:31:04 +0800
Subject: [PATCH] 1.修复开仓数量 变量类型为str BUG 2.历史强度数据对象 初步构建

---
 strategy/basic_methods.py |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/strategy/basic_methods.py b/strategy/basic_methods.py
index 8dd866f..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,8 +212,8 @@
 
 # 鍏呭垎浜ゆ槗閲忓叕寮� 鐢ㄤ簬璁$畻鏃ュ唴娑ㄥ箙娈电悊璁虹殑瀹夊叏浜ゆ槗閲忓��
 def sufficient_volume(current_volume, yesterday_volume, today_growth):
-    if today_growth > 0:
-        if current_volume > yesterday_volume * 0.8 * today_growth:
+    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
@@ -259,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