Module backtrader.indicators.oscillator
Expand source code
#!/usr/bin/env python
# -*- coding: utf-8; py-indent-offset:4 -*-
###############################################################################
#
# Copyright (C) 2015-2023 Daniel Rodriguez
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from __future__ import (absolute_import, division, print_function,
unicode_literals)
import sys
from . import Indicator, MovingAverage
class OscillatorMixIn(Indicator):
'''
MixIn class to create a subclass with another indicator. The main line of
that indicator will be substracted from the other base class main line
creating an oscillator
The usage is:
- Class XXXOscillator(XXX, OscillatorMixIn)
Formula:
- XXX calculates lines[0]
- osc = self.data - XXX.lines[0]
'''
plotlines = dict(_0=dict(_name='osc'))
def _plotinit(self):
try:
lname = self.lines._getlinealias(0)
self.plotlines._0._name = lname + '_osc'
except AttributeError:
pass
def __init__(self):
self.lines[0] = self.data - self.lines[0]
super(OscillatorMixIn, self).__init__()
class Oscillator(Indicator):
'''
Oscillation of a given data around another data
Datas:
This indicator can accept 1 or 2 datas for the calculation.
- If 1 data is provided, it must be a complex "Lines" object (indicator)
which also has "datas". Example: A moving average
The calculated oscillation will be that of the Moving Average (in the
example) around the data that was used for the average calculation
- If 2 datas are provided the calculated oscillation will be that of the
2nd data around the 1st data
Formula:
- 1 data -> osc = data.data - data
- 2 datas -> osc = data0 - data1
'''
lines = ('osc',)
# Have a default value which can be later modified if needed
plotlines = dict(_0=dict(_name='osc'))
def _plotinit(self):
try:
lname = self.dataosc._getlinealias(0)
self.plotlines._0._name = lname + '_osc'
except AttributeError:
pass
def __init__(self):
super(Oscillator, self).__init__()
if len(self.datas) > 1:
datasrc = self.data
self.dataosc = self.data1
else:
datasrc = self.data.data
self.dataosc = self.data
self.lines[0] = datasrc - self.dataosc
# Automatic creation of Oscillating Lines
for movav in MovingAverage._movavs[1:]:
_newclsdoc = '''
Oscillation of a %s around its data
'''
# Skip aliases - they will be created automatically
if getattr(movav, 'aliased', ''):
continue
movname = movav.__name__
linename = movav.lines._getlinealias(0)
newclsname = movname + 'Oscillator'
newaliases = [movname + 'Osc']
for alias in getattr(movav, 'alias', []):
for suffix in ['Oscillator', 'Osc']:
newaliases.append(alias + suffix)
newclsdoc = _newclsdoc % movname
newclsdct = {'__doc__': newclsdoc,
'__module__': OscillatorMixIn.__module__,
'_notregister': True,
'alias': newaliases}
newcls = type(str(newclsname), (movav, OscillatorMixIn), newclsdct)
module = sys.modules[OscillatorMixIn.__module__]
setattr(module, newclsname, newcls)
Classes
class AdaptiveMovingAverageOsc
-
Oscillation of a AdaptiveMovingAverage around its data
Ancestors
- AdaptiveMovingAverageOscillator
- AdaptiveMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class AdaptiveMovingAverageOscillator
-
Oscillation of a AdaptiveMovingAverage around its data
Ancestors
- AdaptiveMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
- AdaptiveMovingAverageOsc
- KAMAOsc
- KAMAOscillator
- MovingAverageAdaptiveOsc
- MovingAverageAdaptiveOscillator
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class DEMAOsc
-
Oscillation of a DoubleExponentialMovingAverage around its data
Ancestors
- DoubleExponentialMovingAverageOscillator
- DoubleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class DEMAOscillator
-
Oscillation of a DoubleExponentialMovingAverage around its data
Ancestors
- DoubleExponentialMovingAverageOscillator
- DoubleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class DMAOsc
-
Oscillation of a DicksonMovingAverage around its data
Ancestors
- DicksonMovingAverageOscillator
- DicksonMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class DMAOscillator
-
Oscillation of a DicksonMovingAverage around its data
Ancestors
- DicksonMovingAverageOscillator
- DicksonMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class DicksonMAOsc
-
Oscillation of a DicksonMovingAverage around its data
Ancestors
- DicksonMovingAverageOscillator
- DicksonMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class DicksonMAOscillator
-
Oscillation of a DicksonMovingAverage around its data
Ancestors
- DicksonMovingAverageOscillator
- DicksonMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class DicksonMovingAverageOsc
-
Oscillation of a DicksonMovingAverage around its data
Ancestors
- DicksonMovingAverageOscillator
- DicksonMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class newcls
-
Oscillation of a DicksonMovingAverage around its data
Ancestors
- DicksonMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
Class variables
var alias
var aliased
var frompackages
var linealias
var lines
-
Defines an "array" of lines which also has most of the interface of a LineBuffer class (forward, rewind, advance…).
This interface operations are passed to the lines held by self
The class can autosubclass itself (_derive) to hold new lines keeping them in the defined order.
var packages
var params
var plotinfo
var plotlines
class DicksonMovingAverageOscillator
-
Oscillation of a DicksonMovingAverage around its data
Ancestors
- DicksonMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class DoubleExponentialMovingAverageOsc
-
Oscillation of a DoubleExponentialMovingAverage around its data
Ancestors
- DoubleExponentialMovingAverageOscillator
- DoubleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class DoubleExponentialMovingAverageOscillator
-
Oscillation of a DoubleExponentialMovingAverage around its data
Ancestors
- DoubleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
- DEMAOsc
- DEMAOscillator
- DoubleExponentialMovingAverageOsc
- MovingAverageDoubleExponentialOsc
- MovingAverageDoubleExponentialOscillator
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ECOsc
-
Oscillation of a ZeroLagIndicator around its data
Ancestors
- ZeroLagIndicatorOscillator
- ZeroLagIndicator
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ECOscillator
-
Oscillation of a ZeroLagIndicator around its data
Ancestors
- ZeroLagIndicatorOscillator
- ZeroLagIndicator
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class EMAOsc
-
Oscillation of a ExponentialMovingAverage around its data
Ancestors
- ExponentialMovingAverageOscillator
- ExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class EMAOscillator
-
Oscillation of a ExponentialMovingAverage around its data
Ancestors
- ExponentialMovingAverageOscillator
- ExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ErrorCorrectingOsc
-
Oscillation of a ZeroLagIndicator around its data
Ancestors
- ZeroLagIndicatorOscillator
- ZeroLagIndicator
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ErrorCorrectingOscillator
-
Oscillation of a ZeroLagIndicator around its data
Ancestors
- ZeroLagIndicatorOscillator
- ZeroLagIndicator
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ExponentialMovingAverageOsc
-
Oscillation of a ExponentialMovingAverage around its data
Ancestors
- ExponentialMovingAverageOscillator
- ExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ExponentialMovingAverageOscillator
-
Oscillation of a ExponentialMovingAverage around its data
Ancestors
- ExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
- EMAOsc
- EMAOscillator
- ExponentialMovingAverageOsc
- MovingAverageExponentialOsc
- MovingAverageExponentialOscillator
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class HMAOsc
-
Oscillation of a HullMovingAverage around its data
Ancestors
- HullMovingAverageOscillator
- HullMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class HMAOscillator
-
Oscillation of a HullMovingAverage around its data
Ancestors
- HullMovingAverageOscillator
- HullMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class HullMAOsc
-
Oscillation of a HullMovingAverage around its data
Ancestors
- HullMovingAverageOscillator
- HullMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class HullMAOscillator
-
Oscillation of a HullMovingAverage around its data
Ancestors
- HullMovingAverageOscillator
- HullMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class HullMovingAverageOsc
-
Oscillation of a HullMovingAverage around its data
Ancestors
- HullMovingAverageOscillator
- HullMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class HullMovingAverageOscillator
-
Oscillation of a HullMovingAverage around its data
Ancestors
- HullMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class KAMAOsc
-
Oscillation of a AdaptiveMovingAverage around its data
Ancestors
- AdaptiveMovingAverageOscillator
- AdaptiveMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class KAMAOscillator
-
Oscillation of a AdaptiveMovingAverage around its data
Ancestors
- AdaptiveMovingAverageOscillator
- AdaptiveMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ModifiedMovingAverageOsc
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverageOscillator
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ModifiedMovingAverageOscillator
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverageOscillator
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageAdaptiveOsc
-
Oscillation of a AdaptiveMovingAverage around its data
Ancestors
- AdaptiveMovingAverageOscillator
- AdaptiveMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageAdaptiveOscillator
-
Oscillation of a AdaptiveMovingAverage around its data
Ancestors
- AdaptiveMovingAverageOscillator
- AdaptiveMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageDoubleExponentialOsc
-
Oscillation of a DoubleExponentialMovingAverage around its data
Ancestors
- DoubleExponentialMovingAverageOscillator
- DoubleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageDoubleExponentialOscillator
-
Oscillation of a DoubleExponentialMovingAverage around its data
Ancestors
- DoubleExponentialMovingAverageOscillator
- DoubleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageExponentialOsc
-
Oscillation of a ExponentialMovingAverage around its data
Ancestors
- ExponentialMovingAverageOscillator
- ExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageExponentialOscillator
-
Oscillation of a ExponentialMovingAverage around its data
Ancestors
- ExponentialMovingAverageOscillator
- ExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageSimpleOsc
-
Oscillation of a MovingAverageSimple around its data
Ancestors
- MovingAverageSimpleOscillator
- MovingAverageSimple
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageSimpleOscillator
-
Oscillation of a MovingAverageSimple around its data
Ancestors
- MovingAverageSimple
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageSmoothedOsc
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverageOscillator
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageSmoothedOscillator
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverageOscillator
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageTripleExponentialOsc
-
Oscillation of a TripleExponentialMovingAverage around its data
Ancestors
- TripleExponentialMovingAverageOscillator
- TripleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageTripleExponentialOscillator
-
Oscillation of a TripleExponentialMovingAverage around its data
Ancestors
- TripleExponentialMovingAverageOscillator
- TripleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageWeightedOsc
-
Oscillation of a WeightedMovingAverage around its data
Ancestors
- WeightedMovingAverageOscillator
- WeightedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageWeightedOscillator
-
Oscillation of a WeightedMovingAverage around its data
Ancestors
- WeightedMovingAverageOscillator
- WeightedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageWilderOsc
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverageOscillator
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class MovingAverageWilderOscillator
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverageOscillator
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class Oscillator
-
Oscillation of a given data around another data
Datas
This indicator can accept 1 or 2 datas for the calculation.
- If 1 data is provided, it must be a complex "Lines" object (indicator) which also has "datas". Example: A moving average
The calculated oscillation will be that of the Moving Average (in the example) around the data that was used for the average calculation
- If 2 datas are provided the calculated oscillation will be that of the 2nd data around the 1st data
Formula
- 1 data -> osc = data.data - data
- 2 datas -> osc = data0 - data1
Expand source code
class Oscillator(Indicator): ''' Oscillation of a given data around another data Datas: This indicator can accept 1 or 2 datas for the calculation. - If 1 data is provided, it must be a complex "Lines" object (indicator) which also has "datas". Example: A moving average The calculated oscillation will be that of the Moving Average (in the example) around the data that was used for the average calculation - If 2 datas are provided the calculated oscillation will be that of the 2nd data around the 1st data Formula: - 1 data -> osc = data.data - data - 2 datas -> osc = data0 - data1 ''' lines = ('osc',) # Have a default value which can be later modified if needed plotlines = dict(_0=dict(_name='osc')) def _plotinit(self): try: lname = self.dataosc._getlinealias(0) self.plotlines._0._name = lname + '_osc' except AttributeError: pass def __init__(self): super(Oscillator, self).__init__() if len(self.datas) > 1: datasrc = self.data self.dataosc = self.data1 else: datasrc = self.data.data self.dataosc = self.data self.lines[0] = datasrc - self.dataosc
Ancestors
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class OscillatorMixIn
-
MixIn class to create a subclass with another indicator. The main line of that indicator will be substracted from the other base class main line creating an oscillator
The usage is:
- Class XXXOscillator(XXX, OscillatorMixIn)
Formula
- XXX calculates lines[0]
- osc = self.data - XXX.lines[0]
Expand source code
class OscillatorMixIn(Indicator): ''' MixIn class to create a subclass with another indicator. The main line of that indicator will be substracted from the other base class main line creating an oscillator The usage is: - Class XXXOscillator(XXX, OscillatorMixIn) Formula: - XXX calculates lines[0] - osc = self.data - XXX.lines[0] ''' plotlines = dict(_0=dict(_name='osc')) def _plotinit(self): try: lname = self.lines._getlinealias(0) self.plotlines._0._name = lname + '_osc' except AttributeError: pass def __init__(self): self.lines[0] = self.data - self.lines[0] super(OscillatorMixIn, self).__init__()
Ancestors
Subclasses
- AdaptiveMovingAverageOscillator
- DicksonMovingAverageOscillator
- DoubleExponentialMovingAverageOscillator
- ExponentialMovingAverageOscillator
- HullMovingAverageOscillator
- MovingAverageSimpleOscillator
- SmoothedMovingAverageOscillator
- TripleExponentialMovingAverageOscillator
- WeightedMovingAverageOscillator
- ZeroLagExponentialMovingAverageOscillator
- ZeroLagIndicatorOscillator
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class SMAOsc
-
Oscillation of a MovingAverageSimple around its data
Ancestors
- MovingAverageSimpleOscillator
- MovingAverageSimple
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class SMAOscillator
-
Oscillation of a MovingAverageSimple around its data
Ancestors
- MovingAverageSimpleOscillator
- MovingAverageSimple
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class SMMAOsc
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverageOscillator
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class SMMAOscillator
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverageOscillator
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class SimpleMovingAverageOsc
-
Oscillation of a MovingAverageSimple around its data
Ancestors
- MovingAverageSimpleOscillator
- MovingAverageSimple
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class SimpleMovingAverageOscillator
-
Oscillation of a MovingAverageSimple around its data
Ancestors
- MovingAverageSimpleOscillator
- MovingAverageSimple
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class SmoothedMovingAverageOsc
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverageOscillator
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class SmoothedMovingAverageOscillator
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
- ModifiedMovingAverageOsc
- ModifiedMovingAverageOscillator
- MovingAverageSmoothedOsc
- MovingAverageSmoothedOscillator
- MovingAverageWilderOsc
- MovingAverageWilderOscillator
- SMMAOsc
- SMMAOscillator
- SmoothedMovingAverageOsc
- WilderMAOsc
- WilderMAOscillator
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class TEMAOsc
-
Oscillation of a TripleExponentialMovingAverage around its data
Ancestors
- TripleExponentialMovingAverageOscillator
- TripleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class TEMAOscillator
-
Oscillation of a TripleExponentialMovingAverage around its data
Ancestors
- TripleExponentialMovingAverageOscillator
- TripleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class TripleExponentialMovingAverageOsc
-
Oscillation of a TripleExponentialMovingAverage around its data
Ancestors
- TripleExponentialMovingAverageOscillator
- TripleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class TripleExponentialMovingAverageOscillator
-
Oscillation of a TripleExponentialMovingAverage around its data
Ancestors
- TripleExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
- MovingAverageTripleExponentialOsc
- MovingAverageTripleExponentialOscillator
- TEMAOsc
- TEMAOscillator
- TripleExponentialMovingAverageOsc
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class WMAOsc
-
Oscillation of a WeightedMovingAverage around its data
Ancestors
- WeightedMovingAverageOscillator
- WeightedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class WMAOscillator
-
Oscillation of a WeightedMovingAverage around its data
Ancestors
- WeightedMovingAverageOscillator
- WeightedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class WeightedMovingAverageOsc
-
Oscillation of a WeightedMovingAverage around its data
Ancestors
- WeightedMovingAverageOscillator
- WeightedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class WeightedMovingAverageOscillator
-
Oscillation of a WeightedMovingAverage around its data
Ancestors
- WeightedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
- MovingAverageWeightedOsc
- MovingAverageWeightedOscillator
- WMAOsc
- WMAOscillator
- WeightedMovingAverageOsc
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class WilderMAOsc
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverageOscillator
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class WilderMAOscillator
-
Oscillation of a SmoothedMovingAverage around its data
Ancestors
- SmoothedMovingAverageOscillator
- SmoothedMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZLEMAOsc
-
Oscillation of a ZeroLagExponentialMovingAverage around its data
Ancestors
- ZeroLagExponentialMovingAverageOscillator
- ZeroLagExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZLEMAOscillator
-
Oscillation of a ZeroLagExponentialMovingAverage around its data
Ancestors
- ZeroLagExponentialMovingAverageOscillator
- ZeroLagExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZLIndOsc
-
Oscillation of a ZeroLagIndicator around its data
Ancestors
- ZeroLagIndicatorOscillator
- ZeroLagIndicator
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZLIndOscillator
-
Oscillation of a ZeroLagIndicator around its data
Ancestors
- ZeroLagIndicatorOscillator
- ZeroLagIndicator
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZLIndicatorOsc
-
Oscillation of a ZeroLagIndicator around its data
Ancestors
- ZeroLagIndicatorOscillator
- ZeroLagIndicator
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZLIndicatorOscillator
-
Oscillation of a ZeroLagIndicator around its data
Ancestors
- ZeroLagIndicatorOscillator
- ZeroLagIndicator
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZeroLagEmaOsc
-
Oscillation of a ZeroLagExponentialMovingAverage around its data
Ancestors
- ZeroLagExponentialMovingAverageOscillator
- ZeroLagExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZeroLagEmaOscillator
-
Oscillation of a ZeroLagExponentialMovingAverage around its data
Ancestors
- ZeroLagExponentialMovingAverageOscillator
- ZeroLagExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZeroLagExponentialMovingAverageOsc
-
Oscillation of a ZeroLagExponentialMovingAverage around its data
Ancestors
- ZeroLagExponentialMovingAverageOscillator
- ZeroLagExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZeroLagExponentialMovingAverageOscillator
-
Oscillation of a ZeroLagExponentialMovingAverage around its data
Ancestors
- ZeroLagExponentialMovingAverage
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZeroLagIndicatorOsc
-
Oscillation of a ZeroLagIndicator around its data
Ancestors
- ZeroLagIndicatorOscillator
- ZeroLagIndicator
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members
class ZeroLagIndicatorOscillator
-
Oscillation of a ZeroLagIndicator around its data
Ancestors
- ZeroLagIndicator
- MovingAverageBase
- OscillatorMixIn
- Indicator
- IndicatorBase
- DataAccessor
- LineIterator
- LineSeries
- LineMultiple
- LineRoot
Subclasses
- ECOsc
- ECOscillator
- ErrorCorrectingOsc
- ErrorCorrectingOscillator
- ZLIndOsc
- ZLIndOscillator
- ZLIndicatorOsc
- ZLIndicatorOscillator
- ZeroLagIndicatorOsc
Class variables
var alias
var aliased
var frompackages
var linealias
var packages
var params
var plotinfo
var plotlines
Inherited members