Добрый день, раньше можно было установить RequestAllSecurities в false и через LookupSecurities подписаться на нужные инструменты, получив их в LookupSecuritiesResult. В пятой версии нет RequestAllSecurities , а независимо от того, что указано LookupSecurities , в LookupSecuritiesResult приходят все инструменты по всем площадкам.
Как в пятой версии ограничить число получаемых инструментов?
Comments (5)
Login or Create account, Log in or register to leave a comment
+1 API само добавляет подписку на "@" как от этого избавиться?
Пришлось подебужить (\Algo\Connector_ProcessMessage.cs). Уж не знаю какая логика в это закладывалась 2 варианта как не получить все securities
Надеюсь многим помог. А то сам замучался ждать когда тучева туча бумаг загрузится
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>
Работает.
Только сейчас дошел до апдейта на версию с изменившимся LookupMessagesOnConnect - жестоко конечно менять тип свойства с логического на коллекцию... Чтобы не получать все можно выполнить LookupMessagesOnConnect.Clear()