Форум. StockSharphttps://stocksharp.ru/handlers/atom.ashx?category=forum&page=260Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T20:09:09Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/topic/891/А индикаторы?2010-03-22T18:10:00Z2010-03-22T18:10:00ZPulsarhttps://stocksharp.ru/users/27629/info@stocksharp.ruДобрый день. Ваша библиотека сама по себе мощный инструмент. спасибо<br />за ее создание и обнародование. Однако при построении робота я<br />столкнулся с вопросом расчета индикаторов. Более менее простые не<br />составляет труда рассчитать самостоятельно в программе (всяческие<br />средние и каналы). Посложнее - Параболик или Ишимоку - тоже в побщем-<br />то можно. Но возникает такая проблема - расчетные значения отличаются<br />от полученных автоматически в том же Квике. Этот эффект видимо<br />появляется потому что значения сложных индикаторов сильно зависят от<br />метода их расчета (например от выбора начальной точки) Поскольку я<br />сейчкас переписываю роботов с Qpile (внутреннего языка Квика)<br />под .NET, это несколько напрягает: результаты работы с квиковскими<br />индикаторами вполне удовлетворяли.<br />Есть ли возможность получить значения индикаторов из Квика (кроме<br />тормозной передачи через текстовый файл)? Если нет - что посоветуете?<br /> <br /> https://stocksharp.ru/topic/941/Не могу подключится к Quik2010-03-20T19:16:00Z2010-03-20T19:16:00ZGenzohttps://stocksharp.ru/users/27700/info@stocksharp.ruНа версии 5.14.0.93 Qiuik Junior от finam.ru немогу подключиться через<br />S#, говорит что "Неудалось подключиться к Quik. Возможно, в Quik-е не<br />включена обработка внешних транзакций.". Хотя к версии Quik-Junior<br />5.16.0.128 скаченной с quik.ru подключаюсь без проблем. <br /> https://stocksharp.ru/topic/895/Гарантированный вход/выход в рынок2010-03-20T13:26:00Z2010-03-20T13:26:00ZDmitri Kaptsovhttps://stocksharp.ru/users/28125/info@stocksharp.ruПодскажите,<br />Как наиболее быстро можно войти или выйти из рынка используя S#. У<br />меня алгоритм такой: событие OnProcess вызывается раз в секунду. При<br />вызове этого метода каждый раз происходит проверка выставленных, но не<br />выполненных заявок. Для такой заявки определяется текущая цена через<br />GetMarketPrice и заявка перерегистрируется по ней (биржа РТС). Можно<br />ли как-то ускорить этот процесс при помощи котирования или еще как-то?<br />С уважением<br />Дмитрий Капцов <br /> https://stocksharp.ru/topic/899/Доболнительная информация по сделкам.2010-03-19T17:33:00Z2010-03-19T17:33:00ZAndreyhttps://stocksharp.ru/users/28611/info@stocksharp.ruМихаил,<br />помогите плз с получением дополнительных поелй по моим сделкам.<br /><br />пытаюсь сделать следующим образом:<br /><br />_trader.ProcessWellKnownDdeData += (name, trades) =><br /> {<br /> // узнаем, что пришедшие данные отвечают за стакан<br /> if (name.Contains("[trade]my"))<br /> {<br /> foreach (var trade in trades)<br /> {<br /> var traded = (Trade)trade.Key;<br /> // если доп. информация записывается в<br />котировку первый раз, то информацию необходимо инициализировать<br /> if (traded.ExtensionInfo == null)<br /> traded.ExtensionInfo = new<br />Dictionary<object, object>();<br /><br /> // если таблица настроена с<br />дополнительными полями<br /> if (trade.Value.Count == 8)<br /> traded.ExtensionInfo["aaa"] =<br />trade.Value[7].To<string>();<br /> }<br /> }<br /> };<br /><br />возникает проблема в том, что в trades лежит сразу и Trade и MyTrade... <br /> https://stocksharp.ru/topic/948/Не идут сделки в SampleSMA2010-03-19T15:39:00Z2010-03-19T15:39:00Zdarthttps://stocksharp.ru/users/28358/info@stocksharp.ruСегодня открыл учебный квик в БКС (он там 5.15) чтобы версию S#1.7<br />попробовать.<br />Приложенный wnd файл не открылся. Пишет ошибку переполнение памяти и<br />квик вылетает.<br />Вобщем вручную настроил. Единственное в таблице стоп-заявки нескольких<br />полей не нашёл (время действия, активна с, активны по и т.д.). Ну да<br />бог с ним. Всё работает нормально Sample, SampleConsole, SampleCandle.<br />В SampleSMA строятся свечки, скользящие средние пересекаются вверх,<br />вниз - а сделки не идут.<br />Может потому что в OnProcess после Gettimeframecandle алгоритм доходит<br />до строк<br /> if (candle == null)<br /> return true;<br />а дальше не идёт? <br /> https://stocksharp.ru/topic/893/Как увеличить скорость?2010-03-19T14:14:00Z2010-03-19T14:14:00ZXMbIPbhttps://stocksharp.ru/users/6200/info@stocksharp.ruДля сравнения переписал SampleConsole чтоб он выставлял заявку после<br />прохождения сделки с определённой ценой...<br />разница времени сигнальной сделки и заявки получается в среднем 4-6<br />секунд! в то время как купиловский бот справляется за 1-2... как это<br />побороть? <br /> https://stocksharp.ru/topic/902/Заставить квик переподключиться2010-03-19T10:54:00Z2010-03-19T10:54:00ZDmitri Kaptsovhttps://stocksharp.ru/users/28125/info@stocksharp.ruДобрый день,<br />Возникла такая проблема. Произошло разъединение соединение с<br />интернетом на компьютере с квиком. Хотелось бы чтоб квик восстановил<br />соединение и продолжил работу, соответственно и робот тоже. Можно ли<br />такое реализовать? Я думал ReconnectionManager это делает, но<br />контролирует только связь с квиком, но ни самого квика. <br /> https://stocksharp.ru/topic/901/проскальзывание2010-03-18T14:30:00Z2010-03-18T14:30:00Zdenishttps://stocksharp.ru/users/59/info@stocksharp.ruделаю так<br /> var order = base.CreateOrder(direction,<br />base.Security.GetMarketPrice(direction, MarketPriceTypes.Following),<br />base.Volume);<br /> // регистрируем ее (обычным способом лимитированной<br />заявкой)<br /> //base.Trader.RegisterOrder(order);<br /><br /> // добавляем зарегистрированную заявку в стратегию<br /> base.AddOrder(order);<br /><br /> // регистрируем на котирование<br /> var strategy = new MarketQuotingStrategy(base.Trader,<br />order, base.Interval, false, MarketPriceTypes.Following, new Unit());<br /> strategy.Start();<br /> base.ChildStrategies.Add(strategy);<br />вылетает это<br /><br />2010-03-18T14:10:16.8750000+03:00 [0] None => Quoting new order Buy<br />price 1720,99 volume 1<br />2010-03-18T14:10:17.9531250+03:00 [0] Error =><br />System.ArgumentException: An item with the same key has already been<br />added.<br /> at System.ThrowHelper.ThrowArgumentException(ExceptionResource<br />resource)<br /> at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue<br />value, Boolean add)<br /> at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue<br />value)<br /> at Ecng.Collections.SynchronizedDictionary`2.Add(K key, V value)<br /> at Ecng.Trading.Algo.BasePositionManager.RegisterPosition(Order<br />order)<br /> at Ecng.Trading.Algo.StrategyPositionManager.OnNewOrder(Order<br />order)<br /> at System.Action`1.Invoke(T obj)<br /> at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T<br />arg)<br /> at Ecng.Trading.Algo.Strategy.AddOrder(Order order)<br /> at Ecng.Trading.Algo.Strategy. (Order )<br /> at System.Action`1.Invoke(T obj)<br /> at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T<br />arg)<br /> at Ecng.Trading.Algo.Strategy.AddOrder(Order order)<br /> at Ecng.Trading.Algo.QuotingStrategy.OnProcess()<br /> at Ecng.Trading.Algo.Strategy.Process()<br /><br />т.е. уже есть, надо убрать выражение base.AddOrder(order);<br />а без него было так<br /><br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABVFjLzb83U1ko2ebdKsJpOTlJ9ZGezNwto2RNTFoBP5OZ3webS9y_SN9gF8L47HHAIja7pZqDzg_mLZVv6lHdyDNjLHSGilXwqYgEymNIpS4Ww_Uk2m7ACfA7GudHszGICfXYbkhszfrnZFOnogQNUvz3dne8MrRJJskAkmUorU9QNy1AEPffzw-T8jFCxxFY" title="https://docs.google.com/leaf?id=0Bw2gQDvf41vtOWIzZjIwM2EtMjI2ZS00ZDcwLTg0NjktZjRjN2VjMWJiNzIy&sort=name&layout=list&num=50">https://docs.google.com/leaf?id=0Bw2gQDvf41vtOWIzZjIwM2EtMjI2ZS00ZDcwLTg0NjktZjRjN2VjMWJiNzIy&sort=name&layout=list&num=50</a><br /><br />бежал за рынком почти четыре рубля, а проскальзывание равно нулю.<br /><br />Значит надо самому корректировать через<br />base.SlippageManager.RegisterOrder(myOrder, newEstimatedPrice); ?<br /><br />вывод проскальзывания делаю так<br /> private void OnStrategyPropertyChanged(object sender,<br />PropertyChangedEventArgs e)<br /> {<br /> this.Sync(() =><br /> {<br /> this.Status.Content = _strategy.ProcessState;<br /> //this.PnL.Content = _strategy.PnL;<br /> //this.Slippage.Content = _strategy.Slippage;<br /> this.PnL.Content = _strategy.PnLManager.AbsoluteValue;<br /> this.Slippage.Content =<br />_strategy.SlippageManager.Slippage;<br /> this.Position.Content =<br />_strategy.PositionManager.Position;<br /> });<br /> }<br /> <br /> https://stocksharp.ru/topic/957/только long2010-03-17T18:17:00Z2010-03-17T18:17:00Ztruehttps://stocksharp.ru/users/28460/info@stocksharp.ruу меня два вопроса:<br />1. возможно ли как-нибудь реализовать торговлю в одном "направлении",<br />допустим, только long или только short?<br />2. запускаю SampleSMA, подключение происходит нормально, нажимаю<br />кнопку старт, появляется надпись Running но ничего не происходит,<br />графики не отображаются, и программа ничего не делает, почему? никаких<br />ошибок не выдает. <br /> https://stocksharp.ru/topic/903/Не удается подключится к QUIK. Возможно в квике не включена обработка внешних транзакций.2010-03-17T17:29:00Z2010-03-17T17:29:00ZTrading Tickershttps://stocksharp.ru/users/27809/info@stocksharp.ruЗдравствуйте.<br />Не получается запустить ваш пример SampleSMA.exe при подключении<br />выдается сообщение о внешних транзакциях.<br />Через Торговля-Внешние транзакции все настроено так как сказано у вас<br />в документации работаю на Украинской Бирже(UX).<br />С чем может быть связано, подскажите пожалуйста. <br /> https://stocksharp.ru/topic/892/начудил :(2010-03-16T21:16:00Z2010-03-16T21:16:00Zdenishttps://stocksharp.ru/users/59/info@stocksharp.ruтеперь при запуске экспорта по ДДЕ одно ядро проца грузится по полной.<br />где можно было так ошибиться? стратегия еще не запущена.<br /><br />когда стратегия работает, то ошибками сыпет<br />2010-03-16T20:51:09.8750000+03:00 [0] None => Strategy runned<br />ошибка ренжа: System.ArgumentOutOfRangeException: Specified argument<br />was out of the range of valid values.<br />Parameter name: min<br /> at Ecng.ComponentModel.Range`1.ValidateBounds(T min, T max)<br /> at Ecng.ComponentModel.Range`1.Init(T min, T max)<br /> at Ecng.ComponentModel.Range`1..ctor(T min, T max)<br /> at SampleSMA.MainWindow.DrawSma() in D:\trade\bot\code\stockSharp<br />\SampleSMA\MainWindow.xaml.cs:line 267<br />Первый этап обработки исключения типа<br />"System.ArgumentOutOfRangeException" в приложении<br />Ecng.ComponentModel.dll<br />2010-03-16T20:53:35.7187500+03:00 [0] None => Strategy stopping<br />2010-03-16T20:53:35.8281250+03:00 [0] None => Strategy stopped<br /><br />код<br /> private void DrawSma()<br /> {<br /> // нас не интересует текущая свечка, так как она еще не<br />сформировалась<br /> // и из нее нельзя брать цену закрытия<br /><br /> // вычисляем временные отрезки текущей свечки<br /> var bounds = _timeFrame.GetCandleBounds(_trader);<br /><br /> // если появились новые полностью сформированные свечки<br /> if (_lastCandleTime < bounds.Min)<br /> {<br /> try<br /> {<br /> // отстут с конца интервала, чтобы не захватить<br />текущую свечку.<br /> var endOffset = TimeSpan.FromSeconds(1);<br /> bounds = new Range<DateTime>(_lastCandleTime +<br />_timeFrame, bounds.Min - endOffset); // line 267<br /><br /> // получаем эти свечки<br /> var candles =<br />_candleManager.GetTimeFrameCandles(_strategy.Security, _timeFrame,<br />bounds);<br /><br />но перед этим еще вилы были с вот этим<br /> this._trader.NewTrades += (_all_trades) =><br />this.Sync(() =><br /> {<br /> try<br /> {<br /> var _lt = _all_trades.Last(tmp =><br />tmp.Security.Code.Equals(mysec)); // trap<br /> papir.price = _lt.Price;<br /> }<br /> catch (InvalidOperationException ex)<br /> {<br /> Console.WriteLine("ошибка определения<br />последней сделки: {0}", ex);<br /> }<br /> });<br />кривой обработчик всех сделок может грузить проц при выключенной<br />стратегии? <br /> https://stocksharp.ru/topic/904/Состояние заявки2010-03-15T16:12:00Z2010-03-15T16:12:00ZRoninhttps://stocksharp.ru/users/27742/info@stocksharp.ruДоброго Вам, Михаил!<br />Спасибо за Вашу работу, очень облегчает создавать свои разработки.<br />Возник вопрос по состоянию заявки.<br /><br />Вызываю RegisterOrder(order), затем проверяю, что order.State ==<br />OrderStates.Active и сразу даю команду CancelOrder(order); Получаю<br />результат: System.ArgumentException: Заявка по транзакции<br />'CLASSCODE=QJSIM; SECCODE=LKOH; TRANS_ID=1; ACTION=KILL_ORDER;<br />ORDER_KEY=790607967' не была зарегистрирована. Причина 'Вы не можете<br />снять данную заявку'.<br />Sleep помог делу, но это не дело.<br /><br />Вы можете прокомментировать данную ситуацию?<br /><br />P.S.<br />И похоже, в документацию закралась досадная опечатка про "Статусы"<br />заявки. <br /> https://stocksharp.ru/topic/900/Поставить свой комментарий к заявке2010-03-15T13:09:00Z2010-03-15T13:09:00ZAndreyhttps://stocksharp.ru/users/28611/info@stocksharp.ruМихаил, добрый день!<br /><br />подскажите, пожалуйста, как поставить свой комментарий к заявке? У<br />меня вес время выводиться ХХХ.<br />Order.comment = comment - Не помагает <br /> https://stocksharp.ru/topic/905/Котирование в SampleConsole2010-03-14T16:31:00Z2010-03-14T16:31:00ZXMbIPbhttps://stocksharp.ru/users/6200/info@stocksharp.ruМихаил подскажите пожалуйста как можно добавить котирование в пример<br />SampleConsole.. чтоб MarketQuotingStrategy двигал заявку по краю<br />спреда пока не вольют.. с SampleSMA всё понятно, а вот в SampleConsole<br />ни как не могу пристроить... <br /> https://stocksharp.ru/topic/909/RegisterOrder иногда дико тормозит2010-03-12T15:26:00Z2010-03-12T15:26:00ZDmitri Kaptsovhttps://stocksharp.ru/users/28125/info@stocksharp.ruДобрый день,<br />Подскажите, никто не сталкивался с проблемой, что выполнение<br />RegisterOrder может составлять минуту и более. <br /> https://stocksharp.ru/topic/906/Задержка вывода стакана2010-03-12T15:13:00Z2010-03-12T15:13:00ZTaulerhttps://stocksharp.ru/users/26822/info@stocksharp.ruЗдравствуйте. Скажите - а стакан выводится в событии<br />ITrader.QuotesChanged с какойто заданной частотой или при любом<br />изменении стакана? Я спрашиваю потому , что у меня стакан отображается<br />с небольшой задержкой.на полсекунды отстает от квика. паралельно бид и<br />аск из таблицы Инструменты появляются в тот же момент. <br /> https://stocksharp.ru/topic/977/Работа с candleManager2010-03-12T14:03:00Z2010-03-12T14:03:00ZAndreiFXhttps://stocksharp.ru/users/28035/info@stocksharp.ruЗдравствуйте.<br />Ситуация такая: в роботе получаю значения 20и последних свечек таким<br />образом<br /><br />arg.Value = TimeSpan.FromMinutes(TimeFrame);<br />secur = Securities.FirstOrDefault(secc => secc.Code == this.sec.Text);<br /> _candleManager.RegisterTimeFrameCandles(secur, (TimeSpan)arg.Value);<br /> var candles = _candleManager.GetTimeFrameCandles(secur,<br />TimeSpan.FromMinutes(TimeFrame), 20);<br /><br />Сначала они считались грамотно и верно, однако сегодня какая то<br />неожиданная ошибка: последние 3 свечки не соответствуют<br />действительности, т.е. там цена какая то не та и время свечи указано<br />которого на текущий момент еще не было.<br />Из за чего такое может быть?<br /> <br /> https://stocksharp.ru/topic/911/про CancelOrder2010-03-12T01:03:00Z2010-03-12T01:03:00Zgravihttps://stocksharp.ru/users/28314/info@stocksharp.ruКакое поведение будет у CancelOrder(order) или GuarantyCancelOrder:<br />если ордер, это стопЛимит, который сработал, но порожденная заявка еще<br />не исполнилась. Он её отменит, или она так и будет висеть?<br /> <br /> https://stocksharp.ru/topic/928/Как получить актуальный бид?2010-03-11T21:50:00Z2010-03-11T21:50:00ZXMbIPbhttps://stocksharp.ru/users/6200/info@stocksharp.ruSecurity.BestBid.Price у меня всегда ровна биду, который был при<br />первом обращении к переменной.. как заставить её обновляться? <br /> https://stocksharp.ru/topic/908/репозиторий или как его?2010-03-11T21:38:00Z2010-03-11T21:38:00Zdenishttps://stocksharp.ru/users/59/info@stocksharp.ruНужна система контроля версий. Под юникс-подобные ос есть cvs/svn/<br />прочее, вот нужно под винду вижуал студио для чайников? что сами<br />пользуете? <br />