Что конкретно делает RegisterTrades()?

Что конкретно делает RegisterTrades()?
Atom
30.12.2011
_maratrus_


Прежде всего, хочу поздравить всех разработчиков и пользователей 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()? Спасибо.


Теги:


Спасибо:


Alexander

Фотография
Дата: 30.12.2011
Ответить


QuikTerminal.EnableFiltering должен быть включён

Смысл каждого вызова RegisterTrades в том, что он добавляет в фильтр таблицы нужный инструмент.

В вашем случае получается что в фильтр уже всё добавлено и уже всё экспортируется, поэтому разницы нет.

Спасибо:

_maratrus_

Фотография
Дата: 30.12.2011
Ответить


Alexander Mukhanchikov: QuikTerminal.EnableFiltering должен быть включён

Смысл каждого вызова RegisterTrades в том, что он добавляет в фильтр таблицы нужный инструмент.

В вашем случае получается что в фильтр уже всё добавлено и уже всё экспортируется, поэтому разницы нет.

Сделал сначала так:


...
trader.Terminal.EnableFiltering = true; 
trader.StartExport(trader.TradesTable);
trader.NewTrades += SomeFunction;
...

Всё работает, как обычно.

Затем сделал так


...
trader.Terminal.EnableFiltering = true; 

foreach(Security sec in _Securities)
     trader.RegisterTrades(sec);

trader.NewTrades += SomeFunction;
...

Сделки приходить перестали?

Не подскажете, как нужно делать?

Спасибо:

Alexander

Фотография
Дата: 30.12.2011
Ответить


Что такое _Securities? Что у вас стоит до вызова в фильтрах таблицы Все сделки и после этого вызова? Какие инструменты передаются в вызов RegisterTrades?

Мой совет - квик слишком медленный и лучше фильтрацию настраивать не программно, а непосредственно из квика руками. Так будет работать на порядок быстрее и сделать это надо будет лишь раз.

Спасибо:

_maratrus_

Фотография
Дата: 30.12.2011
Ответить


Alexander Mukhanchikov: Мой совет - квик слишком медленный и лучше фильтрацию настраивать не программно, а непосредственно из квика руками. Так будет работать на порядок быстрее и сделать это надо будет лишь раз.

OK, давайте тогда пока на этом остановимся. Так и сделаю. То есть RegisterTrades() можно теперь вообще не вызывать?

Для полноты картины, вот ответы на оставшиеся вопросы:

Alexander Mukhanchikov: Что такое _Securities? Это коллекция инструментов, полученных при экспорте таблицы "Инструменты"

Alexander Mukhanchikov: Какие инструменты передаются в вызов RegisterTrades? Все инструменты, которые получены при экспорте таблицы "Инструменты"

Alexander Mukhanchikov: Что у вас стоит до вызова в фильтрах таблицы Все сделки и после этого вызова? Если имеются в виду фильтры Quik, то фильтры настроены так, чтобы выводились сделки инструментов из таблицы "Инструменты" и еще парочки других инструментов.

Спасибо:

Alexander

Фотография
Дата: 30.12.2011
Ответить


maratrus:

Alexander Mukhanchikov: Мой совет - квик слишком медленный и лучше фильтрацию настраивать не программно, а непосредственно из квика руками. Так будет работать на порядок быстрее и сделать это надо будет лишь раз.

OK, давайте тогда пока на этом остановимся. Так и сделаю. То есть RegisterTrades() можно теперь вообще не вызывать?

Да. Все фильтры настраиваются через Quik.

Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy