Source code for backtrader.indicators.contrib.adxdmi
#!/usr/bin/env python
"""Functional-test indicators migrated to contrib.
Generated from a single functional strategy module to preserve file-local
helper functions and constants without cross-test name collisions.
"""
from .. import (
Indicator,
MinusDirectionalIndicator,
PlusDirectionalIndicator,
)
__all__ = [
"ADXDMI",
]
[docs]
class ADXDMI(Indicator):
"""DMI direction indicator exposing plus/minus directional values."""
lines = ("plus", "minus")
params = (("period", 14),)
def __init__(self):
"""Initialize plus and minus directional sub-indicators."""
self.addminperiod(int(self.p.period) + 3)
self.plus_di = PlusDirectionalIndicator(self.data, period=int(self.p.period))
self.minus_di = MinusDirectionalIndicator(self.data, period=int(self.p.period))
[docs]
def next(self):
"""Write current directional index values to output lines."""
self.lines.plus[0] = float(self.plus_di[0])
self.lines.minus[0] = float(self.minus_di[0])