public SmartOrderRoutingEngine(IProvideMarkets provideMarkets, ICanRouteOrders canRouteOrders, ICanReceiveMarketData canReceiveMarketData)
 {
     this.provideMarkets = provideMarkets;
     this.canRouteOrders = canRouteOrders;
     this.canReceiveMarketData = canReceiveMarketData;
     var availableMarkets = provideMarkets.GetAvailableMarkets();
     this.markets = availableMarkets.ToDictionary(market => market, market => market);
     this.marketSnapshotProvider = new MarketSnapshotProvider(availableMarkets, canReceiveMarketData);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="MarketSweepSolver"/> class.
 /// </summary>
 /// <param name="markets">The market information.</param>
 public MarketSweepSolver(MarketSnapshotProvider marketSnapshotProvider)
 {
     this.marketSnapshotProvider = marketSnapshotProvider;
 }