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


Не могу получить сделки по одному инструменту
Atom
11/4/2011


Code
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. Может я пространство имен какое-то не подключил или вообще не догоняю, прошу помочь, очень нужно.

Tags:


Thanks:


1 2  >
Sergey Masyura

Avatar
Date: 11/4/2011
Reply


vardes Go to
Code
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. Соответственно, аргумент у Вас неправильный.


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

Ortn

Avatar
Date: 11/4/2011
Reply


vardes Go to
Code
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. Либо все либо ничего (поправьте если не прав)
Thanks:

Alexander

Avatar
Date: 11/4/2011
Reply


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

frontman

Avatar
Date: 11/7/2011
Reply


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

Alexander

Avatar
Date: 11/7/2011
Reply


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


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

frontman

Avatar
Date: 11/7/2011
Reply


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

vardes

Avatar
Date: 11/7/2011
Reply


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

Mikhail Sukhov

Avatar
Date: 11/7/2011
Reply


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


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

frontman

Avatar
Date: 11/8/2011
Reply


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

vardes

Avatar
Date: 11/8/2011
Reply


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

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

loading
clippy