public void naNValuesInIntervall() { List <IBar> bars = new List <IBar>(); for (long i = 10; i >= 0; i--) { // (10, NaN, 9, NaN, 8, NaN, 7, NaN) decimal minPrice = i % 2 == 0 ? i : Decimals.NaN; IBar bar = new BaseBar(DateTime.Now.AddDays(10 - i), Decimals.NaN, Decimals.NaN, minPrice, Decimals.NaN, Decimals.NaN); bars.Add(bar); } bars.Add(new BaseBar(DateTime.Now.AddDays(11), Decimals.NaN, Decimals.NaN, Decimals.TEN, Decimals.NaN, Decimals.NaN)); BaseTimeSeries series = new BaseTimeSeries("NaN test", bars); AroonDownIndicator aroonDownIndicator = new AroonDownIndicator(series, 5); for (int i = series.GetBeginIndex(); i <= series.GetEndIndex(); i++) { if (i % 2 != 0 && i < 11) { Assert.AreEqual(Decimals.NaN.ToString(), aroonDownIndicator.GetValue(i).ToString()); } else if (i < 11) { Assert.AreEqual(aroonDownIndicator.GetValue(i), Decimals.HUNDRED); } else { Assert.AreEqual(aroonDownIndicator.GetValue(i), 80); } } }
public void onlyNaNValues() { List <IBar> bars = new List <IBar>(); for (long i = 0; i <= 1000; i++) { IBar bar = new BaseBar(DateTime.Now.AddDays(i), Decimals.NaN, Decimals.NaN, Decimals.NaN, Decimals.NaN, Decimals.NaN); bars.Add(bar); } BaseTimeSeries series = new BaseTimeSeries("NaN test", bars); AroonDownIndicator aroonDownIndicator = new AroonDownIndicator(series, 5); for (int i = series.GetBeginIndex(); i <= series.GetEndIndex(); i++) { Assert.AreEqual(Decimals.NaN.ToString(), aroonDownIndicator.GetValue(i).ToString()); } }
public void upDownAndHigh() { AroonDownIndicator arronDownIndicator = new AroonDownIndicator(data, 5); Assert.AreEqual(arronDownIndicator.GetValue(19), 80); Assert.AreEqual(arronDownIndicator.GetValue(18), 100); Assert.AreEqual(arronDownIndicator.GetValue(17), 100); Assert.AreEqual(arronDownIndicator.GetValue(16), 0); Assert.AreEqual(arronDownIndicator.GetValue(15), 0); Assert.AreEqual(arronDownIndicator.GetValue(14), 0); Assert.AreEqual(arronDownIndicator.GetValue(13), 20); Assert.AreEqual(arronDownIndicator.GetValue(12), 40); Assert.AreEqual(arronDownIndicator.GetValue(11), 0); Assert.AreEqual(arronDownIndicator.GetValue(10), 0); Assert.AreEqual(arronDownIndicator.GetValue(9), 20); Assert.AreEqual(arronDownIndicator.GetValue(8), 40); Assert.AreEqual(arronDownIndicator.GetValue(7), 60); Assert.AreEqual(arronDownIndicator.GetValue(6), 80); Assert.AreEqual(arronDownIndicator.GetValue(5), 100); }