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

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


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

[code=csharp] using (var trader = new SmartTrader ) {

                    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();
                    
                }[/code]

Теги:


Спасибо:


orphan

Фотография
Дата: 21.01.2016
Ответить


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

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

Спасибо:

d.guryev

Фотография
Дата: 25.01.2016
Ответить


[quote=orphan;34172]Наверное забыл подписаться

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

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

Спасибо:

orphan

Фотография
Дата: 26.01.2016
Ответить


[quote=d.guryev;34186] Никак не возьму в толк, для чего используется NewMarketDepths?[/quote]

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

Спасибо:

d.guryev

Фотография
Дата: 27.01.2016
Ответить


[quote=orphan;34189][quote=d.guryev;34186] Никак не возьму в толк, для чего используется NewMarketDepths?[/quote]

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

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

Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy