Добрый вечер. При скачивании любой версии S#API в примерах всегда прилагаются данные RIZ2@FORTS за 12 год длинной в месяц. Где можно взять/купить таких данных за несколько лет? Очень хочется быстро, не выходя за пределы системы менять таймфреймы на более длительные. Буду признателен за помощь.
Комментарии (39)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Добрый день
Есть вариант с бесплатными данными http://stocksharp.ru/articles/322/konvertatsiya-istoricheskih-failov-qscalp-v-format-stocksharp/
И официально от биржи http://www.moex.com/ru/historicaldata/des
Файлы скачал, даже что-то получил. Спасибо огромное. Попытался подставить в программу - естественно не заработало.
Кто сможет помочь с запуском программы на новых данных? Рассмотрю любые предложения.
О какой программе идёт речь?
SampleHistoryTesting из инсталяционного пакета
А вы изменили в коде время и код инструмента?
Конечно. Насколько я понял, конвертор воспользоваться которым вы предложили генерирует файлы вида orderLog.bin Программа вроде как работает, показывает стакан, но свечи не прорисовывает. Да - еще надо было поменять название инструмента и соответствующей директории на RIZ4 например, а не оставлять в формате RTS-12.14 Свечи не рисует
Какая у вас версия API?
Если ОрдерЛог не нужен и для вашей торговой стратегии достаточно М1 и выше, то есть более простой альтернативный путь, чем конвертация исторических файлов QScalp. Вариант заключается в скачивании готовых свечек М1 и более высоких тайм-фреймов с сервера Finam через S#.Data и затем их подгрузка в стратегии.
Стратегии тогда при тестировании на истории "восстанавливает" стаканы внутри свечки, и проводит исполнение ордеров. И кстати работает на обычных ПК гораздо быстрее чем стаканогенерация через ОрдерЛог.
Просьба прислать данные и изменённый пример.
Пример не изменял - всё как в инсталляторе. Файл отправил
Просьба написать на support@stocksharp.com
отправил ссылку на файл
Результат тестирования по вашим файлам:
Очень странно - всё повторил - стакан показывает, свечи не рисует.
ProcessCandle(Candle candle) дажене вызывается. Могут временные настройки влиять?
В log файле вот такая вещь:
0001/01/01 00:00:00.000| |HistoryEmulationConnector|Connect 2014/09/14 14:45:00.000| |HistoryEmulationConnector|Создан новый портфель test account. 2014/09/14 14:45:00.000| |SS_RIZ4@FORTS_test account|Стратегия Запущена. [0,-1]. Позиция 0. 2014/09/14 14:45:00.000| |HistoryEmulationConnector|Инструмент RIZ4@FORTS зарегистрирован на получение рыночных данных для OrderLog. 2014/09/14 14:45:00.000| |HistoryEmulationConnector|Изменение состояния эмуляции Stopped -> Starting 2014/09/14 14:45:00.000|Error |HistoryBasketMessageAdapter|System.ArgumentException: Элемент с тем же ключом уже был добавлен. в System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) в System.Collections.Generic.Dictionary
2.Insert(TKey key, TValue value, Boolean add) в Ecng.Collections.SynchronizedDictionary2.Add(TKey key, TValue value) в StockSharp.Algo.BasketMessageAdapter.ProcessMarketDataResponse(IMessageAdapter adapter, MarketDataMessage message) в StockSharp.Algo.HeartbeatMessageAdapter.OnInnerAdapterNewOutMessage(Message message) в StockSharp.Algo.SubscriptionMessageAdapter.ProcessInMarketDataMessage(MarketDataMessage message) в StockSharp.Algo.SubscriptionMessageAdapter.SendInMessage(Message message) в StockSharp.Algo.HeartbeatMessageAdapter.SendInMessage(Message message) в StockSharp.Algo.BasketMessageAdapter.ProcessMarketDataRequest(MarketDataMessage mdMsg) в StockSharp.Algo.BasketMessageAdapter.OnSendInMessage(Message message) в StockSharp.Messages.MessageAdapter.SendInMessage(Message message) 2014/09/14 14:45:00.000|Error |HistoryEmulationConnector|Ошибка регистрации инструмента RIZ4@FORTS на получение рыночных данных для OrderLog: 2014/09/14 14:45:00.000| |HistoryEmulationConnector|Инструмент RIZ4@FORTS зарегистрирован на получение рыночных данных для CandleTimeFrame 00:05:00. 2014/09/14 14:45:00.000| |HistoryEmulationConnector|Изменение состояния эмуляции Starting -> StartedПопробуйте версию 4.4.5.2. Был фикс с подпиской у конннектора истории.
А полная версия с проектом когда будет на github?
Уточните ваш вопрос пожалуйста.
full версия всегда идет с файлом sln для студии. Версия 4.4.5.2. только исходники. Вот и спрашиваю как собрать 😭
Появилась версия 4.4.5.3 и всё заработало. Спасибо огромное! Поймал интересное явление - пропадание свечей (см фото). Снимок сделан с экрана TWS interactivebrokers. Дневки VZ. В чем может быть причина?
Поисследовал, примерно понятна причина. Первая свеча отображается (см. аттач) 1 января 2018 года, хотя в хранилище она записана 2-м января. Соответственно, свеча за 5-е января попадает на выходной и игнорируется. Свече время закрытия подставляется 19:00:00, очевидно, по восточному времени сша. Не понятно как это исправить.
Вот еще странность - файл первого дня (2018_01_02) тестируемого периода должен два раза загружаться?
Добрый день
Могли бы вы уточнить ваш вопрос?
Что нужно сделать чтобы не пропадали свечи? (см. мой пост от 25.02).
Могли бы вы уточнить ваш вопрос? У вас не получаются все данные из TWS? Вы можете привести код?
Отсутсвие прямого диалога сказывается. Постараюсь изложить детально. Сори. По шагам. Данные получил через API TWS. Со stocksharp это никак не связано. Далее сохранил их в cvs файл и импортировал гидрой в bin файлы. Далее в программе-примере HistoryTesting из инсталляционного архива версии 4.4.5.3 поменял тайм фрейм на .FromDays(1) Указываю ссылку на хранилище гидры, меняю название инструмента на VZ@NYSE, выставляю даты на 02.01.2018-22.02.2018 для краткости, выбираю "свечи" и нажимаю Старт. Программа отрисовывает свечи и завершает работу. Начинаю смотреть на рисунок - на нем слишком много гепов. Начал смотреть детально и обнаруживаю, что некоторые свечи не прорисовываются. Например, свеча за понедельник 08.02. на графике не отображена. Начал дебагером смотреть - candleProcess на этой свече не вызывается. Т.е. она пролетает где-то раньше. Дальше отображается 09.02. и так далее. Причину найти не смог. Время на компьютере стояло EST, поменял на Москву - ситуация не изменилась. В примере поменял только одну строку связанную с таймфреймом свечей - просто хотел проверить начиная с дней.
Картинки в поста ранее.
Постарался максимально подробно. Вопрос в пропадающих свечах.
Могли бы вы выложить данные и код тестирования?
отправил на support@stocksharp.com данные и код. Программа - прямо из дистрибутива версии 4.4.5.3.
Добрый день
Вы можете выключить проверку дат путём редактирования ExchangeBoard.Nyse.WorkingPeriod. Удалите всё настройки у площадки перед запуском тестирования.
Можно попросить код? Не сильно искушен в вашем фреймворке.
Такой вариант я попробовал в первую очередь. Исключение вылетает. (см. Картинку)
Попробуйте такой код.
Заработало. Спасибо большое!
Следующий вопрос. При сборке решения в конфигурации Debug в log файл записывается только первая свеча. (см. img1) При переключении в конфигурцию Release следующий код
все отрабатывает нормально и информация о всех свечах записывается в log файл.
В чем может быть проблема?
Добрый день
Пришлите проект для воспроизведения.
Проект тот же на котором тестировали предыдущую проблему. Еще раз отправил на support@stocksharp.com
Добрый день
Закомментируйте строчку logManager.Dispose(); Логирование асинхронное и менеджер не успевает всё сохранить на диск.