from peewee import SqliteDatabase, Model, CharField, IntegerField, FloatField, BooleanField from xtquant import xtconstant # 连接到SQLite数据库 db = SqliteDatabase('example.db') # 定义基础模型类 class BaseModel(Model): class Meta: database = db OrderTypeBuy = f'{xtconstant.STOCK_BUY}' # 买 OrderTypeSell = f'{xtconstant.STOCK_SELL}' # 卖 OrderTypeInit = "0" # 建仓 OrderTypeNone = "None" # 定义Target类,对应targets表 class TradeTarget(BaseModel): stock_code = CharField(unique=True) stock_name = CharField() market_price = FloatField() current_position = IntegerField() grid_index = IntegerField() last_trade_price = FloatField() plan_buy_price = FloatField() plan_sell_price = FloatField() current_order_price = FloatField() current_order_no = CharField(default='') current_order_type = CharField(default='') status = IntegerField(default=0) # 0表示新标的,1表示已建初始仓,正常交易中 enabled = BooleanField(default=False) # 是否启动交易线程 def targetName(self): return f'{self.stock_name}[{self.stock_code}]'