Конвертация исторических файлов QScalp в формат StockSharp

Конвертация исторических файлов QScalp в формат StockSharp
Atom
9/26/2013
AntonySS


Привет всем алготрейдерам!

Хочу поделиться своим решение для тестирования скальперских и ХФТ стратегий. Долгое время я использую замечательный привод Морошкина (бесплатную версию [smile] ). И недавно решил автоматизировать несколько стратегий на базе StockSharp.

Но для этого нужны исторические данные, в частности стаканы. У StockSharp есть программа Гидра, которая по идее позволяет качать все необходимое, но ее нужно держать постоянно включенной. Для меня это не вариант, так как я постоянно занят, и интернет не всегда стабильный.

Но недавно я узнал, что QScalp сам пишет историю и бесплатно ее выкладывает через брокера IT Invest.

В итоге, я написал конвертор данных QScalp в формат StockSharp!





Просто установите программу и скачайте исторические данные формата QSH для QScalp по одной из ссылок ниже

http://www.itinvest.ru/s...are/spo/qscalp/history/

ftp://athistory.zerich.com/

Теперь осталось только указать в конвертере путь к скаченным файлам и к папке хранения исторических данных StockSharp, и нажать кнопку “Запустить”!

Вуаля, теперь у вас есть высококачественные исторические данные для тестирования своих стратегий!

PS Торопитесь пока бесплатно ;))

PPS Шутка))


Всем удачной торговли!

Присоединиться и редактировать код можно по https://github.com/stocksharp/Qsh2Bin

скомпилированную программу по https://github.com/StockSharp/Qsh2Bin/releases


<< < 3 4 5 6 7  >
Pantov

Avatar
Date: 8/21/2015
Reply


Mikhail Sukhov
Pantov
все сделал, но даже в Гидре есть только BIDы и в ОЛ и в конвертированных стаканах.
Какие надо учесть ньюансы, что не так?


https://github.com/Stock...19d6e44e4d5133b7e9e076f

Хочу к чему ОЛ при таком ДолларРубле...


Все заработало, получил, что хотел, спасибо Михаил.
Готов оплатить помощь, скажите куда.
Thanks:

Mikhail Sukhov

Avatar
Date: 8/21/2015
Reply


Pantov

Все заработало, получил, что хотел, спасибо Михаил.
Готов оплатить помощь, скажите куда.


Лучше выложите сконвертированное куда-то, чтобы не делать одно и то же всем.
Thanks:

Mikhail Sukhov

Avatar
Date: 12/8/2015
Reply


https://github.com/Stock...2Bin/releases/tag/1.0.4

Фильтр по инструменту. Фикс экспорта в csv.
Thanks:

vk37

Avatar
Date: 1/26/2016
Reply


У меня получился несколько иной алгоритм конвертации. Возможно, кому-то окажется полезным:

По 3 дням стакан построить не получилось: предполагаю что запись данных была выполнена с ошибками.
Даты и время ошибок:
13.10.2014 Пн 19:00:55.878
11.06.2015 Чт 18:56:21.672
18.09.2015 Пт 18:51:07.919
Thanks:

sharafievrr

Avatar
Date: 4/27/2016
Reply


После конвертации в из qsh в bin подкладываю данные в директорию где хранятся данные для гидры. Но при попытке получить тики по этому инструменту гидра говорит что данных нет. Что надо сделать чтобы гидра увидела файлы с сконвертированной историей?
Thanks:

Lexuz77

Avatar
Date: 9/10/2016
Reply


sharafievrr
После конвертации в из qsh в bin подкладываю данные в директорию где хранятся данные для гидры. Но при попытке получить тики по этому инструменту гидра говорит что данных нет. Что надо сделать чтобы гидра увидела файлы с сконвертированной историей?

Присоединяюсь к вопросу - ни гидра, ни дизайнер бетка эти данные (bin) не видит :(
Thanks:

Mikhail Sukhov

Avatar
Date: 10/17/2016
Reply


Новая версия 1.0.5:

1) Многопоточная обработка. Лучше запускать, если инструменты разбиты по разным файлам, как это сделано у Цериха.
2) Преобрезование Order log в стаканы. Глубика по-умолчанию 5, правится в настройках в конфиг-файле.
3) Фильтр инструментов по маске, перечисление через запятую. Например, SBER,RTS-*,*BR* будет означать поиск инструментов с названием SBER, вме инструменты, начинающиеся с RTS- и все инструменты, содержащие в названии BR (SBER, BRENT и т.д.).

Скачать

Напишите пожелание по утилите. Интересен ли вам сервис от Цериха, нужны ли в работе такие данные. Кто знает что стало с аналогичным сервисом от IT Invest?
Thanks: JaguarFX

JaguarFX

Avatar
Date: 10/30/2016
Reply


Программа очень и очень нужная для тестирования hft-стратегий на предмет того не являются ли они тестовыми граалыми, у которых чудо-доходность обусловлена исключительно несовершенством тестера (а-ля такого Мой hft-грааль). А так же подобные данные позволяют "исследовать" микроструктуру рынка на предмет реальных возможностей для заработка на фреймах ниже М1.
Основное пожелание - интегрировать в следующую версию S#.Data данный сайт Цериха как доп. источник для скачивания данных с конвертацией "на лету" в формат bin с формированием OL или стаканов по выбору пользователя.
Thanks:

Mikhail Sukhov

Avatar
Date: 10/30/2016
Reply


Лебедев Сергей

Основное пожелание - интегрировать в следующую версию S#.Data данный сайт Цериха как доп. источник для скачивания данных с конвертацией "на лету" в формат bin с формированием OL или стаканов по выбору пользователя.


Сайт поддерживает неофициально. Вполне вероятно, что у Цериха не хватает ресурсов, и он может быть закрыт в любое время. Тратить ресурсы на такую задачу нам не сильно охота. Да и что там автоматизировать? Закачку c FTP? Это делается любым download manager-ом на 1-2-3.
Thanks:

Константин

Avatar
Date: 2/12/2018
Reply


Конвертор не работает с файлами типа:
Quote:
Название.AuxInfo.qsh

Ошибка:
Qsh2Bin 12.02.2018 19:27:26 Error "System.AggregateException: Произошла одна или несколько ошибок. ---> System.ArgumentOutOfRangeException: Время в формате UTC, представленное при применении смещения, должно находиться в диапазоне от 0 до 10 000 лет.
Имя параметра: offset
в System.DateTimeOffset.ValidateDate(DateTime dateTime, TimeSpan offset)
в System.DateTimeOffset..ctor(DateTime dateTime, TimeSpan offset)
в Ecng.Common.TimeHelper.ApplyTimeZone(DateTime dt, TimeZoneInfo zone)
в StockSharp.Qsh2StockSharp.MainWindow.<>c__DisplayClass16_1.<ConvertFile>b__9(Int32 key, AuxInfo info)
в QScalp.History.Reader.V4.AuxInfoStream.Read(Boolean push)
в QScalp.History.Reader.V4.QshReaderImpl.Read(Boolean push)
в StockSharp.Qsh2StockSharp.MainWindow.ConvertFile(String fileName, IStorageRegistry registry, StorageFormats format, ExchangeBoard board, String securityLike, Dictionary`2 orderLog2OrderBookBuilders, Int32 orderBookMaxDepth)
в StockSharp.Qsh2StockSharp.MainWindow.<>c__DisplayClass14_0.<ConvertDirectory>b__0(String f)
в MoreLinq.MoreEnumerable.ForEach[T](IEnumerable`1 source, Action`1 action)
в StockSharp.Qsh2StockSharp.MainWindow.ConvertDirectory(String path, IStorageRegistry registry, StorageFormats format, ExchangeBoard board, String securityLike, Boolean multithread, Dictionary`2 orderLog2OrderBookBuilders, Int32 orderBookMaxDepth)
в StockSharp.Qsh2StockSharp.MainWindow.<>c__DisplayClass13_0.<Convert_OnClick>b__0()
в System.Threading.Tasks.Task.Execute()
--- Конец трассировки внутреннего стека исключений ---
---> (Внутреннее исключение #0) System.ArgumentOutOfRangeException: Время в формате UTC, представленное при применении смещения, должно находиться в диапазоне от 0 до 10 000 лет.
Имя параметра: offset
в System.DateTimeOffset.ValidateDate(DateTime dateTime, TimeSpan offset)
в System.DateTimeOffset..ctor(DateTime dateTime, TimeSpan offset)
в Ecng.Common.TimeHelper.ApplyTimeZone(DateTime dt, TimeZoneInfo zone)
в StockSharp.Qsh2StockSharp.MainWindow.<>c__DisplayClass16_1.<ConvertFile>b__9(Int32 key, AuxInfo info)
в QScalp.History.Reader.V4.AuxInfoStream.Read(Boolean push)
в QScalp.History.Reader.V4.QshReaderImpl.Read(Boolean push)
в StockSharp.Qsh2StockSharp.MainWindow.ConvertFile(String fileName, IStorageRegistry registry, StorageFormats format, ExchangeBoard board, String securityLike, Dictionary`2 orderLog2OrderBookBuilders, Int32 orderBookMaxDepth)
в StockSharp.Qsh2StockSharp.MainWindow.<>c__DisplayClass14_0.<ConvertDirectory>b__0(String f)
в MoreLinq.MoreEnumerable.ForEach[T](IEnumerable`1 source, Action`1 action)
в StockSharp.Qsh2StockSharp.MainWindow.ConvertDirectory(String path, IStorageRegistry registry, StorageFormats format, ExchangeBoard board, String securityLike, Boolean multithread, Dictionary`2 orderLog2OrderBookBuilders, Int32 orderBookMaxDepth)
в StockSharp.Qsh2StockSharp.MainWindow.<>c__DisplayClass13_0.<Convert_OnClick>b__0()
в System.Threading.Tasks.Task.Execute()<---
"
Thanks:
<< < 3 4 5 6 7  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy