Нет информации о главном окне Quik. Возможно, было неуспешное подключение.~/topic/860/net-informatsii-o-glavnom-okne-quik_-vozmozhno-bylo-neuspeshnoe-podklyuchenie_/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T01:23:49Zhttps://stocksharp.com/images/logo.pnghttps://stocksharp.com/posts/m/1510/Михаил, добрый день! Если Вы здесь описывали проблему, когда робот запускает экспорт по DDE и при эт...2010-06-21T10:54:00Z2010-06-21T10:54:00ZAndreyhttps://stocksharp.com/users/28611/info@stocksharp.comМихаил, добрый день!<br /><br />Если Вы здесь описывали проблему, когда робот запускает экспорт по DDE<br />и при этом квик не успевает отреагировать быстро на нажатие всех<br />кнопок, т.е., например, остается открытым окно настроек экспорта по<br />DDE.<br />У меня такая проблема возникает достаточно часто при запуске с утра.<br />(робот сам запускается в 10-00 после автоматического подключение QUIK<br />к серверу).<br />Компьютер сравнительно мощный, правда на нем стоит виртуальный сервер.<br /><br />Скажите, пожалуйста, фиксили ли Вы это как то в версии 2.0.1?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1509/Для верности решил изменить вид стакана как в инструкции - все равно BestBid - максимальная цена 2010-06-11T19:46:00Z2010-06-11T19:46:00Zddd888https://stocksharp.com/users/28182/info@stocksharp.comДля верности решил изменить вид стакана как в инструкции - все равно<br />BestBid - максимальная цена<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1508/GetMarketDepth у меня вызывается по событию GetMarketDepth.Change. Там же в коде я пытаюсь получить ...2010-06-11T19:33:00Z2010-06-11T19:33:00Zddd888https://stocksharp.com/users/28182/info@stocksharp.comGetMarketDepth у меня вызывается по событию GetMarketDepth.Change. Там<br />же в коде я пытаюсь получить дополнительные данные из уже раз<br />вызванного GetMarketDepth. И в ходе торгов, когда экспорт уже давно<br />запущен и выскакивает периодически эта ошибка. Сам код примерно такой:<br /><br />this.GuiAsync(() =><br /> {<br /> this.Quotes.Clear();<br /> var _marketDepth =<br />this._trader.GetMarketDepth(this.Security).OrderByDescending(q =><br />q.Price)<br /> .Select(q => new SampleQuote<br /> {<br /> Price = q.Price,<br /> Ask = q.OrderDirection ==<br />OrderDirections.Buy ? q.Volume : 0,<br /> Bid = q.OrderDirection ==<br />OrderDirections.Sell ? q.Volume : 0,<br /> OwnVolume = q.ExtensionInfo != null ? (int)<br />(q.ExtensionInfo.TryGetValue("OwnVolume") ?? 0) : 0,<br /> });<br /> this.BestBid = _marketDepth.Where(t => t.Bid != 0).Max(t<br />=> t.Price);<br /> this.BestAsk = _marketDepth.Where(t => t.Ask != 0).Min(t<br />=> t.Price);<br /> ...<br /> this.Quotes.AddRange(_marketDepth);<br /><br />Слишком рано - это когда?<br /><br />1. Получал через _marketDepth.Select(q => q.BestBid). В отладчике<br />останавливал, проверял содержимое _trader и там тоже в<br />_marketdepth.BestBid.Price так же максимальное значение стакана.....<br />А!!! Похоже понял - наверное это зависит от настроек вида стакана? Я<br />привык, что у меня самая высокая цена - аск - всегда наверху - у вас<br />судя по инструкции - наоборот. :)<br />2. Т.е. возвращает полностью, как есть? Что значит "параллельно<br />наполняется"?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1507/Что-то не так внутри метода GetMarketDepth? Как я понял, проблема с наружи - использование результат...2010-06-11T19:07:00Z2010-06-11T19:07:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comЧто-то не так внутри метода GetMarketDepth? Как я понял, проблема с<br />наружи - использование результатов этого метода. Что делать, если<br />программа пытается обратиться к стакану слишком рано?<br /><br />1. Ни разу такое не встречал. Как это проверили?<br />2. GetMarketDepth возвращает всегда стакан. И этот стакан параллельно<br />наполняется QuikTrader.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1506/Да, я понимаю, что это уже другая проблема. Про событие QuotesChanged и MarketDepth.Changed тоже пом...2010-06-11T17:59:00Z2010-06-11T17:59:00Zddd888https://stocksharp.com/users/28182/info@stocksharp.comДа, я понимаю, что это уже другая проблема. Про событие QuotesChanged<br />и MarketDepth.Changed тоже помню, но как это влияет на метод<br />GetMarketDepth?<br /><br />1. Лучший бид и аск я стал так выводить потому, что у Вас BestBid и<br />BestAsk на самом деле выводят максимальную и минимальные цены стакана<br />почему-то.<br />2. Получается, что GetMarketDepth может выводить стакан не полностью<br />в зависимости от того на какое событие QuotesChanged и<br />MarketDepth.Changed подписался?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1505/Стоп, Вы не разделяете проблемы. Есть ошибка с запуском ДДЕ. Я уже описал симптомы. А есть по работе...2010-06-11T16:59:00Z2010-06-11T16:59:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comСтоп, Вы не разделяете проблемы. Есть ошибка с запуском ДДЕ. Я уже<br />описал симптомы. А есть по работе со стаканом. Я пока не могу понять,<br />у меня она или у Вас.<br /><br />1. Лучший бид и аск вычисляются и так стаканом.<br />2. Ошибки могут быть на разных строчках, если, например, биды<br />заполнены, а офера еще нет.<br /><br />Еще рас прочитал, что Вы писал выше. MarketDepth.Changed вызывается<br />при любом изменении стакана. Пришла новая котировка и т.д. Тоесть,<br />стакан может быть даже не заполнен, а событие будет выведено. По<br />вышепреведенному коду могу сказать, что Вам нужно событие<br />ITrader.QuotesChanged потому что Вам нужно вычислять по всему стакану<br />(иначе, просто код бессмыслен - вычисление будет показывать ерунду по<br />неполному стакану). Скорее всего, в этом и ошибка. И это точно не<br />зависит от версии.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1504/Да, Вам больше повезло! Хотя вроде у меня тоже комп не слабый. :) При первичном запуске стакана така...2010-06-11T15:25:00Z2010-06-11T15:25:00Zddd888https://stocksharp.com/users/28182/info@stocksharp.comДа, Вам больше повезло! Хотя вроде у меня тоже комп не слабый. :)<br />При первичном запуске стакана такая ошибка некритична. Хуже когда она<br />возникает уже в процессе от метода GetMarketDepth. В 1.8. такого точно<br />ни разу не было, а сейчас почему-то есть. При этом никак не могу<br />понять такое поведение. Вот, например код:<br /><br />строка 801. this.BestBid = _marketDepth.Where(t => t.Bid != 0).Max(t<br />=> t.Price);<br />строка 802. this.BestAsk = _marketDepth.Where(t => t.Ask != 0).Min(t<br />=> t.Price);<br />строка 803. this.MinBid = _marketDepth.Where(t => t.Bid != 0).Min(t =><br />t.Price);<br />строка 804. this.MaxAsk = _marketDepth.Where(t => t.Ask != 0).Max(t =><br />t.Price);<br /><br />И когда возникает ошибка ("последовательность не содержит элементов"),<br />смотрю куда она указывает и вот странность: каждый раз она указывает<br />на разные строки! Как это может быть? Ведь если коллекция пустая, то<br />ошибка всегда должна появляться на 1-й же строке, т.е. здесь например<br />на 801-й?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1503/Да, я уже писал о присутствующей ошибке в запуске ДДЕ. Это она. Квик загружен, а S# - нет. S# нажима...2010-06-10T23:44:00Z2010-06-10T23:44:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comДа, я уже писал о присутствующей ошибке в запуске ДДЕ. Это она. Квик<br />загружен, а S# - нет. S# нажимает на кнопки и ожидает моментального<br />появления окон. Квик же думает, и не всегда может реагировать<br />моментально. Я бы исправил ошибку, если бы она стабильно возникала. Но<br />дело в том, что на моем компе она не возникает практически никогда<br />(да, я шустр!).<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1502/Заметил такую особенность - пока все сделки до конца не подгрузились в S#, при открытии стакана GetM...2010-06-10T13:31:00Z2010-06-10T13:31:00Zddd888https://stocksharp.com/users/28182/info@stocksharp.comЗаметил такую особенность - пока все сделки до конца не подгрузились в<br />S#, при открытии стакана GetMarketDepth может вызывать ошибку<br />("последовательность не содержит элементов"). А RegisterQuotes -<br />"последовательность не содержит соответствующего элемента".<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1501/Обновление стакана у меня происходит по событию GetMarketDepth(this.Security).Changed Вот во время п...2010-06-10T13:12:00Z2010-06-10T13:12:00Zddd888https://stocksharp.com/users/28182/info@stocksharp.comОбновление стакана у меня происходит по событию<br />GetMarketDepth(this.Security).Changed<br />Вот во время периодического обновления иногда и выскакивает эта<br />ошибка.<br /><br />+ опять-таки иногда при инициализации стакана выскакивает ошибка<br />"последовательность не содержит соответствующего элемента". В отладке<br />при этом this.Security - вроде вполне нормально загруженный.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1500/Периодически - это как? По таймеру? Или пользователь что-то кликает? Или в стратегии? 2010-06-10T12:32:00Z2010-06-10T12:32:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comПериодически - это как? По таймеру? Или пользователь что-то кликает?<br />Или в стратегии?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1499/Но тогда должна работать проверка на null? Еще раз проверил аналогичную ситуацию на 1.8 - там такая ...2010-06-10T09:40:00Z2010-06-10T09:40:00Zddd888https://stocksharp.com/users/28182/info@stocksharp.comНо тогда должна работать проверка на null? Еще раз проверил<br />аналогичную ситуацию на 1.8 - там такая ошибка обычно иногда возникает<br />при первичном запуске стакана, но раз запустившись потом никогда не<br />появляется. В 2.0.1 она возникает периодически уже при открытом<br />стакане. У меня GetMarketDepth изменилась логика?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1498/Из-за того, что стакан еще пуст. 2010-06-09T22:17:00Z2010-06-09T22:17:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comИз-за того, что стакан еще пуст.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1497/Еще такой вопрос. Если добавлять какие-нибудь манипуляции со стаканом (Quotes), типа Max(t=t>t.Price...2010-06-09T21:29:00Z2010-06-09T21:29:00Zddd888https://stocksharp.com/users/28182/info@stocksharp.comЕще такой вопрос. Если добавлять какие-нибудь манипуляции со стаканом<br />(Quotes), типа Max(t=t>t.Price), то иногда в этом месте возникает<br />исключение "последовательность не содержит элементов". Пробовал<br />поставить тест на null или Count=0, но исключение все равно<br />появляется. Из-за чего это происходит и как этого избежать?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1496/Нет, в примере, я ничего от себя не добавлял. Т.е. StartDde надо тоже "засунуть" под событие Connect...2010-06-09T21:08:00Z2010-06-09T21:08:00Zddd888https://stocksharp.com/users/28182/info@stocksharp.comНет, в примере, я ничего от себя не добавлял.<br />Т.е. StartDde надо тоже "засунуть" под событие Connected?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1495/Взглянул на пример. Оформлен неправильно. Дде стартует до того, как было произведено подключение. Вы...2010-06-09T20:51:00Z2010-06-09T20:51:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comВзглянул на пример. Оформлен неправильно. Дде стартует до того, как<br />было произведено подключение. Вы это учитываете?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1494/Первое. 2010-06-09T19:50:00Z2010-06-09T19:50:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comПервое.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1493/Под "соединением" имеется ввиду соединение через Trans2quik или подключение через DDE? 2010-06-09T19:39:00Z2010-06-09T19:39:00Zddd888https://stocksharp.com/users/28182/info@stocksharp.comПод "соединением" имеется ввиду соединение через Trans2quik или<br />подключение через DDE?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1492/Если это мой пример, то тогда надо посмотреть в чем бага. Событие Connected вызывается сразу после с...2010-06-09T19:11:00Z2010-06-09T19:11:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comЕсли это мой пример, то тогда надо посмотреть в чем бага.<br /><br />Событие Connected вызывается сразу после соединения с Квиком.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1491/Так почему же он null? Это в Вашем же примере в Sample Console происходит! Кстати, а когда именно во...2010-06-09T18:54:00Z2010-06-09T18:54:00Zddd888https://stocksharp.com/users/28182/info@stocksharp.comТак почему же он null? Это в Вашем же примере в Sample Console<br />происходит!<br />Кстати, а когда именно возникает событие Connected?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024