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)); }
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)); }
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); } }
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)); }