Пример #1
0
        public void HandlesEqualMinAndMax()
        {
            var reference   = DateTime.Now;
            var stochastics = new Stochastic("sto", 2, 2, 2);

            for (var i = 0; i < 4; i++)
            {
                var bar = new TradeBar(reference.AddSeconds(i), Symbols.SPY, 1, 1, 1, 1, 1);
                stochastics.Update(bar);
                Assert.AreEqual(0m, stochastics.Current.Value);
            }
        }
Пример #2
0
        public void HandlesEqualMinAndMax()
        {
            var reference   = new DateTime(2015, 09, 01);
            var stochastics = new Stochastic("sto", 2, 2, 2);

            for (int i = 0; i < 4; i++)
            {
                var bar = new TradeBar {
                    Time = reference.AddSeconds(i)
                };
                bar.Open = bar.Close = bar.High = bar.Low = bar.Volume = 1;
                stochastics.Update(bar);
                Assert.AreEqual(0m, stochastics.Current.Value);
            }
        }
Пример #3
0
        protected override decimal ComputeNextValue(TradeBar input)
        {
            _stochastic.Update(input);
            _maximum.Update(input.Time, _stochastic);
            _mininum.Update(input.Time, _stochastic);

            if (IsReady)
            {
                Smoothed.Update(input);
            }

            _prevStochastic = Smoothed;

            return(Smoothed * 100);
        }
Пример #4
0
        public void ResetsProperly()
        {
            var stochastics = new Stochastic("sto", 12, 3, 5);

            foreach (var bar in TestHelper.GetTradeBarStream("spy_with_stoch12k3.txt", false))
            {
                stochastics.Update(bar);
            }
            Assert.IsTrue(stochastics.IsReady);
            Assert.IsTrue(stochastics.FastStoch.IsReady);
            Assert.IsTrue(stochastics.StochK.IsReady);
            Assert.IsTrue(stochastics.StochD.IsReady);

            stochastics.Reset();

            TestHelper.AssertIndicatorIsInDefaultState(stochastics);
            TestHelper.AssertIndicatorIsInDefaultState(stochastics.FastStoch);
            TestHelper.AssertIndicatorIsInDefaultState(stochastics.StochK);
            TestHelper.AssertIndicatorIsInDefaultState(stochastics.StochD);
        }