Не могу получить сделки по одному инструменту

Не могу получить сделки по одному инструменту
Atom
04.11.2011
vardes


Код
public void Connect()
        {
            trader = new PlazaTrader();
            trader.Connected += () =>
            {
                trader.StartExport();
                Console.WriteLine("Connected to Plaza");
            };            
            trader.RegisterTrades(trader.GetSecurity("RIZ1"));
            trader.NewTrades += trades => Export(trades);
            trader.Connect();
        }
 private void Export( IEnumerable<Trade> trades)
        {
            foreach (Trade t in trades)
                Console.WriteLine(t.Time + " " + t.Security + " " + t.Price + " " + t.OrderDirection);            
           
        }

Т.е. мне необходимо получить все сделки по инструменту РТС. Но проблема в том, что никак метод не могу получить trader.GetSecurity("RIZ1"), т.е. метод экземпляра класса PlazaTrader. Может я пространство имен какое-то не подключил или вообще не догоняю, прошу помочь, очень нужно.

Теги:


Спасибо:


1 2  >
Sergey Masyura

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


vardes
Код
public void Connect()
        {
            trader = new PlazaTrader();
            trader.Connected += () =>
            {
                trader.StartExport();
                Console.WriteLine("Connected to Plaza");
            };            
            trader.RegisterTrades(trader.GetSecurity("RIZ1"));
            trader.NewTrades += trades => Export(trades);
            trader.Connect();
        }
 private void Export( IEnumerable<Trade> trades)
        {
            foreach (Trade t in trades)
                Console.WriteLine(t.Time + " " + t.Security + " " + t.Price + " " + t.OrderDirection);            
           
        }

Т.е. мне необходимо получить все сделки по инструменту РТС. Но проблема в том, что никак метод не могу получить trader.GetSecurity("RIZ1"), т.е. метод экземпляра класса PlazaTrader. Может я пространство имен какое-то не подключил или вообще не догоняю, прошу помочь, очень нужно.


1. Надо дождаться, пока инструмент придет в трейдер. При этом вызовется событие NewSecurities с Вашим инструментом. Начальное получение всех инструментов в плазе занимает некоторое время, а не мгновенно после старта эспорта.

2. GetSecurity в качестве аргумента принимает id в формате Stock#. Например, RIU9@RTS. Соответственно, аргумент у Вас неправильный.


Все ответы на эти вопросы есть в документации.
Спасибо:

Ortn

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


vardes
Код
public void Connect()
        {
            trader = new PlazaTrader();
            trader.Connected += () =>
            {
                trader.StartExport();
                Console.WriteLine("Connected to Plaza");
            };            
            trader.RegisterTrades(trader.GetSecurity("RIZ1"));
            trader.NewTrades += trades => Export(trades);
            trader.Connect();
        }
 private void Export( IEnumerable<Trade> trades)
        {
            foreach (Trade t in trades)
                Console.WriteLine(t.Time + " " + t.Security + " " + t.Price + " " + t.OrderDirection);            
           
        }

Т.е. мне необходимо получить все сделки по инструменту РТС. Но проблема в том, что никак метод не могу получить trader.GetSecurity("RIZ1"), т.е. метод экземпляра класса PlazaTrader. Может я пространство имен какое-то не подключил или вообще не догоняю, прошу помочь, очень нужно.



Security вы можете получить по событию NewSecurities (Code у нужного вам инструмента будет RIZ1). А подписаться на какой-то один инструмент, это по-моему вообще не работает в plazatrader. Либо все либо ничего (поправьте если не прав)
Спасибо:

Alexander

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


Если вы посмотрите реализацию plazatrader вы увидите что данный метод не реализован
Спасибо:

frontman

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


Александр вы забыли предложить человеку самому это сделать) Исправить я имею ввиду... Правда как мне кажется не очень то это и нужно...
Спасибо:

Alexander

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


frontman
Александр вы забыли предложить человеку самому это сделать) Исправить я имею ввиду... Правда как мне кажется не очень то это и нужно...


А как вы это сделаете для плазы? Нельзя потоки от биржи фильтровать по инструменту
Спасибо:

frontman

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


А. Т.е даже имелось ввиду на этом уровне отсекать ненужные инструменты... Тут то понятно что ничего не сделаешь...
Я подумал, что имелось ввиду что бы например при срабатывании события NewTrades приходили только сделки по конкретному инструменту...
Ну это скорее можно на уровень правил вынести, т.к часто достаточно такая фильтрация нужна... Как думаете?
Спасибо:

vardes

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


Спасибо за ответ, на самом деле хотелось бы сразу фильтровать поток по сделкам в момент получения их от биржи) Но ничего не сделаешь. Все таки хочу обратить свое внимание к методу PlazaTrader.GetSecurity(String), в документации же он описан, почему я его не вижу. Просьба объяснить.
Спасибо:

Mikhail Sukhov

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


vardes
Спасибо за ответ, на самом деле хотелось бы сразу фильтровать поток по сделкам в момент получения их от биржи) Но ничего не сделаешь. Все таки хочу обратить свое внимание к методу PlazaTrader.GetSecurity(String), в документации же он описан, почему я его не вижу. Просьба объяснить.


Это как бы основы языка C#. Нельзя число приводить к строке, вызывать несуществующую функцию, и обращаться к закрытым методам. [cool]
Спасибо:

frontman

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


Объясню более полит корректно: данный метод является protected. И в документации рядом с ним ключик нарисован...
Спасибо:

vardes

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


При экспорте сделок, при возникновении события NewTrades, я получаю по одной сделке, это всегда так или все же в какой-то момент могу получить коллекцию, состоящую из нескольких сделок или может даже из целого множества?
Спасибо:
1 2  >

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

loading
clippy