Example #1
0
        public void GetTrixTest()
        {
            IEnumerable <TrixResult> results = Indicator.GetTrix(history, 20, 5);

            // assertions

            // proper quantities
            // should always be the same number of results as there is history
            Assert.AreEqual(502, results.Count());
            Assert.AreEqual(445, results.Where(x => x.Ema3 != null).Count());
            Assert.AreEqual(444, results.Where(x => x.Trix != null).Count());
            Assert.AreEqual(440, results.Where(x => x.Signal != null).Count());

            // sample values
            TrixResult r1 = results.Where(x => x.Index == 502).FirstOrDefault();

            Assert.AreEqual(263.3216m, Math.Round((decimal)r1.Ema3, 4));
            Assert.AreEqual(-0.230742m, Math.Round((decimal)r1.Trix, 6));
            Assert.AreEqual(-0.204536m, Math.Round((decimal)r1.Signal, 6));

            TrixResult r2 = results.Where(x => x.Index == 250).FirstOrDefault();

            Assert.AreEqual(249.4469m, Math.Round((decimal)r2.Ema3, 4));
            Assert.AreEqual(0.121781m, Math.Round((decimal)r2.Trix, 6));
            Assert.AreEqual(0.119769m, Math.Round((decimal)r2.Signal, 6));

            TrixResult r3 = results.Where(x => x.Index == 68).FirstOrDefault();

            Assert.AreEqual(221.6320m, Math.Round((decimal)r3.Ema3, 4));
            Assert.AreEqual(0.055596m, Math.Round((decimal)r3.Trix, 6));
            Assert.AreEqual(0.063512m, Math.Round((decimal)r3.Signal, 6));
        }
Example #2
0
        public void Standard()
        {
            List <TrixResult> results = Indicator.GetTrix(history, 20, 5)
                                        .ToList();

            // assertions

            // proper quantities
            // should always be the same number of results as there is history
            Assert.AreEqual(502, results.Count);
            Assert.AreEqual(445, results.Where(x => x.Ema3 != null).Count());
            Assert.AreEqual(444, results.Where(x => x.Trix != null).Count());
            Assert.AreEqual(440, results.Where(x => x.Signal != null).Count());

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

            Assert.AreEqual(221.6320m, Math.Round((decimal)r1.Ema3, 4));
            Assert.AreEqual(0.055596m, Math.Round((decimal)r1.Trix, 6));
            Assert.AreEqual(0.063512m, Math.Round((decimal)r1.Signal, 6));

            TrixResult r2 = results[249];

            Assert.AreEqual(249.4469m, Math.Round((decimal)r2.Ema3, 4));
            Assert.AreEqual(0.121781m, Math.Round((decimal)r2.Trix, 6));
            Assert.AreEqual(0.119769m, Math.Round((decimal)r2.Signal, 6));

            TrixResult r3 = results[501];

            Assert.AreEqual(263.3216m, Math.Round((decimal)r3.Ema3, 4));
            Assert.AreEqual(-0.230742m, Math.Round((decimal)r3.Trix, 6));
            Assert.AreEqual(-0.204536m, Math.Round((decimal)r3.Signal, 6));
        }
Example #3
0
        public void Convergence()
        {
            foreach (int qty in convergeQuantities)
            {
                IEnumerable <Quote>      h = History.GetHistoryLong(140 + qty);
                IEnumerable <TrixResult> r = Indicator.GetTrix(h, 15);

                TrixResult l = r.LastOrDefault();
                Console.WriteLine("TRIX on {0:d} with {1,4} periods: {2:N8}",
                                  l.Date, h.Count(), l.Trix);
            }
        }
    public void Trix()
    {
        foreach (int qty in QuotesQuantities)
        {
            IEnumerable <Quote>      quotes = TestData.GetLongish(10 + qty);
            IEnumerable <TrixResult> r      = quotes.GetTrix(15);

            TrixResult l = r.LastOrDefault();
            Console.WriteLine(
                "TRIX on {0:d} with {1,4} periods: {2:N8}",
                l.Date, quotes.Count(), l.Trix);
        }
    }
Example #5
0
    public void Removed()
    {
        List <TrixResult> results = quotes.GetTrix(20, 5)
                                    .RemoveWarmupPeriods()
                                    .ToList();

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

        TrixResult last = results.LastOrDefault();

        Assert.AreEqual(263.3216m, Math.Round((decimal)last.Ema3, 4));
        Assert.AreEqual(-0.230742m, Math.Round((decimal)last.Trix, 6));
        Assert.AreEqual(-0.204536m, Math.Round((decimal)last.Signal, 6));
    }