Не получается добавить стакан, SmartTrader

Не получается добавить стакан, SmartTrader
Atom
1/20/2016
d.guryev


Всем привет! Нужна ваша помощь. Никак не справлюсь. Делаю по аналогии, но не получается. Задача состоит в том, чтобы получить стакан по инструменту. Код ниже (проблем с получением инструмента нет). Подскажите, пж-ста, в чем ошибка. Заранее благодарю

                    using (var trader = new SmartTrader { Login = login, Password = password, Address = SmartComAddresses.Matrix })
                    {
                       
                        trader.Connected += () =>
                        {
                            Console.WriteLine(LocalizedStrings.Str2169);

                            waitHandle.Set();
                        };

                        Console.WriteLine(LocalizedStrings.Str2170);

                        trader.Connect();

                        waitHandle.WaitOne();

                        trader.NewSecurities += securities =>
                        {
                            if (_sec == null)
                            {
                                _sec = securities.FirstOrDefault(sec => sec.Code == secCode && sec.Type == SecurityTypes.Future);

                                if (_sec != null)
                                {
                                    Console.WriteLine(_sec.Code + " инструмент нашелся");
                                    waitHandle.Set();
                                }
                            }
                        };
                        
                        waitHandle.WaitOne();
                      

                        trader.NewMarketDepths += depths =>
                        {
                            if (_depth == null)
                            {

                                _depth = depths.FirstOrDefault(d => d.Security == _sec);

                                if (_depth != null)
                                {
                                    Console.WriteLine(_sec.Code + " стакан нашелся");
                                    waitHandle.Set();
                                }
                            }
                        };

                       
                        waitHandle.WaitOne();
                        
                    }

Tags:


Thanks:


orphan

Avatar
Date: 1/21/2016
Reply


Наверное забыл подписаться


if (_sec != null)
{
    Debug.WriteLine(_sec.Code + " инструмент нашелся");
    trader.RegisterMarketDepth(_sec);
}

Thanks:

d.guryev

Avatar
Date: 1/25/2016
Reply


orphan: Наверное забыл подписаться

if (_sec != null) { Debug.WriteLine(_sec.Code + " инструмент нашелся"); trader.RegisterMarketDepth(_sec); }


Спасибо за ответ. Сделал как ты сказал, потом подписался на событие MarketDepthsChanged. Стакан в итоге получил. Никак не возьму в толк, для чего используется NewMarketDepths?
Thanks:

orphan

Avatar
Date: 1/26/2016
Reply


d.guryev: Никак не возьму в толк, для чего используется NewMarketDepths?

Хороший вопрос, стакан в нем все равно не приходит )

Thanks:

d.guryev

Avatar
Date: 1/27/2016
Reply


orphan:

d.guryev: Никак не возьму в толк, для чего используется NewMarketDepths?

Хороший вопрос, стакан в нем все равно не приходит )

В старинных версиях S# был метод StartExport, после которого получалось получить стакан через NewMarketDepths. В этой версии логика изменилась.

Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy