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


Не работает ограничение числа получаемых инструментов
Atom Reply
6/4/2020


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

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



Thanks:




5 Answers
Balex

Avatar
Date: 6/16/2020
Reply


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

Balex

Avatar
Date: 6/16/2020
Reply


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

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

sprite

Avatar
Date: 6/16/2020
Reply


Balex Перейти
1. Установить Connector.LookupMessagesOnConnect = false; Тогда автоматом не будет искать ни бумаги ни портфели ни чего-то там еще

Спасибо, помогло! Еще бы загрузку NEWS@ALL как-то отключать и вообще все будет по фэншую.
Thanks:

sprite

Avatar
Date: 7/29/2020
Reply


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>

Работает.
Thanks:

Balex

Avatar
Date: 9/3/2020
Reply


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


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

loading
clippy