Esempio n. 1
0
        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));
        }
Esempio n. 2
0
    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));
    }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
    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));
        }