策略常用对象
self.datas
这是策略的行情数据集合,策略里经常访问的是第一个行情数
据对象self.datas[0]。
如果有多个行情对象被注入策略了,则用self.datas[n] 访问
如果要访问行情对象中的某一线,如:收盘线,则用 self.data[0].close
如果访问具体的某一点数据,如:当天收盘价,则用self.data[0].close[0]
self.position 与 self.getposition
self.position仓位,通过此属性可以访问第一个行情数据self.data[0]所对应资产的仓位信息,如:仓位数(self.position.size)、仓位平均价格(self.position.price)
如果要访问self.datas[1]的仓位信息,可调用 self.getposition(self.datas[1]) 获取。如
position = self.getposition(self.datas[1])
p_size = position.size
p_price = position.price
self.broker
通过此对象可访问broker的许多重要信息。如:
self.broker.getcash() 获得账户现金
self.broker.getvalue() 获得账户市值
self.broker.getposition(self.datas[0]) 同上访问仓位信息
order
在notify_order(self, order)事件中,通过参数order访问order信息,最常访问的信息是 订单状态(order.status),订单状态是数字,要想取得状态名字,可以用 order.getstatusname(order.status) 获取状态名称。
另外**order.isbuy()和order.issell()**判断买卖单
trade
往期文章介绍
https://blog.csdn.net/weixin_44785098/article/details/122502763