策略参考#
内置策略参考#
MA_CrossOver#
别名:SMA_CrossOver,这是一个仅做多的策略,基于移动平均线交叉操作。
交易规则#
买入逻辑: 如果无持仓,fast 移动平均线向上穿过 slow 移动平均线。
卖出逻辑: 有持仓时,fast 移动平均线向下穿过 slow 移动平均线。
订单类型: 市价单
参数:
- fast (10),_movav (<class ‘backtrader.indicators.sma.SMA’>)
 - slow (30),_movav (<class ‘backtrader.indicators.sma.SMA’>)
 
SignalStrategy#
此策略的子类旨在使用信号自动操作。信号通常是指标,预期输出值为:
- > 0 表示多头指示
 - < 0 表示空头指示
 
信号分为两组,共有 5 种类型。
主要组:
LONGSHORT:接受来自该信号的多头和空头指示。LONG:- 接受多头指示进行做多。
 - 接受空头指示平仓多头。但:
- 如果系统中有 
LONGEXIT信号,将用它来平仓多头。 - 如果有 
SHORT信号且没有LONGEXIT信号,它将被用来平仓多头再开空头。 
 - 如果系统中有 
 
SHORT:- 接受空头指示进行做空。
 - 接受多头指示平仓空头。但:
- 如果系统中有 
SHORTEXIT信号,将用它来平仓空头。 - 如果有 
LONG信号且没有SHORTEXIT信号,它将被用来平仓空头再开多头。 
 - 如果系统中有 
 
退出组:
这两个信号旨在覆盖其他信号,并为平仓提供标准。
LONGEXIT:接受空头指示平仓多头。SHORTEXIT:接受多头指示平仓空头。
订单发出:
- 订单执行类型为市价单,有效期为“直到取消” (Good until Canceled)。
 
参数:
- signals (默认值: []): 允许实例化信号并分配到正确类型的列表/元组。
 - _accumulate (默认值: False): 允许进入市场(多头/空头),即使已经在市场中。
 - _concurrent (默认值: False): 允许在已有待执行订单时发出新订单。
 - _data (默认值: None): 如果系统中存在多个数据,目标数据是哪一个。这可以是:
- None: 将使用系统中的第一个数据。
 - int: 表示在该位置插入的数据。
 - str: 创建数据时给定的名称(参数 name),或通过 cerebro.adddata(…, name=) 添加时给定的名称。
 - 数据实例。
 
 
线:
- datetime
 
参数:
- signals ([])
 - _accumulate (False)
 - _concurrent (False)
 - _data (None)