From 466cd5b36cd4a3bb46e8449f640c51d06b99a90d Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期二, 11 六月 2024 17:25:04 +0800
Subject: [PATCH] API输出正股详细的信息

---
 main.py |   29 ++++++++++++++++++++++++-----
 1 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/main.py b/main.py
index abbc0dd..47c3551 100644
--- a/main.py
+++ b/main.py
@@ -12,11 +12,12 @@
 from huaxin_client.client_network import SendResponseSkManager
 from log_module import async_log_util, log_export
 from records import huaxin_trade_record_manager
-from third_data.kpl_data_manager import PullTask
+from third_data import kpl_data_manager, kpl_util
+from third_data.kpl_data_manager import PullTask, KPLCodeJXBlockManager, KPLLimitUpDataRecordManager
 from trade import huaxin_trade_api, huaxin_trade_data_update, huaxin_sell_util, backtest_trade
 from trade.buy_strategy import BuyStrategyDataManager
 from utils import middle_api_protocol, outside_api_command_manager, constant, tool, huaxin_util, socket_util, sell_util, \
-    output_util, l2_huaxin_util
+    output_util, l2_huaxin_util, output_data_util
 
 middle_api_protocol.SERVER_PORT = 10008
 middle_api_protocol.SERVER_HOST = "43.138.167.68"
@@ -191,6 +192,10 @@
                                                  "buy1Money": output_util.money_desc(
                                                      underlying_market.buy1_price * underlying_market.buy1_volume),
                                                  "preClosePrice": underlying_market.pre_close_price}
+
+                    r["underlyingDetailInfo"] = output_data_util.load_code_detail_info(underlying_market.code)
+                    r["underlyingDetailInfo"]["price"] = underlying_market.price
+
                 # 鑾峰彇涔扮偣涓庡崠鐐�
                 if "buy_list" not in r:
                     buys = huaxin_trade_record_manager.DealRecordManager().list_buy_by_code_cache(cb_code)
@@ -273,7 +278,7 @@
                 market_info = code_market_manager.get_market_info(cb_code)
                 limit_up_price = target_codes_manager.get_limit_up_price(cb_code)
                 if market_info:
-                    buy_price = round( min( float(market_info.price*1.02) ,float(limit_up_price)),3)
+                    buy_price = round(min(float(market_info.price * 1.02), float(limit_up_price)), 3)
                     async_log_util.info(logger_trade, f"鍑嗗涓嬪崟锛歿cb_code}-{buy_price}")
                     # 涔板叆20鑲�
                     result = huaxin_trade_api.order(1, cb_code, 20, buy_price, blocking=True)
@@ -294,8 +299,16 @@
         try:
             result = queue_market.get()
             if result:
-                # 浠g爜, 鏈�杩戠殑浠锋牸, 娑ㄥ箙, 涔�1浠凤紝 涔�1閲�, 鎴愪氦鎬婚噺
+                # (浠g爜, 鏈�杩戠殑浠锋牸, 娑ㄥ箙, 涔�1浠凤紝 涔�1閲�, 鎴愪氦鎬婚噺, 涔板叆閲�, 鍗栧嚭閲�, 鏄ㄦ棩鏀剁洏浠�, 鏃堕棿鎴�)
                 code_market_manager.set_market_info(result)
+                code = result[0]
+                # 姝h偂闇�瑕佸姞杞芥澘鍧�
+                if code.find("11")!=0 and  code.find("12")!=0:
+                    limit_up_price = tool.get_limit_up_price(code, result[8])
+
+                    KPLCodeJXBlockManager().load_jx_blocks(result[0], result[3],
+                                                           float(limit_up_price),
+                                                           KPLLimitUpDataRecordManager.get_current_reasons())
         except Exception as e:
             logger_debug.exception(e)
             time.sleep(1)
@@ -316,6 +329,12 @@
         logger_debug.exception(e)
 
 
+def __kpl_limit_up_callback(results):
+    if results:
+        result_list = kpl_util.parseLimitUpData(results)
+        kpl_data_manager.KPLLimitUpDataRecordManager.save_record(tool.get_now_date_str(), result_list)
+
+
 if __name__ == '__main__':
     # ===========鍒濆鍖栨暟鎹�==========
     try:
@@ -331,7 +350,7 @@
     huaxin_trade_data_update.run()
 
     # 瀹氭椂鎷夊彇寮�鐩樺暒娑ㄥ仠鏁版嵁
-    PullTask.run_limit_up_task()
+    PullTask.run_limit_up_task(__kpl_limit_up_callback)
 
     # 浠跨湡浜ゆ槗涓嶈繍琛屼氦鏄撳鎴风
     # # ===========杩愯浜ゆ槗澶栭儴API==========

--
Gitblit v1.8.0