backtrader.indicators.envelope module¶
Envelope Indicator Module - Envelope bands around indicators.
This module provides envelope indicators that create upper and lower bands around an indicator at a specified percentage.
- Classes:
EnvelopeMixIn: MixIn class for creating envelope bands. _EnvelopeBase: Base class for envelope indicators. Envelope: Envelope bands around data source.
Example
- class MyStrategy(bt.Strategy):
- def __init__(self):
self.sma_env = bt.indicators.SMAEnvelope(self.data.close, period=20, perc=2.5)
- def next(self):
- if self.data.close[0] < self.sma_env.bot[0]:
self.buy()
- elif self.data.close[0] > self.sma_env.top[0]:
self.sell()
- class backtrader.indicators.envelope.PlotLineAttr[source]¶
Bases:
objectPlot line attribute container for envelope visualization.
- __init__(**kwargs)[source]¶
Initialize plot line attributes.
- Parameters:
**kwargs – Arbitrary plot line attributes.
- class backtrader.indicators.envelope.EnvelopeMixIn[source]¶
Bases:
objectMixIn class to create a subclass with another indicator. The main line of that indicator will be surrounded by an upper and lower band separated a given “percentage” from the input main line
The usage is:
Class XXXEnvelope(XXX, EnvelopeMixIn)
- Formula:
‘line’ (inherited from XXX)
top = ‘line’ * (1 + perc)
bot = ‘line’ * (1 - perc)
See also
- lines = ('top', 'bot')¶
- params = (('perc', 2.5),)¶
- class PlotLinesObj[source]¶
Bases:
objectPlot lines configuration object for envelope visualization.
- plotlines = <backtrader.indicators.envelope.EnvelopeMixIn.PlotLinesObj object>¶
- class PlotInfoObj[source]¶
Bases:
objectPlot information configuration object for envelope visualization.
- plotinfo = <backtrader.indicators.envelope.EnvelopeMixIn.PlotInfoObj object>¶
- class backtrader.indicators.envelope.Envelope[source]¶
Bases:
_EnvelopeBase,EnvelopeMixInIt creates envelope bands separated from the source data by a given percentage
- Formula:
src = datasource
top = src * (1 + perc)
bot = src * (1 - perc)
See also
- frompackages = ()¶
- packages = ()¶
- class backtrader.indicators.envelope.AdaptiveMovingAverageEnvelope¶
Bases:
AdaptiveMovingAverage,EnvelopeMixInAdaptiveMovingAverage and envelope bands separated “perc” from it
- Formula:
kama (from AdaptiveMovingAverage)
top = kama * (1 + perc)
bot = kama * (1 - perc)
See also
- alias = ['KAMAEnvelope', 'MovingAverageAdaptiveEnvelope']¶
- frompackages = ()¶
- packages = ()¶
- class backtrader.indicators.envelope.DicksonMovingAverageEnvelope¶
Bases:
DicksonMovingAverage,EnvelopeMixInDicksonMovingAverage and envelope bands separated “perc” from it
- Formula:
dma (from DicksonMovingAverage)
top = dma * (1 + perc)
bot = dma * (1 - perc)
See also
- alias = ['DMAEnvelope', 'DicksonMAEnvelope']¶
- frompackages = ()¶
- packages = ()¶
- class backtrader.indicators.envelope.DoubleExponentialMovingAverageEnvelope¶
Bases:
DoubleExponentialMovingAverage,EnvelopeMixInDoubleExponentialMovingAverage and envelope bands separated “perc” from it
- Formula:
dema (from DoubleExponentialMovingAverage)
top = dema * (1 + perc)
bot = dema * (1 - perc)
See also
- alias = ['DEMAEnvelope', 'MovingAverageDoubleExponentialEnvelope']¶
- frompackages = ()¶
- packages = ()¶
- class backtrader.indicators.envelope.ExponentialMovingAverageEnvelope¶
Bases:
ExponentialMovingAverage,EnvelopeMixInExponentialMovingAverage and envelope bands separated “perc” from it
- Formula:
ema (from ExponentialMovingAverage)
top = ema * (1 + perc)
bot = ema * (1 - perc)
See also
- alias = ['EMAEnvelope', 'MovingAverageExponentialEnvelope']¶
- frompackages = ()¶
- packages = ()¶
- class backtrader.indicators.envelope.HullMovingAverageEnvelope¶
Bases:
HullMovingAverage,EnvelopeMixInHullMovingAverage and envelope bands separated “perc” from it
- Formula:
hma (from HullMovingAverage)
top = hma * (1 + perc)
bot = hma * (1 - perc)
See also
- alias = ['HMAEnvelope', 'HullMAEnvelope']¶
- frompackages = ()¶
- packages = ()¶
- class backtrader.indicators.envelope.MovingAverageSimpleEnvelope¶
Bases:
MovingAverageSimple,EnvelopeMixInMovingAverageSimple and envelope bands separated “perc” from it
- Formula:
sma (from MovingAverageSimple)
top = sma * (1 + perc)
bot = sma * (1 - perc)
See also
- alias = ['SMAEnvelope', 'SimpleMovingAverageEnvelope']¶
- frompackages = ()¶
- packages = ()¶
- class backtrader.indicators.envelope.SmoothedMovingAverageEnvelope¶
Bases:
SmoothedMovingAverage,EnvelopeMixInSmoothedMovingAverage and envelope bands separated “perc” from it
- Formula:
smma (from SmoothedMovingAverage)
top = smma * (1 + perc)
bot = smma * (1 - perc)
See also
- alias = ['SMMAEnvelope', 'WilderMAEnvelope', 'MovingAverageSmoothedEnvelope', 'MovingAverageWilderEnvelope', 'ModifiedMovingAverageEnvelope']¶
- frompackages = ()¶
- packages = ()¶
- class backtrader.indicators.envelope.TripleExponentialMovingAverageEnvelope¶
Bases:
TripleExponentialMovingAverage,EnvelopeMixInTripleExponentialMovingAverage and envelope bands separated “perc” from it
- Formula:
tema (from TripleExponentialMovingAverage)
top = tema * (1 + perc)
bot = tema * (1 - perc)
See also
- alias = ['TEMAEnvelope', 'MovingAverageTripleExponentialEnvelope']¶
- frompackages = ()¶
- packages = ()¶
- class backtrader.indicators.envelope.WeightedMovingAverageEnvelope¶
Bases:
WeightedMovingAverage,EnvelopeMixInWeightedMovingAverage and envelope bands separated “perc” from it
- Formula:
wma (from WeightedMovingAverage)
top = wma * (1 + perc)
bot = wma * (1 - perc)
See also
- alias = ['WMAEnvelope', 'MovingAverageWeightedEnvelope']¶
- frompackages = ()¶
- packages = ()¶
- class backtrader.indicators.envelope.ZeroLagExponentialMovingAverageEnvelope¶
Bases:
ZeroLagExponentialMovingAverage,EnvelopeMixInZeroLagExponentialMovingAverage and envelope bands separated “perc” from it
- Formula:
zlema (from ZeroLagExponentialMovingAverage)
top = zlema * (1 + perc)
bot = zlema * (1 - perc)
See also
- alias = ['ZLEMAEnvelope', 'ZeroLagEmaEnvelope']¶
- frompackages = ()¶
- packages = ()¶
- class backtrader.indicators.envelope.ZeroLagIndicatorEnvelope¶
Bases:
ZeroLagIndicator,EnvelopeMixInZeroLagIndicator and envelope bands separated “perc” from it
- Formula:
ec (from ZeroLagIndicator)
top = ec * (1 + perc)
bot = ec * (1 - perc)
See also
- alias = ['ZLIndicatorEnvelope', 'ZLIndEnvelope', 'ECEnvelope', 'ErrorCorrectingEnvelope']¶
- frompackages = ()¶
- packages = ()¶
- backtrader.indicators.envelope.newcls¶
alias of
DicksonMovingAverageEnvelope