Beispiel #1
0
        public void TestDivByZero()
        {
            var cmf = new ChaikinMoneyFlow("CMF", 3);

            foreach (var data in TestHelper.GetDataStream(4))
            {
                // Should handle High = Low case by returning 0m.
                var tradeBar = new TradeBar
                {
                    Open   = data.Value,
                    Close  = data.Value,
                    High   = 1,
                    Low    = 1,
                    Volume = 1
                };
                cmf.Update(tradeBar);
            }
            Assert.AreEqual(cmf.Current.Value, 0m);
        }
Beispiel #2
0
        public void TestTradeBarsWithNoVolume()
        {
            // As volume is a multiplier in numerator, should return default value 0m.
            var cmf = new ChaikinMoneyFlow("CMF", 3);

            foreach (var data in TestHelper.GetDataStream(4))
            {
                var tradeBar = new TradeBar
                {
                    Open   = data.Value,
                    Close  = data.Value,
                    High   = data.Value,
                    Low    = data.Value,
                    Volume = 0
                };
                cmf.Update(tradeBar);
            }
            Assert.AreEqual(cmf.Current.Value, 0m);
        }