Сообщество. StockSharphttps://stocksharp.ru/handlers/atom.ashx?category=community&page=260Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T10:04:54Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/topic/1404/Портфель по деривативам (Ограничения по клиентским счетам)2011-02-28T13:38:28Z2011-02-28T13:38:28Zfreelancerhttps://stocksharp.ru/users/28572/info@stocksharp.ruЗдравствуйте. Пытаюсь выгрузить по DDE эту таблицу - не идут данные. Делаю как в примере SampleDdeCustomTable. Может с ней надо как-то по особенному поступать ?https://stocksharp.ru/topic/1403/Вопрос по архитектуре библиотеки2011-02-28T08:29:38Z2011-02-28T08:29:38Zesperhttps://stocksharp.ru/users/5990/info@stocksharp.ruДобрый день.<br /><br />Предположим, что необходимо получать данные по инструментам, для этого мы добавляем нужные столбцы в квике и в программе, подписываемся на событие новой записи и изменения данных в таблице Secirities и в обработчике Trader.Connected запускаем экспорт по DDE этой таблицы.<br />Данные поступают, мы их видим как в обработчиках событий, так и в таблице Trader.Securities. Далее есть два варианта:<br />1. в любой момент времени мы можем обратиться к данной таблице из кода стратегии и прочитать нужные нам данные;<br />2. в обработчиках событий копировать поступившие данные в свои структуры и в стратегии работать со своими данными.<br /><br />Интересует такой вот момент, во втором случае разработчик сам занимается вопросом согласованности данных, т.е. любая запись и доступ к данным заключены в блок синхронизации и в любой момент времени данные у нас согласованы. Каким образом обстоит дело в первом случае?https://stocksharp.ru/topic/1402/SlippageManager2011-02-28T06:44:24Z2011-02-28T06:44:24ZАртемhttps://stocksharp.ru/users/16716/info@stocksharp.ruДоброго времени суток!<br />Помогите, пожалуйста, разобраться с механизмом SlippageManager... Сталкнулся со следующей проблемой:<br />Имеются базовая и дочерня стратегии, в дочерней стратегии создается дочерняя стратегия котирования:<br /><br />Ecng.Trading.Algo.Strategies.MarketQuotingStrategy strategy = new Ecng.Trading.Algo.Strategies.MarketQuotingStrategy(<br /> order,<br /> new Ecng.Trading.BusinessEntities.Unit(),<br /> new Ecng.Trading.BusinessEntities.Unit());<br /> strategy.IsForts = true;<br /> strategy.Interval = TimeSpan.FromTicks(1);<br /> strategy.PriceType = Ecng.Trading.Algo.MarketPriceTypes.Following;<br /> strategy.PriceDelta = 0;<br /> <br /> ChildStrategies.Add(strategy);<br /> //регистрация проскальзывания<br /> strategy.NewOrder += (new_order) =><br /> {<br /> strategy.SlippageManager.RegisterSlippage(new_order);<br /> };<br /><br /> strategy.Start();<br /><br />Далее при опросе SlippageManager.Slippage для самой верхней базовой стратегии всегда возвращается 0, хотя заявки выполняются по ценам, отличным от заданных в order при создании стратегии квотирования. Вопрос в том, почему не считается проскальзывание?<br /><br />Заранее спасибо!<br /><br />P.S.<br />Попробовал сразу регистрировать Order для базовой стратегии без котирования, все равно проскальзывание не считается. Непонятно как для фьючерсов раработает механизмhttps://stocksharp.ru/topic/1401/Создание индикаторов на S#!2011-02-27T21:02:40Z2011-02-27T21:02:40Zartos027https://stocksharp.ru/users/27879/info@stocksharp.ruДоброго времени суток!<br />НЕ могу не высказать бесконечное спасибо и респект Михаилу за такой проект[thumbup] <br />Думаю создание индикаторов достаточно актуальная вещь и многим это будет интересно!<br /><br />Я был бы невероятно благодарен, если бы кто нибудь мне помог, сделать индикатор, <br />а именно индикатор Полосы Боллинджера, самый стандартный индикатор который есть <br />почти во всех терминалах.<br /><br />Не сочтите за наглость, типа я сам ничего не хочу делать, просто если есть возможность<br />спросить у людей более опытных, а в этом случае напрямую у создателя библиотеки, то<br />почему бы не воспользоваться этой возможностью.<br /><br />Если вы сделаете наглядный пример Полос Боллинджера - это будет слишком круто, если нет, то<br />хотя бы инструкцию(желательно поподробнее) как это сделать!<br />Заранее всем спасибо))[biggrin] https://stocksharp.ru/topic/1400/Учет комиссий2011-02-27T09:33:19Z2011-02-27T09:33:19Ztradisthttps://stocksharp.ru/users/27991/info@stocksharp.ruДобрый день!<br /><br />А какой правильный способ учета комиссий брокера при тестировании? Пользователь должен сам у себя считать или это в планируемых фичах? :)<br /><br />Хорошо бы иметь несколько распространенных вариантов: процент от сделки, фиксированная плата, фиксированная/контракт.https://stocksharp.ru/topic/1399/Exception при выключенном Квике2011-02-26T14:00:26Z2011-02-26T14:00:26ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ruЕсли закрыть квик, а после вызвать MultiTrader.Dispose(), то появляется следующий Exception (через ProcessDataError):<br /><br /><div class="quote"><span class="quotetitle">Цитата:</span><div class="innerquote"><br />System.InvalidOperationException: Нет информации о главном окне Quik. Возможно, было неуспешное подключение.<br /> at Ecng.Trading.Quik.QuikTerminal.#=qGbzhp48kD0JaPm3iYiSrOByTg2rrF7KP$ZU2BKP7F0w=()<br /> at Ecng.Trading.Quik.QuikTerminal.get_SystemProcess()<br /> at Ecng.Trading.Quik.QuikTerminal.#=qJyL1eH$Ax$caqdhRw3tPl4IRpHewakokVcsX7r5fd0s=(SystemWindow #=qnHYA9QfL7wHksvtgpAk25Q==)<br /> at System.Linq.Enumerable.<>c__DisplayClassf`1.<CombinePredicates>b__e(TSource x)<br /> at System.Linq.Enumerable.<>c__DisplayClassf`1.<CombinePredicates>b__e(TSource x)<br /> at System.Linq.Enumerable.WhereArrayIterator`1.MoveNext()<br /> at System.Linq.Buffer`1..ctor(IEnumerable`1 source)<br /> at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)<br /> at Ecng.Trading.Quik.QuikTerminal.#=qqOE5tozRGYYh4i20ozsQbg==()<br /> at Ecng.Trading.Quik.QuikTerminal.#=qf7tHmu4JbnZCzkQ3pbFAMYwh5NYet5698_tHiYYisVc=()<br /> at Ecng.Trading.Quik.QuikTerminal.StopDde(String caption)<br /> at Ecng.Trading.Quik.QuikTerminal.#=qRgC6Y3r9dTcXyrlGEZu_KQ==(IEnumerable`1 #=qd2GJpU5pR4hI8VrI5b$e_w==)<br /> at Ecng.Trading.Quik.QuikTerminal.StopActiveDdeExport()<br /> at Ecng.Trading.Quik.QuikTrader.DisposeManaged()<br /></div></div><br /><br />Версия Stock# 3.0.8. Могу ошибаться, но на 2.6 подобного не было.<br /><br />Лечится таким образом:<br /><div class="code"><strong>Код</strong><div class="innercode"> protected override void DisposeManaged()<br /> {<br /> if (IsConnected && !Terminal.SystemProcess.HasExited)<br /> base.DisposeManaged();<br /> }</div></div><br /><br />Вообще возникают разного рода Exception при выключенном квике и когда дёргаешь те или иные методы от ITrader:<br />StartExport/StopExport<br />RestartExport<br />....<br /><br />Я не уверен где должны стоять проверки на подключение к квику - внутри библиотеки или реализовывать внутри архитектуры?<br /><br />Для RestartExport у меня, к примеру, сделано следующее:<br /><div class="code"><strong>Код</strong><div class="innercode"> public override void ReStartExport()<br /> {<br /> if (IsConnected && !Terminal.SystemProcess.HasExited)<br /> base.ReStartExport();<br /> }</div></div><br /><br />Перед вызовом StartExport\StopExpoке я проверяю что MultiTrader подключен:<br /><div class="code"><strong>Код</strong><div class="innercode"> private bool IsMultiTraderConnected()<br /> {<br /> if (!_multiTrader.IsConnected)<br /> return false;<br /><br /> var ownQuikTraderCollection = _multiTrader.AggregatedTraders.OfType<OwnQuikTrader>();<br /> return ownQuikTraderCollection.Count() > 0 &&<br /> ownQuikTraderCollection.All(quikTrader => quikTrader.IsConnected && !quikTrader.Terminal.SystemProcess.HasExited);<br /> }</div></div><br /><br /><br />Имеет ли смысл это добавлять в библиотеку Stock# и выдавать более понятные сообщения вместо ProcessDataError?https://stocksharp.ru/topic/1398/Сохранение параметров стратегии2011-02-26T11:03:52Z2011-02-26T11:03:52ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ruУ всех множество стратегий и у каждой стратегии обычно есть параметры.<br /><br />Кто как создаёт структуру этих параметров в коде на C#?<br /><br />Как классы, наследующие один и тот же интерфейс?<br />Или как dictionary<string, object> - сопоставление имени параметра на значение?<br /><br />Есть ли в C# более удобные классы для сохранения параметров?https://stocksharp.ru/topic/1397/Запаздывание MarketTime в Квике2011-02-25T23:25:18Z2011-02-25T23:25:18ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ruВ квике (5.18, Открытие) серверное время, которое отображается в левом углу квика и фактически которое записывается в MarketTime постоянно запаздывает на 3 секунды. Фактически из-за этого все данные - свечки, я тоже получаю с задержкой.<br /><br />Можно ли и стоит ли с этим бороться? :)<br /><br />Или оставить текущее решение - просто переопределить MarketTime, которое будет возвращать DateTime.Now (при этом системные часы должны быть синхронизированы...)?https://stocksharp.ru/topic/1396/Неправильные свечи в CandleManager2011-02-25T23:21:34Z2011-02-25T23:21:34ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ruСегодня на фьючерсе РТС Close свечки 10:55-11:00 был 189805, в Stock# - 189800<br />Open свечки 11:00 - 11:05 на фортсе (смотрел через квик и финамовские данные) - 189810, в Stock# - 189830<br /><br />В квике во всех сделках первая сделка была также по 189810:<br /><a href='http://i2.pixs.ru/storage/6/5/3/allppng_4891994_1762653.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://i2.pixs.ru/storage/6/5/3/allppng_4891994_1762653.png" style='max-width: 600px;' alt=""/></a><br /><br />Переход от 189800 к 189830 был осуществлён в 11:00:00 - 11:00:01 (видно также на этом скриншоте). Может как-то с этим связано - первая секунда новой 5-минутки записывается в предыдущую свечку?https://stocksharp.ru/topic/1395/Проблема с "несуществующим" инструментом2011-02-25T11:19:04Z2011-02-25T11:19:04ZMCTuTeJ|19951995https://stocksharp.ru/users/18/info@stocksharp.ruТак как позиции по деривативам через Trader.NewPositions приходят очень долго, я сделал свою таблицу "позиции" и пользуюсь ей.Всё было бы хорошо но на одном счете есть две позиции по инструментам,которых нет в квике. С квика, на котором есть эти инструменты позиции вообще не приходят - ни кастом, ни Trader.NewPositons.<br /><br />У этих инструментов нет даты экспирации, и ProcessDataError выдает след. ошибки:<br />1)---------------------------<br /><br /><hr />Инструмент с кодом SiH1 для деривативной позиции не найден.<br /><hr />ОК <br /><hr />2)<br /><br /><hr /><br /><hr />Строка не распознана как действительное значение DateTime.<br /><hr />ОК <br /><hr /><br />Заметил, что один раз из 5 примерно позиции после выдачи этих сообщений приходят, причем все сразу.<br />В чем может быть проблема ?<br /><br />На квике в котором нет таких позиций все нормально работает...<br /><br />Забыл еще <br />3)---------------------------<br /><br /><hr />Инструмент с кодом VTBR03 для деривативной позиции не найден.<br /><hr />ОК <br />---------------------------https://stocksharp.ru/topic/1394/[BLOCKER][3.06beta] Trader.SecuritiesChanged не вызывается2011-02-24T20:09:01Z2011-02-24T20:09:01ZGreene-nskhttps://stocksharp.ru/users/27932/info@stocksharp.ruВ 3.0.3b работает. В 3.0.6b перестало приходить Trader.SecuritiesChangedhttps://stocksharp.ru/topic/1393/Подключение к БД2011-02-24T19:50:03Z2011-02-24T19:50:03ZTi_ruhttps://stocksharp.ru/users/576/info@stocksharp.ruЗдравствуйте. Никак не удается настроить коннект Гидры с БД.<br />Базу данных создал, предварительно подправив в вашем скрипте ссылку на ее расположение.<br />Затем исправил строку подключения на следующую: <br /><connectionStrings><br /> <add name="HydraConnectionString" connectionString="Server=.\SQLEXPRESS;Database=Trading;User ID=trading;Password=trading;" providerName="System.Data.SqlClient" /><br /> </connectionStrings><br /><br />При запуске программы, получаю сообщение:<br /><a href='http://img-fotki.yandex.ru/get/5903/nepoidy.0/0_44d56_5070a847_L.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://img-fotki.yandex.ru/get/5903/nepoidy.0/0_44d56_5070a847_L.jpg" style='max-width: 600px;' alt=""/></a><br /><br />В программировании не особо силен, из-за этого и проблемы ) https://stocksharp.ru/topic/1392/NullReferenceException при выставлении ордера2011-02-24T12:26:24Z2011-02-24T12:26:24ZGreene-nskhttps://stocksharp.ru/users/27932/info@stocksharp.ruМихаил, добрый вечер!<br />Подскажите, пожалуйста, с чем может быть связана ошибка ниже. Я что-то поправил, раньше работало. Сейчас перестало. В любом случае хорошо б ее обработать и выдать что не так.<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><br /> new Order<br /> {<br /> Type = OrderTypes.Limit,<br /> Portfolio = Const.SmartInstance.Portfolio(Const.Params.PortfolioName),<br /> Volume = this.Shares,<br /> Price = this.Price,<br /> Security = Const.SmartInstance.Security(this.Symbol),<br /> Direction = OrderDirections.Sell,<br /> };<br /><br />24.02.2011 18:54:15 [OpenWealth.StockSharp.MegaQuotingStrategy.RegisterOrder] Регистрация ордера RTS-3.11 -1*186380 Limit ST3276-RF-01 None отстаток: 0 время снятия: <br />24.02.2011 18:54:16 [OpenWealth.StockSharp.SmartCOM.<Init>b__5] ERROR: Ошибка обработки данных System.NullReferenceException: В экземпляре объекта не задана ссылка на объект.<br /> в Ecng.Trading.Algo.Strategies.Strategy.RegisterOrder(Order order)<br /> в OpenWealth.StockSharp.MegaQuotingStrategy.RegisterOrder()<br /></div></div><br /><br />https://stocksharp.ru/topic/1391/Получение портфеля ФОРТС [3.0.6]2011-02-24T10:41:15Z2011-02-24T10:41:15Zvvthttps://stocksharp.ru/users/34/info@stocksharp.ru[3.0.6]<br />В Quik есть счет для работы на ФОРТС <div class="quote"><span class="quotetitle">Цитата:</span><div class="innerquote">SPBFUT00835</div></div><br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADxlMlfcGqj2CSlhK7PsumTVlG04W7rGMZIbioitMzRjA" title="http://www.radikal.ru"><a href='http://i074.radikal.ru/1102/e7/7583c915cbfa.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://i074.radikal.ru/1102/e7/7583c915cbfa.jpg" style='max-width: 600px;' alt=""/></a></a><br /><br />Пытаюсь его получить:<br /><div class="code"><strong>Код</strong><div class="innercode">using System;<br />using System.Linq;<br />using System.Threading;<br />using Ecng.Trading.BusinessEntities;<br />using Ecng.Trading.Quik;<br /><br />namespace SampleConsolePortfolio<br />{<br /> internal class Program<br /> {<br /> private static QuikTrader _trader;<br /> private static Portfolio _portfolio;<br /><br /> private static void Main()<br /> {<br /> try<br /> {<br /> const string account = "SPBFUT00835";<br /><br /> using (var waitHandle = new AutoResetEvent(false))<br /> {<br /> // создаем шлюз к Quik-у<br /> using (_trader = new QuikTrader(@"C:\FinamJunior\info.exe"))<br /> {<br /> // подписываемся на событие успешного подключения<br /> // все действия необходимо производить только после подключения<br /> _trader.Connected += () =><br /> {<br /> Console.WriteLine("Подключение было произведено успешно.");<br /><br /> // извещаем об успешном соединени<br /> waitHandle.Set();<br /> };<br /><br /> Console.WriteLine("Производим подключение...");<br /><br /> _trader.Connect();<br /><br /> // дожидаемся события об успешном соединении<br /> waitHandle.WaitOne();<br /> <br /> _trader.ProcessDataError += error => Console.WriteLine(error.ToString());<br /><br /> _trader.NewPortfolios += portfolios =><br /> {<br /> if (_portfolio == null)<br /> {<br /> // находим Счет и присваиваем ее переменной portfolio<br /> _portfolio = portfolios.FirstOrDefault(p => p.Name == account);<br /><br /> if (_portfolio != null)<br /> {<br /> Console.WriteLine("Портфель {0} появился.", account);<br /><br /> // извещаем о появившемся портфеле<br /> waitHandle.Set();<br /> }<br /> }<br /> };<br /><br /><br /> // запускаем экспорт по DDE<br /> _trader.Terminal.StartDde(_trader.DerivativePortfoliosTable);<br /><br /> Console.WriteLine("Экспорт по DDE запущен");<br /><br /> // дожидаемся появления портфеля<br /> waitHandle.WaitOne();<br /><br /> Console.WriteLine("Чтобы закончить, нажмите любую клавишу...");<br /> Console.ReadKey();<br /><br /> // останавливаем экспорт по DDE<br /> _trader.Terminal.StopDde(_trader.DerivativePortfoliosTable);<br /> }<br /> }<br /> }<br /> catch (Exception ex)<br /> {<br /> Console.WriteLine(ex);<br /> Console.WriteLine("Чтобы закончить, нажмите любую кнопку...");<br /> Console.ReadKey();<br /> }<br /> }<br /> }<br />}</div></div><br /><br />Получаю ошибку: <div class="quote"><span class="quotetitle">Цитата:</span><div class="innerquote">Производим подключение...<br />Подключение было произведено успешно.<br />System.ArgumentOutOfRangeException: Неправильное значение для типа лимита.<br />Имя параметра: func<br />Фактическое значение было Рубли.<br /> в #=qyI3M$owxn1pf_MA7$nXA4HLDmVvBVKCzKYGiWJTw77fB5lc2OkqlKVaUgqpAZrBF.#=qDz1x<br />5a7MslOjcUWgai4vyQ==(Func`2 #=qT1vn0Gic3ovvXEeiRaZd_w==)<br /> в Ecng.Trading.Quik.QuikTrader.#=qCyQKhW4O6l$WIkYewKOfoSpu63sMuKE4Kt23XzECYbY<br />=.#=qskTOA9gQ2f9kOgBLRrbMoA==(IList`1 #=q3CZwVggUAR39Xo3n6M8QTA==, Func`2 #=qJw7<br />16_99Xz$HMvsVRk7$xA==)<br /> в #=qyI3M$owxn1pf_MA7$nXA4HLDmVvBVKCzKYGiWJTw77fB5lc2OkqlKVaUgqpAZrBF.#=qkBiD<br />hgR1oGhHKNQ6Ak7XFg==(DdeTable #=qTsRCfdy5r09524LbkshnTg==, IList`1 #=qtjxsniOpR7<br />IKH5XFwpNkpg==, Action`2 #=q7P4b_3tPtVkPzAmjFI798g==, Action`1 #=q2jZ4o65GGkKLYL<br />bKfjofYA==)<br />Экспорт по DDE запущен</div></div>https://stocksharp.ru/topic/1390/режим совместимости на Windows 2008 Server2011-02-22T18:44:17Z2011-02-22T18:44:17Zromanickhttps://stocksharp.ru/users/28047/info@stocksharp.ruДобрый вечер!<br />Пытаюсь запустить программу, использующую s# в связке с Quik на ОС Windows 2008 R2 Standart 64 bit.<br /><br />Сам Quick Запускается только в режиме совместимости с XP SP3 или VIsta SP2. Под Windows Server(без режима совместимости) пишет Runtime error.<br /><br />Моя программа запускается нормально, но QuikTerminal.Terminals пуст. Если попытаться подставить пути к Quik вручную, то при попытке подключиться выскакивает "Ошибка в загрузке библиотеки TRANS2QUIK.DLL Parametr name: dllPath"<br />В режиме совместимости (XP SP3 или VIsta SP2) тоже самое.<br /><br />В чём может быть проблема? Подозреваю что в DDE, но не уверен...https://stocksharp.ru/topic/1389/[3.0.6] NRE during xml strategy report generating2011-02-22T16:21:51Z2011-02-22T16:21:51ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ruВо время генерации отчёта получаю NRE:<br /><br /><div class="quote"><span class="quotetitle">Цитата:</span><div class="innerquote">System.NullReferenceException was unhandled<br /> Message=Object reference not set to an instance of an object.<br /> Source=Ecng.Trading.Algo<br /> StackTrace:<br /> at Ecng.Trading.Algo.TraderHelper.GetMarketPrice(MarketDepthPair bestPair, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType)<br /> at Ecng.Trading.Algo.TraderHelper.GetMarketPrice(Security security, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType)<br /> at Ecng.Trading.Algo.TraderHelper.GetPnL(Security security, Int64 position)<br /> at Ecng.Trading.Algo.PnL.BasePnLManager.#=qz1Pkad79BLeG2zoFC7yZRg==(KeyValuePair`2 #=qHo8yqiDKe24tIIMpwIwDzQ==)<br /> at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()<br /> at System.Linq.Enumerable.Sum(IEnumerable`1 source)<br /> at Ecng.Trading.Algo.PnL.BasePnLManager.#=qpKurmy48WsO2SD4_Xp_sKw==(SynchronizedDictionary`2 #=qUPvW0wVJA2FikCQK_objkg==)<br /> at Ecng.Collections.CollectionHelper.SyncGet[TCollection,TResult](TCollection collection, Func`2 func)<br /> at Ecng.Trading.Algo.PnL.BasePnLManager.get_PnL()<br /> at Ecng.Trading.Algo.Reporting.XmlStrategyReport.Generate()<br /> at Robots.MainWindow.MainWindow.GenerateStrategyReports(Strategy strategy) in c:\Users\Alexander\Documents\Visual Studio 2010\Projects\Robots\Robots\MainWindow\MainWindow.xaml.cs:line 71<br /> at Robots.MainWindow.MainWindow.OnClosing(CancelEventArgs e) in c:\Users\Alexander\Documents\Visual Studio 2010\Projects\Robots\Robots\MainWindow\MainWindow.xaml.cs:line 136<br /> at System.Windows.Window.WmClose()<br /> at System.Windows.Window.WindowFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)<br /> at System.Windows.Interop.HwndSource.PublicHooksFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)<br /> at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)<br /> at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)<br /> at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)<br /> at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)<br /> at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)<br /> at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)<br /> at MS.Win32.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)<br /> at MS.Win32.HwndSubclass.DefWndProcWrapper(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)<br /> at MS.Win32.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)<br /> at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)<br /> at MS.Win32.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)<br /> at MS.Win32.HwndSubclass.DefWndProcWrapper(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)<br /> at MS.Win32.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)<br /> at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)<br /> at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)<br /> at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)<br /> at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)<br /> at System.Windows.Threading.Dispatcher.Run()<br /> at System.Windows.Application.RunDispatcher(Object ignore)<br /> at System.Windows.Application.RunInternal(Window window)<br /> at System.Windows.Application.Run(Window window)<br /> at System.Windows.Application.Run()<br /> at Robots.App.Main() in c:\Users\Alexander\Documents\Visual Studio 2010\Projects\Robots\Robots\obj\x86\Debug\App.g.cs:line 0<br /> InnerException: <br /></div></div><br /><br />На предыдущих версиях такой ошибки не было.https://stocksharp.ru/topic/1388/[3.0.5] RealTimeTestTrader<SmartTrader>2011-02-22T10:40:04Z2011-02-22T10:40:04Zpyhta4oghttps://stocksharp.ru/users/497/info@stocksharp.ruПодписался на RealTimeTestTrader<SmartTrader>.NewTrade<br />сделки приходят по два раза.<br /><br />В комбобоксе Portfolio - все cчета по два раза.<br /><br />Похоже враппер каким-то образом задваивает посылку всех event-ов<br /><br /><br />С уважениемhttps://stocksharp.ru/topic/1387/[BLOCKER] [3.0] котирование не срабатывает2011-02-22T09:46:57Z2011-02-22T09:46:57ZGreene-nskhttps://stocksharp.ru/users/27932/info@stocksharp.ruСлучается часто, что котирование не срабатывает. Использую SmartTrader и котирование вида BestByPriceQuotingStrategy(_Order, 4.Pips(_Order.Security)).<br /><br />Два примера.<br /><br />1. Ордер был выставлен, но цена ушла далеко против него. Ордер должен был переставиться. Но этого не произошло. Реально ордер выставился, затем был отменен, а новый не поставился. Соответственно сделка не прошла.<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><br />22.02.2011 0:22:59 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__18] RTS-3.11 +1*187110 Limit<br />22.02.2011 0:23:55 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии Name: BBPQS errorStates: Error str: System.InvalidOperationException: В процессе снятия заявки '0' случился тайм-аут.<br /> в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order)<br /> в Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Func`1 getNewPrice, Func`1 getNewVolume, Boolean isForts)<br /> в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()<br /> в Ecng.Trading.Algo.Strategies.Strategy.#=q3UdZn4RtstjLq$DRetpesrMPkbpqY9D7UhsAwBvksoY=.#=qYw$3xI3MUzQpTQq5ga9LOw==()<br /></div></div><br /><br />2. Ордер был выставлен, цена резко пошла в сторону ордера. Ордер выполнился. Но стратегия котирования выдала ошибку.<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><br />22.02.2011 16:14:38 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__18] RTS-3.11 +1*183565 Limit<br />22.02.2011 16:14:39 [OpenWealth.StockSharp.SmartCOM.<Smart_NewMyTrades>b__16] 275103030 RTS-3.11 +1*183515<br />22.02.2011 16:14:39 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии Name: BBPQS errorStates: Warning str: Заявка 57996368 не имеет состояния.<br />22.02.2011 16:15:01 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии Name: BBPQS errorStates: Error str: System.InvalidOperationException: В процессе снятия заявки '0' случился тайм-аут.<br /> в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order)<br /> в Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Func`1 getNewPrice, Func`1 getNewVolume, Boolean isForts)<br /> в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()<br /> в Ecng.Trading.Algo.Strategies.Strategy.#=q3UdZn4RtstjLq$DRetpesrMPkbpqY9D7UhsAwBvksoY=.#=qYw$3xI3MUzQpTQq5ga9LOw==()<br /></div></div>https://stocksharp.ru/topic/1386/Список задач 22011-02-21T20:07:30Z2011-02-21T20:07:30Zaspiranthttps://stocksharp.ru/users/6114/info@stocksharp.ruПо просьбе Михаила, хочу собрать воедино весь более-менее подробный список задач. Пишите в эту тему, у кого что есть? Если есть задачи, которыми можно поделиться указывайте отдельно. Спасибо.https://stocksharp.ru/topic/1385/[3.0.5] Hydra XamlParseException exception2011-02-21T16:04:23Z2011-02-21T16:04:23ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ruПри старте Гидры возникает следующий эксепшен.<br />Он, как я понимаю, связан с HydraConnectionString. Если я прав, то хотелось бы видеть как раз об этом сообщение. :)<br /><br /><br /><div class="quote"><span class="quotetitle">Цитата:</span><div class="innerquote">System.Windows.Markup.XamlParseException: Не удается создать экземпляр "MainWindow", определенный в сборке "Hydra, Version=3.0.5.0, Culture=neutral, PublicKeyToken=null". Адресат вызова создал исключение. Ошибка в файле разметки "Hydra;component/MainWindow.xaml", строка 1, позиция 9. ---> System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.Data.SqlClient.SqlException: При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения. (provider: Поставщик именованных каналов, error: 40 - Не удалось открыть подключение к SQL Server)<br /><br /> в System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)<br /> в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)<br /> в System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)<br /> в System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)<br /> в System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)<br /> в System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)<br /> в System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)<br /> в System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)<br /> в System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)<br /> в System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)<br /> в System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)<br /> в System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)<br /> в System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)<br /> в System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)<br /> в System.Data.SqlClient.SqlConnection.Open()<br /> в Ecng.Data.DatabaseProvider.CreateConnection(String connectionString)<br /> в Ecng.Data.Database.CreateConnection()<br /> в Ecng.Data.Database.<>c__DisplayClass7.<GetCommand>b__6(Query )<br /> в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 handler)<br /> в Ecng.Data.Database.GetCommand(Query commandQuery, SerializationItemCollection source)<br /> в Ecng.Data.HierarchicalDatabase.GetCommand(Schema schema, SqlCommandTypes type, FieldCollection keyFields, FieldCollection valueFields, SerializationItemCollection source)<br /> в Ecng.Data.Database.GetCount(Schema schema)<br /> в Ecng.Data.Database.GetCount[TEntity]()<br /> в Ecng.Serialization.RelationManyList`1.OnGetCount()<br /> в Ecng.Data.HierarchicalPageLoadList`1.OnGetCount()<br /> в Ecng.Serialization.RelationManyList`1.ReadAll(Int64 startIndex, Int64 count, Field orderBy, SortDirection direction)<br /> в Ecng.Serialization.RelationManyList`1.GetRange(Int64 startIndex, Int64 count, String sortExpression, SortDirection directions)<br /> в Ecng.Collections.BaseListEx`1.GetRange(Int64 startIndex, Int64 count)<br /> в Ecng.Serialization.RelationManyList`1.get_Count()<br /> в Ecng.Trading.Hydra.MainWindow..ctor() в E:\StockSharpReleases\StockSharp_3.0.5\Sources\Hydra\Hydra\MainWindow.xaml.cs:строка 40<br /><br /> --- Конец трассировки внутреннего стека исключений ---<br /><br /> в System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)<br /> в System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)<br /> в System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)<br /> в System.Activator.CreateInstance(Type type, Boolean nonPublic)<br /> в System.Windows.Markup.BamlRecordReader.CreateInstanceFromType(Type type, Int16 typeId, Boolean throwOnFail)<br /><br /> --- Конец трассировки внутреннего стека исключений ---<br /><br /> в System.Windows.Markup.XamlParseException.ThrowException(String message, Exception innerException, Int32 lineNumber, Int32 linePosition, Uri baseUri, XamlObjectIds currentXamlObjectIds, XamlObjectIds contextXamlObjectIds, Type objectType)<br /> в System.Windows.Markup.XamlParseException.ThrowException(ParserContext parserContext, Int32 lineNumber, Int32 linePosition, String message, Exception innerException)<br /> в System.Windows.Markup.BamlRecordReader.ThrowExceptionWithLine(String message, Exception innerException)<br /> в System.Windows.Markup.BamlRecordReader.CreateInstanceFromType(Type type, Int16 typeId, Boolean throwOnFail)<br /> в System.Windows.Markup.BamlRecordReader.GetElementAndFlags(BamlElementStartRecord bamlElementStartRecord, Object& element, ReaderFlags& flags, Type& delayCreatedType, Int16& delayCreatedTypeId)<br /> в System.Windows.Markup.BamlRecordReader.BaseReadElementStartRecord(BamlElementStartRecord bamlElementRecord)<br /> в System.Windows.Markup.BamlRecordReader.ReadElementStartRecord(BamlElementStartRecord bamlElementRecord)<br /> в System.Windows.Markup.BamlRecordReader.ReadRecord(BamlRecord bamlRecord)<br /> в System.Windows.Markup.BamlRecordReader.Read(Boolean singleRecord)<br /> в System.Windows.Markup.TreeBuilderBamlTranslator.ParseFragment()<br /> в System.Windows.Markup.TreeBuilder.Parse()<br /> в System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)<br /> в System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)<br /> в System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)<br /> в System.Windows.Application.DoStartup()<br /> в System.Windows.Application.<.ctor>b__0(Object unused)<br /> в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)<br /> в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)</div></div>