Форум. StockSharphttps://stocksharp.ru/handlers/atom.ashx?category=forum&page=227Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T16:01:20Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/topic/1523/снятие частично исполненной заявки2011-04-18T20:40:07Z2011-04-18T20:40:07Zromanickhttps://stocksharp.ru/users/28047/info@stocksharp.ruДобрый день!<br />Пишу сейчас для SmartCOM.<br />Как можно снять частично исполненную заявку? Т.е. была выставлена заявка на 10 лотов, исполнилось, например, 7 из них, а 3 осталось. При помощи какого метода s# снять эти 3 оставшиеся лота?<br />https://stocksharp.ru/topic/1522/Portfolios QUIK2011-04-18T19:14:55Z2011-04-18T19:14:55ZSerghttps://stocksharp.ru/users/484/info@stocksharp.ruПриветствую Михаил. Долго не мог получить портфель(L01-...). Все необходимые таблицы выводились. В таблица "позиции по бумагам" была одна запись GAZP L01-.. ...<br />Но портфель не приходил(точнее не срабатывало событие NewPortfolios).<br />Заметил странную особенность. Если в таблице инструментов нет того самого GAZP то портфель никогда не придет. Это баг или нормальное поведение?<br />Получается если в табл. позиции по бумагам еще нет записи с инструментом которым будешь торговать, а в табл. инструментов только необходимые инструменты, то портфель не придет.<br /><br />Спасибо за внимание.<br /><br />ps: s# 3.0.19https://stocksharp.ru/topic/1521/Профилактика сайта2011-04-18T09:02:27Z2011-04-18T09:02:27ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruМожет быть не доступен в течении дня.https://stocksharp.ru/topic/1520/Как отфильтровать внесистемные сделки?2011-04-17T18:49:44Z2011-04-17T18:49:44ZGarichttps://stocksharp.ru/users/809/info@stocksharp.ruЗакачал данные Гидрой с РТС.<br />Пытаюсь делать свечки - внесистемные сделки захламляют всё ((<br /><br />Как их отфильтровать? <br />Тут писали что нужно фильтровать по типу сделки - у обычных сделок равен 0. А как это сделать? В Гидре сделка доступна через Trade - а там никакого типа нет. <br /><br />З.Ы. Может лучше по умолчанию их не загружать вообще?https://stocksharp.ru/topic/1519/Нереальные тормоза2011-04-16T18:54:26Z2011-04-16T18:54:26ZOppositushttps://stocksharp.ru/users/6212/info@stocksharp.ruЗдравствуйте.<br /><br />Скачал S# 3.0.19, разбираюсь с примерами. SampleHistoryTester и SampleEmulationTester нереально тормозят.<br /><br />SampleHistoryTester отработал интервал new DateTime(2009, 6, 1), new DateTime(2009, 7, 1) за <b>26 минут</b>!!!<br /><br />Дождаться завершения SampleEmulationTester просто не смог! За 30 минут прогресс бар не прошел и 10%.<br /><br />Система Vista. Core2 Quad тоже должно хватать, как я думаю :) ...<br /><br />В чем может быть дело? https://stocksharp.ru/topic/1518/Сохраненный стакан2011-04-16T13:39:17Z2011-04-16T13:39:17ZLaferthttps://stocksharp.ru/users/26871/info@stocksharp.ruУ кого есть сохраненные стаканы по RIZ0, GZZ0, SRZ0, LKZ0, SIZ0 за время последнего российского ЛЧИ поделитесь парой дней, плиз.https://stocksharp.ru/topic/1517/Торговый счет и код фирмы2011-04-15T13:16:23Z2011-04-15T13:16:23ZKAXhttps://stocksharp.ru/users/3408/info@stocksharp.ruДоброй пятницы всем)<br /><br />Столкнулся с проблемкой.<br /><br />Торговый счет (счет депо) начинается с Y02...<br />Код фирмы начинается с MC...<br /><br />Торговый счет отображается в таблице позиции по бумагам, а код фирмы в портфеле по бумагам.<br /><br />Экспортируем эти таблицы: <br />_quik.Terminal.StartDde(_quik.SecuritiesTable, _quik.MyTradesTable, _quik.EquityPortfoliosTable, _quik.EquityPositionsTable);<br /><br />В событии _quik.NewPortfolios получаем наш портфель, но его имя начинается с MC, т.е. это код фирмы.<br /><br />Дальше начинаем выставлять заявку, заявка не проходит потому, что в тексте транзакции идет ACCOUNT=MC..<br />Т.е. вместо торгового счета указывается код фирмы.<br /><br />Смотрел все примеры, что входят в поставку и документацию. Сам ответа не нашел, как исправить эту ситуацию.<br />Была идея, изменить свойство Name у объекта Portolio на Y02, заявка прошла, однако функция GetPosition(Portfolio, security) по возвращает null<br /><br />Брокер УралСиб, ММВБ, Quik 5.21.021, Верификатор говорит что все.https://stocksharp.ru/topic/1516/Обновил сборки до S# 3.12011-04-15T09:55:48Z2011-04-15T09:55:48ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruВ основном с decimal заменял места. Еще поправил ссылки у проектного файла (они указывали в bin\Debug)https://stocksharp.ru/topic/1515/Математические операции(не относится к S#)2011-04-14T17:19:43Z2011-04-14T17:19:43Zskuvvhttps://stocksharp.ru/users/28621/info@stocksharp.ruВ общем появилась проблема с обычными операциями сложение и вычитание - искажается результат.<br />Например: <br /><div class="code"><strong>Код</strong><div class="innercode"><br /> double va1 = 17.1;<br /> double va2 = 17.2;<br /> double re2 = va2 - va1;<br /></div></div><br />на выходе получаю re2 = 0.099999999999997868<br />что это может быть?https://stocksharp.ru/topic/1514/вопрос по StopLossStrategy2011-04-13T14:35:29Z2011-04-13T14:35:29Zsklementievhttps://stocksharp.ru/users/27969/info@stocksharp.ruПравильно ли я понимаю, что StopLossStrategy не гарантирует исполнение ордера, который она породила?<br />только что наблюдал, StopLoss ордер на продажу поставлен, цена резко ушла вверх и тишинааааа - ордер активен, сделок нет<br /><br />стратегия создается стандартно в батче<br /><br /> batch.ChildStrategies.AddRange(trades.Select(t =><br /> {<br /> var s = new BatchStrategy(BatchFinishModes.First) { IsParallel = true };<br /><br /> var takeProfit = new TakeProfitStrategy(t, takeProfitPoints) { IsForts = true };<br /><br /> var stopLoss = new StopLossStrategy(t, stopLossPoints) {IsForts = true};<br /><br /> takeProfit.IsParallel = stopLoss.IsParallel = true;<br /><br /> s.ChildStrategies.Add(takeProfit);<br /> s.ChildStrategies.Add(stopLoss);<br /> return s;<br /> }));<br /><br /> ChildStrategies.Add(batch);<br /><br />Как исключить подобное? Ибо если это не работает, какой вообще смысл в Protective статегиях?<br /><br /><br />также заметил у стратегии интересные параметры типа PriceDelta, PriceExchange, UseMarketQuoting <br />Михаил, ты не мог бы обяснить их смысл?<br /><br /><br />https://stocksharp.ru/topic/1513/Stock# 3.12011-04-13T12:19:44Z2011-04-13T12:19:44ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruСкорее всего бета, но кто знает.[smile] <br /><br />Новые фишки:<br /><ol><br /><li>Опционы (БШ, хеджер, систетика, котирование).<br /><li>Перевод с double на decimal.<br /><li>Поменял названия классов из пространства Testing.<br /><li>Кретики-нолики.<br /><li>SmartCOM от 29.03.2011.<br /></ol><br /><br />Баги:<br /><ol><br /><li> <a href="http://stocksharp.com/forum/1466/Niekorriektnyi-vyvod-stakanov-v-Gidrie/
" title="http://stocksharp.com/forum/1466/Niekorriektnyi-vyvod-stakanov-v-Gidrie/
">http://stocksharp.com/fo...yvod-stakanov-v-Gidrie/
</a><br /><li> <a href="http://stocksharp.com/posts/m/7104/
" title="http://stocksharp.com/posts/m/7104/
">http://stocksharp.com/posts/m/7104/
</a><br /><li> <a href="http://stocksharp.com/forum/1469/-3-0-19--Niepravil-no-schitaietsia-Position-v-PositionManager/
" title="http://stocksharp.com/forum/1469/-3-0-19--Niepravil-no-schitaietsia-Position-v-PositionManager/
">http://stocksharp.com/fo...tion-v-PositionManager/
</a><br /><li> <a href="http://stocksharp.com/forum/1485/Probliema-s-GuarantyCancelOrder/
" title="http://stocksharp.com/forum/1485/Probliema-s-GuarantyCancelOrder/
">http://stocksharp.com/fo...-s-GuarantyCancelOrder/
</a><br /></ol><br /><br />Для перехода на новую Гидру нужно прогнать скрипт <b>trading_diff.sql</b>.https://stocksharp.ru/topic/1512/AlfaDirect Connector2011-04-12T17:27:29Z2011-04-12T17:27:29ZSergey Masyurahttps://stocksharp.ru/users/701/info@stocksharp.ruВсем добрый вечер,<br /><br />На TFS (https://stocksharp.com/tfs/) выложена начальная реализация коннектора StockSharp + AlfaDirect.<br />Решение можно найти по пути $/Plaza/trunk/Alfa.<br />Реализация основана на использовании клиентского API Альфа-Директ, то есть через терминал. <br />Готовность около 70-80 процентов, по сути все что было необходимо мне для робота.<br /><br />Статус примерно следующий (- не готово, + готово или почти готово):<br /><br />AlfaTrader<br /> Properties<br /> -Orders<br /> -StopOrders<br /> -Trades<br /> -MyTrades<br /> -OrderFails<br /> +Positions<br /> +Portfolios<br /> +Securities<br /> +IsConnected<br /> +IsExportRunning<br /> +MarketTime<br /> -MarketTimeOffset<br /> Events<br /> -NewStopOrders<br /> -NewPositions<br /> -PositionsChanged<br /> -ProcessDataError<br /> -StopOrdersChanged<br /> -NewDataExported<br /> -StopOrdersFailed<br /> -NewOrders<br /> -NewMyTrades<br /> +SecuritiesChanged<br /> +OrdersChanged<br /> +NewPortfolios<br /> +NewTrades<br /> +OrdersFailed<br /> +PortfoliosChanged<br /> +Connected<br /> +QuotesChanged<br /> +ConnectionError<br /> +Disconnected<br /> +NewSecurities<br /> Methods<br /> -GetPosition<br /> -Reconnect<br /> -ReStartExport<br /> -ReRegisterOrder<br /> +RegisterSecurity<br /> +RegisterPortfolio<br /> +RegisterOrder<br /> +UnRegisterPortfolio<br /> +RegisterTrades<br /> +GetMarketDepth<br /> +RegisterQuotes<br /> +UnRegisterTrades<br /> +CancelOrder<br /> +UnRegisterQuotes<br /> +StartExport<br /> +StopExport<br /> +CancelOrders<br /> +Disconnect<br /> +UnRegisterSecurity<br /> +Connect<br /><br />Небольшой список TODO для начала:<br /> Stop orders support<br /> Orders update (re-register order)<br /> Portfolio-Commission<br /> Portfolio-Leverage<br /> Use portfolio instead of the account<br /><br />Кому интересен данный коннектор или если кто желает принять участие в разработке, отписывайтесь пожалуйста, тут.https://stocksharp.ru/topic/1511/Экспорт таблицы "Новости"2011-04-12T13:07:14Z2011-04-12T13:07:14ZFiNickhttps://stocksharp.ru/users/6053/info@stocksharp.ruНужно экспортировать таблицу "Новости", но похоже там нету возможности включить экспорт по DDE. Как это можно сделать?https://stocksharp.ru/topic/1510/Котирование убивает стратегию2011-04-12T12:08:21Z2011-04-12T12:08:21Zsklementievhttps://stocksharp.ru/users/27969/info@stocksharp.ruИспользую стандартный код из примеров по котированию,тейк профиту и стоп лоссу<br /><br />в логе имеем<br /><br />EIS_01:00:05 15:44:45.5952531 Стратегия запущена.<br />MQS 15:51:16.2822579 Стратегия запущена.<br />MQS 15:51:17.1258459 Регистрация новой заявки на Sell с ценой 202940 и объемом 1.<br />MQS 15:51:17.7038599 Заявка 56596292 на Sell отправлена с ценой 202940 объемом 1.<br />MQS 15:51:22.7341439 Цена текущей 202940 и лучшей 202930.<br />MQS 15:51:22.7341439 Котирование заявки 56596292 на Sell с ценой 202940 объемом 1.<br />BS 15:51:24.4213199 Стратегия запущена.<br />BS 15:51:24.4213199 Стратегия запущена.<br />TPS 15:51:24.4213199 Стратегия запущена.<br />SLS 15:51:24.4213199 Стратегия запущена.<br />MQS 15:51:24.4213199 Перекотирование зарегистрировано для заявки 56596293 на Sell с ценой 202930 объемом 1.<br />EIS_01:00:05 15:51:27.2176579 System.InvalidOperationException: Collection was modified; enumeration operation may not execute.<br /> at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)<br /> at System.Collections.Generic.List`1.Enumerator.MoveNextRare()<br /> at System.Collections.Generic.List`1.Enumerator.MoveNext()<br /> at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()<br /> at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)<br /> at Ecng.Trading.Algo.Strategies.Strategy.#=qHRMcFvqXR6j1q2Pr47dle9WfGbTEUreeM3kX0H1_iFw=.#=qOGzxZJdfi6loaGsGVxccBNBAIRdJXv0lLePvgsj7dig=(IStrategyChildStrategyList #=qrDB7Xd_Rb1RSIq0SI7l3XA==)<br /> at Ecng.Collections.CollectionHelper.SyncGet[TCollection,TResult](TCollection collection, Func`2 func)<br /> at Ecng.Trading.Algo.Strategies.Strategy.#=qzh$zLa7ho1TkxaD0haVAuU8l0ywEYoKg8dEBpjVnC6k=(DateTime #=qKCPgKC6dqIek9OjPJFhtfw==)<br /> at Ecng.Trading.Algo.Strategies.Strategy.#=qnMN_PMdUfHysEK$_tfQ8grn_QTjzOIMGPiv$tYCH2Bw=.#=q3rD2zIrUx4ViUbhRH66B2w==()<br />EIS_01:00:05 15:51:27.2176579 Стратегия останавливается.<br />MQS 15:51:27.2176579 Стратегия останавливается.<br />BS 15:51:27.2176579 Стратегия останавливается.<br />BS 15:51:27.2176579 Стратегия останавливается.<br />TPS 15:51:27.2176579 Стратегия останавливается.<br />SLS 15:51:27.2176579 Стратегия останавливается.<br />MQS 15:51:27.7175619 Стратегия остановлена.<br />TPS 15:51:27.7175619 Котирование закончилось.<br />TPS 15:51:27.7175619 Стратегия остановлена.<br />SLS 15:51:27.7175619 Котирование закончилось.<br />SLS 15:51:27.7175619 Стратегия остановлена.<br />BS 15:51:27.9675139 Стратегия остановлена.<br />BS 15:51:27.9675139 Стратегия остановлена.<br /><br />То есть перекотирование эффектно убивает все дочерние стратегии<br />все это выглядит как злобный баг...<br />Михаил? https://stocksharp.ru/topic/1509/this.Trader.DdeServer как задать произвольную строку?2011-04-12T09:55:48Z2011-04-12T09:55:48ZAndrey R.https://stocksharp.ru/users/28090/info@stocksharp.ruЗдравствуйте, скажите, можно ли как нибудь изменить название dde сервера. Дело в том, что работаю с несколькими квиками и когда идет дде вывод, то бывает что приложение не видит дде данных(открыто несколько роботов и каждый робот тянет по дде данные из своего квика). Думаю, что если для каждого квика задавать свой dde сервер, то проблема решится.<br /><br />Спасибо!https://stocksharp.ru/topic/1508/SampleStorage2011-04-11T20:46:22Z2011-04-11T20:46:22Zromanhttps://stocksharp.ru/users/27830/info@stocksharp.ruСтранное поведение TradingStorage<br /><div class="code"><strong>Код</strong><div class="innercode">var storage = new TradingStorage(new InMemoryStorage());<br />var tradeStorage = storage.GetTradeStorage(security);<br />tradeStorage.Save(trades);<br /></div></div><br /><br />Сохраняю сделку <br />Id = 1111088435<br />Price= 1980.98<br />ну и соответственно все остальные поля заполнены<br /><br />сделка сохраняется в - все нормально, файлы и папки создаются (перед этим я их удаляю)<br /><br />когда же пытаюсь загрузить <div class="code"><strong>Код</strong><div class="innercode">List<Trade> trades = tradeStorage.Load(...</div></div> - тоже все нормально - сделки загружаются<br /><br />в списке сделок эта сделка с Id = 1111088435 присутствует<br /><br />проблема в том что поле Price = 1978.4 [confused] <br />а хотелось бы что бы она была такой же как в оригинале, т.е. = 1980.98<br />https://stocksharp.ru/topic/1507/PositionManager.Position & StrategyPositionManager.OnOrderChanged2011-04-10T15:17:49Z2011-04-10T15:17:49Zbleedhttps://stocksharp.ru/users/28060/info@stocksharp.ruВвиду с проблемой неправильного подсчета PositionManager.Position описанной <a href="http://stocksharp.com/forum/1469/-3-0-19--Niepravil-no-schitaietsia-Position-v-PositionManager/" title="http://stocksharp.com/forum/1469/-3-0-19--Niepravil-no-schitaietsia-Position-v-PositionManager/">здесь</a><br /><br />решил написать простую рабочую реализацию PositionManager для проведения тестов, по примеру который предложил Михаил по ссылке выше<br /><br />Итак простая реализация, как мне кажется правильного алгоритма <br /><div class="code"><strong>Код</strong><div class="innercode"> class NewPositionManager : StrategyPositionManager<br /> {<br /> public NewPositionManager(Strategy strategy, bool byOrders) : base(strategy, byOrders) {}<br /><br /> protected override void OnOrderChanged(Order order)<br /> {<br /> if (TraderHelper.IsFilledEmpty(order) || TraderHelper.IsCanceled(order))<br /> return;<br /> else if (TraderHelper.IsFilledPartially(order))<br /> {<br /> //TODO<br /> }<br /> else if(TraderHelper.IsMatched(order))<br /> {<br /> base.Position += (order.Direction == OrderDirections.Buy) ? order.Volume : -1*(order.Volume);<br /> }<br /><br /> }<br /> }</div></div><br /><br />при тестировании на обьеме в <b>1</b> контракт выявила также не правильный подсчет позиции, а именно позиция ровно в <b>2 раза</b> отлична от верной<br /><br />при отлатке через дебагер обнаружил что метод OnOrderChanged вызывается два раза для одной и тойже заявки, отсюда и неправильный подсчет..<br /><br />Ошибка? или чем вызван второй вызов OnOrderChanged?<br /><br />я просто в тупик встал, без правильного PositionManager.Position бесмысленно и стратегию писать, и вообще работать с библиотекойhttps://stocksharp.ru/topic/1506/Задать начальную позицию стратегии?2011-04-10T13:12:14Z2011-04-10T13:12:14ZGarryhttps://stocksharp.ru/users/430/info@stocksharp.ruДобрый день!<br />Допустим у меня есть 10 контрактов. Начинается новый день, хочу торговать 3 разные стратегии по данному инструменту. В 2 стратегиях использовать лот 3 и в одной лот 4. Соответсвенно мне нужно инициировать начальное значение позиции у 2х стратегий 3 контракта и у одной 4. Свойство PositionManager.Position - read only. Метод init работает через сделки, а сделок не было так-как начало дня. Как по другому можно инициировать начальную позицию стратегии?https://stocksharp.ru/topic/1504/"Папки решений не поддерживаются..."2011-04-09T09:48:35Z2011-04-09T09:48:35ZFreeFirehttps://stocksharp.ru/users/28157/info@stocksharp.ruУстановил Visual C# 2010 Express, открываю проект SampleConsole.csproj и получаю следующее:<br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAOMNrOLAuSOVIAHGXChwyzazFKYCt1bqXvSXAAIkTgNTUg25N54iXahWLmno32y0mEEz-SoA3Vwa97Q67_fin2t4D6505y24SsLtVWrMr5_w" title="http://dl.dropbox.com/u/17136439/net/stocksharp/2011_04_09__09_24_utc.png">http://dl.dropbox.com/u/1713643...011_04_09__09_24_utc.png</a><br />https://stocksharp.ru/topic/1503/Список задач 32011-04-08T19:46:14Z2011-04-08T19:46:14Zaspiranthttps://stocksharp.ru/users/6114/info@stocksharp.ruИз того что у меня осталось:<br /><ol><li>PlazaSchemeParser нужно исправить, но он в нынешней реализации не нужен, потому что мы ничего не парсим. Предлагаю оставить, как есть, и скрыть от пользователя.<br /><li>Доделать PlazaTrader.OnNewDataFromPosition()</ol><br />Что делать дальше?