Форум. StockSharphttps://stocksharp.ru/handlers/atom.ashx?category=forum&page=42Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T12:29:22Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/topic/8188/Quik Заявки2017-03-31T09:19:41Z2017-03-31T14:42:59Zklim95vladhttps://stocksharp.ru/users/97469/info@stocksharp.ruЗдравствуйте. Появилась проблема в последние два дня. Несколько роботов работающих в нормальном режиме долгое время и на разных компьютерах стали периодически давать осечки и не отправлять заявки, либо отправлять с запозданием. Версии квика разные, версия S# одна и та же 4.3.19.5. Заметил, что и на форуме пишут, что возникают похожие проблемы. Подскажите, с чем может быть связанно.https://stocksharp.ru/topic/8187/Interactive Brokers не подключается, ругается на время.2017-03-30T09:38:18Z2017-03-30T12:54:24ZИван З.https://stocksharp.ru/users/6502/info@stocksharp.ruInteractive Brokers нигде не подключается.<br />В Гидре и примерах SampleIB, SampleRealTimeEmulation одна и та же ошибка.<br /><br /><div class='spoilertitle'><input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_c9dc1b090edc4bb1bf5207fe7e8efdda');" title='Показать спойлер' /></div><div class='spoilerbox' id='spolier_c9dc1b090edc4bb1bf5207fe7e8efdda' style='display:none'><br />Interactive Brokers 30.03.2017 16:28:04 +10:00 Error System.InvalidCastException: Cannot convert 20170330 16:28:03 Vladivostok with format yyyyMMdd HH:mm:ss to DateTime. ---> System.FormatException: Строка не распознана как действительное значение DateTime.<br /> в System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style)<br /> в Ecng.Common.TimeHelper.ToDateTime(String value, String format)<br /> --- Конец трассировки внутреннего стека исключений ---<br /> в Ecng.Common.TimeHelper.ToDateTime(String value, String format)<br /> в StockSharp.InteractiveBrokers.InteractiveBrokersMessageAdapter.OnSendInMessage(Message message)<br /> в StockSharp.Messages.MessageAdapter.SendInMessage(Message message)<br /></div><br /><a href='https://stocksharp.ru/file/104335/image8742_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/104335/image8742_png/?size=500x500" alt="image8742.png" title="image8742.png" /></a>https://stocksharp.ru/topic/8174/Заявка2017-03-24T18:56:45Z2017-03-28T13:53:58Zvladimir7575https://stocksharp.ru/users/94980/info@stocksharp.ruДобрый вечер! <br />1.Приложение не отправляет или quik не получает заявку.<br />Включена обработка внешних транзакций в квике. Заполняются комбобоксы (значит, как я понимаю, приложение к квику подключено).<br />2.Приложение не формирует лог-файл. <br />https://stocksharp.ru/topic/8181/Help me!2017-03-27T21:28:50Z2017-03-27T21:28:50ZDfczhttps://stocksharp.ru/users/98372/info@stocksharp.ruВсем привет,столкнулся с такой проблемой.Скачал программу S#.Designer,распаковал её,что делать даль,как подключить её к примеру для торговли биткоинами?https://stocksharp.ru/topic/8170/Лицензия не поддерживает quoting2017-03-23T11:44:55Z2017-03-25T14:33:00Zk-100https://stocksharp.ru/users/98000/info@stocksharp.ruЗдравствуйте. Запускаю демо пример SampleSmartSMA (4.3.21), выдаёт ошибку - Лицензия не поддерживает quoting. Лицензию я получил за час до этого. Открывал счёт через вас в it invest (правда счёт в it invest уже был до этого, но ваш саппорт написал, что меня подвязали без переоткрытия, хотя в личном кабинете у вас на сайте я не вижу, что я подвязан к брокеру).https://stocksharp.ru/topic/8173/Приложение не формирует лог-файл. лицензия2017-03-23T14:41:05Z2017-03-24T12:30:00Zvladimir7575https://stocksharp.ru/users/94980/info@stocksharp.ruДобрый день! <br />1.Приложение не формирует лог-файл. <br />2.По поводу лицензии: утилита не дает продлить "лицензия обновлена максимальное количество раз". Зачем нужна (кое что работает и без ние)? Если нужна: как ее получить?https://stocksharp.ru/topic/8158/Гидра падает при настройке Micex TEAP и другие баги2017-03-17T16:53:55Z2017-03-22T12:32:49ZИван З.https://stocksharp.ru/users/6502/info@stocksharp.ruГидра падает при настройке Micex TEAP, логи приложил<br /><a href='https://stocksharp.ru/file/104289/image9609_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/104289/image9609_png/?size=500x500" alt="image9609.png" title="image9609.png" /></a>https://stocksharp.ru/topic/8166/подключение2017-03-21T19:33:51Z2017-03-22T12:23:26Zvladimir7575https://stocksharp.ru/users/94980/info@stocksharp.ruДобрый день! Приложение Wpf не работает как надо: консоль не работает, comboBox не заполняются. Похожий код в консольном приложении работал нормально: выводил портфель. https://stocksharp.ru/topic/8163/Сжатие свечек в больший таймфрейм2017-03-21T00:41:55Z2017-03-21T12:07:15ZPelmen32https://stocksharp.ru/users/95692/info@stocksharp.ruЕсть ли возможность получать свечки большего таймфрейма на основании скачанных исторических свечек меньшего таймфрейма?<br />Например, я загрузил в HistoryEmulationConnector с использованием StorageRegistry 1-минутные свечки и <br />хочу получить через коннектор и CandleSeries 5-ти минутные свечки.<br /><br />Если в коннектор загружать тики, то все работает (только последняя свечка не приходит), <br />с 1-но минутными свечками данное решение не работает.<br />Можно конечно преобразовать свечки в тики (нашел метод ToTrade и в коннектор грузить преобразованные тики), правда<br />данный метод еще не опробовал, но может есть более простое решение? <br /><br />Пытаюсь сделать следующим образом:<br /><br />Переменная _historyCandles содержит коллекцию 1-но минутных свечек IEnumerable<TimeFrameCandleMessage><br /><br />timeFrame=TimeSpan.FromMinutes(1);<br /><br />storage = new StorageRegistry();<br />if (candleStorage != null) candleStorage.Delete();<br />candleStorage = storage.GetCandleStorage(typeof(TimeFrameCandle),_selSecurity, timeFrame);<br />candleStorage.Save(_historyCandles);<br /><br />d1 = _historyCandles.ElementAt(0).OpenTime;<br />d2 = _historyCandles.ElementAt(_historyCandles.Count() - 1).CloseTime.Date +<br /> _selSecurity.Board.WorkingTime.Periods[0].Times[0].Max;<br /> <br />_historyConnector = new HistoryEmulationConnector(new[] { _selSecurity },<br /> new[] { _selPortfolio }, storage)<br /> {<br /> EmulationAdapter =<br /> {<br /> Emulator = { Settings = { MatchOnTouch = false, } }<br /> },<br /> UseExternalCandleSource = true,<br /> CreateDepthFromOrdersLog = false,<br /> CreateTradesFromOrdersLog = false,<br /> };<br /><br />_historyConnector.HistoryMessageAdapter.StartDate = d1;<br />_historyConnector.HistoryMessageAdapter.StopDate = d2;<br /><br />_historyConnector.Connect();<br /><br />_candleManager = new CandleManager(_historyConnector);<br /><br /> _candleTimeFrame = TimeSpan.FromMinutes(5);<br />_connectorCandleSеries = new CandleSeries(typeof(TimeFrameCandle), _selSecurity, _candleTimeFrame);<br />_candleManager.Processing += DrawElement;<br />_candleManager.Start(_connectorCandleSеries);<br /><br />_historyConnector.Start();<br /><br />Результат - 5-ти минутные свечки не приходят.<br />https://stocksharp.ru/topic/8157/Quik2017-03-16T17:32:24Z2017-03-17T13:10:32Zklim95vladhttps://stocksharp.ru/users/97469/info@stocksharp.ruЗдравствуйте. Есть два вопроса<br />1. Можно ли через Security.LastTrade получить направление последней сделки (покупка это была или продажа)?<br />2. Возможно ли как-то получить все исторические данные по инструменту? Точнее историю всех сделок по инструменту.https://stocksharp.ru/topic/8152/Контроль подключения к серверу, переподключение при обрыве2017-03-15T16:59:47Z2017-03-17T12:15:42ZsERGEYhttps://stocksharp.ru/users/96818/info@stocksharp.ruДобрый день.<br />Требуется сделать контроль подключения к серверу и автоматический реконнект, подключение через Transaq.<br />При отключении интернета события ConnectionError или Disconnected не срабатывают, появляется окно с ошибкой (скрин прикреплен), до и после этого сообщения свойство Trader.ConnectionState = Connected.<br />Тестировал все в SampleTransaq 4.3.21<br />Это ошибка или кривые руки? Как засечь обрыв соединения?<br /><br />https://stocksharp.ru/topic/8154/QuikLua (FIX) connector2017-03-16T12:04:50Z2017-03-16T12:04:50ZArtemhttps://stocksharp.ru/users/98291/info@stocksharp.ruМожно ли использовать коннектор квик, основанный на FIX без S#? из собственного приложения?<br />т.е. посылать ему фиксовые сообщения? Пробовал так кто-то? Есть описание протокола?<br />Заранее спасибо!https://stocksharp.ru/topic/8148/Quik LUA "неверный код клиента".2017-03-13T18:25:14Z2017-03-13T18:25:14ZRomSunZhttps://stocksharp.ru/users/6384/info@stocksharp.ruСтолкнулся с такой проблемой.<br />При перестановки заявки с помощь t["ACTION"] = "MOVE_ORDERS" получаю ошибку "Неверный код клиента". Происходит это только на счетах единой денежной позиции. Пробовал Финам, Церих - проблема есть. На обычных счетах проблемы нет. Кто-нибудь сталкивался с такой ерундой, как такое лечить? Версии стокшарпа пробовал разные - результат один.https://stocksharp.ru/topic/8145/Свечи с финама2017-03-11T12:07:07Z2017-03-13T13:14:55ZАлександр3012https://stocksharp.ru/users/28102/info@stocksharp.ruДобрый день. Давно не пользовался роботом, использующим исторические свечи, недавно включил - выдает ошибку. Попробовал собрать его на свежей библиотеке 4.3.21, но оказалось, что метод GetCandles в новой версии изменился. Теперь, помимо инструмента, таймфрейма, начала и конца периода в параметрах появился nativeIdStorage. Не совсем понятно что это такое и как реализовать работу с этим нововведением. В мануале написано, что это "Хранилище системных идентификатор инструментов." Нужно в это поле вписать путь к хранилищу или Id инструмента? Не понятно что требуется сделать. Раньше работало всё вот так:<br /> public class History : FinamHistorySource<br /> {<br /> public History()<br /> {<br /> }<br /><br /> /// <summary><br /> /// Все инструменты у источника финама<br /> /// </summary><br /> private IEnumerable<FinamSecurityInfo> Securities { get { return DownloadSecurityInfo(); } }<br /> public IEnumerable<Candle> GetHistoryCandles(Security security, TimeSpan timeFrame, DateTime from, DateTime to)<br /> {<br /> //находим финамовский инструмент по коду инструмента<br /> var fi = Securities.FirstOrDefault(f => f.Code == security.Code);<br /><br /> //добавляем дополнительную информацию в инструмент, чтобы получить свечки через основной метод GetCandles()<br /> security.ExtensionInfo.Add(new KeyValuePair<object, object>(MarketIdField, fi.FinamMarketId)); //идентификатор секции рынка<br /> security.ExtensionInfo.Add(new KeyValuePair<object, object>(SecurityIdField, fi.FinamSecurityId)); //идентификатор инструмента<br /><br /> //запрашиваем свечки<br /> return GetCandles(security, timeFrame, from, to);<br /> }<br /><br /> }<br />Подскажите как поправить с минимальными изменениями.<br /><br />https://stocksharp.ru/topic/7030/Hydra Finam баг или фича?2017-01-03T16:16:46Z2017-03-12T06:52:36ZRomSunZhttps://stocksharp.ru/users/6384/info@stocksharp.ruПри использовании версий выше 4.3.13 половина инструментов скачивается с финам как xxx@FORTS, другая как xxx@RFUD (например SRH7@RFUD, но LKH7@FORTS). Это так и задумано или что-то не доработано в таске финама? Сейчас приходится производить манипуляции по ручному переименовыванию непонятных RFUD в FORTS после каждого скачивания истории что не есть удобно и вообще не камильфо.https://stocksharp.ru/topic/8142/Как начать работу только со "свежими" данными2017-03-10T01:22:11Z2017-03-10T12:43:22ZPrivalhttps://stocksharp.ru/users/39245/info@stocksharp.ruВ NinjaTrader все было просто <br />if (Historical) return;<br />пропускалась вся история и начинаешь работать только со свежими данными.<br />Как это сделать тут ? Пытался сделать вот так,<br /><div class='spoilertitle'><input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_eb70ecb6680d451598f1236f432d9a78');" title='Показать спойлер' /></div><div class='spoilerbox' id='spolier_eb70ecb6680d451598f1236f432d9a78' style='display:none'> private DateTimeOffset _startTime;<br /><br /> protected override void OnStarted()<br /> {<br /> Connector.NewTrades += Connector_NewTrades;<br /> _startTime = this.StartedTime.DateTime;//+TimeSpan.FromMinutes(1);//ждем 1 мин что бы все подгрузилось, но так тоже не очень хорошо<br /> Console.WriteLine(@"Время старта = {0}", _startTime.DateTime);<br /> base.OnStarted();<br /> }<br /> private void Connector_NewTrades(IEnumerable<StockSharp.BusinessEntities.Trade> trades)<br /> {<br /> foreach (var trade in trades)<br /> {<br /> if (trade.Time.DateTime<=_startTime) return;<br /> // но пока грузятся данные уже проходят изменения <br /> ......<br /> }<br />}<br /><br /></div><br /><br />Как лучше (правильнее) пропустить все исторические данные и начать работать только со свежими (вновь поступившими) данными ?https://stocksharp.ru/topic/8048/Инструменты Quik2017-01-30T15:39:49Z2017-03-09T13:27:37Zklim95vladhttps://stocksharp.ru/users/97469/info@stocksharp.ruПодскажите, может кто сталкивался с проблемой и как ее лучше решить. Программа загружает в комбобокс все возможные инструменты из quik, а их очень очень много. Можно ли как-то настройками конфигурации в Квике ограничить нужные инструменты, которые будут загружаться в приложение или же лучше сделать поиск по комбобоксу? Поиска хочу избежать, так как в комбобоксе тип данных Security[], а поиск получилось сделать только по String.https://stocksharp.ru/topic/8139/Quik Security2017-03-09T09:08:15Z2017-03-09T13:06:05Zklim95vladhttps://stocksharp.ru/users/97469/info@stocksharp.ruДобрый день. Как выбрать при фильтрации инструментов трейдера несколько площадок? Грубо говоря, если для площадки tqbr я делаю так<br />trader.Connected += () => <br />{<br />trader.LoocupSecurities(new Secucrity() { Board = ExchangeBoard.MicexTqbr});<br />}<br /><br />А мне нужны и площадка TQBR и площадка CETS.https://stocksharp.ru/topic/8127/Connector.NewTrades += Несоответствие получаемых данных2017-03-03T19:39:55Z2017-03-06T19:52:42ZPrivalhttps://stocksharp.ru/users/39245/info@stocksharp.ruВ стратегии запрашиваю несколько инструментов, нужны для принятия решения для входа и выхода из рынка. Использую - "MICEXINDEXCF", "SiH7", "RIH7" и "SBER@TQBR".<br /><div class="code"><strong>Код</strong><div class="innercode">protected override void OnStarted()<br />{<br />…<br />Connector.NewTrades += Connector_NewTrades;<br />…<br />base.OnStarted();<br />}<br /><br />private void Connector_NewTrades(IEnumerable<StockSharp.BusinessEntities.Trade> trades) <br />{<br />foreach (var trade in trades)<br />{<br />// расчеты по каждому trade<br />…<br />// в конце вставил проверку на адекватность данных<br /><br />if (trade.Security.Code != "MICEXINDEXCF")<br />{<br />if (trade.Price > trade.Security.BestAsk.Price || trade.Price < trade.Security.BestBid.Price)<br />{<br />Console.WriteLine(@"Сбой trede {0} время {1} price {2} ОИ {3} Пок {4} Прод {5} BestAsk={6} BestBid={7} LastTrade={8}",<br />trade.Security, trade.Time.DateTime, trade.Price,trade.OpenInterest, trade.Security.AsksCount, trade.Security.BidsCount,<br />trade.Security.BestAsk,trade.Security.BestBid, trade.Security.LastTrade.Price);<br />}<br />}<br />}</div></div><br /><br />В окно вывода идут практически постоянно следующие данные<br /><br />Сбой trede RIH7@FORTS время 03/03/2017 12:00:07 price 109400 ОИ 517294 Пок 2678 Прод 1723 BestAsk=Оффер 109440 6 BestBid=Бид 109430 51 LastTrade=109390<br /><br />В чем неадекватность данных.<br />1. trade.Price неравен trade.Security.LastTrade.Price (109400 и 109390)<br />2. Обе эти цены находятся за пределами границ спреда BestAsk=109440, BestBid=109430<br /><br />И это происходит достаточно часто и по всем получаемым инструментам<br />Сбой trede SBER@TQBR время 03/03/2017 12:00:07 price 163.7 ОИ Пок 1865 Прод 2034 BestAsk=Оффер 163.82 50 BestBid=Бид 163.75 50 LastTrade=163.7<br />Сбой trede RIH7@FORTS время 03/03/2017 12:00:07 price 109410 ОИ 517360 Пок 2678 Прод 1723 BestAsk=Оффер 109440 6 BestBid=Бид 109430 51 LastTrade=109410<br />Сбой trede RIH7@FORTS время 03/03/2017 12:00:07 price 109410 ОИ 517292 Пок 2678 Прод 1723 BestAsk=Оффер 109440 6 BestBid=Бид 109430 51 LastTrade=109410<br />Сбой trede RIH7@FORTS время 03/03/2017 12:00:07 price 109410 ОИ 517288 Пок 2678 Прод 1723 BestAsk=Оффер 109440 6 BestBid=Бид 109430 51 LastTrade=109410<br />Сбой trede RIH7@FORTS время 03/03/2017 12:00:07 price 109410 ОИ 517286 Пок 2678 Прод 1723 BestAsk=Оффер 109440 6 BestBid=Бид 109430 51 LastTrade=109410<br />Сбой trede RIH7@FORTS время 03/03/2017 12:00:07 price 109410 ОИ 517284 Пок 2678 Прод 1723 BestAsk=Оффер 109440 6 BestBid=Бид 109430 51 LastTrade=109410<br />Сбой trede SIH7@FORTS время 03/03/2017 12:00:07 price 59059 ОИ 3342132 Пок 3703 Прод 3673 BestAsk=Оффер 59058 43 BestBid=Бид 59056 7 LastTrade=59058<br />Сбой trede SIH7@FORTS время 03/03/2017 12:00:07 price 59059 ОИ 3342132 Пок 3703 Прод 3673 BestAsk=Оффер 59058 43 BestBid=Бид 59056 7 LastTrade=59059<br />Сбой trede SIH7@FORTS время 03/03/2017 12:00:07 price 59059 ОИ 3342134 Пок 3703 Прод 3673 BestAsk=Оффер 59058 43 BestBid=Бид 59056 7 LastTrade=59059<br />Сбой trede SIH7@FORTS время 03/03/2017 12:00:07 price 59059 ОИ 3342136 Пок 3703 Прод 3673 BestAsk=Оффер 59058 43 BestBid=Бид 59056 7 LastTrade=59059<br /><br />1. Подскажите что нужно сделать, как правильно получать данные, что бы они лежали внутри спреда ? Возможно ли это ?<br />2. Если trade.Price неравен trade.Security.LastTrade.Price, кому верить, где данные более свежие ?<br /><br />Подключение к боевому Квику через lua. Версия библиотеки 4.3.21https://stocksharp.ru/topic/8126/Получение комиссий по сделкам через ЛУА2017-03-03T16:52:55Z2017-03-04T18:38:02ZRomSunZhttps://stocksharp.ru/users/6384/info@stocksharp.ruЕсть ли возможность через коннектор quik LUA получать комиссию по совершенным сделкам? <br />В таблице квика "Мои сделки" присутствуют колонки "Комиссия ТС" и еще несколько, но в сообщениях, приходящих от коннектора поле Comission=null всегда.<br />Совсем не хочется делать костыль с получением этих данных через ДДЕ...