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


Что конкретно делает RegisterTrades()?
Atom
12/30/2011


Прежде всего, хочу поздравить всех разработчиков и пользователей S# с наступающим Новым Годом и пожелать всех благ!

Объясните, пожалуйста, зачем нужен метод QuikTrader.RegisterTrades(Security sec)?

Объясню своё непонимание на примере.
Рассмотрим несколько строчек кода:

Code

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

trader.StartExport(trader.TradesTable);
trader.NewTrades += SomeFunction;
...


Теперь при появлении новых сделок вызывается собственная функция SomeFunction, в которой обрабатываются сделки с инструментами в коллекции _Securities, как и ожидается.

Однако, если закомментировать первые две строчки и оставитьтолько
Code

...
trader.StartExport(trader.TradesTable);
trader.NewTrades += SomeFunction;
...


Вызывается та же самая функция SomeFunction, с теми же инструментами.

Скажите, пожалуйста, какую функциональную нагрузку несет метод RegisterTrades()? Спасибо.

Tags:


Thanks:


Alexander

Avatar
Date: 12/30/2011
Reply


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

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

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

_maratrus_

Avatar
Date: 12/30/2011
Reply


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

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

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


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

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


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

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

Code

...
trader.Terminal.EnableFiltering = true; 

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

trader.NewTrades += SomeFunction;
...


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

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

Alexander

Avatar
Date: 12/30/2011
Reply


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

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

_maratrus_

Avatar
Date: 12/30/2011
Reply


Alexander Mukhanchikov Go to

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


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

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

Что такое _Securities?

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

Alexander Mukhanchikov Go to

Какие инструменты передаются в вызов RegisterTrades?

Все инструменты, которые получены при экспорте таблицы "Инструменты"


Alexander Mukhanchikov Go to

Что у вас стоит до вызова в фильтрах таблицы Все сделки и после этого вызова?

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

Alexander

Avatar
Date: 12/30/2011
Reply


_maratrus_ Go to
Alexander Mukhanchikov Go to

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


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


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


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

loading
clippy