День добры всем!
У меня возникла проблема, изучаю S# (и параллельно C#, может поэтому до чего то не догоняю).
Есть простой код:
Код
namespace SampleSmartConsole
{
	using System;
	using System.Linq;
	using System.Threading;
	using Ecng.Collections;
	using Ecng.Common;
	using StockSharp.BusinessEntities;
	using StockSharp.Smart;
	using StockSharp.Algo;
        using MainSms;
	class Program
	{
		private static Security _rts;
		private static Portfolio _portfolio;
                private static Security _instrument;
                private static MarketDepth _depth;
                private static Position _position;
        
 
		static void Main()
		{
			try
			{
				сonst string secCode = "RIU3";
				var login = "*****";
				var password = "*****";
				var account = "*********";
				using (var waitHandle = new AutoResetEvent(false))
				{
					// создаем шлюз к Smart-у
                                        using (var trader = new SmartTrader(login, password))
					{
						// подписываемся на событие успешного подключения
						// все действия необходимо производить только после подключения
						trader.Connected += () =>
						{
							Console.WriteLine("Подключение было произведено успешно.");
							// извещаем об успешном соединени
							waitHandle.Set();
						};
						Console.WriteLine("Производим подключение...");
						trader.Connect();
						// дожидаемся события об успешном соединении
						waitHandle.WaitOne();
						// подписываемся на все портфели-счета
						trader.NewPortfolios += portfolios =>
						{
							// необходимое условие работы в SmartCOM
							portfolios.ForEach(trader.RegisterPortfolio);
							if (_portfolio == null)
							{
								// находим нужный портфель и присваиваем его переменной _portfolio
								_portfolio = portfolios.FirstOrDefault(p => p.Name == account);
								if (_portfolio != null)
								{
									Console.WriteLine("Портфель {0} появился.", account);
									if (_rts != null)
									waitHandle.Set();
								}
							}
						};
						// подписываемся на событие появление инструментов
						trader.NewSecurities += securities =>
						{
                                                  if (_rts == null)
							{
						          // находим RTS и присваиваем ее переменной _rts
                                                          _rts = securities.FirstOrDefault(sec => sec.Code == secCode && sec.Type == SecurityTypes.Future);
                                                           if (_rts != null)
								{
									Console.WriteLine("Инструмент RTS появился.");
                                                                       // запускаем экспорт стакана
                                                                        trader.RegisterMarketDepth(_rts);
									if (_portfolio != null)
										waitHandle.Set();
								}
							}
						};
                        // подписываемся на событие обновления стакана
                        trader.MarketDepthsChanged += depths =>
                        {
                            if (_depth == null && _instrument != null)
                            {
                                _depth = depths.FirstOrDefault(d => d.Security == _instrument);
                                if (_depth != null)
                                {
                                    Console.WriteLine("Стакан появился.");
                                    if (_portfolio != null && _position != null)
                                        waitHandle.Set();
                                }
                            }
                        };
                        
						// подписываемся на событие появления моих новых сделок
						trader.NewMyTrades += myTrades =>
						{
							foreach (var myTrade in myTrades)
							{
							  var trade = myTrade.Trade;
							  Console.WriteLine("Сделка {0} по цене {1} по бумаге {2} по объему {3} в {4}.", trade.Id, trade.Price, trade.Security.Code, trade.Volume, trade.Time);
							}
						};
						Console.WriteLine("Дожидаемся появления в программе инструмента RTS и портфеля {0}...".Put(account));
						// запускаем экспорт по инструментам и портфелям
						trader.StartExport();
						// дожидаемся появления портфеля и инструмента
						waitHandle.WaitOne();
						trader.SecuritiesChanged += securities =>
						{
							// если инструмент хоть раз изменился (по нему пришли актуальные данные)
                                                                if (securities.Contains(_rts))
								waitHandle.Set();
						};
						Console.WriteLine("Дожидаемся обновления данных по инструменту RTS...");
						// запускаем обновление по инструменту
                                                trader.RegisterSecurity(_rts);
                                              
						waitHandle.WaitOne();
                        while (true)
                        {
                            MarketDepth x = new MarketDepth (_rts);
                            var totb = x.TotalBidsVolume;
                            var tota = x.TotalAsksVolume;
                         
                            Console.WriteLine("общий объем bid {0}", totb);
                            Console.WriteLine("общий объем ask {0}", tota);
                            Thread.Sleep(1000);
                        }
                        // останавливаем экспорт
                        trader.StopExport();
                        Console.WriteLine("StopExport");
                        Console.ReadKey();
						}
					}
				}
		    catch (Exception ex)
            {
                Console.WriteLine(ex);
                Console.WriteLine("catch");
                Console.ReadKey();
            }
		}
	}
}
 Но он не работает, вроде все на месте, но выдает сплошные нули. Помогите разобраться, а то уже 3 день из головы кактусы....