private void AddNewSymbolExecute() { // Check if symbol already exists in TickDetailsMap if (_provider.IsSymbolLoaded(NewSymbol)) { // Select existing TickDetail SelectedTickDetail = TickDetailsCollection.First(x => x.Security.Symbol == NewSymbol); } else { // Create new tick detail's object MarketDataDetail tickDetail = new MarketDataDetail(new Security() { Symbol = NewSymbol }); // Add Tick Detail object to Provider's maps _provider.AddMarketDetail(tickDetail); // Select new tick detail in DataGrid SelectedTickDetail = tickDetail; // Create a new subscription request for requesting market data var subscriptionRequest = new SubscriptionRequest(tickDetail.Security, _provider, MarketDataType.Tick, SubscriptionType.Subscribe); // Raise Event to notify listeners EventSystem.Publish <SubscriptionRequest>(subscriptionRequest); } // Clear NewSymbol string NewSymbol = string.Empty; }
/// <summary> /// Remove all symbols from scanner /// </summary> public void RemoveAllSymbols() { foreach (MarketDataDetail marketDataDetail in TickDetailsCollection.ToList()) { // Create a new un-subscription request for requesting market data var unsubscriptionRequest = new SubscriptionRequest(marketDataDetail.Security, _provider, MarketDataType.Tick, SubscriptionType.Unsubscribe); // Raise Event to notify listeners EventSystem.Publish <SubscriptionRequest>(unsubscriptionRequest); _provider.RemoveMarketInformation(marketDataDetail.Security.Symbol); } }