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


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


Хотел вывести в лог параметры инструментов новых:
Код
_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));
				             	});


Но с удивлением в логе увидел:
Код
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 ... Так должно быть?

Теги:


Спасибо:


< 1 2 
frontman

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


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


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


Вставил
Код
[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


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

frontman

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


Alexander Mukhanchikov Перейти

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

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

Alexander

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


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

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

frontman

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


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

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


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

frontman

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


Alexander Mukhanchikov Перейти

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

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


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


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

Alexander

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


frontman Перейти

Код
_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 раз
Спасибо:

frontman

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


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

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

loading
clippy