From 3443271771a9e758bc043142f13e26ed4aa61e4b Mon Sep 17 00:00:00 2001 From: "GDP\\solonot" Date: Tue, 28 Oct 2025 17:52:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=87=E4=BB=A4=E4=BC=98=E5=8C=96=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86=E6=8E=A7=E5=88=B6=E5=8F=B0?= =?UTF-8?q?=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example.db | Bin 12288 -> 12288 bytes main_controller.py | 2 +- sfgrid_trade_controller.py | 3 ++- starter.py | 8 ++++++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/example.db b/example.db index 66cbb628ceef1608a9d912e442edb6c7d1e12c6d..1d7a6acd68c2a69ed725402468b072632cde61fd 100644 GIT binary patch delta 29 jcmZojXh@hK%_ulg#+gxYV?wJu8z%=4aBhArFDd{4dH)Ab delta 29 hcmZojXh@hK&B!@X#+i|GV?wJu8wVI{el0I5004Nl2R#4) diff --git a/main_controller.py b/main_controller.py index a67e798..1900022 100644 --- a/main_controller.py +++ b/main_controller.py @@ -219,7 +219,7 @@ class SFGridController(XtQuantTraderCallback): """ # print("on order_error callback") # print(order_error.order_id, order_error.error_id, order_error.error_msg) - print(f"委托报错回调 {order_error.order_remark} {order_error.error_msg}") + print(f"\n委托报错回调 {order_error.order_remark} {order_error.error_msg}") def on_cancel_error(self, cancel_error): """ diff --git a/sfgrid_trade_controller.py b/sfgrid_trade_controller.py index 95a5d2e..07d0005 100644 --- a/sfgrid_trade_controller.py +++ b/sfgrid_trade_controller.py @@ -16,7 +16,7 @@ class StockTradeController: self.currentPosition = getStockPosition(self.tradeTarget.stock_code, self.xt_trader, self.account) self.tradeRecords = strategy_db.TradeRecord.select().where(strategy_db.TradeRecord.stock_code == self.tradeTarget.stock_code).order_by(strategy_db.TradeRecord.trade_time.desc()) - + def enabledTrading(self, enabled: bool): self.tradeTarget.enabled = enabled self.tradeTarget.save() @@ -33,6 +33,7 @@ class StockTradeController: xtconstant.FIX_PRICE, sfgrid_constants.grid_price[self.tradeTarget.grid_index], 'sf_grid', f'{self.tradeTarget.stock_code}_init_buy') + print(f"|- 标的{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name} 建初始仓 买单已发出 InitBuyOrderId: {self.initBuyOrderId} Price: {sfgrid_constants.grid_price[self.tradeTarget.grid_index]} Volume: {sfgrid_constants.grid_volume}\n") def isEnabled(self) -> bool: return self.tradeTarget.enabled diff --git a/starter.py b/starter.py index a315a05..690f400 100644 --- a/starter.py +++ b/starter.py @@ -18,7 +18,7 @@ def startMarketData(): def stopMarketData(): ctrl.stopMarketData() -def targetPool(): +def targets(): ctrl.print_pool() def addTradeTarget(stock_code): @@ -36,6 +36,9 @@ def startTrade(index:int): def pauseTrade(index:int): ctrl.pause_stock_trade(index) +def stockTradeCtrl(index: int): + return ctrl.stock_trade_ctrl[ctrl.instrument_pool[index].stock_code] + def help(): print("可用命令:") print(" ===================================================") @@ -44,9 +47,10 @@ def help(): print(" addTradeTarget(stock_code) - 添加交易标的") print(" accountInfo() - 打印账户信息") print(" positionInfo() - 打印持仓信息") - print(" targetPool() - 打印标的池信息") + print(" targets() - 打印标的池信息") print(" startTrade(index) - 启动标的交易线程") print(" pauseTrade(index) - 暂停标的交易线程") + print(" stockTradeCtrl(index) - 获取标的交易控制器") print(" ===================================================") print(" ctrl - 访问控制器实例")