BackTrader 中文文档(七)(1)

简介: BackTrader 中文文档(七)


原文:www.backtrader.com/

TA-Lib

原文:www.backtrader.com/docu/talib/talib/

即使backtrader提供了大量内置指标,而且开发指标主要是定义输入、输出并以自然方式编写公式,一些人还是想要使用TA-LIB。一些原因包括:

  • 指标X在库中而不在backtrader中(作者将乐意接受请求)
  • TA-LIB行为是众所周知的,人们信任老牌产品

为了满足各种口味,提供了TA-LIB集成。

要求

安装细节在GitHub仓库上。

使用ta-lib

backtrader中已内置的任何指标使用起来一样容易。例如一个简单移动平均线。首先是backtrader的一个:

import backtrader as bt
class MyStrategy(bt.Strategy):
    params = (('period', 20),)
    def __init__(self):
        self.sma = bt.indicators.SMA(self.data, period=self.p.period)
        ...
...

现在是ta-lib示例:

import backtrader as bt
class MyStrategy(bt.Strategy):
    params = (('period', 20),)
    def __init__(self):
        self.sma = bt.talib.SMA(self.data, timeperiod=self.p.period)
        ...
...

Et voilá!当然,ta-lib指标的params由库本身定义,而不是由backtrader定义。在这种情况下,ta-lib中的SMA接受一个名为timeperiod的参数来定义操作窗口的大小。

对于需要多个输入的指标,例如随机指标

import backtrader as bt
class MyStrategy(bt.Strategy):
    params = (('period', 20),)
    def __init__(self):
        self.stoc = bt.talib.STOCH(self.data.high, self.data.low, self.data.close,
                                   fastk_period=14, slowk_period=3, slowd_period=3)
        ...
...

注意highlowclose已经分别传递。可以随时传递open而不是low(或任何其他数据系列)进行实验。

ta-lib指标文档已自动解析并添加到backtrader文档中。您也可以查看ta-lib源代码/文档。或者额外执行以下操作:

print(bt.talib.SMA.__doc__)

这种情况下的输出是:

SMA([input_arrays], [timeperiod=30])
Simple Moving Average (Overlap Studies)
Inputs:
    price: (any ndarray)
Parameters:
    timeperiod: 30
Outputs:
    real

这提供了一些信息:

  • 预期的是哪个输入(忽略ndarray注释,因为 backtrader 在后台管理转换)
  • 哪些参数和哪些默认值
  • 指标实际提供了哪些线

移动平均线和 MA_Type。

为了为像bt.talib.STOCH这样的指标选择特定的移动平均线,标准的ta-lib MA_Type可以通过backtrader.talib.MA_Type访问。例如:

import backtrader as bt
print('SMA:', bt.talib.MA_Type.SMA)
print('T3:', bt.talib.MA_Type.T3)

绘制 ta-lib 指标

与常规用法一样,绘制ta-lib指标无需任何特殊操作。

注意

输出为CANDLE(所有寻找蜡烛图案的指标)的指标提供二进制输出:0 或 100。为了避免向图表添加subplot,自动绘图转换为在识别出该模式的时间点上在数据上绘制它们。

示例和比较

以下是比较一些ta-lib指标的输出与backtrader中等效内置指标的图表。需要考虑的是:

  • ta-lib指标在绘图时带有TA_前缀。这是由示例特别完成的,以帮助用户区分它们。
  • 移动平均线(如果两者产生相同的结果)将被绘制在现有的移动平均线之上。这两个指标不能分开观察,如果是这样,测试就通过了。
  • 所有样本都包括一个CDLDOJI指标作为参考

KAMA(Kaufman 移动平均)

这是第一个示例,因为它是唯一一个(从所有直接比较的指标中)具有差异的示例:

  • 样本的初始值不同
  • 在某个时间点,两种KAMA实现会收敛并具有相同的行为。

在分析了ta-lib源代码之后:

  • ta-lib中的实现对KAMA的第一个值进行了非行业标准的选择。
    可以从源代码中看到选择(引用源代码):这里使用昨天的价格作为前一天的 KAMA。

backtrader做出了通常的选择,与Stockcharts的选择相同:

  • StockCharts 上的 KAMA
    由于我们需要一个初始值来开始计算,因此第一个 KAMA 只是一个简单的移动平均

因此有所不同。此外:

  • ta-libKAMA实现不允许指定用于调整Kaufman定义的可调节常数fastslow周期。

示例执行:

$ ./talibtest.py --plot --ind kama

输出

SMA

$ ./talibtest.py --plot --ind sma

输出

EMA

$ ./talibtest.py --plot --ind ema

输出

随机指标

$ ./talibtest.py --plot --ind stoc

输出

RSI

$ ./talibtest.py --plot --ind rsi

输出

MACD

$ ./talibtest.py --plot --ind macd

输出

布林带

$ ./talibtest.py --plot --ind bollinger

输出

AROON

请注意,ta-lib选择先放down线,并且颜色与backtrader内置指标相比是反转的。

$ ./talibtest.py --plot --ind aroon

输出

终极波动指标

$ ./talibtest.py --plot --ind ultimate

输出

Trix

$ ./talibtest.py --plot --ind trix

输出

ADXR

这里backtrader提供了ADXADXR线。

$ ./talibtest.py --plot --ind adxr

输出

DEMA

$ ./talibtest.py --plot --ind dema

输出

TEMA

$ ./talibtest.py --plot --ind tema

输出

PPO

这里backtrader不仅提供ppo线,还提供了更传统的macd方法。

$ ./talibtest.py --plot --ind ppo

输出

WilliamsR

$ ./talibtest.py --plot --ind williamsr

输出

ROC

所有指标显示的形状完全相同,但如何跟踪动量变化率有几种定义。

$ ./talibtest.py --plot --ind roc

输出

示例用法

$ ./talibtest.py --help
usage: talibtest.py [-h] [--data0 DATA0] [--fromdate FROMDATE]
                    [--todate TODATE]
                    [--ind {sma,ema,stoc,rsi,macd,bollinger,aroon,ultimate,trix,kama,adxr,dema,tema,ppo,williamsr,roc}]
                    [--no-doji] [--use-next] [--plot [kwargs]]
Sample for ta-lib
optional arguments:
  -h, --help            show this help message and exit
  --data0 DATA0         Data to be read in (default:
                        ../../datas/yhoo-1996-2015.txt)
  --fromdate FROMDATE   Starting date in YYYY-MM-DD format (default:
                        2005-01-01)
  --todate TODATE       Ending date in YYYY-MM-DD format (default: 2006-12-31)
  --ind {sma,ema,stoc,rsi,macd,bollinger,aroon,ultimate,trix,kama,adxr,dema,tema,ppo,williamsr,roc}
                        Which indicator pair to show together (default: sma)
  --no-doji             Remove Doji CandleStick pattern checker (default:
                        False)
  --use-next            Use next (step by step) instead of once (batch)
                        (default: False)
  --plot [kwargs], -p [kwargs]
                        Plot the read data applying any kwargs passed For
                        example (escape the quotes if needed): --plot
                        style="candle" (to plot candles) (default: None)

示例代码

from __future__ import (absolute_import, division, print_function,
                        unicode_literals)
import argparse
import datetime
import backtrader as bt
class TALibStrategy(bt.Strategy):
    params = (('ind', 'sma'), ('doji', True),)
    INDS = ['sma', 'ema', 'stoc', 'rsi', 'macd', 'bollinger', 'aroon',
            'ultimate', 'trix', 'kama', 'adxr', 'dema', 'ppo', 'tema',
            'roc', 'williamsr']
    def __init__(self):
        if self.p.doji:
            bt.talib.CDLDOJI(self.data.open, self.data.high,
                             self.data.low, self.data.close)
        if self.p.ind == 'sma':
            bt.talib.SMA(self.data.close, timeperiod=25, plotname='TA_SMA')
            bt.indicators.SMA(self.data, period=25)
        elif self.p.ind == 'ema':
            bt.talib.EMA(timeperiod=25, plotname='TA_SMA')
            bt.indicators.EMA(period=25)
        elif self.p.ind == 'stoc':
            bt.talib.STOCH(self.data.high, self.data.low, self.data.close,
                           fastk_period=14, slowk_period=3, slowd_period=3,
                           plotname='TA_STOCH')
            bt.indicators.Stochastic(self.data)
        elif self.p.ind == 'macd':
            bt.talib.MACD(self.data, plotname='TA_MACD')
            bt.indicators.MACD(self.data)
            bt.indicators.MACDHisto(self.data)
        elif self.p.ind == 'bollinger':
            bt.talib.BBANDS(self.data, timeperiod=25,
                            plotname='TA_BBANDS')
            bt.indicators.BollingerBands(self.data, period=25)
        elif self.p.ind == 'rsi':
            bt.talib.RSI(self.data, plotname='TA_RSI')
            bt.indicators.RSI(self.data)
        elif self.p.ind == 'aroon':
            bt.talib.AROON(self.data.high, self.data.low, plotname='TA_AROON')
            bt.indicators.AroonIndicator(self.data)
        elif self.p.ind == 'ultimate':
            bt.talib.ULTOSC(self.data.high, self.data.low, self.data.close,
                            plotname='TA_ULTOSC')
            bt.indicators.UltimateOscillator(self.data)
        elif self.p.ind == 'trix':
            bt.talib.TRIX(self.data, timeperiod=25,  plotname='TA_TRIX')
            bt.indicators.Trix(self.data, period=25)
        elif self.p.ind == 'adxr':
            bt.talib.ADXR(self.data.high, self.data.low, self.data.close,
                          plotname='TA_ADXR')
            bt.indicators.ADXR(self.data)
        elif self.p.ind == 'kama':
            bt.talib.KAMA(self.data, timeperiod=25, plotname='TA_KAMA')
            bt.indicators.KAMA(self.data, period=25)
        elif self.p.ind == 'dema':
            bt.talib.DEMA(self.data, timeperiod=25, plotname='TA_DEMA')
            bt.indicators.DEMA(self.data, period=25)
        elif self.p.ind == 'ppo':
            bt.talib.PPO(self.data, plotname='TA_PPO')
            bt.indicators.PPO(self.data, _movav=bt.indicators.SMA)
        elif self.p.ind == 'tema':
            bt.talib.TEMA(self.data, timeperiod=25, plotname='TA_TEMA')
            bt.indicators.TEMA(self.data, period=25)
        elif self.p.ind == 'roc':
            bt.talib.ROC(self.data, timeperiod=12, plotname='TA_ROC')
            bt.talib.ROCP(self.data, timeperiod=12, plotname='TA_ROCP')
            bt.talib.ROCR(self.data, timeperiod=12, plotname='TA_ROCR')
            bt.talib.ROCR100(self.data, timeperiod=12, plotname='TA_ROCR100')
            bt.indicators.ROC(self.data, period=12)
            bt.indicators.Momentum(self.data, period=12)
            bt.indicators.MomentumOscillator(self.data, period=12)
        elif self.p.ind == 'williamsr':
            bt.talib.WILLR(self.data.high, self.data.low, self.data.close,
                           plotname='TA_WILLR')
            bt.indicators.WilliamsR(self.data)
def runstrat(args=None):
    args = parse_args(args)
    cerebro = bt.Cerebro()
    dkwargs = dict()
    if args.fromdate:
        fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
        dkwargs['fromdate'] = fromdate
    if args.todate:
        todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
        dkwargs['todate'] = todate
    data0 = bt.feeds.YahooFinanceCSVData(dataname=args.data0, **dkwargs)
    cerebro.adddata(data0)
    cerebro.addstrategy(TALibStrategy, ind=args.ind, doji=not args.no_doji)
    cerebro.run(runcone=not args.use_next, stdstats=False)
    if args.plot:
        pkwargs = dict(style='candle')
        if args.plot is not True:  # evals to True but is not True
            npkwargs = eval('dict(' + args.plot + ')')  # args were passed
            pkwargs.update(npkwargs)
        cerebro.plot(**pkwargs)
def parse_args(pargs=None):
    parser = argparse.ArgumentParser(
        formatter_class=argparse.ArgumentDefaultsHelpFormatter,
        description='Sample for sizer')
    parser.add_argument('--data0', required=False,
                        default='../../datas/yhoo-1996-2015.txt',
                        help='Data to be read in')
    parser.add_argument('--fromdate', required=False,
                        default='2005-01-01',
                        help='Starting date in YYYY-MM-DD format')
    parser.add_argument('--todate', required=False,
                        default='2006-12-31',
                        help='Ending date in YYYY-MM-DD format')
    parser.add_argument('--ind', required=False, action='store',
                        default=TALibStrategy.INDS[0],
                        choices=TALibStrategy.INDS,
                        help=('Which indicator pair to show together'))
    parser.add_argument('--no-doji', required=False, action='store_true',
                        help=('Remove Doji CandleStick pattern checker'))
    parser.add_argument('--use-next', required=False, action='store_true',
                        help=('Use next (step by step) '
                              'instead of once (batch)'))
    # Plot options
    parser.add_argument('--plot', '-p', nargs='?', required=False,
                        metavar='kwargs', const=True,
                        help=('Plot the read data applying any kwargs passed\n'
                              '\n'
                              'For example (escape the quotes if needed):\n'
                              '\n'
                              '  --plot style="candle" (to plot candles)\n'))
    if pargs is not None:
        return parser.parse_args(pargs)
    return parser.parse_args()
if __name__ == '__main__':
    runstrat()

指标 - ta-lib - 参考

原文:www.backtrader.com/docu/talibindautoref/

TA-Lib 指标参考

ACOS

ACOS([input_arrays])

向量三角函数 ACos(Math Transform)

输入:

price: (any ndarray)

输出:

real

线条:

* real

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

AD

AD([input_arrays])

蔡金 A/D 线(Volume Indicators)

输入:

prices: [‘high’, ‘low’, ‘close’, ‘volume’]

输出:

real

线条:

* real

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

ADD

ADD([input_arrays])

向量算术加法(Math Operators)

输入:

price0: (any ndarray) price1: (any ndarray)

输出:

real

线条:

* real

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

ADOSC

ADOSC([input_arrays], [fastperiod=3], [slowperiod=10])

蔡金 A/D 振荡器(Volume Indicators)

输入:

prices: [‘high’, ‘low’, ‘close’, ‘volume’]

参数:

fastperiod: 3 slowperiod: 10

输出:

real

线条:

* real

参数:

* fastperiod (3)
* slowperiod (10)

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

ADX

ADX([input_arrays], [timeperiod=14])

平均趋向指数(Momentum Indicators)

输入:

prices: [‘high’, ‘low’, ‘close’]

参数:

timeperiod: 14

输出:

real

线条:

* real

参数:

* timeperiod (14)

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

ADXR

ADXR([input_arrays], [timeperiod=14])

平均趋向指数评级(Momentum Indicators)

输入:

prices: [‘high’, ‘low’, ‘close’]

参数:

timeperiod: 14

输出:

real

线条:

* real

参数:

* timeperiod (14)

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

APO

APO([input_arrays], [fastperiod=12], [slowperiod=26], [matype=0])

绝对价格振荡器(Momentum Indicators)

输入:

price: (any ndarray)

参数:

fastperiod: 12 slowperiod: 26 matype: 0 (Simple Moving Average)

输出:

real

线条:

* real

参数:

* fastperiod (12)
* slowperiod (26)
* matype (0)

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

AROON

AROON([input_arrays], [timeperiod=14])

Aroon(Momentum Indicators)

输入:

prices: [‘high’, ‘low’]

参数:

timeperiod: 14

输出:

aroondown aroonup

线条:

* aroondown
* aroonup

参数:

* timeperiod (14)

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* aroondown: - ls (–)
* aroonup: - ls (-)

AROONOSC

AROONOSC([input_arrays], [timeperiod=14])

Aroon Oscillator(Momentum Indicators)

输入:

prices: [‘high’, ‘low’]

参数:

timeperiod: 14

输出:

real

线条:

* real

参数:

* timeperiod (14)

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

ASIN

ASIN([input_arrays])

向量三角函数 ASin(Math Transform)

输入:

price: (any ndarray)

输出:

real

线条:

* real

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

ATAN

ATAN([input_arrays])

向量三角函数 ATan(Math Transform)

输入:

price: (any ndarray)

输出:

real

线条:

* real

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

ATR

ATR([input_arrays], [timeperiod=14])

真实波幅(Volatility Indicators)

输入:

prices: [‘high’, ‘low’, ‘close’]

参数:

timeperiod: 14

输出:

real

线条:

* real

参数:

* timeperiod (14)

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

AVGPRICE

AVGPRICE([input_arrays])

平均价格(Price Transform)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

real

线条:

* real

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

BBANDS

BBANDS([input_arrays], [timeperiod=5], [nbdevup=2], [nbdevdn=2], [matype=0])

布林带(Overlap Studies)

输入:

price: (any ndarray)

参数:

timeperiod: 5 nbdevup: 2 nbdevdn: 2 matype: 0 (Simple Moving
Average)

输出:

upperband middleband lowerband

线条:

* upperband
* middleband
* lowerband

参数:

* timeperiod (5)
* nbdevup (2)
* nbdevdn (2)
* matype (0)

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* middleband: - _samecolor (True) - ls (-)
* upperband:
* lowerband: - _samecolor (True)

BETA

BETA([input_arrays], [timeperiod=5])

贝塔(Statistic Functions)

输入:

price0: (any ndarray) price1: (any ndarray)

参数:

timeperiod: 5

输出:

real

线条:

* real

参数:

* timeperiod (5)

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

BOP

BOP([input_arrays])

势力均衡(Momentum Indicators)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

real

线条:

* real

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

CCI

CCI([input_arrays], [timeperiod=14])

商品通道指数(Momentum Indicators)

输入:

prices: [‘high’, ‘low’, ‘close’]

参数:

timeperiod: 14

输出:

real

线条:

* real

参数:

* timeperiod (14)

绘图信息:

* subplot (True)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (False)
* plotmaster (None)
* plotyticks ([])

绘图线:

* real: - ls (-)

CDL2###CROWS

CDL2CROWS([input_arrays])

两只乌鸦(Pattern Recognition)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDL2CROWS)

CDL3###BLACKCROWS

CDL3BLACKCROWS([input_arrays])

三黑鸦(Pattern Recognition)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDL3BLACKCROWS)

CDL3###INSIDE

CDL3INSIDE([input_arrays])

三内部上升/下降(Pattern Recognition)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDL3INSIDE)

CDL3###LINESTRIKE

CDL3LINESTRIKE([input_arrays])

三线行云(Pattern Recognition)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线条:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDL3LINESTRIKE)

CDL3###OUTSIDE

CDL3OUTSIDE([输入数组])

三外上/下(图案识别)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线条:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDL3OUTSIDE)

CDL3###STARSINSOUTH

CDL3STARSINSOUTH([输入数组])

南方三星(图案识别)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线条:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDL3STARSINSOUTH)

CDL3###WHITESOLDIERS

CDL3WHITESOLDIERS([输入数组])

三只前进的白兵(图案识别)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线条:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDL3WHITESOLDIERS)

CDLABANDONEDBABY

CDLABANDONEDBABY([输入数组],[穿透=0.3])

弃婴(图案识别)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

参数:

penetration: 0.3

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

参数:

* penetration (0.3)

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线条:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDLABANDONEDBABY)

CDLADVANCEBLOCK

CDLADVANCEBLOCK([输入数组])

先进区块(图案识别)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线条:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDLADVANCEBLOCK)

CDLBELTHOLD

CDLBELTHOLD([输入数组])

持有(图案识别)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线条:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDLBELTHOLD)

CDLBREAKAWAY

CDLBREAKAWAY([输入数组])

突破(图案识别)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线条:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDLBREAKAWAY)

CDLCLOSINGMARUBOZU

CDLCLOSINGMARUBOZU([输入数组])

收盘光头兵(图案识别)

输入:

prices: [‘open’, ‘high’, ‘low’, ‘close’]

输出:

integer (values are -100, 0 or 100)

线条:

* integer
* _candleplot

绘图信息:

* subplot (False)
* plot (True)
* plotskip (False)
* plotname ()
* plotforce (False)
* plotyhlines ([])
* plothlines ([])
* plotabove (False)
* plotymargin (0.0)
* plotlinelabels (True)
* plotmaster (None)
* plotyticks ([])

绘图线条:

* integer: - _plotskip (True)
* _candleplot: - marker (d) - fillstyle (full) - markersize (7.0) -
  ls () - _name (CDLCLOSINGMARUBOZU)


BackTrader 中文文档(七)(2)https://developer.aliyun.com/article/1505267

相关文章
|
5天前
|
测试技术
BackTrader 中文文档(九)(1)
BackTrader 中文文档(九)
17 0
|
5天前
|
存储 Python
BackTrader 中文文档(八)(1)
BackTrader 中文文档(八)
12 0
|
5天前
BackTrader 中文文档(八)(3)
BackTrader 中文文档(八)
10 0
|
5天前
BackTrader 中文文档(九)(4)
BackTrader 中文文档(九)
10 0
|
5天前
|
C++ 索引
BackTrader 中文文档(七)(3)
BackTrader 中文文档(七)
17 3
|
5天前
|
存储 索引
BackTrader 中文文档(十)(4)
BackTrader 中文文档(十)
10 0
|
5天前
|
存储 编译器 API
BackTrader 中文文档(十)(1)
BackTrader 中文文档(十)
11 0
|
5天前
|
编解码 C++ 索引
BackTrader 中文文档(九)(3)
BackTrader 中文文档(九)
12 0
|
5天前
|
索引
BackTrader 中文文档(九)(2)
BackTrader 中文文档(九)
8 0
|
5天前
|
索引
BackTrader 中文文档(七)(4)
BackTrader 中文文档(七)
14 0