From be73e2b78857adaf006063275726b69c4c60f0d7 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期三, 12 十月 2022 11:54:25 +0800
Subject: [PATCH] 买撤策略修改;加入报警功能

---
 l2_trade_factor.py |   35 +++++++++++++++++++++++++++++------
 1 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/l2_trade_factor.py b/l2_trade_factor.py
index 039fc7e..aa783ba 100644
--- a/l2_trade_factor.py
+++ b/l2_trade_factor.py
@@ -3,9 +3,10 @@
 """
 
 # l2浜ゆ槗鍥犲瓙
-
-
+import big_money_num_manager
 import global_util
+import limit_up_time_manager
+import log
 
 
 class L2TradeFactorUtil:
@@ -91,6 +92,8 @@
     # 绾竾鎵嬪摜褰卞搷鍊硷紙鎵嬫暟銆�=9000 OR 閲戦銆�=500w锛�
     @classmethod
     def get_big_money_rate(cls, num):
+        if num < 0:
+            num = 0
         if num >= 10:
             return 0.5
         else:
@@ -129,11 +132,28 @@
     @classmethod
     def compute_rate_by_code(cls, code):
         zyltgb = global_util.zyltgb_map.get(code)
-        total_industry_limit_percent = global_util.industry_hot_num.get(code)
+        # 鑾峰彇琛屼笟鐑害
+        industry = global_util.code_industry_map.get(code)
+        if industry is None:
+            global_util.load_industry()
+            industry = global_util.code_industry_map.get(code)
+
+        total_industry_limit_percent = global_util.industry_hot_num.get(industry) if industry is not None else None
+        # 鑾峰彇閲�
         volumn_day60_max, volumn_yest, volumn_today = global_util.max60_volumn.get(
             code), global_util.yesterday_volumn.get(code), global_util.today_volumn.get(code)
+        if volumn_day60_max is None or volumn_yest is None:
+            global_util.load_volumn()
+            volumn_day60_max, volumn_yest, volumn_today = global_util.max60_volumn.get(
+                code), global_util.yesterday_volumn.get(code), global_util.today_volumn.get(code)
+        # 棣栨娑ㄥ仠鏃堕棿
         limit_up_time = global_util.limit_up_time.get(code)
+        if limit_up_time is None:
+            limit_up_time = limit_up_time_manager.get_limit_up_time(code)
+
         big_money_num = global_util.big_money_num.get(code)
+        if big_money_num is None:
+            big_money_num = big_money_num_manager.get_num(code)
         return cls.compute_rate(zyltgb, total_industry_limit_percent, volumn_day60_max, volumn_yest, volumn_today,
                                 limit_up_time, big_money_num)
 
@@ -146,6 +166,8 @@
             if zyltgb is None:
                 print("娌℃湁鑾峰彇鍒拌嚜鐢辨祦閫氬競鍊�")
                 return 10000000
+        if code == '002476':
+            print("")
         zyltgb = cls.get_base_safe_val(zyltgb)
         rate = cls.compute_rate_by_code(code)
         # print("m鍊艰幏鍙栵細", code, round(zyltgb * rate))
@@ -169,6 +191,7 @@
 
 
 if __name__ == "__main__":
-    print(L2TradeFactorUtil.get_big_money_rate(1))
-    print(L2TradeFactorUtil.get_big_money_rate(2))
-    print(L2TradeFactorUtil.get_big_money_rate(3))
+    L2TradeFactorUtil.compute_m_value("000036")
+    # print(L2TradeFactorUtil.get_big_money_rate(1))
+    # print(L2TradeFactorUtil.get_big_money_rate(2))
+    # print(L2TradeFactorUtil.get_big_money_rate(3))

--
Gitblit v1.8.0