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