Summary
MinusDirectionalMovement is RTTA's streaming implementation of: Negative directional movement.
Update API
result = rtta.MinusDirectionalMovement().update(high, low)
The update(...) call consumes one observation using high, low. advance(...)
uses the same inputs when the caller wants to update state without materializing
a Python return value.
Theory Of Operation
MinusDirectionalMovement is part of Wilder's directional-movement system. The update compares today's high/low extension with the previous bar, smooths directional movement and true range, and then reports either a directional component, a normalized directional imbalance, or an additional Wilder-smoothed trend-strength rating.
Recurrence
Let \(z_t = (high_t, low_t)\) denote the observation consumed by one
update(...) call and let \(\theta\) denote constructor parameters such as
window lengths, thresholds, and smoothing constants.
The return value is the current scalar indicator value.
Implementation Notes
The recurrence is implemented in src/rtta/indicator.cpp in class MinusDirectionalMovement.
