public void TripleEma()
    {
        foreach (int qty in QuotesQuantities)
        {
            IEnumerable <Quote>      quotes = TestData.GetLongish(10 + qty);
            IEnumerable <TemaResult> r      = quotes.GetTripleEma(15);

            TemaResult l = r.LastOrDefault();
            Console.WriteLine(
                "TEMA on {0:d} with {1,4} periods: {2:N8}",
                l.Date, quotes.Count(), l.Tema);
        }
    }
示例#2
0
    public void Removed()
    {
        List <TemaResult> results = quotes.GetTripleEma(20)
                                    .RemoveWarmupPeriods()
                                    .ToList();

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

        TemaResult last = results.LastOrDefault();

        Assert.AreEqual(238.7690m, Math.Round((decimal)last.Tema, 4));
    }
示例#3
0
    public void Standard()
    {
        List <TemaResult> results = quotes.GetTripleEma(20).ToList();

        // assertions

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

        // sample values
        TemaResult r1 = results[67];

        Assert.AreEqual(222.9105m, Math.Round((decimal)r1.Tema, 4));

        TemaResult r2 = results[249];

        Assert.AreEqual(258.6208m, Math.Round((decimal)r2.Tema, 4));

        TemaResult r3 = results[501];

        Assert.AreEqual(238.7690m, Math.Round((decimal)r3.Tema, 4));
    }