Exemplo n.º 1
0
        public void Indicators_WilderMA_test()
        {
            List <Bar> bars = new List <Bar>();

            bars.Add(new Bar(new DateTime(2013, 10, 24, 11, 0, 0), 32066, 32066, 31922, 31931, 100));
            bars.Add(new Bar(new DateTime(2013, 10, 24, 12, 0, 0), 31931, 31970, 31922, 31965, 100));
            bars.Add(new Bar(new DateTime(2013, 10, 24, 13, 0, 0), 31966, 31985, 31958, 31971, 100));
            bars.Add(new Bar(new DateTime(2013, 10, 24, 14, 0, 0), 31972, 31999, 31969, 31979, 100));
            bars.Add(new Bar(new DateTime(2013, 10, 24, 15, 0, 0), 31980, 31982, 31957, 31967, 100));
            bars.Add(new Bar(new DateTime(2013, 10, 24, 16, 0, 0), 31970, 31977, 31961, 31970, 100));
            bars.Add(new Bar(new DateTime(2013, 10, 24, 17, 0, 0), 31970, 32000, 31946, 31990, 100));

            IEnumerable <double> source = bars.Select(b => b.Close);

            IEnumerable <double> result = WilderMA.Values(source, 5);

            Assert.AreEqual(7, result.Count());

            Assert.AreEqual(0, result.ElementAt(0));
            Assert.AreEqual(0, result.ElementAt(1));
            Assert.AreEqual(0, result.ElementAt(2));
            Assert.AreEqual(0, result.ElementAt(3));
            Assert.AreEqual(31962.6, result.ElementAt(4));
            Assert.AreEqual(31964.08, Math.Round(result.ElementAt(5), 2));
            Assert.AreEqual(31969.264, Math.Round(result.ElementAt(6), 3));
        }