API 4.2.2.24. Несколько ошибок
Atom
01.04.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)

Теги:


Спасибо:


vk37

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


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

Спасибо:

vk37

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


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);

Спасибо:

Mikhail Sukhov

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


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


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


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

loading
clippy