交易的定义:

  • 当工具中的头寸从 0 变为大小 X 时,交易打开,对于多头/空头头寸可能为正/负)
  • 当头寸从 X 变为 0 时,交易平仓。

以下两个动作:

  • 正转负
  • 负转正

实际上被视为:

  1. 一笔交易已关闭(仓位从 X 变为 0)
  2. 新交易已开立(仓位从 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: 唯一的贸易标识符
  • statusint): Created, Open, Closed 之一
  • tradeid: 在创建期间传递给订单的分组tradeid订单中的默认值为0
  • sizeint): 当前交易规模
  • pricefloat): 交易的当前价格
  • valuefloat): 交易的当前价值
  • commissionfloat): 当前累计佣金
  • pnlfloat): 当前交易损益 (gross pnl)
  • pnlcommfloat): 交易的当期损益减去佣金(净 pnl)
  • isclosedbool): 记录最后一次更新是否关闭(将大小设置为空交易
  • isopenbool): 记录是否有任何更新开启了交易
  • justopenedbool): 如果交易刚刚开始
  • baropenint): 交易开始的柱
  • dtopenfloat): 交易开始的浮动编码日期时间
    • 使用方法open_datetime获取 Python datetime.datetime 或使用平台提供的num2date方法
  • barcloseint): 关闭此交易的柱
  • dtclosefloat): 交易结束的浮动编码日期时间
    • 使用方法close_datetime获取 Python datetime.datetime 或使用平台提供的num2date方法
  • barlenint): 该交易开放的柱数
  • historyonbool): 是否必须记录历史
  • historylist):保存一个列表,每个“更新”事件都会更新,其中包含更新中使用的结果状态和参数历史中的第一个条目是开幕事件 历史中的最后一个条目是结束事件