交易的定义:
当工具中的头寸从 0 变为大小 X 时,交易打开,对于多头/空头头寸可能为正/负)
当头寸从 X 变为 0 时,交易平仓。
以下两个动作:
正转负
负转正
实际上被视为:
一笔交易已关闭(仓位从 X 变为 0)
新交易已开立(仓位从 0 变为 Y)
交易只是提供信息,没有用户可调用的方法。
参考:贸易
class backtrader .trade.Trade(data=None, tradeid=0, historyon= False , size=0, price=0.0, value=0.0, Commission=0.0)
跟踪交易的生命周期:规模、价格、佣金(和价值?)
从 0 开始的交易可以增加和减少,如果它回到 0,则可以认为是关闭的。
交易可以是多头(正规模)或空头(负规模)
交易并不意味着被逆转(不支持它的逻辑)
会员属性:
ref
: 唯一的贸易标识符status
(int
): Created, Open , Closed 之一tradeid
: 在创建期间传递给订单的分组交易 ID 订单中的默认值为 0size
(int
): 当前交易规模price
(float
): 交易的当前价格value
(float
): 交易的当前价值commission
(float
):当前累积佣金pnl
(float
): 交易的当前盈亏 (gross pnl)pnlcomm
(float
): 当前交易损益减去佣金(净 pnl)isclosed
(bool
): 记录最后一次更新是否关闭(设置大小为 null 交易isopen
(bool
): 记录是否有任何更新打开了交易justopened
(bool
): 如果交易刚刚开仓baropen
(int
): 交易开始的柱dtopen
(float
): 交易开始的浮点编码日期时间- 使用方法
open_datetime
获取 Python datetime.datetime 或使用平台提供的num2date
方法
- 使用方法
barclose
(int
): 关闭此交易的柱dtclose
(float
): 交易结束的浮点编码日期时间- 使用方法
close_datetime
获取 Python datetime.datetime 或使用平台提供的num2date
方法
- 使用方法
barlen
(int
): 此交易打开的柱数historyon
(bool
): 是否必须记录历史history
(list
):保存一个列表,每个“更新”事件都更新,其中包含更新中使用的结果状态和参数历史中的第一个条目是开幕事件 历史中的最后一个条目是结束事件