Событие о поступлении новых инструментов

Событие о поступлении новых инструментов
Atom
12/19/2011


Хотел вывести в лог параметры инструментов новых:
Code
_trader.NewSecurities +=
				securities =>
				this.GuiSync(() =>
				             	{
				             		var s = _securities.FirstOrDefault(sec => sec.Code == "RIH2");
				             		if (s.IsNull()) return;
				             		Console.WriteLine("{0}, {1}, {2}, {3}, {4}".Put(s.Code, s.MinStepPrice, s.MinStepSize, s.MaxPrice, s.MinPrice));
				             	});


Но с удивлением в логе увидел:
Code
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000


Почему то инструмент несколько раз попадает в событие NewSecurities ... Так должно быть?

Tags:


Thanks:


< 1 2 
frontman

Avatar
Date: 12/19/2011
Reply


Alexander Mukhanchikov Go to
frontman Go to
Подпись на событие идет в куске который я выложил.
Версия самая последняя(я подключен к проекту)
Последнее не понял...


где этот кусок который вы выложили?
есть в PlazaTrader методы GetSecurity
Вставьте распечатку перед ними


Вставил
Code
[h]Сработал OnSessionContentsDerivativeStreamInserted для RIH2[/h]
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000
RIH2, 3,18507, 5,00000, 142625,00000, 127035,00000


Т.е приходят то вроде как один раз данные...
Thanks:

frontman

Avatar
Date: 12/19/2011
Reply


Alexander Mukhanchikov Go to

Проблема ушла? Инструменты стали приходить, NewSecurities вызывается 1 раз теперь? :)

Не ну конечно признаю, тарапыга и поспешил с тем что инструменты не приходят...
Но проблема которой посвещена данная тема сохранилась...
Thanks:

Alexander

Avatar
Date: 12/19/2011
Reply


Если вы не будете отвечать на вопросы - я помочь не смогу.
Уже в 4ый раз спрашиваю.

Где вставили подписку на событие что в первом сообщении?
Thanks:

frontman

Avatar
Date: 12/19/2011
Reply


Alexander Mukhanchikov Go to
Если вы не будете отвечать на вопросы - я помочь не смогу.
Уже в 4ый раз спрашиваю.

Где вставили подписку на событие что в первом сообщении?


Тьфу ты...
Там же где и создаю PlazaTrader. Подписка точно один раз создается...
Thanks:

frontman

Avatar
Date: 12/19/2011
Reply


Alexander Mukhanchikov Go to

isin_id используется везде - в заявках, данных, ....
и именно он является ключом (id как вы написали)

он не будет обновлён


Уже писали про то что видимо надо мап строить, включать isin_id и session_id


Ну вот например метод GetSecurity разве не по Id (CreateSecurityId(secCode, "RTS")) находит инструмент?
Thanks:

Alexander

Avatar
Date: 12/20/2011
Reply


frontman Go to

Code
_trader.NewSecurities +=
				securities =>
				this.GuiSync(() =>
				             	{
				             		var s = _securities.FirstOrDefault(sec => sec.Code == "RIH2");
				             		if (s.IsNull()) return;
				             		Console.WriteLine("{0}, {1}, {2}, {3}, {4}".Put(s.Code, s.MinStepPrice, s.MinStepSize, s.MaxPrice, s.MinPrice));
				             	});




у вас _securities - это что?
все инструменты _trader?
Так правильно - у вас сработает событие NewSecurities для новых инструментов (не обязательно RIH2), вы по списку инструментов плазы будете искать рих2 - найдёте - распечатаете.
дальше придут опять новые инструменты - вы опять будете по всем инструментам искать рих2 - конечно найдёте

и т.д. и т.п.

ищите по securities, которое приходит в событие - в этом случае сработает 1 раз
Thanks:

frontman

Avatar
Date: 12/20/2011
Reply


Да нет Александр тема закрывается. Кофе я перепил вчера явно))
Извиняюсь...
Thanks:
< 1 2 

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

loading
clippy