From 6ebf3a8a4a1b48547633de879a26014b77feec46 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 28 十二月 2023 16:25:40 +0800
Subject: [PATCH] 输出api修改/市场行情设置

---
 l2/l2_data_manager_new.py |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py
index 7647c69..11e54b1 100644
--- a/l2/l2_data_manager_new.py
+++ b/l2/l2_data_manager_new.py
@@ -14,7 +14,7 @@
 from log_module import async_log_util, log_export
 from third_data import kpl_data_manager, block_info, history_k_data_util
 from third_data.history_k_data_util import HistoryKDatasUtils
-from utils import global_util, ths_industry_util, tool
+from utils import global_util, ths_industry_util, tool, buy_condition_util
 import l2_data_util
 from db import redis_manager_delegate as redis_manager
 from third_data.code_plate_key_manager import CodePlateKeyBuyManager, KPLCodeJXBlockManager, LimitUpCodesPlateKeyManager
@@ -32,7 +32,7 @@
 
 from trade.trade_data_manager import CodeActualPriceProcessor, PlaceOrderCountManager
 
-from trade.trade_manager import TradeTargetCodeModeManager, AccountAvailableMoneyManager
+from trade.trade_manager import TradeTargetCodeModeManager, AccountAvailableMoneyManager, MarketSituationManager
 
 
 class L2DataManager:
@@ -240,6 +240,7 @@
     __L2LimitUpSellManager = L2LimitUpSellManager()
     __PlaceOrderCountManager = PlaceOrderCountManager()
     __CodeNatureRecordManager = code_nature_analyse.CodeNatureRecordManager()
+    __MarketSituationManager=MarketSituationManager()
 
     # 鑾峰彇浠g爜璇勫垎
     @classmethod
@@ -1013,14 +1014,16 @@
             if day in HistoryKDatasUtils.get_latest_trading_date_cache(5):
                 if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.6:
                     return False, True, f"鍙傝�冮噺鍦ㄦ渶杩�5澶�,閲忔湭杈惧埌60%({cls.volume_rate_info[code][0]})"
-
+        # 鑾峰彇甯傚満琛屾儏
+        situation = cls.__MarketSituationManager.get_situation_cache()
+        zylt_threshold = buy_condition_util.get_zyltgb_threshold(situation)
         zyltgb = global_util.zyltgb_map.get(code)
         if k_format and k_format[8][0]:
             # 鍏锋湁杈ㄨ瘑搴�
-            zyltgb = 15 * 100000000
+            zyltgb = zylt_threshold[1] + 1
 
-        if zyltgb >= 40 * 100000000:
-            return False, True, f"40浜夸互涓婄殑閮戒笉涔帮紙{zyltgb}锛�"
+        if zyltgb >= zylt_threshold[0]:
+            return False, True, f"{zylt_threshold[0]//100000000}浜夸互涓婄殑閮戒笉涔帮紙{zyltgb}锛�"
 
         if HighIncreaseCodeManager().is_in(code):
             if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.8:
@@ -1032,7 +1035,7 @@
             # 鐙嫍
             if not can_buy_result[0] and can_buy_result[1]:
                 msg_list.append("鐙嫍")
-                if zyltgb < 10 * 100000000 or zyltgb > 20 * 100000000:
+                if zyltgb < zylt_threshold[1] or zyltgb > zylt_threshold[2]:
                     return False, True, f"寮哄娍10鍒嗛挓锛岀嫭鑻楋紙{can_buy_result[4]}锛変笉涓嬪崟锛坽can_buy_result[4]}锛夎嚜鐢辨祦閫氬競鍊硷紙{zyltgb}锛変笉婊¤冻鏉′欢"
                 if k_format and (k_format[1][0] or k_format[3][0]):
                     msg_list.append("鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮")
@@ -1044,7 +1047,7 @@
                         return False, True, f"寮哄娍10鍒嗛挓锛岀嫭鑻楋紙{can_buy_result[4]}锛�,褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬0.3"
             else:
                 msg_list.append("闈炵嫭鑻�")
-                if zyltgb < 10 * 100000000 or zyltgb > 20 * 100000000:
+                if zyltgb < zylt_threshold[1] or zyltgb > zylt_threshold[2]:
                     msg_list.append("涓嶆弧瓒宠嚜鐢辨祦閫�")
                     if k_format and (k_format[1][0] or k_format[3][0]):
                         # 鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮
@@ -1064,7 +1067,7 @@
                 return False, True, f"闈炲己鍔�10鍒嗛挓锛岀嫭鑻楋紙{can_buy_result[4]}锛変笉涓嬪崟"
             if can_buy_result[3]:
                 # 寮哄娍涓荤嚎
-                if zyltgb < 10 * 100000000 or zyltgb > 20 * 100000000:
+                if zyltgb < zylt_threshold[1] or zyltgb > zylt_threshold[2]:
                     if k_format and (k_format[1][0] or k_format[3][0]):
                         # 鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮
                         if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.6:
@@ -1078,7 +1081,7 @@
                             return False, True, f"闈炲己鍔�10鍒嗛挓锛屽己鍔夸富绾垮悗鎺�,婊¤冻鑷敱甯傚�硷紝鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮, 褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬0.3"
             else:
                 # 闈炲己鍔夸富绾�
-                if zyltgb < 10 * 100000000 or zyltgb > 20 * 100000000:
+                if zyltgb < zylt_threshold[1] or zyltgb > zylt_threshold[2]:
                     if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.6:
                         return False, True, f"闈炲己鍔�10鍒嗛挓锛岄潪寮哄娍涓荤嚎鍚庢帓锛屼笉婊¤冻鑷敱甯傚��, 褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬0.6"
                 else:

--
Gitblit v1.8.0