32 public override bool IsReady => _signalLine.IsReady;
47 public DerivativeOscillator(
string name,
int rsiPeriod,
int smoothingRsiPeriod,
int doubleSmoothingRsiPeriod,
int signalLinePeriod) : base(name)
51 _doubleSmoothedRsi =
new ExponentialMovingAverage($
"{name}_DoubleSmoothedRSI", doubleSmoothingRsiPeriod).Of(_smoothedRsi);
52 _signalLine =
new SimpleMovingAverage($
"{name}_SignalLine", signalLinePeriod).Of(_doubleSmoothedRsi);
53 WarmUpPeriod = (rsiPeriod + smoothingRsiPeriod + doubleSmoothingRsiPeriod + signalLinePeriod - 3) + 1;
71 return _doubleSmoothedRsi.Current.Value - _signalLine.Current.Value;
81 _doubleSmoothedRsi.Reset();