public void Standard() { int lookbackPeriod = 20; List <CmfResult> results = Indicator.GetCmf(history, lookbackPeriod) .ToList(); // assertions // proper quantities Assert.AreEqual(502, results.Count); Assert.AreEqual(483, results.Where(x => x.Cmf != null).Count()); // sample values CmfResult r1 = results[49]; Assert.AreEqual(0.5468m, Math.Round(r1.MoneyFlowMultiplier, 4)); Assert.AreEqual(55609259m, Math.Round(r1.MoneyFlowVolume, 2)); Assert.AreEqual(0.350596m, Math.Round((decimal)r1.Cmf, 6)); CmfResult r2 = results[249]; Assert.AreEqual(0.7778m, Math.Round(r2.MoneyFlowMultiplier, 4)); Assert.AreEqual(36433792.89m, Math.Round(r2.MoneyFlowVolume, 2)); Assert.AreEqual(-0.040226m, Math.Round((decimal)r2.Cmf, 6)); CmfResult r3 = results[501]; Assert.AreEqual(0.8052m, Math.Round(r3.MoneyFlowMultiplier, 4)); Assert.AreEqual(118396116.25m, Math.Round(r3.MoneyFlowVolume, 2)); Assert.AreEqual(-0.123754m, Math.Round((decimal)r3.Cmf, 6)); }
public void Standard() { List <CmfResult> results = quotes.GetCmf(20).ToList(); // assertions // proper quantities Assert.AreEqual(502, results.Count); Assert.AreEqual(483, results.Where(x => x.Cmf != null).Count()); // sample values CmfResult r1 = results[49]; Assert.AreEqual(0.5468, Math.Round(r1.MoneyFlowMultiplier, 4)); Assert.AreEqual(55609259, Math.Round(r1.MoneyFlowVolume, 2)); Assert.AreEqual(0.350596, Math.Round((double)r1.Cmf, 6)); CmfResult r2 = results[249]; Assert.AreEqual(0.7778, Math.Round(r2.MoneyFlowMultiplier, 4)); Assert.AreEqual(36433792.89, Math.Round(r2.MoneyFlowVolume, 2)); Assert.AreEqual(-0.040226, Math.Round((double)r2.Cmf, 6)); CmfResult r3 = results[501]; Assert.AreEqual(0.8052, Math.Round(r3.MoneyFlowMultiplier, 4)); Assert.AreEqual(118396116.25, Math.Round(r3.MoneyFlowVolume, 2)); Assert.AreEqual(-0.123754, Math.Round((double)r3.Cmf, 6)); }
public void GetCmfTest() { int lookbackPeriod = 20; IEnumerable <CmfResult> results = Indicator.GetCmf(history, lookbackPeriod); foreach (CmfResult r in results) { Console.WriteLine("{0},{1:F4},{2:F2},{3:F6}", r.Index, r.MoneyFlowMultiplier, r.MoneyFlowVolume, r.Cmf); } // assertions // proper quantities Assert.AreEqual(502, results.Count()); Assert.AreEqual(483, results.Where(x => x.Cmf != null).Count()); // sample values CmfResult r1 = results.Where(x => x.Index == 502).FirstOrDefault(); Assert.AreEqual(0.8052m, Math.Round(r1.MoneyFlowMultiplier, 4)); Assert.AreEqual(118396116.25m, Math.Round(r1.MoneyFlowVolume, 2)); Assert.AreEqual(-0.123754m, Math.Round((decimal)r1.Cmf, 6)); CmfResult r2 = results.Where(x => x.Index == 250).FirstOrDefault(); Assert.AreEqual(0.7778m, Math.Round(r2.MoneyFlowMultiplier, 4)); Assert.AreEqual(36433792.89m, Math.Round(r2.MoneyFlowVolume, 2)); Assert.AreEqual(-0.040226m, Math.Round((decimal)r2.Cmf, 6)); CmfResult r3 = results.Where(x => x.Index == 50).FirstOrDefault(); Assert.AreEqual(0.5468m, Math.Round(r3.MoneyFlowMultiplier, 4)); Assert.AreEqual(55609259m, Math.Round(r3.MoneyFlowVolume, 2)); Assert.AreEqual(0.350596m, Math.Round((decimal)r3.Cmf, 6)); }
public void Removed() { List <CmfResult> results = quotes.GetCmf(20) .RemoveWarmupPeriods() .ToList(); // assertions Assert.AreEqual(502 - 19, results.Count); CmfResult last = results.LastOrDefault(); Assert.AreEqual(0.8052, Math.Round(last.MoneyFlowMultiplier, 4)); Assert.AreEqual(118396116.25, Math.Round(last.MoneyFlowVolume, 2)); Assert.AreEqual(-0.123754, Math.Round((double)last.Cmf, 6)); }
public void GetCmfTest() { int lookbackPeriod = 20; IEnumerable <CmfResult> results = Indicator.GetCmf(history, lookbackPeriod); // assertions // proper quantities // should always be the same number of results as there is history Assert.AreEqual(502, results.Count()); Assert.AreEqual(502 - lookbackPeriod + 1, results.Where(x => x.Cmf != null).Count()); // sample value CmfResult r = results.Where(x => x.Date == DateTime.Parse("12/31/2018")).FirstOrDefault(); Assert.AreEqual((decimal)0.8052, Math.Round(r.MoneyFlowMultiplier, 4)); Assert.AreEqual((decimal)118396116.25, Math.Round(r.MoneyFlowVolume, 2)); Assert.AreEqual((decimal) - 20257893.60, Math.Round((decimal)r.Cmf, 2)); }