开始写策略了,建仓逻辑

This commit is contained in:
2025-10-28 18:12:15 +08:00
parent 3443271771
commit c928b79c83
2 changed files with 46 additions and 32 deletions
+23 -15
View File
@@ -3,7 +3,7 @@ import strategy_db
from util import getInstrumentName, getStockPosition
from xtquant import xttrader, xtdata, xtconstant
from xtquant.xttype import StockAccount
from xtquant.xttype import StockAccount, XtOrder
import sfgrid_constants
@@ -21,20 +21,26 @@ class StockTradeController:
self.tradeTarget.enabled = enabled
self.tradeTarget.save()
# 建仓状态检查
if self.tradeTarget.current_position == 0 and self.tradeTarget.status == 0:
self.tradeTarget.grid_index = 1
self.tradeTarget.save()
self.initBuyOrderId = self.xt_trader.order_stock(
self.account,
self.tradeTarget.stock_code,
xtconstant.STOCK_BUY,
sfgrid_constants.grid_volume,
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")
if enabled:
print(f"|- 标的交易启动 {self.tradeTarget.stock_code}-{self.tradeTarget.stock_name}\n")
# 建仓状态检查
if self.tradeTarget.current_position == 0 and self.tradeTarget.status == 0:
print(f"|- 标的{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name} 建初始仓 买单准备中...\n")
self.tradeTarget.grid_index = 1
self.tradeTarget.save()
self.initBuyOrderId = self.xt_trader.order_stock(
self.account,
self.tradeTarget.stock_code,
xtconstant.STOCK_BUY,
sfgrid_constants.grid_volume,
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")
else:
print(f"|- 标的{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name} 已有仓位或非初始状态 无需建初始仓 当前仓位: {self.tradeTarget.current_position} 状态: {self.tradeTarget.status}\n")
def isEnabled(self) -> bool:
return self.tradeTarget.enabled
@@ -42,6 +48,8 @@ class StockTradeController:
if self.isEnabled():
print(f"标的{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name} 行情数据更新 {data[self.tradeTarget.stock_code]}\n")
def onOrderUpdate(self, order:XtOrder):
pass
# Description: 程序启动后
def check_stock_position(self):