← Назад

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

Хотел вывести в лог параметры инструментов новых:

_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 ... Так должно быть?

Комментарии (17)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Alexander
Alexander

Где идёт подписка на событие? Какая версия S#? Вставьте распечатку в лог ещё перед каждым вызовом GetSecurity

frontman
frontman Автор

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

Alexander
Alexander

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

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

frontman
frontman Автор

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
frontman Автор

А нет . Вру не последняя была. Обновил... Теперь вообще не приходят инструменты))) Михаил я же сказал что решу вопрос с инструментами. Зря вы поторопились))

Alexander
Alexander

frontman: А нет . Вру не последняя была. Обновил... Теперь вообще не приходят инструменты))) Михаил я же сказал что решу вопрос с инструментами. Зря вы поторопились))

Только что проверил - всё приходит, как на бою, так и на тестовом. Ищите ошибку у себя в приложении, через SampleGUI всё приходит.

Если мы вопрос с обновлением инструментов будем решать неделями, то разработка вся встанет :) Я вчера перед сном нашёл пять минут и сам сделал этот таск.

Так что проблема необновления инструментов решена, проблема с isin_id всё ещё требует решения.

frontman
frontman Автор

Александр... Простите...

frontman
frontman Автор

Ну самое первое мое сообщение. И метода GetSecurity у PlazaTrader нет.

Alexander
Alexander

frontman: Ну самое первое мое сообщение. И метода GetSecurity у PlazaTrader нет.

Ещё раз - откуда вы подписываетесь на событие что в первом сообщении? GetSecurity есть на 599 строчке файла PlazaTrader.cs

frontman
frontman Автор

А какая проблема с isin_id? Информация по инструменту обновляется по его id (secCode)А он не меняется... Т.е когда придет инструмент с новым isin_id , он (isin_id ) будет обновлен.. Вот как то так...

Alexander
Alexander

frontman: А какая проблема с isin_id? Информация по инструменту обновляется по его id (secCode)А он не меняется... Т.е когда придет инструмент с новым isin_id , он (isin_id ) будет обновлен.. Вот как то так...

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

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

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

Что с

Ещё раз - откуда вы подписываетесь на событие что в первом сообщении? GetSecurity есть на 599 строчке файла PlazaTrader.cs ?

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

frontman
frontman Автор

Alexander Mukhanchikov: Проблема ушла? Инструменты стали приходить, NewSecurities вызывается 1 раз теперь? :) Не ну конечно признаю, тарапыга и поспешил с тем что инструменты не приходят... Но проблема которой посвещена данная тема сохранилась...

frontman
frontman Автор

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

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

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

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

Alexander
Alexander

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

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

frontman
frontman Автор

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

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

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

Alexander
Alexander

frontman: ...

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

и т.д. и т.п.

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

frontman
frontman Автор

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