← Zurück

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

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

Ошибка 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 разных инструмента. См. скриншот.

War dieses Thema hilfreich?

Thema teilen

Kommentare (3)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

vk37
vk37 Autor

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

vk37
vk37 Autor

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
Mikhail Sukhov

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


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