public static void Init(this FinancialCalculator calculator, DataFeed dataFeed) { if (calculator == null) { throw new ArgumentNullException("calculator"); } if (dataFeed == null) { throw new ArgumentNullException("dataFeed"); } var symbols = new SymbolInfo[0]; try { calculator.Currencies.Clear(); calculator.Symbols.Clear(); symbols = dataFeed.Server.GetSymbols(); dataFeed.Server.SubscribeToQuotes(symbols.Select(s => s.Name), 1); InitializeCalculator(calculator, dataFeed, symbols); } finally { dataFeed.Server.UnsubscribeQuotes(symbols.Select(symbol => symbol.Name)); } }