From 94298980779fa00d3bacdfe1582f51c0d0961336 Mon Sep 17 00:00:00 2001 From: "GDP\\solonot" Date: Mon, 3 Nov 2025 15:50:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=90=AF=E5=8A=A8=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/main_controller.py | 17 ++++++++++------- starter.py | 12 ++++++++++-- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/core/main_controller.py b/core/main_controller.py index 8c30a67..27e12d9 100644 --- a/core/main_controller.py +++ b/core/main_controller.py @@ -1,9 +1,6 @@ # coding:utf-8 from xtquant.xttrader import XtQuantTrader - - import time, sys - from peewee import ModelSelect import xtquant.xtconstant as xtconstant @@ -35,11 +32,21 @@ class SFGridController(XtQuantTraderCallback): self.xt_trader.start() connect_result = self.xt_trader.connect() print(f'- [{'成功' if self.xt_trader.connected else '失败'}]市场交易连接{connect_result}--: {miniQmtPath}') + if self.xt_trader.connected == False: + self.inited: bool = False + return + else: + self.inited = True self.account= StockAccount(account_no, 'STOCK') print(f'- [成功]交易账号对象初始化完成, 账号: {self.account.account_id}') # pyright: ignore[reportAttributeAccessIssue] subscribe_result = self.xt_trader.subscribe(self.account) print(f'- [{'成功' if subscribe_result == 0 else '失败'}:{subscribe_result}]交易状态订阅') + if subscribe_result == 0: + self.inited = True + else: + self.inited = False + return self.stock_trade_ctrl = {} self.init_instrument_pool(self.xt_trader, self.account) # type: ignore @@ -303,7 +310,3 @@ class SFGridController(XtQuantTraderCallback): """ print(datetime.datetime.now(), sys._getframe().f_code.co_name) - -sfgrid_constants.initConfig() -print(f'{sfgrid_constants.account_no} : {sfgrid_constants.miniQMTPath}') -ctrl = SFGridController(sfgrid_constants.account_no, sfgrid_constants.miniQMTPath) \ No newline at end of file diff --git a/starter.py b/starter.py index f88b384..e4b2399 100644 --- a/starter.py +++ b/starter.py @@ -1,7 +1,8 @@ # coding:utf-8 +from mimetypes import init import sys sys.stdout.reconfigure(encoding='utf-8') # 设置标准输出编码为UTF-8 # type: ignore -from core.main_controller import ctrl +from core.main_controller import SFGridController import core.util as util import sfgrid_constants as sdConstants from xtquant import xtdata @@ -63,4 +64,11 @@ def help(): if __name__ == '__main__': # app = ui.ProfessionalTradeUI(trade_targets=ctrl.instrument_pool) # app.run() - interact() + + sdConstants.initConfig() + print(f'{sdConstants.account_no} : {sdConstants.miniQMTPath}') + ctrl: SFGridController = SFGridController(sdConstants.account_no, sdConstants.miniQMTPath) + if ctrl.inited: + interact() + else: + print("控制器初始化失败")