← Zurück

Не работает ограничение числа получаемых инструментов

Добрый день, раньше можно было установить RequestAllSecurities в false и через LookupSecurities подписаться на нужные инструменты, получив их в LookupSecuritiesResult. В пятой версии нет RequestAllSecurities , а независимо от того, что указано LookupSecurities , в LookupSecuritiesResult приходят все инструменты по всем площадкам.

Как в пятой версии ограничить число получаемых инструментов?

War dieses Thema hilfreich?

Thema teilen

Kommentare (5)

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

Balex
Balex

+1 API само добавляет подписку на "@" как от этого избавиться?

Balex
Balex

Пришлось подебужить (\Algo\Connector_ProcessMessage.cs). Уж не знаю какая логика в это закладывалась 2 варианта как не получить все securities

  1. Установить до вызова Connect() Connector.LookupMessagesOnConnect = false; Тогда автоматом не будет искать ни бумаги ни портфели ни чего-то там еще
  2. Сделать до вызова Connect() подписку на секьюрити через SubscriptionMessage установив SubscriptionMessage.To = null. При подписке через Security формируется message? в котором To = 9999 году

Надеюсь многим помог. А то сам замучался ждать когда тучева туча бумаг загрузится

Sprite
Sprite

Balex:

  1. Установить Connector.LookupMessagesOnConnect = false; Тогда автоматом не будет искать ни бумаги ни портфели ни чего-то там еще Спасибо, помогло! Еще бы загрузку NEWS@ALL как-то отключать и вообще все будет по фэншую.
Sprite
Sprite

Update, кому надо:

Теперь свойство Connector.LookupMessagesOnConnect только на чтение.

Я сделал так: Инициализирую коннектор настройками из xml файла, который загружается в объект SettingsStorage а затем в коннектор: var settings = new XmlSerializer<SettingsStorage>().Deserialize(settingsPath); Connector.Load(settings)

Предварительно в xml файле удаляем ненужные значения в списке LookupMessagesOnConnect <KeyValuePairBeginStringAndObjectEnd> <key>LookupMessagesOnConnect</key> <value> <Type type="string">string</Type> <Value type="string"> ̶S̶e̶c̶u̶r̶i̶t̶y̶L̶o̶o̶k̶u̶p̶,PortfolioLookup,OrderStatus,TimeFrameLookup</Value> </value> </KeyValuePairBeginStringAndObjectEnd>

Работает.

Balex
Balex

Только сейчас дошел до апдейта на версию с изменившимся LookupMessagesOnConnect - жестоко конечно менять тип свойства с логического на коллекцию... Чтобы не получать все можно выполнить LookupMessagesOnConnect.Clear()