Что конкретно делает RegisterTrades()?
Atom Ответить
30.12.2011


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