Sergey Masyura
|
Дата: 04.11.2011
|
|
|
|
vardes  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. Соответственно, аргумент у Вас неправильный. Все ответы на эти вопросы есть в документации.
|
|
|
|
Ortn
|
Дата: 04.11.2011
vardes  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. Либо все либо ничего (поправьте если не прав)
|
|
|
|
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#. Нельзя число приводить к строке, вызывать несуществующую функцию, и обращаться к закрытым методам.
|
|
|
|
frontman
|
Дата: 08.11.2011
Объясню более полит корректно: данный метод является protected. И в документации рядом с ним ключик нарисован...
|
|
|
|
vardes
|
Дата: 08.11.2011
При экспорте сделок, при возникновении события NewTrades, я получаю по одной сделке, это всегда так или все же в какой-то момент могу получить коллекцию, состоящую из нескольких сделок или может даже из целого множества?
|
Автор топика
|
|
|
Alexander
|
Дата: 08.11.2011
vardes  При экспорте сделок, при возникновении события NewTrades, я получаю по одной сделке, это всегда так или все же в какой-то момент могу получить коллекцию, состоящую из нескольких сделок или может даже из целого множества? Будете получать массив, состоящий из 1 сделки. По-видимому так, но закладываться на это не стоит.
|
|
|