public void Offline() { ProviderManager.NewBar -= new BarEventHandler(this.OnNewBar); ProviderManager.NewBarOpen -= new BarEventHandler(this.OnNewBarOpen); ProviderManager.NewTrade -= new TradeEventHandler(this.OnNewTrade); ProviderManager.NewQuote -= new QuoteEventHandler(this.OnNewQuote); ProviderManager.NewMarketDepth -= new MarketDepthEventHandler(this.OnNewMarketDepth); ProviderManager.NewFundamental -= new FundamentalEventHandler(this.OnNewFundamental); ProviderManager.NewCorporateAction -= new CorporateActionEventHandler(this.OnNewCorporateAction); ProviderManager.NewBarSlice -= new BarSliceEventHandler(this.OnNewBarSlice); foreach (KeyValuePair <IMarketDataProvider, Dictionary <Instrument, List <string> > > current in this.requests) { IMarketDataProvider key = current.Key; if (key.BarFactory != null) { key.BarFactory.Reset(); } foreach (KeyValuePair <Instrument, List <string> > current2 in current.Value) { Instrument key2 = current2.Key; foreach (string current3 in current2.Value) { if (current3 == null) { key2.CancelMarketData(key, (MarketDataType)3); } else { key2.CancelMarketData(key, (MarketDataType)3, current3); } } } } }
public void CancelMarketData(IMarketDataProvider provider, Instrument instrument, MarketDataType mdType, string suffix) { if (this.useMessageLoop) { this.form.Invoke((Action)(() => instrument.CancelMarketData(provider, mdType, suffix))); } else { instrument.CancelMarketData(provider, mdType, suffix); } }