Сохранение/загрузка истории стакана.

Автор: ra81

Сохранение/загрузка истории стакана. - Thu Dec 05 2013 01:26 PM

Есть наработки по вопросу сохранения в базу стакана, с дальнейшей загрузкой на график и использованием в расчетах.

Характеристики:
  • Легко использовать: ДА
  • Хранилище: база данных sqLite (просто файл. 1 файл на 1 день стакана)
  • Загрузка полного стакана фьючерса для 50000 свечек: 11 секунд.
  • Объем файла за 1 день для фьючерса RTS: 40-60 мб.
  • Возможность выборки отдельных строк: ДА
  • Возможность выборки отдельно ЦЕНЫ или ОБЪЕМА: ДА
  • Работает в визуальном редакторе: ДА
  • Возможность экспорта данных в другие форматы: ДА
  • Сохраняет ВСЕ срезы стакана которые пришли в ТСЛаб, а не по концу свечи или как то еще. В среднем это может быть 3-5 срезов за секунду в зависимости от брокера.
  • Однажды сохраненный стакан может быть выведен на любой таймфрем графика: ДА


Отличия от уже существующих на форуме систем:
  • Работает!
  • Работает быстро.
  • Кушает МАЛО места.
  • Удобный формат хранения данных, легко просматривать через стандартные программы для sqLite.
  • Сделано для себя любимого.


Цена вопроса:
5000 рублей за 1 копию.

Комментарий:
Разработка адаптируется под визуальный редактор (исходная версия под АПИ) и требует еще небольшой доработки. Если никому будет не интересно, процесс будет завершен на текущей стадии.
Если интерес будет, будут доработки, улучшения и так далее. Все зависит от Вас.
Кому интересно пишите здесь, при приобретении будут бонусы.

Как это выглядит:
Скрипт сохраняющий стакан в базу.


Скрипт загружающий историю на онлайн график и выводящий 0 левел стакана на покупку в виде линии.


То что получается после загрузки истории на текущий график инструмента
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Thu Dec 05 2013 08:27 PM

Видео. как все выглядит в реале.
Скрипт РТС, пересчет интервал 1 сек.
Выведено 2 строки с бая, 2 строки с селла, и снизу объемы бида и аска.
http://screencast.com/t/kjL3iHXTWEMq
Автор: uuzzeerr

Re: Сохранение/загрузка истории стакана. - Thu Dec 05 2013 09:04 PM

распиши плз подробно что заначит это видео
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Thu Dec 05 2013 09:19 PM

Originally Posted By: uuzzeerr
распиши плз подробно что заначит это видео

Видео очень простое. Выводим уровни стакана в реалтайме на график. как видно есть история прошлых значений.

Можно эту историю загружать в любой момент на график и смотреть что было в прошлом на разных уровнях в стакане. Где стояли объемы где еще чего.
Как видно выше на картинках, все данные доступны в виде кубиков. Берем кубик, кидаем на стол, выход кубика подаем туда куда нужно.
Можно перед входом в позицию оценить текущие объемы в стакане и не входить против толстых уровней. Можно оценить перекос стакана и войти в сторону перекоса и так далее. Любые ваши фантазии реализуемы. Все данные у вас имеются для теста вашей стратегии и ДАЖЕ оптимизации smile.

Потом запишу еще видео думаю с процессом включения и загрузки всего.
Автор: Rezident

Re: Сохранение/загрузка истории стакана. - Thu Dec 05 2013 11:36 PM

Родион, а если запустить скрипт с твоим блоком " с чистого листа", т.е. без накопленной базы по стакану, как он будет работать? Или же , блок обработает уже накопленные до этого тики или секунды?
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Fri Dec 06 2013 09:22 AM

Originally Posted By: Rezident
Родион, а если запустить скрипт с твоим блоком " с чистого листа", т.е. без накопленной базы по стакану, как он будет работать? Или же , блок обработает уже накопленные до этого тики или секунды?

Если в базе нет ничего, то стакан выводиться не будет. Чтобы все работало онлайн на реале, нужно чтобы работал Writer в базу. Та часть которая подгружает данные Loader всегда берет их из базы. Нет базы нет данных, будут одни нули.
Правда если в течение дня вдруг были обрывы или еще что, дыры в данных заполняются последними предыдущими данными. Получается в итоге прямая линия. Как на картинке.

Автор: Rezident

Re: Сохранение/загрузка истории стакана. - Fri Dec 06 2013 11:09 AM

Спасибо.
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Sat Dec 07 2013 07:50 PM

На месяц даю всем желающих на пробу писатель/загрузчик стакана.

В архиве контейнер с писателем. Скрипт с примером загрузки истории по стакану. Так же набор библиотек (для 64 битной винды)
Работать будет только на сборках выше 1.2.11.66. Сборки более старые будут писать стакан неверно. Возможность писать стакан правильно была добавлен только в версии 66. Все было что ранее, было с багами и не могло работать.

Запись стакана:
1) Создайте папку c:\quotes\queue
2) Библиотеки нужно поместить в вашу папку Handlers, к остальным индикаторам.
3) Открыть ТСЛаб.
4) Контейнер включайте на любой ФЬЮЧЕРС (стоки отключены) в режиме агента. ГЛАВНОЕ создайте предварительно папку из пункта 1.
5) Подключаетесь к рынкам, видите в папке c:\quotes\queue файл с данными за сегодняшний день.

Загрузка стакана:
1) Библиотеки нужно поместить в вашу папку Handlers, к остальным индикаторам.
2) Открыть ТСЛаб.
3) Открыть приложенный мной пример скрипта.
4) Добавить нужное число Price/Quontity Loader. ГЛАВНОЕ все они должны быть подключены к "Queue Loader Accellerator"
5) В "Queue Loader Accellerator" задаете путь к папке где лежат ваши файлы с данными. Обычно такая же как для Записи стакана.
6) Добавляете свою логику используя выходы кубиков Price/Quontity Loader.
7) ОБЯЗАТЕЛЬНО в скрипте параметр "Макс бар" должен быть установлен. Если в процессе работы скрипта число свечек будет изменяться, получите мощные тормоза.
8) ОБЯЗАТЕЛЬНО пересчет ставим в ИНТЕРВАЛ. Другие просто не будут работать.
9) Подключаемся к рынку смотрим отрисовку на графике стакана.


Вопросы? Задавайте!
Автор: jhgjrht

Re: Сохранение/загрузка истории стакана. - Sun Dec 08 2013 04:31 PM

Посмотрел, исключительно из любопытства. )
А что изменилось в сборке 1.2.11.66?
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Sun Dec 08 2013 05:24 PM

Originally Posted By: jhgjrht
Посмотрел, исключительно из любопытства. )
А что изменилось в сборке 1.2.11.66?
кое что в fininfo
Автор: jhgjrht

Re: Сохранение/загрузка истории стакана. - Sun Dec 08 2013 06:24 PM

И что именно?
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Sun Dec 08 2013 07:55 PM

Originally Posted By: jhgjrht
И что именно?

по другому работает LastUpdate. Это время обновления котировок. Серверное время либо время которое дал брокер с котировкой. РАньше там было время последнего трейда по тикеру.
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Wed Dec 11 2013 01:03 PM

Здравствуйте Родион, загрузил контейнер, индикаторы закинул в папку Handlers, создал папку на диске С - quotes, внутри неё ещё одну папку - queue, подключил контейнер в агент, запустил

выдаёт ошибку - была сделана попытка загрузить программу, имеющую неверный формат

версия 1.2.11.66.32

подскажите, может где-то я не там свернул?
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Wed Dec 11 2013 01:36 PM

версия тслаба и Винды 64 бит? Если 32 то оно понятно
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Wed Dec 11 2013 01:44 PM

32 бит frown
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Wed Dec 11 2013 03:13 PM

Originally Posted By: ZooR
32 бит frown

Сделаю сборку чуть позже выложу для обоих систем. Не думал что ктото еще мучается на 32 битах.
Автор: Ivan

Re: Сохранение/загрузка истории стакана. - Wed Dec 11 2013 08:04 PM

Половина коннекторов к брокерам в Тслаб доступно только в 32-bit. так что тут вольно-невольно мучаешься.
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Thu Dec 12 2013 10:13 AM

Приложил последнюю сборку для 32 и 64 битных систем. Поправлено кое что по мелочи. Для теста несущественно.

Работать будет только на фьючах! Стоки отключены.
Папу создавать теперь необязательно, сама нарисуется.

Требования:
ТСлаб: 1.2.11.66 и выше.
Установленный VC2010 redistributible

В остальном все так же как было выше.
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Thu Dec 12 2013 11:41 AM

ошибка выскакивает frown
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Thu Dec 12 2013 11:52 AM

Originally Posted By: ZooR
ошибка выскакивает frown

библиотеки все лежат где надо? Все включая System.Data.SQLite.dll?
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Thu Dec 12 2013 12:20 PM

библиотеки в папке hendlers
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Thu Dec 12 2013 12:44 PM

Originally Posted By: ZooR
библиотеки в папке hendlers


та ошибка что вы ранее писали реальная проблема. Если ее больше нет то все ок. То что текущее вы прислали не есть проблема. ТСлаб просто не может загрузить не дотнетовскую библиотеку вот и кричит. А ему и не надо ее загружать она подгрузиться сама.
Просто запускайте и смотрите файл с данными. как только появится значит данные пишутся.
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Thu Dec 12 2013 01:51 PM

на домашнем компе на 64х действительно пишется и работает, папка появляется, но есть особенность,открываем в лаборатории скрипт читатель, интервал 1 минута, есть отображение выведенной информации, при пересчёте скрипта информация пропадает, и появляется только когда нажимаешь кнопку выполнить, на следующем пересчёте - снова пропадает,

на домашнем компе на 32х - выскакивает первая ошибка, папка не появляется ...

на win server 2008
ни на 64х папка появилась, но выскочила другая ошибка
на 32х тож чёт не хочет..

всё не воспринимайте как критику, может я что не так делаю...
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Thu Dec 12 2013 01:57 PM

Originally Posted By: ZooR
на домашнем компе на 64х действительно пишется и работает, папка появляется, но есть особенность,открываем в лаборатории скрипт читатель, интервал 1 минута, есть отображение выведенной информации, при пересчёте скрипта информация пропадает, и появляется только когда нажимаешь кнопку выполнить, на следующем пересчёте - снова пропадает,

в настройках скрипта число свечей сколько стоит? у вас должно быть жесткое ограничение я об этом писал. И число свечек подаваемое в скрипт не должно изменться. иначе будет то что есть. пропадать и появляться.
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Thu Dec 12 2013 02:30 PM

да, действительно, я не поставил кол-во свечей, на 64х всё работает на домашнем компе

на win ser
вот такую ошибку пишет на 64х
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Thu Dec 12 2013 02:38 PM

SQLite.Interop.dll там на сервере точно лежит где нужно? Эта библа точно из 64 битной версии?
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Thu Dec 12 2013 02:58 PM

ещё раз проверил, библиотеки лежат в папке handlers , 64х
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Fri Dec 13 2013 02:16 PM

Родион, а у вас получится допилить индикатор до 32 битной версии или сделать лёгкий читатель-писатель с возможностью использования блоков askvolyme\bidvolyme для 32бит?
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Fri Dec 13 2013 04:01 PM

Originally Posted By: ZooR
Родион, а у вас получится допилить индикатор до 32 битной версии или сделать лёгкий читатель-писатель с возможностью использования блоков askvolyme\bidvolyme для 32бит?

да там пилить ничего не надо. Пока просто не протестировал на 32 битах. Проверю на выходных, скажу что нужно сделать. Точнее уже на 32 битах работает все у одного человека точно. Но я сам еще проверю погляжу что там за дела.

По поводу легкого писателя бидаска - стакан пишется такой какой вам надо. поставите 2 строки писать будет писать две строки. и размер базы естественно будет в 20 раз меньше.
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Fri Dec 13 2013 04:07 PM

ок, буду ждать
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Fri Dec 13 2013 08:37 PM

Попробуйте эти сборки. Обновил кой что включая библиотеки БД.
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Sat Dec 14 2013 07:19 AM

на сервере не стояла vc2010 64х, поставил, запустил, ошибку не выдаёт, в понедельник посмотрю на реальных торгах, версия контейнера первая из поста #59709

если всё нормально, буду тестить на 64х, 32х тогда будет не нужна
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Sat Dec 14 2013 10:01 AM

Originally Posted By: ZooR
на сервере не стояла vc2010 64х, поставил, запустил, ошибку не выдаёт, в понедельник посмотрю на реальных торгах, версия контейнера первая из поста #59709

если всё нормально, буду тестить на 64х, 32х тогда будет не нужна

ну так инструкция зачем дается? не просто так. Но никто читать не хочет smile.
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Sat Dec 14 2013 10:18 AM

smile краснею... моя вина smile

так, для информации, пробовал новые сборки, на 64х выскакивает ошибка, такая же как на 32х, а сборка из поста #59709 на 64х работает без ошибки...

подождём ещё понедельника...
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Sat Dec 14 2013 11:56 AM

Originally Posted By: ZooR
smile краснею... моя вина smile

так, для информации, пробовал новые сборки, на 64х выскакивает ошибка, такая же как на 32х, а сборка из поста #59709 на 64х работает без ошибки...

подождём ещё понедельника...

Специально проверял на 32 битной винде и на 64 битной. Не выскакивало ничего. Может опять чтото не так сделали или забыли?
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Sat Dec 14 2013 12:46 PM

smile может быть...
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Mon Dec 16 2013 11:31 AM

работает!!! наблюдаю...
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Mon Dec 16 2013 11:38 AM

Originally Posted By: ZooR
работает!!! наблюдаю...

ну уже у нескольких людей работает. Без багов пока.
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Mon Dec 16 2013 01:49 PM

стакан пишет, я так понимаю уровни, на которых стояли объёмы и цена на которой стояли объёмы...

а как-нибудь можно из этих данных вытянуть askvolyme и bidvolyme , вопрос может быть тупой, но smile как с тиковым кешем работать
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Mon Dec 16 2013 04:21 PM

Originally Posted By: ZooR
стакан пишет, я так понимаю уровни, на которых стояли объёмы и цена на которой стояли объёмы...

а как-нибудь можно из этих данных вытянуть askvolyme и bidvolyme , вопрос может быть тупой, но smile как с тиковым кешем работать

вообще он пишет "номер строки, цену, объем, дата"
Конкретно по вопросу: можно и бид/аск объем, можно объем 10 строки, можно сумму объемов бай и селл по всему стакану. Можно найти где плотности стоят и так далее.
Для извлечения есть кубики Цена, Объем. Задаете номер строки получаете данные. Все просто.
Автор: ZooR

Re: Сохранение/загрузка истории стакана. - Wed Dec 18 2013 09:25 AM

в личку написал, как с вами связаться?
Автор: goodok

Re: Сохранение/загрузка истории стакана. - Wed May 21 2014 02:59 PM

интересно ваше предложение, есть пара вопросов:
1. какого брокера посоветуете, и какое подключение
2. контейнер "Сохранение/загрузка истории стакана" - помогает зарабатывать?
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Wed May 21 2014 03:37 PM

Originally Posted By: goodok
интересно ваше предложение, есть пара вопросов:
1. какого брокера посоветуете, и какое подключение
2. контейнер "Сохранение/загрузка истории стакана" - помогает зарабатывать?

1) Любой пойдет. Но на плазе стакан конечно более адекватен.
2) зарабатывать помогают только мозги. Увы, не могу предлагать их на продажу.
Автор: goodok

Re: Сохранение/загрузка истории стакана. - Thu May 22 2014 02:58 PM

Здравствуйте! можете дать потестить? "Сохранение/загрузка истории стакана"
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Wed Jun 04 2014 02:11 PM

Сварганил Экспресс версию для тех кто потестить и просто посмотреть. В ней есть два ограничения.
1) Глубина стакана пишется не дальше 5 строк.
2) Нельзя выводить истории больше чем для 499 свечек.

Видео по пользованию http://youtu.be/RlcRW9aedZg
Автор: r89

Re: Сохранение/загрузка истории стакана. - Thu Jun 05 2014 09:41 AM

Не хватает QueueLoade, QueueWrite (из старых загрузок контейнер закончился).
Автор: r89

Re: Сохранение/загрузка истории стакана. - Thu Jun 05 2014 11:23 AM

Упс, все индикаторы из скриптов, появились в тслаб , индикаторы(RusAlgo.Storage). Дальше собрать оба скрипта. Все работает.
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Thu Jun 05 2014 12:39 PM

Originally Posted By: r89
Не хватает QueueLoade, QueueWrite (из старых загрузок контейнер закончился).

то что было раньше нужно УДАЛИТЬ и распаковать эту версию. Там была другая структура файлов и код отличался. Поэтому старое все удалить. Экспресс версия по времени не ограничена. Сколько хотите, столько пользуйте.
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Thu Jun 05 2014 01:55 PM

Забыл примеры скриптов. Прилепил к посту с другими файлами.
Автор: Desire

Re: Сохранение/загрузка истории стакана. - Sun Jul 06 2014 12:14 AM

При приобретении будут бонусы. Какие бонусы? =))
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Sun Jul 06 2014 05:50 AM

Originally Posted By: Desire
При приобретении будут бонусы. Какие бонусы? =))

поезд уже ушел в плане бонусов. Давно было повешено, поправить я не могу уже.
Автор: Desire

Re: Сохранение/загрузка истории стакана. - Tue Jul 08 2014 11:30 AM

Все отлично. Все работает =)
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Thu Jul 17 2014 12:14 PM

Originally Posted By: Desire
Все отлично. Все работает =)

ээээ... а как там мои письма поживают? Нужно допилить те моменты которые вызывают проблем. На почту не отвечаете, вдруг тут заметите smile
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Wed Jul 23 2014 08:45 AM

Вышел первый апдейт smile.

На очереди таки есть идея сделать конвертер данных с кускальпа. Ведь история да нахаляву валяется. И писать не надо трястись вдруг потеряется чего smile.
Автор: 777

Re: Сохранение/загрузка истории стакана. - Fri Sep 26 2014 04:52 PM

Родион, хороший стакан сделали. Молодец. Для спредовых стратегий вещь незаменимая. Небольшой тест:
Автор: sar

Re: Сохранение/загрузка истории стакана. - Fri Sep 26 2014 07:50 PM

проплаченный пиар!
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Fri Sep 26 2014 07:54 PM

Originally Posted By: 777
Родион, хороший стакан сделали. Молодец. Для спредовых стратегий вещь незаменимая. Небольшой тест:

хочу такую стратегию! дайте две!
Автор: 777

Re: Сохранение/загрузка истории стакана. - Fri Sep 26 2014 07:58 PM

так там всё просто. строим спред на стакане, одно покупаем, второе продаем. smile
Автор: Turmoil

Re: Сохранение/загрузка истории стакана. - Mon Oct 13 2014 06:34 PM

Добрый день, Родион.

Подскажите,пожалуйста, пытаюсь посмотреть Вашу экспресс-версию стакана.

Вылазит следующая ошибка.
Автор: ra81

Re: Сохранение/загрузка истории стакана. - Mon Oct 13 2014 08:10 PM

Originally Posted By: Turmoil
Добрый день, Родион.

Подскажите,пожалуйста, пытаюсь посмотреть Вашу экспресс-версию стакана.

Вылазит следующая ошибка.

может вы напутали с разрядностью? там для 32 и 64 бита две разные версии
Автор: Desire

Re: Сохранение/загрузка истории стакана. - Wed Oct 29 2014 03:49 PM

Originally Posted By: ra81
Originally Posted By: Desire
Все отлично. Все работает =)

ээээ... а как там мои письма поживают? Нужно допилить те моменты которые вызывают проблем. На почту не отвечаете, вдруг тут заметите smile
На почту ничего не приходило Какие письма?)
Автор: holochain

Re: Сохранение/загрузка истории стакана. - Thu Aug 16 2018 06:41 PM

Актуально ли ещё предложение?
Будет работать с криптовалютами?