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); } } }
public void ComputesCorrectly() { var momp = new MomentumPercent(50); double epsilon = 1e-3; TestHelper.TestIndicator(momp, "spy_with_rocp50.txt", "Rate of Change % 50", (ind, expected) => Assert.AreEqual(expected, (double)ind.Current.Value, epsilon)); }