Пример #1
0
        public void SingleTimeframeSignalAdvisor_GeneratesBuySignal()
        {
            //Arrange
            var feeder    = new ManualPriceFeeder(new MockFeedProvider());
            var forexPair = new TickerSymbol("EURUSD");
            var timeFrame = new TimeframeUnit(TimeframeOption.M1);

            var feedService     = new PriceFeedService(feeder);
            var signalTimeframe = feedService.Setup(forexPair, timeFrame, OHLCPriceOption.All);

            var signalAdvisor = new SingleTimeframeSignalAdvisor(signalTimeframe);

            signalAdvisor.Subscribe(feedService);

            feedService.Start();

            var position = PositionOption.None;

            signalAdvisor.Buy   += delegate(int strength) { position = PositionOption.Buy; };
            signalAdvisor.Sell  += delegate(int strength) { position = PositionOption.Sell; };
            signalAdvisor.Close += delegate() { position = PositionOption.None; };

            //Act
            feeder.MinutePriceAction(signalTimeframe, new PriceBar(DateTime.Now.Ticks, 1, 2, 3, 11));

            //Assert
            Assert.AreEqual(PositionOption.Buy, position);
            Assert.AreEqual(signalAdvisor.Position, PositionOption.Buy);
            Assert.AreEqual(100, signalAdvisor.PositionStrength);
        }
Пример #2
0
        public static PriceFeedService MockManualPriceFeedService()
        {
            var mockFeedProvider = MockObjectFactory.MockFeedProvider();

            var manualFeed = new ManualPriceFeeder(mockFeedProvider);

            return(new PriceFeedService(manualFeed));
        }