Пример #1
0
        public void Strength_Buy50Sell100_ReturnsNeutral25()
        {
            var combinedSignal = new DefensiveCombinedSignal(new BuySignal(50), new SellSignal(100));

            var expectedSignal = new NeutralSignal(25);

            Assert.That(combinedSignal, Is.EqualTo(expectedSignal));
        }
Пример #2
0
        public void Strength_Buy100Neutral0_ReturnsNeutral100()
        {
            var combinedSignal = new DefensiveCombinedSignal(new BuySignal(100), new NeutralSignal(0));

            var expectedSignal = new NeutralSignal(100);

            Assert.That(combinedSignal, Is.EqualTo(expectedSignal));
        }
Пример #3
0
        public void Strength_Sell0Neutral100_ReturnsNeutral50()
        {
            var combinedSignal = new OffensiveCombinedSignal(new SellSignal(0), new NeutralSignal(100));

            var expectedSignal = new NeutralSignal(50);

            Assert.That(combinedSignal, Is.EqualTo(expectedSignal));
        }
Пример #4
0
            protected Signal GetCurrentSignal(ISignalSeries signals, IPriceSeries indicatorPoints)
            {
                if (indicatorPoints.Last().Time < Context.DateUnderAnalysis)
                {
                    // no data for the DUA
                    return(Signal.None);
                }

                // we had data so default is "neutral"
                Signal currentSignal = new NeutralSignal();

                var currentTimedSignal = signals.FirstOrDefault(s => s.Time == Context.DateUnderAnalysis);

                if (currentTimedSignal != null)
                {
                    // found a "better" signal for the DUA - take this one
                    currentSignal = currentTimedSignal.Value;
                }

                return(currentSignal);
            }
Пример #5
0
        public void NeutralSignal_WhenCreated_StrengthIs50()
        {
            var signal = new NeutralSignal();

            Assert.That(signal.Strength.Value, Is.EqualTo(50));
        }