Ejemplo n.º 1
0
        public void Bitcoin()
        {
            IEnumerable<Quote> h = HistoryTestData.GetBitcoin();
            List<SuperTrendResult> results = Indicator.GetSuperTrend(h, 10, 3)
                .ToList();
            Assert.AreEqual(1246, results.Count);

            SuperTrendResult r = results[1208];
            Assert.AreEqual(16242.2704m, Math.Round((decimal)r.LowerBand, 4));
        }
Ejemplo n.º 2
0
        public void Standard()
        {
            int     lookbackPeriod = 14;
            decimal multiplier     = 3;

            List <SuperTrendResult> results = Indicator.GetSuperTrend(history, lookbackPeriod, multiplier)
                                              .ToList();

            // assertions

            // proper quantities
            // should always be the same number of results as there is history
            Assert.AreEqual(502, results.Count);
            Assert.AreEqual(489, results.Where(x => x.SuperTrend != null).Count());

            // sample values
            SuperTrendResult r1 = results[12];

            Assert.AreEqual(null, r1.SuperTrend);
            Assert.AreEqual(null, r1.UpperBand);
            Assert.AreEqual(null, r1.LowerBand);

            SuperTrendResult r2 = results[13];

            Assert.AreEqual(209.5436m, Math.Round((decimal)r2.SuperTrend, 4));
            Assert.AreEqual(null, r2.UpperBand);
            Assert.AreEqual(r2.SuperTrend, r2.LowerBand);

            SuperTrendResult r3 = results[151];

            Assert.AreEqual(232.8519m, Math.Round((decimal)r3.SuperTrend, 4));
            Assert.AreEqual(null, r3.UpperBand);
            Assert.AreEqual(r3.SuperTrend, r3.LowerBand);

            SuperTrendResult r4 = results[152];

            Assert.AreEqual(237.6436m, Math.Round((decimal)r4.SuperTrend, 4));
            Assert.AreEqual(r4.SuperTrend, r4.UpperBand);
            Assert.AreEqual(null, r4.LowerBand);

            SuperTrendResult r5 = results[249];

            Assert.AreEqual(253.8008m, Math.Round((decimal)r5.SuperTrend, 4));
            Assert.AreEqual(null, r5.UpperBand);
            Assert.AreEqual(r5.SuperTrend, r5.LowerBand);

            SuperTrendResult r6 = results[501];

            Assert.AreEqual(250.7954m, Math.Round((decimal)r6.SuperTrend, 4));
            Assert.AreEqual(r6.SuperTrend, r6.UpperBand);
            Assert.AreEqual(null, r6.LowerBand);
        }
Ejemplo n.º 3
0
    public void Removed()
    {
        int    lookbackPeriods = 14;
        double multiplier      = 3;

        List <SuperTrendResult> results =
            quotes.GetSuperTrend(lookbackPeriods, multiplier)
            .RemoveWarmupPeriods()
            .ToList();

        // assertions
        Assert.AreEqual(489, results.Count);

        SuperTrendResult last = results.LastOrDefault();

        Assert.AreEqual(250.7954m, Math.Round((decimal)last.SuperTrend, 4));
        Assert.AreEqual(last.SuperTrend, last.UpperBand);
        Assert.AreEqual(null, last.LowerBand);
    }