public void ResetsProperly() { var momp = new MomentumPercent(50); foreach (var data in TestHelper.GetDataStream(51)) { momp.Update(data); } Assert.IsTrue(momp.IsReady); momp.Reset(); TestHelper.AssertIndicatorIsInDefaultState(momp); }
public void ComputesCorrectly() { var delay = new Delay(3); var sma = new SimpleMovingAverage(3); var momp = new MomentumPercent(3); foreach (var data in TestHelper.GetDataStream(4)) { delay.Update(data); sma.Update(data); momp.Update(data); if (sma == 0m) { Assert.AreEqual(0m, momp.Current.Value); } else { decimal abs = data - delay; decimal perc = abs / sma; Assert.AreEqual(perc, momp.Current.Value); } } }