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


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


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

Code
                    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:




4 Answers
orphan

Avatar
Date: 1/21/2016
Reply


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

Code

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

d.guryev

Avatar
Date: 1/25/2016
Reply


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

Code

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


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

orphan

Avatar
Date: 1/26/2016
Reply


d.guryev Go to

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


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

d.guryev

Avatar
Date: 1/27/2016
Reply


orphan Go to
d.guryev Go to

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


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


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


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

loading
clippy