Прежде всего, хочу поздравить всех разработчиков и пользователей S# с наступающим Новым Годом и пожелать всех благ!
Объясните, пожалуйста, зачем нужен метод QuikTrader.RegisterTrades(Security sec)?
Объясню своё непонимание на примере. Рассмотрим несколько строчек кода:
...
foreach(Security sec in _Securities)
trader.RegisterTrades(sec);
trader.StartExport(trader.TradesTable);
trader.NewTrades += SomeFunction;
...
Теперь при появлении новых сделок вызывается собственная функция SomeFunction, в которой обрабатываются сделки с инструментами в коллекции _Securities, как и ожидается.
Однако, если закомментировать первые две строчки и оставитьтолько
...
trader.StartExport(trader.TradesTable);
trader.NewTrades += SomeFunction;
...
Вызывается та же самая функция SomeFunction, с теми же инструментами.
Скажите, пожалуйста, какую функциональную нагрузку несет метод RegisterTrades()? Спасибо.
Комментарии (5)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
QuikTerminal.EnableFiltering должен быть включён
Смысл каждого вызова RegisterTrades в том, что он добавляет в фильтр таблицы нужный инструмент.
В вашем случае получается что в фильтр уже всё добавлено и уже всё экспортируется, поэтому разницы нет.
Сделал сначала так:
Всё работает, как обычно.
Затем сделал так
Сделки приходить перестали?
Не подскажете, как нужно делать?
Что такое _Securities? Что у вас стоит до вызова в фильтрах таблицы Все сделки и после этого вызова? Какие инструменты передаются в вызов RegisterTrades?
Мой совет - квик слишком медленный и лучше фильтрацию настраивать не программно, а непосредственно из квика руками. Так будет работать на порядок быстрее и сделать это надо будет лишь раз.
OK, давайте тогда пока на этом остановимся. Так и сделаю. То есть RegisterTrades() можно теперь вообще не вызывать?
Для полноты картины, вот ответы на оставшиеся вопросы:
Да. Все фильтры настраиваются через Quik.