"Рабочая" версия SampleSmartConsole не получает инструмент и портфель
							
							
						 
						
						
						
						
	
			Приветствую, недавно закончил курс "Базовый" по S#, пытаюсь довести до ума пример SampleSmartConsole, но выполнение програмы останавливается после сообщения  "Дожидаемся появления в программе инструмента RIH и портфеля "
Хотелось бы узнать где ошибка в этом коде и по какому алгоритму самому определять подобные моменты.
Код
using System;
using System.Net;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using StockSharp.Algo;
using StockSharp.BusinessEntities;
using StockSharp.Smart;
using System.Threading;
using Ecng.Collections;
using Ecng.Common;
using StockSharp.Algo.Candles;
namespace MyFirstBot
{
    class Program
    {
        static string login = "Мой логин";
        static string password = "QKVDBU";
        public static Portfolio portfolio;
        public static Security secObject;
        static string sec;
        private StockSharp.Algo.Candles.CandleManager _candleManager;
        private TimeSpan _candleWidth;
        private SmartTrader trader;
        const string secCode = "RIH2";
        const string account = "Мой счет";
        static string ipAddress = "62.141.86.229";
        static System.Net.IPAddress addr = System.Net.IPAddress.Parse(ipAddress);
        static System.Net.IPEndPoint server = new System.Net.IPEndPoint(addr, 8090);
        static void Main()
        {
            try
            {
                var trader = new SmartTrader(login, password, server);
                var waitHandle = new AutoResetEvent(false);
                trader.Connected += () =>
                {
                    Console.WriteLine("Подключение было произведено успешно.");
                   waitHandle.Set();
                };
                Console.WriteLine("Производим подключение...");
                trader.Connect();
   
                waitHandle.WaitOne();
                trader.NewPortfolios += portfolios =>
                {
                    // необходимое условие работы в SmartCOM
                    portfolios.ForEach(trader.RegisterPortfolio);
                    if (portfolio == null)
                    {
                       
                        portfolio = portfolios.FirstOrDefault(p => p.Name == account);
                        if (portfolio != null)
                        {
                            Console.WriteLine("Портфель {0} появился.", account);
                            if (secObject != null)
                                waitHandle.Set();
                        }
                    }
                };
               
                trader.NewSecurities += securities =>
                        {
                            if (secObject == null)
                            {
                                
                                secObject = securities.FirstOrDefault(sec => sec.Code == secCode && sec.Type == SecurityTypes.Equity);
                                if (secObject != null)
                                {
                                    Console.WriteLine("Инструмент RIH2 появился.");
                                    if (portfolio != null)
                                        waitHandle.Set();
                                }
                            }
                        };
                Console.WriteLine("Дожидаемся появления в программе инструмента RIH и портфеля {0}...".Put(account));
                // запускаем экспорт по инструментам и портфелям
                trader.StartExport();
                // дожидаемся появления портфеля и инструмента
                waitHandle.WaitOne();
                trader.SecuritiesChanged += securities =>
                {
                    // если инструмент хоть раз изменился (по нему пришли актуальные данные)
                    if (securities.Contains(secObject))
                        waitHandle.Set();
                };
                Console.WriteLine("Дожидаемся обновления данных по инструменту RIH2...");
                trader.RegisterSecurity(secObject);
                waitHandle.WaitOne();
          }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                
            }
            Console.ReadKey();
        }
    
    }
}