6. 内置交易策略

qteasy 提供超过70种内置交易策略,所有的交易策略都可以直接使用,通过修改这些交易策略的参数,可以很容易地实现不同的个性化效果。

qteasy 所有的内置交易策略都有完整的说明文档,提供了交易策略的详细说明,参数说明,以及默认参数值。每一个 qteasy 内置交易策略都有一个ID,通过这个唯一的ID 用户可以容易地获取这个交易策略,查看说明文档,或者直接在创建 Operator 对象时使用这个交易策略。

获取内置交易策略

查看所有的内置交易策略,或者根据ID筛选部分交易策略。使用下面的函数:

下面的函数接受相同的参数 stg_id,但是返回不同类型的数据,如果 stg_idNone,则返回所有的内置交易策略,否则返回指定ID的交易策略。 如果用户输入的 stg_id 不存在,qteasy 会根据用户输入的 stg_id 返回id与其最接近的交易策略。

下面的函数返回一个字典,字典的 key 是交易策略的ID,value 是交易策略的说明文档。

qteasy.built_ins(stg_id: Optional[str] = None) dict[源代码]

获取或筛选内置的交易策略,可以通过stg_id进行模糊匹配,返回的是策略的字典

参数:

stg_id (str, optional) – 策略ID或者ID的片段,用于筛选需要的策略, 如果stg_id为None,则返回所有内置策略的字典 支持模糊匹配,例如’cross’可以匹配到’crossline’

返回:

strategies – 所有被筛选的内置策略的字典

返回类型:

dict,

示例

>>> import qteasy as qt
>>> qt.built_in_list()
{
    'crossline': qteasy.built_in.CROSSLINE,
    'macd': qteasy.built_in.MACD,
    'dma': qteasy.built_in.DMA,
    'trix': qteasy.built_in.TRIX,
    ...
    'ndaychg': qteasy.built_in.SelectingNDayChange,
    'ndayvol': qteasy.built_in.SelectingNDayVolatility
}
>>> qt.built_in_list('cross')
{
    'crossline': qteasy.built_in.CROSSLINE,
}

下面的函数返回一个列表,列表的元素是交易策略的ID或者交易策略的名称。

qteasy.built_in_list(stg_id: Optional[str] = None) list[源代码]

获取内置交易策略ID的列表,可以通过stg_id进行模糊匹配

参数:

stg_id (str, Optional) – 策略ID或者ID的片段,用于筛选需要的策略, 如果stg_id为None,则返回所有内置策略的字典 支持模糊匹配,例如’cross’可以匹配到’crossline’

返回:

stg_ids – 所有符合筛选条件的内置策略的ID列表

返回类型:

list,

示例

>>> import qteasy as qt
>>> qt.built_in_list()
['crossline',
 'macd',
 'dma',
 'trix',
 ...
 'ndaychg',
 'ndayvol',]
>>> qt.built_in_list('cross')
['crossline']
qteasy.built_in_strategies(stg_id: Optional[str] = None) list[源代码]

获取内置交易策略对象的列表,可以通过stg_id进行模糊匹配

参数:

stg_id (str, Optional) – 策略ID或者ID的片段,用于筛选需要的策略, 如果stg_id为None,则返回所有内置策略的字典 支持模糊匹配,例如’cross’可以匹配到’crossline’

返回:

strategies – 所有被筛选的内置策略对象的列表

返回类型:

list,

示例

>>> import qteasy as qt
>>> qt.built_in_strategies()
[
    qteasy.built_in.CROSSLINE,
    qteasy.built_in.MACD,
    qteasy.built_in.DMA,
    qteasy.built_in.TRIX,
    ...
    qteasy.built_in.SelectingNDayChange,
    qteasy.built_in.SelectingNDayVolatility
]
>>> qt.built_in_strategies('cross')
[
    qteasy.built_in.CROSSLINE,
]

参见

built_in_list

如果要获取一个内置交易策略对象,需要使用下面的函数,根据用户输入的ID返回内置策略对象, 如果用户输入ID有误,函数会报错并给用户提供一个建议的ID:

qteasy.get_built_in_strategy(stg_id: str) BaseStrategy[源代码]

使用ID获取交易策略

参数:

stg_id (str) – 策略ID

返回:

stg

返回类型:

内置交易策略对象

抛出:
  • TypeError – 如果id不是字符串类型:

  • ValueError – 如果id不是内置策略ID:

示例

>>> import qteasy as qt
>>> qt.get_built_in_strategy('macd')
RULE-ITER(MACD)

如果要查看内置交易策略的说明文档,需要使用下面的函数,根据用户输入的ID返回内置策略对象, 如果用户输入ID有误,函数会报错并给用户提供一个建议的ID:

qteasy.built_in_doc(stg_id: str, print_out: bool = False) Optional[str][源代码]

获取内置策略的文档,stg_id必须正确给出且存在

参数:
  • stg_id (str) – 策略ID

  • print_out (bool, optional) – 是否直接打印文档字符串,如果为False,则仅返回文档字符串

返回:

doc_string – 返回策略的文档字符串,特殊字符已经被过滤掉

返回类型:

str,

示例

>>> import qteasy as qt
>>> qt.built_in_doc('macd', print_out=True)
MACD择时策略类,运用MACD均线策略,生成目标仓位百分比
--------------------
策略参数:
    s: int, 短周期指数平滑均线计算日期;
    l: int, 长周期指数平滑均线计算日期;
    m: int, MACD中间值DEA的计算周期;
信号类型:
    PT型: 目标仓位百分比
信号规则:
    计算MACD值:
    1,当MACD值大于0时,设置仓位目标为1
    2,当MACD值小于0时,设置仓位目标为0
策略属性缺省值:
默认参数: (12, 26, 9)
数据类型: close 收盘价,单数据输入
窗口长度: 270
参数范围: [(10, 250), (10, 250), (5, 250)]
策略不支持参考数据,不支持交易数据
>>> qt.built_in_doc('macde')
ValueError: No built-in strategy found for macde, maybe you mean macd?

7. 所有内置交易策略

下面是所有的内置交易策略的说明文档,用户可以根据自己的需求选择合适的交易策略。

不依赖其他技术分析包的交易策略

以下是一些不依赖其他技术分析包的交易策略,这些交易策略都是基于历史数据的简单计算,不需要其他技术分析包的支持,可以直接调用。

简单选股策略

根据历史数据选股

qteasy.built_in.SelectingAvgIndicator(par_values=(True, 'even', 'greater', 0, 0, 0.25))[源代码]
以股票过去一段时间内的财务指标的平均值作为选股因子选股

基础选股策略。以股票的历史指标的平均值作为选股因子,因子排序参数可以作为策略参数传入 改变策略数据类型,根据不同的历史数据选股,选股参数可以通过pars传入

策略参数:
  • sort_ascending: enum, 是否升序排列因子

    • True: 优先选择因子最小的股票,

    • False, 优先选择因子最大的股票

  • weighting: enum, 股票仓位分配比例权重

    • even :默认值, 所有被选中的股票都获得同样的权重

    • linear :权重根据因子排序线性分配

    • distance :股票的权重与他们的指标与最低之间的差值(距离)成比例

    • proportion :权重与股票的因子分值成正比

  • condition: enum, 股票筛选条件

    • any :默认值,选择所有可用股票

    • greater :筛选出因子大于``ubound``的股票

    • less :筛选出因子小于``lbound``的股票

    • between :筛选出因子介于``lbound``与``ubound``之间的股票

    • not_between:筛选出因子不在``lbound``与``ubound``之间的股票

  • lbound: float, 股票筛选下限值, 默认值``np.-inf``

  • ubound: float, 股票筛选上限值, 默认值``np.inf``

  • max_sel_count: float, 抽取的股票的数量(p>=1)或比例(p<1), 默认值: 0.5,表示选中50%的股票

信号类型:

PT型: 百分比持仓比例信号

信号规则:

使用data_types指定一种数据类型,将股票过去的datatypes数据取平均值,将该平均值作为选股因子进行选股

策略属性缺省值:

默认参数: (True, 'even', 'greater', 0, 0, 0.25)

数据类型: eps 每股收益,单数据输入

窗口长度: 270

参数范围: [(True, False),

('even', 'linear', 'proportion'),

('any', 'greater', 'less', 'between', 'not_between'),

(-np.inf, np.inf),

(-np.inf, np.inf),

(0, 1.)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SelectingNDayLast(par_values=(2,))[源代码]

以股票N天前的价格或数据指标作为选股因子选股基础选股策略,以股票的N日前历史数据作为选股因子,因子排序参数以策略属性的形式控制

策略参数:

n: int, 股票历史数据的前置期

信号类型:

PT型: 百分比持仓比例信号

信号规则:

在每个选股周期使用N日前的历史数据作为选股因子进行选股

通过以下策略属性控制选股方法:

  • max_sel_count: float, 选股限额,表示最多选出的股票的数量,默认值: 0.5,表示选中50%的股票

  • condition: str , 确定股票的筛选条件,默认值``any``

    • any :默认值,选择所有可用股票

    • greater :筛选出因子大于``ubound``的股票

    • less :筛选出因子小于``lbound``的股票

    • between :筛选出因子介于``lbound``与``ubound``之间的股票

    • not_between:筛选出因子不在``lbound``与``ubound``之间的股票

  • lbound: float, 执行条件筛选时的指标下界, 默认值``np.-inf``

  • ubound: float, 执行条件筛选时的指标上界, 默认值``np.inf``

  • sort_ascending: bool, 排序方法,默认值: False,

    • True: 优先选择因子最小的股票,

    • False, 优先选择因子最大的股票

  • weighting: str , 确定如何分配选中股票的权重,默认值: even

    • even :所有被选中的股票都获得同样的权重

    • linear :权重根据因子排序线性分配

    • distance :股票的权重与他们的指标与最低之间的差值(距离)成比例

    • proportion :权重与股票的因子分值成正比

策略属性缺省值:

默认参数: (2,)

数据类型: close 收盘价,单数据输入

窗口长度: 100

参数范围: [(2, 100)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SelectingNDayAvg(par_values=(14,))[源代码]

以股票过去N天的价格或数据指标的平均值作为选股因子选股 基础选股策略: 以股票的前N日历史数据平均值作为选股因子,因子排序参数以策略属性的形式控制

策略参数:

n: int, 股票历史数据的选择期

信号类型:

PT型: 百分比持仓比例信号

信号规则:

在每个选股周期使用N日前的历史数据作为选股因子进行选股

通过以下策略属性控制选股方法:

  • max_sel_count: float, 选股限额,表示最多选出的股票的数量,默认值: 0.5,表示选中50%的股票

  • condition: str , 确定股票的筛选条件,默认值``any``

    • any :默认值,选择所有可用股票

    • greater :筛选出因子大于``ubound``的股票

    • less :筛选出因子小于``lbound``的股票

    • between :筛选出因子介于``lbound``与``ubound``之间的股票

    • not_between:筛选出因子不在``lbound``与``ubound``之间的股票

  • lbound: float, 执行条件筛选时的指标下界, 默认值``np.-inf``

  • ubound: float, 执行条件筛选时的指标上界, 默认值``np.inf``

  • sort_ascending: bool, 排序方法,默认值: False,

    • True: 优先选择因子最小的股票,

    • False, 优先选择因子最大的股票

  • weighting: str , 确定如何分配选中股票的权重,默认值: even

    • even :所有被选中的股票都获得同样的权重

    • linear :权重根据因子排序线性分配

    • distance :股票的权重与他们的指标与最低之间的差值(距离)成比例

    • proportion :权重与股票的因子分值成正比

策略属性缺省值:

默认参数: (14,)

数据类型: close 收盘价,单数据输入

窗口长度: 150

参数范围: [(2, 150)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SelectingNDayChange(par_values=(14,))[源代码]

以股票过去N天的价格或数据指标的变动值作为选股因子选股 基础选股策略: 根据股票以前n天的股价或数据变动幅度作为选股因子进行选股

策略参数:

n: int, 股票历史数据的选择期

信号类型:

PT型: 百分比持仓比例信号

信号规则:

在每个选股周期使用过去N日内价格的变动值作为选股因子进行选股

通过以下策略属性控制选股方法:

  • max_sel_count: float, 选股限额,表示最多选出的股票的数量,默认值: 0.5,表示选中50%的股票

  • condition: str , 确定股票的筛选条件,默认值``any``

    • any :默认值,选择所有可用股票

    • greater :筛选出因子大于``ubound``的股票

    • less :筛选出因子小于``lbound``的股票

    • between :筛选出因子介于``lbound``与``ubound``之间的股票

    • not_between:筛选出因子不在``lbound``与``ubound``之间的股票

  • lbound: float, 执行条件筛选时的指标下界, 默认值``np.-inf``

  • ubound: float, 执行条件筛选时的指标上界, 默认值``np.inf``

  • sort_ascending: bool, 排序方法,默认值: False,

    • True: 优先选择因子最小的股票,

    • False, 优先选择因子最大的股票

  • weighting: str , 确定如何分配选中股票的权重,默认值: even

    • even :所有被选中的股票都获得同样的权重

    • linear :权重根据因子排序线性分配

    • distance :股票的权重与他们的指标与最低之间的差值(距离)成比例

    • proportion :权重与股票的因子分值成正比

策略属性缺省值:

默认参数: (14,)

数据类型: close 收盘价,单数据输入

窗口长度: 150

参数范围: [(2, 150)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SelectingNDayRateChange(par_values=(14,), **kwargs)[源代码]

以股票过去N天的价格或数据指标的变动比例作为选股因子选股 基础选股策略: 根据股票以前n天的股价变动比例作为选股因子

策略参数:

n: int, 股票历史数据的选择期

信号类型:

PT型: 百分比持仓比例信号

信号规则:

在每个选股周期使用过去N日内价格变动率作为选股因子进行选股

通过以下策略属性控制选股方法:

  • max_sel_count: float, 选股限额,表示最多选出的股票的数量,默认值: 0.5,表示选中50%的股票

  • condition: str , 确定股票的筛选条件,默认值``any``

    • any :默认值,选择所有可用股票

    • greater :筛选出因子大于``ubound``的股票

    • less :筛选出因子小于``lbound``的股票

    • between :筛选出因子介于``lbound``与``ubound``之间的股票

    • not_between:筛选出因子不在``lbound``与``ubound``之间的股票

  • lbound: float, 执行条件筛选时的指标下界, 默认值``np.-inf``

  • ubound: float, 执行条件筛选时的指标上界, 默认值``np.inf``

  • sort_ascending: bool, 排序方法,默认值: False,

    • True: 优先选择因子最小的股票,

    • False, 优先选择因子最大的股票

  • weighting: str , 确定如何分配选中股票的权重,默认值: even

    • even :所有被选中的股票都获得同样的权重

    • linear :权重根据因子排序线性分配

    • distance :股票的权重与他们的指标与最低之间的差值(距离)成比例

    • proportion :权重与股票的因子分值成正比

策略属性缺省值:

默认参数: (14,)

数据类型: close 收盘价,单数据输入

窗口长度: 150

参数范围: [(2, 150)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SelectingNDayVolatility(par_values=(14,))[源代码]

根据股票以前N天的股价波动率作为选股因子

策略参数:

n: int, 股票历史数据的选择期

信号类型:

PT型: 百分比持仓比例信号

信号规则:

在每个选股周期使用过去N日内的价格波动率作为选股因子进行选股

通过以下策略属性控制选股方法:

  • max_sel_count: float, 选股限额,表示最多选出的股票的数量,默认值: 0.5,表示选中50%的股票

  • condition: str , 确定股票的筛选条件,默认值``any``

    • any :默认值,选择所有可用股票

    • greater :筛选出因子大于``ubound``的股票

    • less :筛选出因子小于``lbound``的股票

    • between :筛选出因子介于``lbound``与``ubound``之间的股票

    • not_between:筛选出因子不在``lbound``与``ubound``之间的股票

  • lbound: float, 执行条件筛选时的指标下界, 默认值``np.-inf``

  • ubound: float, 执行条件筛选时的指标上界, 默认值``np.inf``

  • sort_ascending: bool, 排序方法,默认值: False,

    • True: 优先选择因子最小的股票,

    • False, 优先选择因子最大的股票

  • weighting: str , 确定如何分配选中股票的权重,默认值: even

    • even :所有被选中的股票都获得同样的权重

    • linear :权重根据因子排序线性分配

    • distance :股票的权重与他们的指标与最低之间的差值(距离)成比例

    • proportion :权重与股票的因子分值成正比

策略属性缺省值:

默认参数: (14,)

数据类型: high,low,close 最高价,最低价,收盘价,多数据输入

窗口长度: 150

参数范围: [(2, 150)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SignalNone()[源代码]
空交易信号策略:

不生成任何交易信号的策略

策略参数:

none

信号类型:

PT型: 百分比持仓比例信号

PS型: 百分比买卖交易信号

VS型: 买卖交易信号

信号规则:

整个信号周期内不产生任何交易信号

策略属性缺省值:

默认参数: ()

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: []

策略不支持参考数据,不支持交易数据

qteasy.built_in.SellRate(par_values=(20, 0.1))[源代码]
变化率卖出信号策略:

当价格的变化率超过阈值时,产生卖出信号。 本策略不产生买入信号。

策略参数:

day, int, 涨跌幅计算周期

change, float,涨跌幅阈值

信号类型:

PS型: 百分比买卖交易信号

信号规则:

在下面情况下产生卖出信号:

1,当``change`` > 0,且``day``日涨幅大于``change``时,产生-1卖出信号

2,当``change`` < 0,且``day``日跌幅大于``change``时,产生-1卖出信号

策略属性缺省值:

默认参数: (20, 0.1)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(1, 100), (-0.5, 0.5)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.BuyRate(par_values=(20, 0.1))[源代码]
变化率买入信号策略:

当价格的变化率超过阈值时,产生买入信号。 本策略不产生卖出信号。

策略参数:

day, int, 涨跌幅计算周期

change, float,涨跌幅阈值

信号类型:

PS型: 百分比买卖交易信号

信号规则:

在下面情况下产生买入信号:

1,当change > 0,且day日涨幅大于change时,产生1买入信号

2,当change < 0,且day日跌幅大于change时,产生1买入信号

策略属性缺省值:

默认参数: (20, 0.1)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(1, 100), (-0.5, 0.5)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SelectingAll()[源代码]

基础选股策略: 保持历史股票池中的所有股票都被选中,投资比例平均分配

策略参数:

none

信号类型:

PT型: 百分比持仓比例信号

信号规则:

整个信号周期内持仓比例恒定,且所有投资组合的持仓比例相同

策略属性缺省值:

默认参数: ()

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: []

策略不支持参考数据,不支持交易数据

qteasy.built_in.SelectingNone()[源代码]

基础选股策略: 保持历史股票池中的所有股票都不被选中,投资仓位为0

策略参数:

none

信号类型:

PT型: 百分比持仓比例信号

信号规则:

整个信号周期内持仓比例恒定,且所有投资组合的持仓比例都为0

策略属性缺省值:

默认参数: ()

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: []

策略不支持参考数据,不支持交易数据

qteasy.built_in.SelectingRandom(par_values=(0.5,))[源代码]
基础选股策略: 在每个历史分段中,按照指定的比例(p<1时)随机抽取若干股票,

或随机抽取指定数量(p>=1)的股票进入投资组合,投资比例平均分配

策略参数:

p: float, 抽取的股票的数量(p>=1)或比例(p<1)

信号类型:

PT型: 百分比持仓比例信号

信号规则:

当p>=1时,从所有股票池中随机抽取p支股票,并设定所有被选中股票的持仓比例都为1/p

当0>p>1时,从股票池中以p为比例抽取若干股票,并设定所有股票的持仓比例都相同且和为1

策略属性缺省值:

默认参数: (0.5, )

数据类型: close 收盘价,单数据输入

窗口长度: 100

参数范围: [(0, np.inf)]

策略不支持参考数据,不支持交易数据

简单择时策略

qteasy.built_in.TimingLong()[源代码]

简单择时策略,整个历史周期上固定保持多头全仓状态

策略参数:

无策略参数

信号类型:

PT型: 百分比持仓比例信号

信号规则:

整个信号周期内持仓比例恒定为100%满仓

策略属性缺省值:

默认参数: ()

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: []

策略不支持参考数据,不支持交易数据

qteasy.built_in.TimingShort()[源代码]

简单择时策略,整个历史周期上固定保持空头全仓状态

策略参数:

none

信号类型:

PT型: 百分比持仓比例信号

信号规则:

整个信号周期内持仓比例恒定为-100%空头全仓

策略属性缺省值:

默认参数: ()

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: []

策略不支持参考数据,不支持交易数据

qteasy.built_in.TimingZero()[源代码]

简单择时策略,整个历史周期上固定保持空仓状态

策略参数:

none

信号类型:

PT型: 百分比持仓比例信号

信号规则:

整个信号周期内持仓比例恒定为0%空仓

策略属性缺省值:

默认参数: ()

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: []

策略不支持参考数据,不支持交易数据

基于均线指标的择时策略

下面的选股策略都基于股价均线指标来判定买入卖出

qteasy.built_in.DMA(par_values=(12, 26, 9), **kwargs)[源代码]

DMA择时策略

策略参数:

s, int, 短均线周期

l, int, 长均线周期

d, int, DMA周期

信号类型:

PS型: 百分比买卖交易信号

信号规则:

在下面情况下产生买入信号:

1, DMA在AMA上方时,多头区间,即DMA线自下而上穿越AMA线后,输出为1

2, DMA在AMA下方时,空头区间,即DMA线自上而下穿越AMA线后,输出为0 3, DMA与股价发生背离时的交叉信号,可信度较高

策略属性缺省值:

默认参数: (12, 26, 9)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(10, 250), (10, 250), (8, 250)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.MACD(par_values=(12, 26, 9))[源代码]

MACD择时策略类,运用MACD均线策略,生成目标仓位百分比

策略参数:

s: int, 短周期指数平滑均线计算日期;

l: int, 长周期指数平滑均线计算日期;

m: int, MACD中间值DEA的计算周期;

信号类型:

PT型: 目标仓位百分比

信号规则:

计算``MACD``值: 1,当``MACD``值大于0时,设置仓位目标为1

2,当``MACD``值小于0时,设置仓位目标为0

策略属性缺省值:

默认参数: (12, 26, 9)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(10, 250), (10, 250), (5, 250)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.TRIX(par_values=(12, 12), **kwargs)[源代码]

TRIX择时策略,使用股票价格的三重平滑指数移动平均价格进行多空判断

策略参数:

s: int, 均线参数,单位为日,用于计算周期为S的三重平滑指数移动平均线TRIX

m: int, 平滑均线参数,用于计算TRIX的M日简单移动平均线

信号类型:

PT型: 目标仓位百分比``

信号规则:

计算价格的三重平滑指数移动平均价TRIX,再计算M日TRIX的移动平均:

1, ``TRIX``位于``MATRIX``上方时,设置仓位目标为1

2, ``TRIX``位于``MATRIX``下方时,设置仓位目标位-1

策略属性缺省值:

默认参数: (12, 12)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(2, 50), (3, 150)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.CROSSLINE(par_values: tuple = (35, 120, 0.02))[源代码]

crossline择时策略类,利用长短均线的交叉确定多空状态

策略参数:

s: int, 短均线计算日期

l: int, 长均线计算日期

m: float, 均线边界宽度(百分比)

信号类型:

PT型: 目标仓位百分比

信号规则:

1, 当短均线位于长均线上方,且距离大于l*m%时,设置仓位目标为1

2, 当短均线位于长均线下方,且距离大于l*m%时,设置仓位目标为-1

3, 当长短均线之间的距离不大于l*m%时,设置仓位目标为0

策略属性缺省值:

默认参数: (35, 120, 0.02)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(10, 250), (10, 250), (0, 1)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.CDL()[源代码]

CDL择时策略,在K线图中找到符合要求的cdldoji模式

策略参数:

信号类型:

PS型: 百分比交易信号

VS型: 交易数量信号

信号规则:

搜索历史数据窗口内出现的cdl doji模式(匹配度0~100之间),加总后/100,计算

等效cdl doji匹配数量,以匹配数量为交易信号。

策略属性缺省值:

默认参数: ()

数据类型: open, high, low, close 开盘,最高,最低,收盘价

窗口长度: 100

参数范围: None

策略不支持参考数据,不支持交易数据

qteasy.built_in.SoftBBand(par_values=(20, 2, 2, 0))[源代码]

布林带线渐进交易策略,根据股价与布林带上轨和布林带下轨之间的关系确定多空,

交易信号不是一次性产生的,而是逐步渐进买入和卖出。

策略参数:

p: int, 均线周期,用于计算布林带线的均线周期

u: float,上轨偏移量,单位为标准差的倍数,如2表示上偏移2倍标准差

d: float,下轨偏移量,单位为标准差的倍数,如2表示下偏移2倍标准差

m: int,移动均线类型,取值范围0~8,表示9种不同的均线类型:

信号类型:

PS型: 百分比例交易信号

信号规则:

计算BBAND,检查价格是否超过BBAND的上轨或下轨:

1,当价格大于上轨后,每天产生10%的比例买入交易信号

2,当价格低于下轨后,每天产生33%的比例卖出交易信号

策略属性缺省值:

默认参数: (20, 2, 2, 0)

数据类型: close 收盘价,单数据输入

窗口长度: 200

参数范围: [(2, 100), (0.5, 5), (0.5, 5), (0, 8)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.BBand(par_values=(20, 2, 2))[源代码]

布林带线交易策略,根据股价与布林带上轨和布林带下轨之间的关系确定多空, 在价格上穿或下穿布林带线上下轨时产生交易信号。 布林带线的均线类型不可选

策略参数:

p: int, 均线周期,用于计算布林带线的均线周期

u: float,上轨偏移量,单位为标准差的倍数,如2表示上偏移2倍标准差

d: float,下轨偏移量,单位为标准差的倍数,如2表示下偏移2倍标准差

信号类型:

PS型: 百分比例交易信号

信号规则:

计算``BBAND``,检查价格是否超过``BBAND``的上轨或下轨:

1,当价格上穿上轨时,产生全仓买入信号

2,当价格下穿下轨时,产生全仓卖出信号``

策略属性缺省值:

默认参数: (20, 2, 2)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(2, 100), (0.5, 5), (0.5, 5)]

策略不支持参考数据,不支持交易数据

依赖 TA-Lib 技术分析包的交易策略

以下是一些依赖 TA-Lib 技术分析包的交易策略,这些交易策略都是基于 TA-Lib 技术分析包的计算,需要安装 TA-Lib 技术分析包。

基于单均线穿越的择时策略

下面的选股策略都基于股价是否上穿/下穿均线来判定买入卖出

qteasy.built_in.SCRSSMA(par_values=(14,))[源代码]

单均线交叉策略——SMA均线(简单移动平均线): 根据股价与SMA均线的相对位置设定持仓比例

策略参数:

rng: int, 均线的计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

检查当前价格与均线的关系:

1,当价格高于均线时,设定持仓比例为1

2,当价格低于均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (14,)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SCRSDEMA(par_values=(14,))[源代码]

单均线交叉策略——DEMA均线(双重指数平滑移动平均线): 根据股价与DEMA均线的相对位置设定持仓比例

策略参数:

rng: int, 均线的计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

检查当前价格与均线的关系:

1,当价格高于均线时,设定持仓比例为1

2,当价格低于均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (14,)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SCRSEMA(par_values=(14,))[源代码]

单均线交叉策略——EMA均线(指数平滑移动均线): 根据股价与EMA均线的相对位置设定持仓比例

策略参数:

rng: int, 均线的计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

检查当前价格与均线的关系:

1,当价格高于均线时,设定持仓比例为1

2,当价格低于均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (14,)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SCRSHT(par_values=())[源代码]

单均线交叉策略——HT(希尔伯特变换瞬时趋势线): 根据股价与HT线的相对位置设定持仓比例

策略参数:

不需要参数

信号类型:

PT型: 仓位百分比目标信号

信号规则:

检查当前价格与均线的关系:

1,当价格高于HT线时,设定持仓比例为1

2,当价格低于HT线时,设定持仓比例为-1

策略属性缺省值:

默认参数: ()

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: []

策略不支持参考数据,不支持交易数据

qteasy.built_in.SCRSKAMA(par_values=(14,))[源代码]

单均线交叉策略——KAMA均线(考夫曼自适应移动均线): 根据股价与KAMA均线的相对位置设定持仓比例

策略参数:

rng: int, 均线的计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

检查当前价格与均线的关系:

1,当价格高于均线时,设定持仓比例为1

2,当价格低于均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (14,)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SCRSMAMA(par_values=(0.5, 0.05))[源代码]

单均线交叉策略——MAMA均线(MESA自适应移动平均线): 根据股价与MAMA均线的相对位置设定持仓比例

策略参数:

f: float between 0 and 1, 快速移动极限

``

s: float between 0 and 1, 慢速移动极限

信号类型:

PT型: 仓位百分比目标信号

信号规则:

检查当前价格与均线的关系:

``

1,当价格高于均线时,设定持仓比例为1

``

2,当价格低于均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (0.5, 0.05)

``

数据类型: close 收盘价,单数据输入

``

窗口长度: 270

``

参数范围: [(0.01, 0.99), (0.01, 0.99)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SCRST3(par_values=(12, 0.5))[源代码]

单均线交叉策略——T3均线(三重指数平滑移动平均线): 根据股价与T3均线的相对位置设定持仓比例

策略参数:

p: int 均线计算周期

v: float v因子,调整因子,取值范围0~1之间

信号类型:

PT型: 仓位百分比目标信号

信号规则:

检查当前价格与均线的关系:

1,当价格高于均线时,设定持仓比例为1

2,当价格低于均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (12, 0.5)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(2, 20), (0, 1)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SCRSTEMA(par_values=(6,))[源代码]

单均线交叉策略——TEMA均线(三重指数平滑移动平均线): 根据股价与TEMA均线的相对位置设定持仓比例

策略参数:

p: int 均线计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

检查当前价格与均线的关系:

1,当价格高于均线时,设定持仓比例为1

2,当价格低于均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (6,)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SCRSTRIMA(par_values=(14,))[源代码]

单均线交叉策略——TRIMA均线(三重指数平滑移动平均线): 根据股价与TRIMA均线的相对位置设定持仓比例

策略参数:

p: int 均线计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

检查当前价格与均线的关系:

1,当价格高于均线时,设定持仓比例为1

2,当价格低于均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (14,)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 200)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SCRSWMA(par_values=(14,))[源代码]

单均线交叉策略——WMA均线(加权移动平均线): 根据股价与WMA均线的相对位置设定持仓比例

策略参数:

p: int 均线计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

检查当前价格与均线的关系:

1,当价格高于均线时,设定持仓比例为1

2,当价格低于均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (14,)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 200)]

策略不支持参考数据,不支持交易数据

基于双均线穿越的择时策略

下面的选股策略都基于两根(一快一慢)均线是否交叉来判定买入卖出

qteasy.built_in.DCRSSMA(par_values=(125, 25))[源代码]

双均线交叉策略——SMA均线(简单移动平均线): 基于SMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例

策略参数:

l: int, 长周期,慢速均线的计算周期

s: int, 短周期,快速均线的计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

用长短两个周期分别计算慢快两根均线:

1,当快均线高于慢均线时,设定持仓比例为1

2,当慢均线高于快均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (125, 25)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250), (3, 250)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.DCRSDEMA(par_values=(125, 25))[源代码]

双均线交叉策略——DEMA均线(简单移动平均线): 基于DEMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例

策略参数:

l: int, 长周期,慢速均线的计算周期

s: int, 短周期,快速均线的计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

用长短两个周期分别计算慢快两根均线:

1,当快均线高于慢均线时,设定持仓比例为1

2,当慢均线高于快均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (125, 25)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250), (3, 250)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.DCRSEMA(par_values=(20, 5))[源代码]

双均线交叉策略——EMA均线(指数平滑移动平均线): 基于EMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例

策略参数:

l: int, 长周期,慢速均线的计算周期

s: int, 短周期,快速均线的计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

用长短两个周期分别计算慢快两根均线:

1,当快均线高于慢均线时,设定持仓比例为1

2,当慢均线高于快均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (125, 25)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250), (3, 250)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.DCRSKAMA(par_values=(125, 25))[源代码]

双均线交叉策略——KAMA均线(考夫曼自适应移动平均线): 基于KAMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例

策略参数:

l: int, 长周期,慢速均线的计算周期

s: int, 短周期,快速均线的计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

用长短两个周期分别计算慢快两根均线:

1,当快均线高于慢均线时,设定持仓比例为1

2,当慢均线高于快均线时,设定持仓比例为-1

策略属性缺省值: 默认参数: (125, 25)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250), (3, 250)] 策略不支持参考数据,不支持交易数据

qteasy.built_in.DCRSMAMA(par_values=(0.15, 0.05, 0.55, 0.25))[源代码]

双均线交叉策略——MAMA均线(MESA自适应移动平均线): 基于MAMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例

策略参数:

lf: float, 长周期快速移动极限,慢速均线的KAMA计算参数

ls: float, 长周期慢速移动极限,慢速均线的KAMA计算参数

sf: float, 短周期快速移动极限,快速均线的KAMA计算参数

ss: float, 短周期慢速移动极限,快速均线的KAMA计算参数

信号类型:

PT型: 仓位百分比目标信号

信号规则:

用长短两个周期分别计算慢快两根均线:

1,当快均线高于慢均线时,设定持仓比例为1

2,当慢均线高于快均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (0.15, 0.05, 0.55, 0.25)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(0.01, 0.99), (0.01, 0.99), (0.01, 0.99), (0.01, 0.99)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.DCRST3(par_values=(20, 0.5, 5, 0.5))[源代码]

双均线交叉策略——T3均线(三重指数平滑移动平均线): 基于T3均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例

策略参数:

lp: int 长周期参数,用于计算慢均线

lv: float 长周期v因子,调整因子,取值范围0~1之间,用于计算慢均线

sp: int 短周期参数,用于计算快均线

sv: float 短周期v因子,调整因子,取值范围0~1之间,用于计算快均线

信号类型:

PT型: 仓位百分比目标信号

信号规则:

用长短两个周期分别计算慢快两根均线:

1,当快均线高于慢均线时,设定持仓比例为1

2,当慢均线高于快均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (20, 0.5, 5, 0.5)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(2, 20), (0, 1), (2, 20), (0, 1)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.DCRSTEMA(par_values=(11, 6))[源代码]

双均线交叉策略——TEMA均线(三重指数平滑移动平均线): 基于TEMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例

策略参数:

lp: int 长周期参数,用于计算慢均线

sp: int 短周期参数,用于计算快均线

信号类型:

PT型: 仓位百分比目标信号

信号规则:

用长短两个周期分别计算慢快两根均线:

1,当快均线高于慢均线时,设定持仓比例为1

2,当慢均线高于快均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (11, 6)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(2, 20), (2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.DCRSTRIMA(par_values=(125, 25))[源代码]
双均线交叉策略——TRIMA均线(三重指数平滑移动平均线):

基于TRIMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例

策略参数:

lp: int 长周期参数,用于计算慢均线

sp: int 短周期参数,用于计算快均线

信号类型:

PT型: 仓位百分比目标信号

信号规则:

用长短两个周期分别计算慢快两根均线:

1,当快均线高于慢均线时,设定持仓比例为1

2,当慢均线高于快均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (125, 25)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 200), (3, 200)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.DCRSWMA(par_values=(125, 25))[源代码]
双均线交叉策略——WMA均线(加权移动平均线):

基于WMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例

策略参数:

lp: int 长周期参数,用于计算慢均线

sp: int 短周期参数,用于计算快均线

信号类型:

PT型: 仓位百分比目标信号

信号规则:

用长短两个周期分别计算慢快两根均线:

1,当快均线高于慢均线时,设定持仓比例为1

2,当慢均线高于快均线时,设定持仓比例为-1

策略属性缺省值:

默认参数: (125, 25)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 200), (3, 200)]

策略不支持参考数据,不支持交易数据

基于均线斜率的择时策略

下面的选股策略都基于均线的斜率来判定买入卖出

qteasy.built_in.SLPSMA(par_values=(35, 5))[源代码]

均线斜率交易策略——SMA均线(简单移动平均线): 基于SMA计算规则生成移动均线,根据均线的斜率设定持仓比例目标 (当均线斜率为正时,表示价格趋势向上,提高持仓比例,当均线斜率为负时,表示趋势 向下,设定持仓比例为负一或零)

策略参数:

f: int, 均线的计算周期

N: int, 估算斜率使用的数据点数量

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算价格的移动均线,并且计算均线的当前斜率``slope``

``slope``使用最近的N个移动均线数据点通过线性回归得到:

1,当``slope``斜率大于零时,判断趋势向上,设定持仓比例为1

2,当``slope``斜率小于零时,判断趋势向下,设定持仓比例为-1

策略属性缺省值:

默认参数: (35, 5)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250), (2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SLPDEMA(par_values=(35, 5))[源代码]

均线斜率交易策略——DEMA均线(双重指数平滑移动平均线): 基于DEMA计算规则生成移动均线,根据均线的斜率设定持仓比例目标 (当均线斜率为正时,表示价格趋势向上,提高持仓比例,当均线斜率为负时,表示趋势 向下,设定持仓比例为负一或零)

策略参数:

f: int, 均线的计算周期

N: int, 估算斜率使用的数据点数量

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算价格的移动均线,并且计算均线的当前斜率``slope``

``slope``使用最近的N个移动均线数据点通过线性回归得到:

1,当``slope``斜率大于零时,判断趋势向上,设定持仓比例为1

2,当``slope``斜率小于零时,判断趋势向下,设定持仓比例为-1

策略属性缺省值:

默认参数: (35, 5)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250), (2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SLPEMA(par_values=(35, 5))[源代码]

均线斜率交易策略——EMA均线(指数平滑移动平均线): 基于EMA计算规则生成移动均线,根据均线的斜率设定持仓比例目标 (当均线斜率为正时,表示价格趋势向上,提高持仓比例,当均线斜率为负时,表示趋势 向下,设定持仓比例为负一或零)

策略参数:

f: int, 均线的计算周期

N: int, 估算斜率使用的数据点数量

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算价格的移动均线,并且计算均线的当前斜率``slope``

``slope``使用最近的N个移动均线数据点通过线性回归得到:

1,当``slope``斜率大于零时,判断趋势向上,设定持仓比例为1

2,当``slope``斜率小于零时,判断趋势向下,设定持仓比例为-1``

策略属性缺省值:

默认参数: (35, 5)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250), (2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SLPHT(par_values=(5,))[源代码]

均线斜率交易策略——HT均线(希尔伯特变换——瞬时趋势线线): 基于HT计算规则生成移动均线,根据均线的斜率设定持仓比例目标 (当均线斜率为正时,表示价格趋势向上,提高持仓比例,当均线斜率为负时,表示趋势 向下,设定持仓比例为负一或零)

策略参数:

N: int, 估算斜率使用的数据点数量

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算价格的移动均线,并且计算均线的当前斜率``slope``

``slope``使用最近的N个移动均线数据点通过线性回归得到:

1,当``slope``斜率大于零时,判断趋势向上,设定持仓比例为1

2,当``slope``斜率小于零时,判断趋势向下,设定持仓比例为-1

策略属性缺省值:

默认参数: (5,)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SLPKAMA(par_values=(35, 5))[源代码]

均线斜率交易策略——KAMA均线(考夫曼自适应移动平均线): 基于KAMA计算规则生成移动均线,根据均线的斜率设定持仓比例目标 (当均线斜率为正时,表示价格趋势向上,提高持仓比例,当均线斜率为负时,表示趋势 向下,设定持仓比例为负一或零)

策略参数:

f: int, 均线的计算周期

N: int, 估算斜率使用的数据点数量

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算价格的移动均线,并且计算均线的当前斜率``slope``

``slope``使用最近的N个移动均线数据点通过线性回归得到:

1,当``slope``斜率大于零时,判断趋势向上,设定持仓比``例为1

2,当``slope``斜率小于零时,判断趋势向下,设定持仓比例为-1

策略属性缺省值:

默认参数: (35, 5)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 250), (2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SLPMAMA(par_values=(0.5, 0.05, 5))[源代码]

均线斜率交易策略——MAMA均线(MESA自适应移动平均线): 基于MAMA计算规则生成移动均线,根据均线的斜率设定持仓比例目标 (当均线斜率为正时,表示价格趋势向上,提高持仓比例,当均线斜率为负时,表示趋势 向下,设定持仓比例为负一或零)

策略参数:

f: float, 高速移动极限值

s: float, 低速移动极限值

N: int, 估算斜率使用的数据点数量

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算价格的移动均线,并且计算均线的当前斜率``slope``

``slope``使用最近的N个移动均线数据点通过线性回归得到:

1,当``slope``斜率大于零时,判断趋势向上,设定持仓比例为1

2,当``slope``斜率小于零时,判断趋势向下,设定持仓比例为-1

策略属性缺省值:

默认参数: (0.5, 0.05, 5)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(0.01, 0.99), (0.01, 0.99), (2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SLPT3(par_values=(12, 0.25, 5))[源代码]
均线斜率交易策略——T3均线(三重指数平滑移动平均线):

基于T3计算规则生成移动均线,根据均线的斜率设定持仓比例目标 (当均线斜率为正时,表示价格趋势向上,提高持仓比例,当均线斜率为负时,表示趋势 向下,设定持仓比例为负一或零)

策略参数:

p: int 均线计算周期

v: float v因子,调整因子,取值范围0~1之间

N: int, 估算斜率使用的数据点数量

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算价格的移动均线,并且计算均线的当前斜率``slope``

``slope``使用最近的N个移动均线数据点通过线性回归得到:

1,当``slope``斜率大于零时,判断趋势向上,设定持仓比例为1

2,当``slope``斜率小于零时,判断趋势向下,设定持仓比例为-1

策略属性缺省值:

默认参数: (12, 0.25, 5)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(2, 20), (0, 1), (2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SLPTEMA(par_values=(6, 5))[源代码]

均线斜率交易策略——TEMA均线(三重指数平滑移动平均线): 基于TEMA计算规则生成移动均线,根据均线的斜率设定持仓比例目标 (当均线斜率为正时,表示价格趋势向上,提高持仓比例,当均线斜率为负时,表示趋势 向下,设定持仓比例为负一或零)

策略参数:

p: int 均线计算周期

N: int, 估算斜率使用的数据点数量

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算价格的移动均线,并且计算均线的当前斜率``slope``

``slope``使用最近的N个移动均线数据点通过线性回归得到:

1,当``slope``斜率大于零时,判断趋势向上,设定持仓比例为1

2,当``slope``斜率小于零时,判断趋势向下,设定持仓比例为-1

策略属性缺省值:

默认参数: (6, 5)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(2, 20), (2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SLPTRIMA(par_values=(35, 5))[源代码]

均线斜率交易策略——TRIMA均线(三重指数平滑移动平均线): 基于TRIMA计算规则生成移动均线,根据均线的斜率设定持仓比例目标 (当均线斜率为正时,表示价格趋势向上,提高持仓比例,当均线斜率为负时,表示趋势 向下,设定持仓比例为负一或零)

策略参数:

f: int 均线计算周期

N: int, 估算斜率使用的数据点数量

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算价格的移动均线,并且计算均线的当前斜率``slope``

``slope``使用最近的N个移动均线数据点通过线性回归得到:

1,当``slope``斜率大于零时,判断趋势向上,设定持仓比例为1

2,当``slope``斜率小于零时,判断趋势向下,设定持仓比例为-1

策略属性缺省值:

默认参数: (35, 5)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 200), (2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SLPWMA(par_values=(125, 5))[源代码]

均线斜率交易策略——WMA均线(加权移动平均线):

基于WMA计算规则生成移动均线,根据均线的斜率设定持仓比例目标 (当均线斜率为正时,表示价格趋势向上,提高持仓比例,当均线斜率为负时,表示趋势 向下,设定持仓比例为负一或零)

策略参数:

f: int, 均线计算周期

N: int, 估算斜率使用的数据点数量

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算价格的移动均线,并且计算均线的当前斜率``slope``

``slope``使用最近的N个移动均线数据点通过线性回归得到:

1,当``slope``斜率大于零时,判断趋势向上,设定持仓比例为1

2,当``slope``斜率小于零时,判断趋势向下,设定持仓比例为-1

策略属性缺省值:

默认参数: (125, 5)

数据类型: close 收盘价,单数据输入

窗口长度: 270

参数范围: [(3, 200), (2, 20)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.SAREXT(par_values=(0, 3))[源代码]

扩展抛物线SAR策略,当指标大于0时发出买入信号,当指标小于0时发出卖出信号

策略参数:

a: int, Parabolic SAR参数: 加速度

m: float, maximum最大值

信号类型:

PT型: 仓位百分比目标信号

信号规则:

计算``Parabolic SAR``:

1,当``Parabolic SAR``大于0时,输出多头

2,当``Parabolic SAR``小于0时,输出空头

策略属性缺省值:

默认参数: (0, 3)

数据类型: high, ``low``最高价和最低价,多数据输入

窗口长度: 200 参数范围: [(-100, 100), (0, 5)]

策略不支持参考数据,不支持交易数据

基于动量技术指标的择时策略

下面的选股策略都基于均线的斜率来判定买入卖出

qteasy.built_in.ADX(par_values=(14,))[源代码]

ADX指标(平均定向运动指数)选股策略: 基于ADX指标判断当前趋势的强度,从而根据趋势强度产生交易信号

策略参数:

p: int, ADX计算时间周期,取值范围2~35

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算``ADX``趋势强度:

1, 当``ADX>25``时,判断趋势向上,设定持仓比例为1

2, 当``20<ADX<25``之间时,判断为中性趋势,设定持仓比例为0

3, 当``ADX>20``时,判断趋势向下,设定持仓比例为-1

策略属性缺省值:

默认参数: (14,)

数据类型: high, low, close 最高价,最低价,收盘价,多数据输入

窗口长度: 270

参数范围: [(2, 35)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.APO(par_values=(12, 26, 0))[源代码]

APO指标(绝对价格震荡指标)选股策略:

APO指标通过两条均线的相对关系生成, 基于APO指标判断当前股价变动的牛熊趋势,从而根据趋势产生交易信号

策略参数:

f: int, 快速均线周期

s: int, 慢速均线周期

m: int, 移动均线类型,取值范围0~8

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算APO趋势:

1, 当``APO``大于0时,判断为牛市趋势,设定持仓比例为1

2, 当``ADX``小于0时,判断为熊市趋势,设定持仓比例为-1

策略属性缺省值:

默认参数: (12, 26, 0)

数据类型: close 收盘价,单数据输入

窗口长度: 200

参数范围: [(10, 100), (10, 100), (0, 8)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.AROON(par_values=(14,))[源代码]

AROON指标选股策略:

AROON指标被用于判断当前股价处于趋势区间还是僵持区间,通过计算AROON指标 策略可以根据趋势的强弱程度输出强多/空头和弱多/空头

策略参数:

p: int, 趋势判断周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算``AROON`` ``UP / DOWN``两条趋势线,并生成持仓比例信号:

1, 当UP在DOWN的上方时,输出弱多头

2, 当UP位于DOWN下方时,输出弱空头

3, 当UP大于70且DOWN小于30时,输出强多头

4, 当UP小于30且DOWN大于70时,输出强空头

策略属性缺省值:

默认参数: (14,)

数据类型: high, low 最高价,最低价,多数据输入

窗口长度: 200

参数范围: [(2, 100)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.CMO(par_values=(14,))[源代码]

CMO (Chande Momentum Oscillator 钱德动量振荡器) 选股策略:

CMO 是一个在-100到100之间波动的动量指标,它被用来判断当前股价位于 超卖还是超买区间,本策略使用这个指标生成投资仓位目标

策略参数:

p: int, 动量计算周期

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算``CMO``,并生成持仓比例信号:

1, 当``CMO``大于0时,输出弱多头

2, 当``CMO``小于0时,输出弱空头

3, 当``CMO``大于50时,输出强多头

4, 当``CMO``小于-50时,输出强空头

策略属性缺省值:

默认参数: (14,)

数据类型: high, low, close 最高价,最低,收盘价,多数据输入

窗口长度: 200

参数范围: [(2, 100)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.MACDEXT(par_values=(12, 0, 26, 0, 9, 0))[源代码]

MACDEXT (Extendec MACD 扩展MACD指数) 选股策略:

本策略使用MACD指标生成持仓目标,但是与标准的MACD不同,MACDEXT的快、慢、及信号均线的类型均可选

策略参数:

fp: int, 快速均线计算周期

``

ft: int, 快速均线类型,取值范围0~8

sp: int, 慢速均线计算周期

st: int, 慢速均线类型,取值范围0~8

s: int, MACD信号线计算周期

t: int, MACD信号线类型,取值范围0~8

信号类型:

PT型: 仓位百分比目标信号

信号规则:

按照规则计算``MACD``,根据MACD的H线生成持仓比例信号:

1, 当``hist>0``时输出多头

2, 当``hist<0``时输出空头

策略属性缺省值:

默认参数: (12, 0, 26, 0, 9, 0)

数据类型: close 收盘价,单数据输入

窗口长度: 200

参数范围: [(2, 35), (0, 8), (2, 35), (0, 8), (2, 35), (0, 8)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.MFI(par_values=(14,))[源代码]

MFI (Money Flow Index 货币流向指数) 交易策略: MFI指数用于判断股价属于超买还是超卖状态,本策略使用MFI指标生成交易信号

策略参数:

p: int, MFI信号计算周期

信号类型:

PS型: 百分比买卖交易信号

信号规则:

按照规则计算``MFI``,根据MFI的值生成比例交易信号:

1, 当``MFI>20``时,持续不断产生10%买入交易信号

2, 当``MFI>80``时,持续不断产生30%卖出交易信号,持续卖出持仓股票

策略属性缺省值:

默认参数: (14,)

数据类型: high, low, close, volume 最高价,最低,收盘,交易量,多数据输入

窗口长度: 200

参数范围: [(2, 100)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.DI(par_values=(14, 14))[源代码]

DI (Directory Indicator 方向指标) 交易策略:

DI 指标包含负方向指标与正方向指标,它们分别表示价格上行和下行的趋势强度,本策略使用±DI指标生成交易信号

策略参数:

n: int, 负DI信号计算周期

p: int, 正DI信号计算周期

信号类型:

PT型: 百分比持仓目标信号

信号规则:

按照规则计算正负DI,根据DI的值生成持仓目标信号:

1, 当``+DI > -DI``时,设置持仓目标为1

2, 当``+DI < -DI``时,设置持仓目标为-1

策略属性缺省值:

默认参数: (14, 14)

数据类型: high, low, close 最高价,最低,收盘,多数据输入

窗口长度: 200

参数范围: [(1, 100), (1, 100)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.DM(par_values=(14, 14))[源代码]

DM (Directional Movement 方向运动指标) 交易策略:

DM 指标包含负方向运动指标(Negative Directional Movement)与正方向运动指标(Positive Directional Movement), 它们分别表示价格上行和下行的趋势,本策略使用±DM指标生成交易信号

策略参数:

n: int, 负DM信号计算周期

p: int, 正DM信号计算周期

信号类型:

PT型: 百分比持仓目标信号

信号规则:

按照规则计算正负DM,根据DM的值生成持仓目标信号:

1, 当``+DM > -D``M时,设置持仓目标为1

2, 当``+DM < -D``M时,设置持仓目标为-1

3, 其余情况设置持仓目标为0

策略属性缺省值:

默认参数: (14, 14)

数据类型: high, low 最高价,最低,多数据输入

窗口长度: 200

参数范围: [(1, 100), (1, 100)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.MOM(par_values=(14,))[源代码]

MOM (momentum indicator 动量指标) 交易策略: MOM 指标可以用于识别价格的上行或下行趋势的强度,当前价格高于N日前价格时,MOM为正,反之为负。

策略参数:

n: int, MOM信号计算周期

信号类型:

PT型: 百分比持仓目标信号

信号规则:

按照规则计算``MOM``,根据``MOM``的值生成持仓目标信号:

1, 当``MOM > 0``时,设置持仓目标为1

2, 当``MOM < 0``时,设置持仓目标为-1

3, 其余情况设置持仓目标为0

策略属性缺省值:``

默认参数: (14, )

数据类型: close 收盘价,单数据输入

窗口长度: 100

参数范围: [(1, 100)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.PPO(par_values=(12, 26, 0))[源代码]

PPO (Percentage Price Oscillator 百分比价格振荡器) 交易策略: PPO 指标表示快慢两根移动均线之间的百分比差值,用于判断价格的变化趋势。长短均线的计算周期和 均线类型均为策略参数。

策略参数:

fp: int, 快速均线计算周期

sp: int, 慢速均线计算周期

m: int, 移动均线类型(取值范围0~8)

信号类型:

PT型: 百分比持仓目标信号

信号规则:

按照规则计算PPO,根据PPO的值生成持仓目标信号:

1, 当PPO > 0时,设置持仓目标为1

2, 当PPO < 0时,设置持仓目标为-1

3, 其余情况设置持仓目标为0

策略属性缺省值:

默认参数: (12, 26, 0)

数据类型: close 收盘价,单数据输入

窗口长度: 100

参数范围: [(2, 100), (20, 200), (0, 8)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.RSI(par_values=(12, 70, 30))[源代码]

RSI (Relative Strength Index 相对强度指数) 交易策略: RSI 指标度量最近价格变化的幅度,从而判断目前股票属于超卖还是超买状态,并据此判断变化趋势。RSI指标总是在0到100之间 震荡,是一条震荡曲线。

策略参数:

p: int, RSI计算周期

ulim: int, 触发多头仓位的最低限

llim: int, 触发空头仓位的最高限

信号类型:

PT型: 百分比持仓目标信号

信号规则:

按照规则计算RSI,根据RSI的值与ulim/llim的关系生成持仓目标信号:

1, 当RSI > ulim时,设置持仓目标为1

2, 当RSI < llim时,设置持仓目标为-1

3, 其余情况设置持仓目标为0

策略属性缺省值:

默认参数: (12, 70, 30)``

数据类型: close 收盘价,单数据输入

窗口长度: 100

参数范围: [(2, 100), (50, 100), (0, 50)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.STOCH(par_values=(5, 3, 0, 3, 0))[源代码]

STOCH (Stochastic Indicator 随机指数) 交易策略: STOCH 指标度量价格变化的动量,并且动量的大小判断价格趋势,并生成比例买卖交易信号。

策略参数:

fk: int, 快速均线计算周期

sk: int, 慢速K均线计算周期

skm: int, 慢速K均线类型,取值范围0~8

sd: int, 慢速D均线计算周期

sdm: int, 慢速D均线类型,取值范围0~8

信号类型:

PS型: 百分比买卖交易信号

信号规则:

按照规则计算k值和d值,根据k值生成比例买卖交易信号:

1, 当k > 80时,产生逐步卖出信号,每周期卖出持有份额的30%

2, 当k < 20时,产生逐步买入信号,每周期买入总投资额的10%

3, 当k和d发生背离的时候,也会产生信号(未来改进)

策略属性缺省值:

默认参数: (5, 3, 0, 3, 0)

数据类型: high, low, close 最高价,最低价,收盘价,多数据输入

窗口长度: 100

参数范围: [(2, 100), (2, 100), (0, 8), (2, 100), (0, 8)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.STOCHF(par_values=(5, 3, 0))[源代码]

STOCHF (Stochastic Fast Indicator 快速随机指标) 交易策略: STOCHF 指标度量价格变化的动量,与STOCH策略类似,使用快速随机指标判断价格趋势,并生成比例买卖交易信号。

策略参数:

fk: int, 快速K均线计算周期

fd: int, 快速D均线计算周期

fdm: int, 快速D均线类型,取值范围0~8

信号类型:

PS型: 百分比买卖交易信号

信号规则:

按照规则计算k值和d值,根据k值生成比例买卖交易信号:

1, 当k > 80时,产生逐步卖出信号,每周期卖出持有份额的30%

2, 当k < 20时,产生逐步买入信号,每周期买入总投资额的10%

3, 当k和d发生背离的时候,也会产生信号(未来改进)

策略属性缺省值:

默认参数: (5, 3, 0)

数据类型: high, low, close 最高价,最低价,收盘价,多数据输入

窗口长度: 100

参数范围: [(2, 100), (2, 100), (0, 8)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.STOCHRSI(par_values=(14, 5, 3, 0))[源代码]

STOCHRSI (Stochastic Relative Strength Index 随机相对强弱指标) 交易策略: STOCHRSI 指标度量价格变化的动量,该指标在0~1之间波动,表示相对的价格趋势强弱程度,并生成比例买卖交易信号。

策略参数:

p: int, 计算周期

fk: int, 快速K均线计算周期

fd: int, 快速D均线计算周期

fdm: int, 快速D均线类型,取值范围0~8

信号类型:

PS型: 百分比买卖交易信号

信号规则:

按照规则计算k值和d值,根据k值生成比例买卖交易信号:

1, 当k > 0.8时,产生逐步卖出信号,每周期卖出持有份额的30%

2, 当k < 0.2时,产生逐步买入信号,每周期买入总投资额的10%

3, 当k和d发生背离的时候,也会产生信号(未来改进)

策略属性缺省值:

默认参数: (14, 5, 3, 0)

数据类型: close 收盘价,单数据输入

窗口长度: 100

参数范围: [(2, 100), (2, 100), (2, 100), (0, 8)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.ULTOSC(par_values=(7, 14, 28, 70, 30))[源代码]

ULTOSC (Ultimate Oscillator Indicator 终极振荡器指标) 交易策略: ULTOSC 指标通过三个不同的时间跨度计算价格动量,并根据多种不同动量之间的偏离值生成交易信号。

策略参数:

p1: int, 动量计算周期 1

p2: int, 动量计算周期 2

p3: int, 动量计算周期 3

u: int, 卖出信号阈值

l: int, 买入信号阈值

信号类型:

PS型: 百分比买卖交易信号

信号规则:

计算``ULTOSC``指标,并根据指标的大小生成交易信号:

1, 当``ULTOSC`` > u时,产生逐步卖出信号,每周期卖出持有份额的30%

2, 当``ULTOSC ``< l时,产生逐步买入信号,每周期买入总投资额的10%

策略属性缺省值:

默认参数: (7, 14, 28, 70, 30)

数据类型: high, low, close 最高价,最低价,收盘价,多数据输入

窗口长度: 100

参数范围: [(1, 100), (1, 100), (1, 100), (70, 99), (1, 30)]

策略不支持参考数据,不支持交易数据

基于量价技术指标的择时策略

qteasy.built_in.WILLR(par_values=(14, 80, 20))[源代码]

WILLR (William’s %R 威廉姆斯百分比) 交易策略: WILLR 指标被用于计算股价当前处于超买还是超卖区间,并用于生成交易信号

策略参数:

p: int, 动量计算周期

u: int, 卖出信号阈值

l: int, 买入信号阈值

信号类型:

PS型: 百分比买卖交易信号

信号规则:

计算``WILLR``指标,并根据指标的大小生成交易信号:

1, 当``WILLR > -l``时,产生逐步卖出信号,每周期卖出持有份额的30%

2, 当``WILLR < -u``时,产生逐步买入信号,每周期买入总投资额的10%

策略属性缺省值:

默认参数: (14, 80, 20)

数据类型: high, low, close 最高价,最低价,收盘价,多数据输入

窗口长度: 100

参数范围: [(2, 100), (70, 99), (1, 30)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.AD()[源代码]

AD 交易策略: 本策略使用AD线 (Accumulate Distribution Line)来生成交易信号,它基于交易量和交易价格来判断 一只股票的资金累计流入或者流出的趋势,并通过此种趋势判断市场的上升/下降。

策略参数:

无策略参数

信号类型:

PS型: 百分比买卖交易信号

信号规则:

计算 AD 指标,根据AD信号的变化情况(上升/持平/下降)生成交易信号:

AD线的变化趋势通过比较今天/昨天两个AD值的大小来确定:

1, 当 AD(last) > AD(latest) 时,下降趋势,产生逐步卖出信号,每周期卖出持有份额的30%

2, 当 AD(last) < AD(latest) 时,上升趋势,产生逐步买入信号,每周期买入总投资额的10%

3, 当 AD(last) = AD(latest) 时,持平趋势,不产生任何交易信号

策略属性缺省值:

默认参数: ()

数据类型: high, low, close, volume 最高价,最低价,收盘价, 成交量,多数据输入

窗口长度: 100

参数范围: []

策略不支持参考数据,不支持交易数据

qteasy.built_in.ADOSC(par_values=(3, 10))[源代码]

AD Oscillator 交易策略: 本策略使用ADOSC (Accumulate Distribution 振荡器)来生成交易信号,AD振荡器通过计算AD线的MACD 线判断股票价格的多空走向。

策略参数:

f: int, 快均线周期

s: int, 慢均线周期

信号类型:

PS型: 百分比买卖交易信号

信号规则:

计算 ADOSC 指标,并根据指标的大小生成交易信号:

1, 当 AD > 0 时,产生逐步卖出信号,每周期卖出持有份额的30%

2, 当 AD < 0 时,产生逐步买入信号,每周期买入总投资额的10%

3, 当 AD = 0 时,不产生任何交易信号

策略属性缺省值:

默认参数: (3, 10)

数据类型: high, low, close, volume 最高价,最低价,收盘价, 成交量,多数据输入

窗口长度: 100

参数范围: [(2, 10), (10, 99)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.OBV(par_values=(15,))[源代码]

OBV 交易策略: 本策略使用OBV(On-Board Values)来生成交易信号,它基于交易量和交易价格来确认股票的变化

趋势(通过均线判断趋势),当OBV信号确认价格上升趋势时,产生建仓信号,当OBV信号与价格趋势。

策略参数:

n: int, OBV和收盘价的移动平均线计算周期

信号类型:

PS型: 百分比买卖交易信号

信号规则:

计算 OBV 指标,并计算OBV指标的N日(N为可调参数)移动平均线,同时计算收盘价的

N日移动均线,并根据移动均线昨日/今日的关系判断上升/下降趋势:

当昨日均线高于今日时,判断为下降趋势,当昨日均线低于今日时,判断为上升趋势。

策略再根据两条均线的上升/下降趋势的确认/背离产生买入/卖出信号:

1, 当 收盘价趋势上升,且OBV趋势上升时,上升趋势得到确认,买入100%份额

2, 当 收盘价趋势上升,但OBV趋势下降时,上升趋势背离,卖出持有股份的50%

3, 当 收盘价趋势下降,且OBV趋势下降时,下降趋势得到确认,卖出全部持有股份。

策略属性缺省值:

默认参数: (15, )

数据类型: close, volume 收盘价, 成交量,多数据输入

窗口长度: 100

参数范围: [(5, 100)]

策略不支持参考数据,不支持交易数据

基于波动率技术指标的择时策略

qteasy.built_in.ATR(par_values=(15,))[源代码]

ATR 交易策略:

ATR交易策略使用ATR指标来生成交易信号,ATR指标度量股票价格的波动性,通过波动性来判断股票的

风险和波动性,从而生成交易信号。

策略参数:

n: int, ATR的计算周期

信号类型:

PS型: 百分比买卖交易信号

信号规则:

计算 ATR 指标,并计算价格的N日(N为可调参数)移动平均线和ATR指标,并

根据ATR以及移动均线昨日/今日的关系判断上升/下降趋势:

当昨日均线高于今日时,判断为下降趋势,当昨日均线低于今日时,判断为上升趋势。

策略再根据ATR的值来判断上升下降趋势的确认与否:

1, 当 收盘价趋势上升,且ATR趋势上升时,上升趋势得到确认,买入100%份额

2, 当 收盘价趋势下降,且ATR趋势下降时,下降趋势得到确认,卖出全部持有股份

3, 当出现其他情况时,不产生任何交易信号

策略属性缺省值:

默认参数: (15, )

数据类型: high, low, close, 最高价,最低价,收盘价,多数据输入

窗口长度: 100

参数范围: [(5, 100)]

策略不支持参考数据,不支持交易数据

qteasy.built_in.NATR()[源代码]

Not Implemented Yet

qteasy.built_in.TRANGE()[源代码]

Not Implemented Yet