TA-Lib
即使backtrader提供了大量内置指标,而且开发指标主要是定义输入、输出并以自然方式编写公式,一些人还是想要使用TA-LIB。一些原因包括:
- 指标X在库中而不在backtrader中(作者将乐意接受请求)
- TA-LIB行为是众所周知的,人们信任老牌产品
为了满足各种口味,提供了TA-LIB集成。
要求
- 用于 TA-Lib 的 Python 包装器
- 它所需的任何依赖项(例如numpy)
安装细节在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) ... ...
注意high
、low
和close
已经分别传递。可以随时传递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-lib的
KAMA
实现不允许指定用于调整Kaufman定义的可调节常数的fast
和slow
周期。
示例执行:
$ ./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提供了ADX
和ADXR
线。
$ ./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 - 参考
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