Хотел вывести в лог параметры инструментов новых:
_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)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Где идёт подписка на событие? Какая версия S#? Вставьте распечатку в лог ещё перед каждым вызовом GetSecurity
Подпись на событие идет в куске который я выложил. Версия самая последняя(я подключен к проекту) Последнее не понял...
где этот кусок который вы выложили? есть в PlazaTrader методы GetSecurity Вставьте распечатку перед ними
Вставил
Т.е приходят то вроде как один раз данные...
А нет . Вру не последняя была. Обновил... Теперь вообще не приходят инструменты))) Михаил я же сказал что решу вопрос с инструментами. Зря вы поторопились))
Только что проверил - всё приходит, как на бою, так и на тестовом. Ищите ошибку у себя в приложении, через SampleGUI всё приходит.
Если мы вопрос с обновлением инструментов будем решать неделями, то разработка вся встанет :) Я вчера перед сном нашёл пять минут и сам сделал этот таск.
Так что проблема необновления инструментов решена, проблема с isin_id всё ещё требует решения.
Александр... Простите...
Ну самое первое мое сообщение. И метода GetSecurity у PlazaTrader нет.
Ещё раз - откуда вы подписываетесь на событие что в первом сообщении? GetSecurity есть на 599 строчке файла PlazaTrader.cs
А какая проблема с isin_id? Информация по инструменту обновляется по его id (secCode)А он не меняется... Т.е когда придет инструмент с новым isin_id , он (isin_id ) будет обновлен.. Вот как то так...
isin_id используется везде - в заявках, данных, .... и именно он является ключом (id как вы написали)
он не будет обновлён
Уже писали про то что видимо надо мап строить, включать isin_id и session_id
Что с
Проблема ушла? Инструменты стали приходить, NewSecurities вызывается 1 раз теперь? :)
Ну вот например метод GetSecurity разве не по Id (CreateSecurityId(secCode, "RTS")) находит инструмент?
Если вы не будете отвечать на вопросы - я помочь не смогу. Уже в 4ый раз спрашиваю.
Где вставили подписку на событие что в первом сообщении?
Тьфу ты... Там же где и создаю PlazaTrader. Подписка точно один раз создается...
у вас _securities - это что? все инструменты _trader? Так правильно - у вас сработает событие NewSecurities для новых инструментов (не обязательно RIH2), вы по списку инструментов плазы будете искать рих2 - найдёте - распечатаете. дальше придут опять новые инструменты - вы опять будете по всем инструментам искать рих2 - конечно найдёте
и т.д. и т.п.
ищите по securities, которое приходит в событие - в этом случае сработает 1 раз
Да нет Александр тема закрывается. Кофе я перепил вчера явно)) Извиняюсь...