From b855b811e3753ffcb35f145c985bb32f4b550038 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 31 十月 2024 18:11:40 +0800 Subject: [PATCH] 排1之前的数据准备 --- servers/huaxin_trade_server.py | 49 +++++++++++++++++++++++++++++++++++++------------ 1 files changed, 37 insertions(+), 12 deletions(-) diff --git a/servers/huaxin_trade_server.py b/servers/huaxin_trade_server.py index 74a1671..a9a82fa 100644 --- a/servers/huaxin_trade_server.py +++ b/servers/huaxin_trade_server.py @@ -55,7 +55,7 @@ from trade.sell.sell_rule_manager import TradeRuleManager from trade.trade_data_manager import RadicalBuyDealCodesManager from trade.trade_manager import CodesTradeStateManager -from utils import socket_util, middle_api_protocol, tool, huaxin_util, global_util, trade_util +from utils import socket_util, middle_api_protocol, tool, huaxin_util, global_util, trade_util, init_data_util trade_data_request_queue = queue.Queue() @@ -354,6 +354,21 @@ L1DataManager.set_l1_current_price(code, price) huaxin_l1_data_manager.set_buy1_data(code, d[5], d[6]) + @classmethod + def __process_buy_open_limit_up_datas(cls, datas): + """ + 澶勭悊鎺�1鐨勬暟鎹� + @param datas: [(浠g爜, 鐜颁环, 娑ㄥ箙, 閲�, 褰撳墠鏃堕棿, 涔�1浠�, 涔�1閲�, 涔�2浠�, 涔�2閲�, 鏇存柊鏃堕棿)] + @return: + """ + # 9:25涔嬪悗涓嶅啀澶勭悊 + if tool.get_now_time_as_int() > int("092500"): + return + for d in datas: + if gpcode_manager.BuyOpenLimitUpCodeManager().is_in_cache(d[0]): + #09:19:50 鍒� 09:20:00鍒ゆ柇鏄惁瑕佹挙鍗� + if int("09:19:50") <=tool.get_now_time_as_int()<int("09:20:00"): + async_log_util.info(logger_debug, f"鎺�1鎾ゅ崟锛歿d}") # 鑾峰彇L1鐜颁环 @classmethod def get_l1_current_price(cls, code): @@ -366,6 +381,7 @@ request_id = data_json["request_id"] datas = data["data"] cls.__save_l1_current_price(datas) + cls.__process_buy_open_limit_up_datas(datas) # 9:30涔嬪墠閲囩敤闈炵嚎绋� if int(tool.get_now_time_str().replace(":", "")) < int("093000"): HuaXinL1TargetCodesManager.set_level_1_codes_datas(datas, request_id=request_id) @@ -896,17 +912,26 @@ # 棰勫煁鍗� def __test_pre_place_order(): logger_debug.info("杩涘叆棰勫煁鍗曟祴璇�") - price = round(21.98*1.1, 2) - code = "002253" - shadow_price = tool.get_shadow_price(price) - if not constant.TRADE_ENABLE: - return - try: - result = huaxin_trade_api.order(1, code, 100, price, blocking=True, - shadow_price=shadow_price) - async_log_util.info(logger_trade, f"{code}涓嬪崟缁撴潫锛歿result}") - except Exception as e: - pass + codes = gpcode_manager.BuyOpenLimitUpCodeManager().get_codes() + if codes: + for code in codes: + # 鑾峰彇鏄ㄦ棩鏀剁洏浠锋牸 + limit_up_price = gpcode_manager.get_limit_up_price_as_num(code) + if not limit_up_price: + init_data_util.re_set_price_pre(code) + limit_up_price = gpcode_manager.get_limit_up_price_as_num(code) + if not limit_up_price: + logger_debug.info(f"娌℃湁鑾峰彇鍒版定鍋滀环:{code}") + continue + shadow_price = tool.get_shadow_price(limit_up_price) + if not constant.TRADE_ENABLE: + return + try: + result = huaxin_trade_api.order(1, code, 100, limit_up_price, blocking=True, + shadow_price=shadow_price) + async_log_util.info(logger_trade, f"{code}涓嬪崟缁撴潫锛歿result}") + except Exception as e: + pass # 鍋氫竴浜涘垵濮嬪寲鐨勬搷浣� -- Gitblit v1.8.0