Beispiel #1
0
        public void CreateTest()
        {
            var unit = new SignalFactoryWrapper();

            var fakeAlgorithm = (QCAlgorithm)FormatterServices.GetUninitializedObject(typeof(QCAlgorithm));

            var fakeSymbol = Symbol.Create("ABCXYZ", SecurityType.Equity, Market.USA);

            fakeAlgorithm.SubscriptionManager = new SubscriptionManagerWrapper(fakeSymbol, null, null);

            //todo: remaining indicators
            var expectedEntry = new[] { "None", "SimpleMovingAverage", "MovingAverageConvergenceDivergence", "Stochastic", "RelativeStrengthIndex" };

            var expectedExit = new[] { "CommodityChannelIndex", "MomentumPercent", "WilliamsPercentR", "PercentagePriceOscillator", "AverageDirectionalIndex" };

            var actual = unit.Create(fakeAlgorithm, fakeSymbol, true);

            Assert.AreEqual(Operator.And, actual.List.First().Operator);
            Assert.AreEqual(Operator.Or, actual.List.First().Child.Operator);
            Assert.AreEqual(Operator.OrInclusive, actual.List.First().Child.Child.Operator);
            Assert.AreEqual(Operator.Not, actual.List.First().Child.Child.Child.Operator);

            CollectionAssert.AreEquivalent(expectedEntry, actual.List.Select(l => l.Name));

            actual = unit.Create(fakeAlgorithm, fakeSymbol, false);

            Assert.AreEqual(Operator.Nor, actual.List.First().Operator);
            Assert.AreEqual(Operator.NorInclusive, actual.List.First().Child.Operator);
            Assert.AreEqual(Operator.And, actual.List.First().Child.Child.Operator);
            Assert.AreEqual(Operator.Or, actual.List.First().Child.Child.Child.Operator);

            CollectionAssert.AreEquivalent(expectedExit, actual.List.Select(l => l.Name));
        }
Beispiel #2
0
        public void CreateTest()
        {
            var unit = new SignalFactoryWrapper();

            var fakeAlgorithm = (QCAlgorithm)FormatterServices.GetUninitializedObject(typeof(QCAlgorithm));

            var fakeSymbol = Symbol.Create("ABCXYZ", SecurityType.Equity, Market.USA);

            var actual = unit.Create(fakeAlgorithm, fakeSymbol, true);

            Assert.AreEqual(Operator.And, actual.List.First().Operator);
            Assert.AreEqual(Operator.Or, actual.List.First().Child.Operator);
            Assert.AreEqual(Operator.OrInclusive, actual.List.First().Child.Child.Operator);
            Assert.AreEqual(Operator.Not, actual.List.First().Child.Child.Child.Operator);

            actual = unit.Create(fakeAlgorithm, fakeSymbol, false);

            Assert.AreEqual(Operator.Nor, actual.List.First().Operator);
            Assert.AreEqual(Operator.NorInclusive, actual.List.First().Child.Operator);
            Assert.AreEqual(Operator.And, actual.List.First().Child.Child.Operator);
            Assert.AreEqual(Operator.Or, actual.List.First().Child.Child.Child.Operator);
        }