コード例 #1
0
    public void Standard()
    {
        List <DemaResult> results = quotes.GetDoubleEma(20)
                                    .ToList();

        // assertions

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

        // sample values
        DemaResult r1 = results[51];

        Assert.AreEqual(226.0011m, Math.Round((decimal)r1.Dema, 4));

        DemaResult r2 = results[249];

        Assert.AreEqual(258.4452m, Math.Round((decimal)r2.Dema, 4));

        DemaResult r3 = results[501];

        Assert.AreEqual(241.1677m, Math.Round((decimal)r3.Dema, 4));
    }
コード例 #2
0
    public void DoubleEma()
    {
        foreach (int qty in QuotesQuantities)
        {
            IEnumerable <Quote>      quotes = TestData.GetLongish(qty);
            IEnumerable <DemaResult> r      = quotes.GetDoubleEma(15);

            DemaResult l = r.LastOrDefault();
            Console.WriteLine(
                "DEMA(15) on {0:d} with {1,4} periods: {2:N8}",
                l.Date, quotes.Count(), l.Dema);
        }
    }
コード例 #3
0
    public void Removed()
    {
        List <DemaResult> results = quotes.GetDoubleEma(20)
                                    .RemoveWarmupPeriods()
                                    .ToList();

        // assertions
        Assert.AreEqual(502 - ((2 * 20) + 100), results.Count);

        DemaResult last = results.LastOrDefault();

        Assert.AreEqual(241.1677m, Math.Round((decimal)last.Dema, 4));
    }