API 4.2.2.24. Несколько ошибок

API 4.2.2.24. Несколько ошибок
Atom
4/1/2014
vk37


Во вложении дебаг лог.

Ошибка 1. Выполняю поиск по коду инструмента:```csharp var criteria = new Security() { Code = "@ES#", };

                        _connector.LookupSecurities(criteria);

Ошибка 2. Выполняю тот же поиск по коду инструмента:```csharp
                            var criteria = new Security()
                            {
                                Code = "@ES#",
                            };

                            _connector.LookupSecurities(criteria);
```Событие NewSecurities возвращает 2 инструмента: @ES#@CME и @ES#@CMEMINI. Не нравится то, что это, похоже, один и тот же инструмент.

Ошибка 3. Регистрирую один инструмент @ES#@CMEMINI (который получен через LookupSecurities) на получение рыночных данных по измемениям инструмента, сделкам, стаканам:```csharp
                        _connector.RegisterSecurity(security);
                        _connector.RegisterTrades(security);
                        _connector.RegisterMarketDepth(security);
```В результате сделки и часть изменений по инструменту поступают с кодом биржи CMEMINI, а часть изменений инструментов с кодом биржи CME. При сохранении изменений инструментов на диск получаются 2 разных инструмента. См. скриншот.
Log.zip 30 KB (589) Untitled.png 104 KB (393)

Tags:


Thanks:


vk37

Avatar
Date: 4/3/2014
Reply


В результате сделки и часть изменений по инструменту поступают с кодом биржи CMEMINI, а часть изменений инструментов с кодом биржи CME. При сохранении изменений инструментов на диск получаются 2 разных инструмента. См. скриншот. Возможно, если не получится найти более удачных решений, можно решить вопрос так:```csharp class CustomSecurityIdGenerator : SecurityIdGenerator { public override string GenerateId(string secCode, ExchangeBoard board) { return secCode + "@IQ"; } }

Thanks:

vk37

Avatar
Date: 4/3/2014
Reply


vk37: Ошибка 1. Выполняю поиск по коду инструмента:```csharp var criteria = new Security() { Code = "@ES#", };

                        _connector.LookupSecurities(criteria);

Событие LookupSecuritiesResult срабатывает 4 раза и возвращает все 4 раза @ES#@CMEMINI. Собственно не нравится, что срабатывает 4 раза.Каждый из этих вызовов приводит к срабатыванию события LookupSecuritiesResult: csharp _connector.RegisterSecurity(security); _connector.RegisterTrades(security); _connector.RegisterMarketDepth(security);

Thanks:

Mikhail Sukhov

Avatar
Date: 4/5/2014
Reply


vk37: Каждый из этих вызовов приводит к срабатыванию события LookupSecuritiesResult: ```csharp _connector.RegisterSecurity(security); _connector.RegisterTrades(security); _connector.RegisterMarketDepth(security);


Это не ошибка. Первоначально у коннектора нет информации об инструменте. Он его запрашивает у IQFeed. Все методы RegisterXXX асинхронные. Отсюда и 3 вызова.
Thanks:


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

loading
clippy