示例#1
0
        public void Convergence()
        {
            foreach (int qty in convergeQuantities)
            {
                IEnumerable <Quote>     h = HistoryTestData.GetLong(100 + qty);
                IEnumerable <HtlResult> r = Indicator.GetHtTrendline(h);

                HtlResult l = r.LastOrDefault();
                Console.WriteLine("HTL on {0:d} with {1,4} periods: {2:N8}",
                                  l.Date, h.Count(), l.Trendline);
            }
        }
    public void HtTrendline()
    {
        foreach (int qty in QuotesQuantities)
        {
            IEnumerable <Quote>     quotes = TestData.GetLongish(qty);
            IEnumerable <HtlResult> r      = quotes.GetHtTrendline();

            HtlResult l = r.LastOrDefault();
            Console.WriteLine(
                "HTL on {0:d} with {1,4} periods: {2:N8}",
                l.Date, quotes.Count(), l.Trendline);
        }
    }
示例#3
0
    public void Removed()
    {
        List <HtlResult> results = quotes.GetHtTrendline()
                                   .RemoveWarmupPeriods()
                                   .ToList();

        // assertions
        Assert.AreEqual(502 - 100, results.Count);

        HtlResult last = results.LastOrDefault();

        Assert.AreEqual(252.2172m, Math.Round((decimal)last.Trendline, 4));
        Assert.AreEqual(242.3435m, Math.Round((decimal)last.SmoothPrice, 4));
    }
示例#4
0
        public void Standard()
        {
            List <HtlResult> results = Indicator.GetHtTrendline(history)
                                       .ToList();

            // assertions

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

            // sample values
            HtlResult r1 = results[5];

            Assert.AreEqual(214.205m, r1.Trendline);
            Assert.AreEqual(null, r1.SmoothPrice);

            HtlResult r2 = results[6];

            Assert.AreEqual(213.84m, r2.Trendline);
            Assert.AreEqual(214.071m, r2.SmoothPrice);

            HtlResult r3 = results[11];

            Assert.AreEqual(213.9502m, Math.Round((decimal)r3.Trendline, 4));
            Assert.AreEqual(213.8460m, Math.Round((decimal)r3.SmoothPrice, 4));

            HtlResult r4 = results[25];

            Assert.AreEqual(215.3948m, Math.Round((decimal)r4.Trendline, 4));
            Assert.AreEqual(216.3365m, Math.Round((decimal)r4.SmoothPrice, 4));

            HtlResult r5 = results[149];

            Assert.AreEqual(233.9410m, Math.Round((decimal)r5.Trendline, 4));
            Assert.AreEqual(235.8570m, Math.Round((decimal)r5.SmoothPrice, 4));

            HtlResult r6 = results[249];

            Assert.AreEqual(253.8788m, Math.Round((decimal)r6.Trendline, 4));
            Assert.AreEqual(257.5825m, Math.Round((decimal)r6.SmoothPrice, 4));

            HtlResult r7 = results[501];

            Assert.AreEqual(252.2172m, Math.Round((decimal)r7.Trendline, 4));
            Assert.AreEqual(242.3435m, Math.Round((decimal)r7.SmoothPrice, 4));
        }