Блоки сохранения / чтения данных FinInfo

Автор: jhgjrht

Блоки сохранения / чтения данных FinInfo - Thu Jan 12 2012 01:47 AM

Блоки сохранения / чтения данных FinInfo
Блоки предназначены для сохранения / чтения транслируемых биржей реально-временных данных по ценной бумаге/финансовому инструменту.
Блоками обрабатываются данные из структуры FinInfo (см. FinInfo в TSLab API ). Сохраняются и читаются следующие поля этой структуры:
  • LastUpdate - Дата и время последнего обновления информации.
  • Ask - Цена спроса (так в документации)
  • Bid - Цена предложения (так в документации)
  • BuyCount - Количество заявок на покупку в очереди торговой системы
  • BuySqty - Объем всех заявок на покупку в очереди торговой системы, выраженный в единицах ценных бумаг
  • SellCount - Количество заявок на продажу в очереди торговой системы
  • SellSqty - Объем всех заявок на продажу в очереди торговой системы, выраженный в единицах ценных бумаг
  • TheoriticPrice - Теоретическая (Расчетная) цена опциона
  • Volatility - Волатильность финансового инструмента, %
Примечание:
1. Время берется с компьютера, на котором работает программа TSLab. Настоятельно рекомендую настроить синхронизацию компьютерных часов с серверами в Интернете.
2. Если какие-либо данные отсутствуют, то в соответствующем поле сохраняется значение 0. Если не заполнены все поля, то запись не сохраняется вообще.
3. Идущие подряд записи с одинаковыми значениями (повторяющиеся) - не сохраняются.

Блок сохранения данных:
Накопитель - накопитель истории значений описанных выше параметров.
Блоки чтения истории значений:
ИстПрод - Лучшая (минимальная) цена заявок на продажу (Ask)
ИстПок - Лучшая (максимальная) цена заявок на покупку (Bid)
ИстЗаявПок - Количество заявок на покупку в очереди торговой системы (BuyCount)
ИстСумПок - Объем всех заявок на покупку в очереди торговой системы, выраженный в единицах ценных бумаг (BuySqty)
ИстЗаявПрод - Количество заявок на продажу в очереди торговой системы (SellCount)
ИстСумПрод - Объем всех заявок на продажу в очереди торговой системы, выраженный в единицах ценных бумаг (SellSqty)
ИстТеорЦена - Теоретическая (Расчетная) цена опциона (TheoriticPrice)
ИстВола - Волатильность финансового инструмента, % (Volatility)
ИстСумДельта - Разница между объемами всех заявок на покупку и на продажу в очереди торговой системы, выраженная в единицах ценных бумаг. Положительное значение означает, что заявок на покупку больше, чем заявок на продажу (BuySqty – SellSqty)
ИстМомСумДельта – Момент(ум) разницы между объемом всех заявок на покупку и продажу в очереди торговой системы. Положительное значение означает, что объем заявок на покупку растет.
ИстСрЗаявПок - Размер средней заявки на покупку выраженный в единицах ценных бумаг (BuySqty/BuyCount)
ИстСрЗаявПрод - Размер средней заявки на продажу выраженный в единицах ценных бумаг (SellSqty/SellCount)

Страница-закладка всех блоков в редакторе TSLab: FinInfo.
Все блоки имеют параметр "Папка" - полный путь к директории (папке) в которой будет сохраняться/читаться файл с данными. В строке значения этого параметра ВСЕ символы "\" должны прописываться ДВАЖДЫ! Пример: "C:\\Data"

Для использования блоков необходимы скрипты двух типов:
1. Для записи данных. С блоком Накопитель. По одному скрипту на каждый инструмент. Этот скрипт должен быть ЗАПУЩЕН на странице "Управление торговлей скриптами" программы TSLab! Не в лаборатории, а в торговле! В противном случае: ДАННЫХ НЕ БУДЕТ!
2. Для чтения данных с использованием блоков, таких как ИстСумПок и т.п.

Примеры скриптов есть в архиве. Скрипт для записи данных может работать на любом таймфрейме, включая изменение котировок. Объединять в рамках одного скрипта для записи несколько источников - можно, но не желательно.
Данные по каждой ценной бумаге сохраняются в файле в двоичном формате. Расширение файла - fid. Структура - см. исходники. Формат двоичный - потому что так быстрее и надежнее. Для получения текстовых данных, смотри про конвертер ниже.
На каждый инструмент - свой файл. Размер файла не ограничивается, следите за ним сами. Скорость роста размера файла напрямую зависит от таймфрейма скрипта для записи. На каждый пересчет скрипта в файл допишется 72 байта. Кому не лень посчитать, сделайте таблицу приращения размера за день для разных таймфреймов.
Будьте осторожны с количеством свечей для скриптов 2 типа, на всю историю - памяти не хватит.

Для получения текстовых значений из накопленной в файле с расширением fid истории можно воспользоваться конвертером. Формат его использования:
TSLab.fid2txt.exe [/t, /b] исходный_файл [конечный_файл]
Параметры:
/t - преобразовать двоичный файл (.fid) в текстовый (.txt)
/b - преобразовать текстовый файл (.txt) в двоичный (.fid)
Пример:
TSLab.fid2txt.exe SiH2.fid
- Конвертировать двоичный файл SiH2.fid в текстовый SiH2.txt

TSLab.fid2txt.exe SiH2.txt
- Конвертировать текстовый файл SiH2.txt в двоичный файл SiH2.fid

TSLab.fid2txt.exe /t SiH2.fid SiH2.txt
- Конвертировать двоичный файл SiH2.fid в текстовый SiH2.txt


Если при попытке использовать предлагаемые блоки что-то не получается, то, для начала, попробуйте прочитать этот текст еще раз.
Автор: ViL

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 12 2012 02:03 AM

Браво!
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 12 2012 02:05 AM

Грааль. smile
Автор: usas

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 12 2012 10:19 AM

Ув. jhgjrht, поясните пож. для не особо продвинутых вот эту фразу из инструкции:
"Для использования блоков необходимы скрипты двух типов:
1. Для записи данных. С блоком Накопитель. По одному скрипту на каждый инструмент. Этот скрипт должен быть ЗАПУЩЕН на странице "Управление торговлей скриптами" программы TSLab! Не в лаборатории, а в торговле! В противном случае: ДАННЫХ НЕ БУДЕТ!
2. Для чтения данных с использованием блоков, таких как ИстСумПок и т.п."

В рамках одного скрипта можно одновременно накапливать и читать?
Читать в смысле использовать читаемые параметры в реализации алгоритма..
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 12 2012 11:09 AM

Originally Posted By: usas
Ув. jhgjrht, поясните пож. для не особо продвинутых вот эту фразу из инструкции:
"Для использования блоков необходимы скрипты двух типов:
1. Для записи данных. С блоком Накопитель. По одному скрипту на каждый инструмент. Этот скрипт должен быть ЗАПУЩЕН на странице "Управление торговлей скриптами" программы TSLab! Не в лаборатории, а в торговле! В противном случае: ДАННЫХ НЕ БУДЕТ!
2. Для чтения данных с использованием блоков, таких как ИстСумПок и т.п."

В рамках одного скрипта можно одновременно накапливать и читать?
Читать в смысле использовать читаемые параметры в реализации алгоритма..
Можно, но лучше сделать так, как написано. Причин несколько, в частности:
таймфреймы могут быть разные, 1й работает очень быстро и может иметь маленький тф; 2й работает существенно медленней, особенно если история большая и свечей много.
1й - только в "торговле", 2й и в торговле и в лаборатории.

На 2 типа скрипты разделено специально из соображений макс. производительности и мин. затрат памяти.
Автор: usas

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 12 2012 11:21 AM

Спасибо, с этим понятно.
Еще вопрос- нельзя ли ограничить накапливаемый объем конечным значением с затиркой "старых" данных? чисто из лени - чтобы не отслеживать объём.. и чтоб скрипт не тормозил..
Автор: 777

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 12 2012 01:25 PM

jhgjrht\\
Запустил, всё работает. Коплю историю smile.
Спасибо! Реальная работа!
Автор: SPLsd

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 12 2012 09:33 PM

МОЛОДЦОМ!!!!!
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 12 2012 11:21 PM

Originally Posted By: usas
Спасибо, с этим понятно.
Еще вопрос- нельзя ли ограничить накапливаемый объем конечным значением с затиркой "старых" данных? чисто из лени - чтобы не отслеживать объём.. и чтоб скрипт не тормозил..
Можно, но я в ближ. время этого делать не планирую. См. таблицу зависимости размера файла от таймфрейма.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 12 2012 11:33 PM

Originally Posted By: 777
Запустил, всё работает. Коплю историю smile.
Спасибо! Реальная работа!
Оцените производительность.
Автор: 777

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 12 2012 11:45 PM

Да, уже заценил!!! Я в восторге, у меня слов нет!!! smile
Причем этот метод записи очень порадовал, место занимает просто фигня, за день всего 7 мб набежало. Думаю надо просто раз в неделю скидывать файл и писать новый. В транзаке не работает волатильность почему-то на rih2 на алоре подается. Транзак опять что-то сделал и опять не до конца smile
Автор: 51ru

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 12:12 AM

for 777:

а в целом интересно все вышло: я искал кубик с заявками, вы сделали его для Саро, Саро дал его мне, я потыкал его и загрустил что без записи\чтения пользы от него 0, потом вы дали явки парней кто мог бы довести дело до конца - 3 недели терпения и jhgjrht родил эту красивую штуку. думаю, кто понимает о чем речь, оценят разработку, так как она реально открывает новые возможности для работы... я не эксперт, но на мой взгляд за 11й год это самая интересная штука, появившаяся в тс-лабе в части работы скриптов (если ошибаюсь - поправьте)
Автор: 777

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 01:32 AM

Не, не так. Я делал не Саро, а для себя, но это другая история.

А jhgjrht просто умница, взял и сделал.
Кстати подумал, это ж можно и стакан целиком таким образом запихнуть в историю лабы ... smile хм-м-м. .. Вряд ли получится торговать в стакане. Но наверняка что-нибудь интересное можно увидеть, чего раньше не замечал...
Автор: vito333

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 04:37 AM

зачётно
Автор: captian

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 04:05 PM

что это за красота неземная?
Автор: captian

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 04:17 PM

Originally Posted By: 777
Походу есть над чем работать, надо историю тока подкопить.

отличная идея. А если совместить с объёмами покупок/продаж??? красивее не получится? если вам не сложно проверить, буду благодарен, а то я это дольше на порядок буду делать
Автор: captian

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 04:23 PM

Originally Posted By: 777
ну что сказать, в принципе что-то есть, но всё же надо самому варганить ...

Да я справлюсь и сам конечно))) просто интересно было быстрый рез посмотреть))
ну в смысле работает это или нет
Автор: Gji

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 04:28 PM

Ну все, выходные у роботописателей отменяются. А с понедельника кукл неожиданно перестанет зарабатывать. smile
Автор: 777

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 04:54 PM

Где-то ошибка засела, постоянно индекс выскакивает.
Автор: captian

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 04:57 PM

Originally Posted By: 777
Где-то ошибка засела, постоянно индекс выскакивает.

если речь про объёмы продавцов покупателей, то баг в программе имеется, обещали поправить. Но он не всегда проявляется.
Если ошибка не в этом, то извиняюсь за неуместный коментарий.
Автор: 777

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 05:11 PM

да, походу в этом. Но есть странность, на секундах не проявляется. ошибка только при тиковом периоде.
Автор: captian

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 05:16 PM

Originally Posted By: 777
да, походу в этом. Но есть странность, на секундах не проявляется. ошибка только при тиковом периоде.

Да, тема очень подробно разобрана и обсуждена вчера с НектоДроном и будет поправлена в посл. сборках. но не очень сразу. если актуально, то когда поправят баг, могу и в эту ветку сбросить или в ветку самого индикатора Ti_ru
Автор: 777

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 07:24 PM

jhgjrht\\
Перерисовывает показания за последний закрытый бар.
Если скрипт этот запустить, хорошо видно, сначала бар отрисовывается, а потом сделка на открытии этого бара появляется.
Посмотрите?


P.S. Сначало подумал на синхронизацию времени, проверил, всё пучком. "Секунда в секунду".
Автор: 777

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 07:33 PM

Да же не за последний, а по-моему третье показание меняет. То бишь на баре [i-2]
Можно увидеть да же без моего скрипта, достаточно приглядеться к самому индикатору.
Снял маленькое видео, там видно хорошо, появление сделок на баре [i-2]
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 11:33 PM

Originally Posted By: 777
Да же не за последний, а по-моему третье показание меняет. То бишь на баре [i-2]
Можно увидеть да же без моего скрипта, достаточно приглядеться к самому индикатору.
Снял маленькое видео, там видно хорошо, появление сделок на баре [i-2]

За видео спасибо! Отлично все видно.
Таймфрейм, видимо, - несколько тиков? В принципе, на таком коротком интервале, наверное, будет более правильно использовать не подчитываемые из файла значения, а непосредственно из FinInfo. Но надо будет разобраться, где тут задержка.
Кажется я знаю в чем проблема. Время начала свечи (любой) в ТСЛабе округляется до секунд, а значения из FinInfo у меня записываются с полной точностью (с миллисекундами) и ключ от ранее прочитанных данных формируется со временем свечи. Исправлю. В понедельник сам потестирую со сделками.
Автор: 777

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 13 2012 11:59 PM

Видео на 3 секундах, но на 10 секундах то ж самое, не так часто. smile На минуте то же наблюдается, но еще реже.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sat Jan 14 2012 12:12 AM

Originally Posted By: 777
Видео на 3 секундах, но на 10 секундах то ж самое, не так часто. smile На минуте то же наблюдается, но еще реже.
Понял. Поизучаю проблему.
Автор: Lenar

Re: Блоки сохранения / чтения данных FinInfo - Sat Jan 14 2012 12:28 AM

Очень интересная работа. Спасибо.
Автор: 51ru

Re: Блоки сохранения / чтения данных FinInfo - Mon Jan 16 2012 02:46 PM

всем добрый день.

прошу подсказать - можно ли скрипт 2го типа (который работает с данными, читаемыми с диска, использовать так сказать, "без рынка"? т.е.- скрипт "писалка" в течение торгового дня пишет историю, а затем в какое-то произвольное время (даже наверное не подключаясь к серверу провайдера данных) мы запускаем скипт "читалку" и смотрим, как прошел день? это касается конечно только разного рода тестов на основе уже отторгованных данных.
Автор: 51ru

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 12:57 AM

вышестоящий вопрос про работу "читалки" снимается - конечно все работает.

плз, если кому не лень, дайте посмотреть реальный дневной файлик фининфо по РИ, а то у меня файл с демо сервера и там смотреть особо не на что
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 01:41 PM

Исправил ошибку, добавил еще пару блоков.
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 02:46 PM

Добрый день возможно ли добавить новый блок ИстЗаявДельта и ИстСумДельта по стакану те не все заявки вообще а только на 20-60 строк по аскам и бидам. Так сказать 2 дельты на ближайшие заявки.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 05:26 PM

Originally Posted By: Lucky7
Добрый день возможно ли добавить новый блок ИстЗаявДельта и ИстСумДельта по стакану те не все заявки вообще а только на 20-60 строк по аскам и бидам. Так сказать 2 дельты на ближайшие заявки.
Можно, но это потребует изменения формата файла хранилища. Чтобы не переделывать его потом еще раз, подумайте, все ли, что нужно сохраняем. Принимаю предложения, что нужно сохранять в файле истории (данные, подобные Fininfo), и может быть, что-то оттуда исключить (Bid\Ask, например, нужны кому-нибудь?)
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 05:52 PM

1Бид аск переделать как у 777
Аск_стакан
Бид_стакан
Аск_стакан_объем
Бид_стакан_объем
Блоки имеют Level - это номера строк в стакане. И отдают цены и объемы в этих строках. Обычно от 1 до 60(для некоторых поровайдеров)

2Дельта обьема в стакане с параметром строк в стакане 10 20 30 40 50 60 что бы можно было менять
Дельта заявок в стакане с параметром строк в стакане 10 20 30 40 50 60 что бы можно было менять

3 Блок самого большого обьема в стакане по аскам выдающий цену самого большого обьема
Блок самого большого обьема в стакане по бидам выдающий цену самого большого обьема
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 06:09 PM

Originally Posted By: Lucky7
1
Бид аск переделать как у 777
Аск_стакан
Бид_стакан
Аск_стакан_объем
Бид_стакан_объем
Блоки имеют Level - это номера строк в стакане. И отдают цены и объемы в этих строках. Обычно от 1 до 60(для некоторых поровайдеров)
2
Дельта обьема в стакане с параметром строк в стакане 10 20 30 40 50 60 что бы можно было менять
Дельта заявок в стакане с параметром строк в стакане 10 20 30 40 50 60 что бы можно было менять

И в чем же разница между Бид и Аск как у 777 и как в структуре Fininfo? smile
Я не планировал сохранять стакан целиком. Это в разы большая нагрузка и еще ряд других сложностей. Смысла реализовывать подобное в рамках ТСЛаб я не вижу. Если есть единичные параметры которые можно рассчитать в конкретный момент времени, то давайте, а весь стакан писать это излишество. К тому же в версии 1.2 обещали что-то сделать со стратегиями для стакана. Надо дождаться и посмотреть.
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 06:27 PM

Стакан не помешал бы. 1.2 не известно когда выйдет воообще. Хотя бы Дельту обьема в стакане с параметром строк в стакане 10 20 30 40 50 60 что бы можно было менять
Дельта заявок в стакане с параметром строк в стакане 10 20 30 40 50 60 что бы можно было менять
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 06:38 PM

Originally Posted By: Lucky7
Стакан не помешал бы. 1.2 не известно когда выйдет воообще. Хотя бы Дельту обьема в стакане с параметром строк в стакане 10 20 30 40 50 60 что бы можно было менять
Дельта заявок в стакане с параметром строк в стакане 10 20 30 40 50 60 что бы можно было менять

С задачей сохранения стакана я поэкспериментирую как-нибудь на досуге, может что и получится.
Насколько я Вас понял есть след. единичные параметры, которые можно сохранять:
* цена блока самого большого объема по аск;
* цена блока самого большого объема по бид;
* Дельта суммы объемов по 10 строк в обе стороны от спреда;
* Дельта суммы объемов по 20 строк в обе стороны от спреда;
* Дельта суммы объемов по 30 строк в обе стороны от спреда;
* Дельта суммы объемов по 40 строк в обе стороны от спреда;
* Дельта суммы объемов по 50 строк в обе стороны от спреда;
* Дельта суммы объемов по 60 строк в обе стороны от спреда;

Так? Еще что-то?
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 06:43 PM

Originally Posted By: jhgjrht
Originally Posted By: Lucky7
Стакан не помешал бы. 1.2 не известно когда выйдет воообще. Хотя бы Дельту обьема в стакане с параметром строк в стакане 10 20 30 40 50 60 что бы можно было менять
Дельта заявок в стакане с параметром строк в стакане 10 20 30 40 50 60 что бы можно было менять

С задачей сохранения стакана я поэкспериментирую как-нибудь на досуге, может что и получится.
Насколько я Вас понял есть след. единичные параметры, которые можно сохранять:
* цена блока самого большого объема по аск;
* цена блока самого большого объема по бид;
* Дельта суммы объемов по 10 строк в обе стороны от спреда;
* Дельта суммы объемов по 20 строк в обе стороны от спреда;
* Дельта суммы объемов по 30 строк в обе стороны от спреда;
* Дельта суммы объемов по 40 строк в обе стороны от спреда;
* Дельта суммы объемов по 50 строк в обе стороны от спреда;
* Дельта суммы объемов по 60 строк в обе стороны от спреда;

Так? Еще что-то?


да еще Дельта суммы ЗАЯВОК(Количество заявок) по 10 20 30 40 50 60 строк в обе стороны от спреда
желательно чтобы если возможно что бы строк в обе стороны менялись в самом блоке.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 06:48 PM

Эти:
* Объем блока самого большого объема по аск;
* Объем блока самого большого объема по бид;
Не надо?

Итого (без тех двух что перечислены выше) получается: 8 + 6 = 14 параметров.
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 06:57 PM

Originally Posted By: jhgjrht
Эти:
* Объем блока самого большого объема по аск;
* Объем блока самого большого объема по бид;
Не надо?

Итого (без тех двух что перечислены выше) получается: 8 + 6 = 14 параметров.


выше перечисленные нужны в самом стакане те 10-60 от лучшего бида аска и выше перечисленные блоки должны цену выдавать а не обьем то есть находим самый большой объем по аску или биду и выдается цена на которой самый большой объем по аску биду отдельно

да еще Дельта суммы ЗАЯВОК(Количество заявок) по 10 20 30 40 50 60 строк в обе стороны от спреда
желательно чтобы если возможно что бы строк в обе стороны менялись в самом блоке.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 07:48 PM

Суммирую.
Нужно сохранять историю след. значений из Fininfo и из стакана:
* LastUpdate - Дата и время последнего обновления информации.
* Ask - Цена спроса (так в документации)
* Bid - Цена предложения (так в документации)
* BuyCount - Количество заявок на покупку в очереди торговой системы
* BuySqty - Объем всех заявок на покупку в очереди торговой системы, выраженный в единицах ценных бумаг
* SellCount - Количество заявок на продажу в очереди торговой системы
* SellSqty - Объем всех заявок на продажу в очереди торговой системы, выраженный в единицах ценных бумаг
* TheoriticPrice - Теоретическая (Расчетная) цена опциона
* Volatility - Волатильность финансового инструмента, %
* Аск из стакана
* Бид из стакана
* Объем по аск из стакана
* Объем по бид из стакана
* цена блока самого большого объема по аск;
* цена блока самого большого объема по бид;
* Дельта суммы объемов по 10 строк в обе стороны от спреда;
* Дельта суммы объемов по 20 строк в обе стороны от спреда;
* Дельта суммы объемов по 30 строк в обе стороны от спреда;
* Дельта суммы объемов по 40 строк в обе стороны от спреда;
* Дельта суммы объемов по 50 строк в обе стороны от спреда;
* Дельта суммы объемов по 60 строк в обе стороны от спреда;
* Дельта суммы числа заявок по 10 строк в обе стороны от спреда;
* Дельта суммы числа заявок по 20 строк в обе стороны от спреда;
* Дельта суммы числа заявок по 30 строк в обе стороны от спреда;
* Дельта суммы числа заявок по 40 строк в обе стороны от спреда;
* Дельта суммы числа заявок по 50 строк в обе стороны от спреда;
* Дельта суммы числа заявок по 60 строк в обе стороны от спреда;

27 параметров. Записываться все эти параметры будут одним блоком. Для чтения и доступа к истории каждого параметра будет свой блок.

Еще предложения?
Может что-то исключить?
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 08:17 PM

сумма общего объема в стакане(аск+бид) 10 20 30 40 50 60 строк в обе стороны от спреда
общая сумма числа заявок в стакане(аск+бид) 10 20 30 40 50 60 строк в обе стороны от спреда
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 08:26 PM

Originally Posted By: Lucky7
сумма общего объема в стакане(аск+бид) 10 20 30 40 50 60
общая сумма числа заявок в стакане(аск+бид) 10 20 30 40 50 60
Т.е. еще 12 параметров. Всего 39 значений. Не многовато? Чем больше значений тем больше размер файла и меньше свободной оперативной памяти.
Стакан это, например, 60*2*2=240 значений.
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 08:38 PM

Originally Posted By: jhgjrht
Originally Posted By: Lucky7
сумма общего объема в стакане(аск+бид) 10 20 30 40 50 60
общая сумма числа заявок в стакане(аск+бид) 10 20 30 40 50 60
Т.е. еще 12 параметров. Всего 39 значений. Не многовато? Чем больше значений тем больше размер файла и меньше свободной оперативной памяти.
Стакан это, например, 60*2*2=240 значений.


10 30 60 достаточно будет
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 08:54 PM

Стоп. А как число заявок то определить? Ведь в стакане на каждой строке сумма заявок. Или под объемом понимается - цена*количество?
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 17 2012 09:09 PM

Originally Posted By: jhgjrht
Стоп. А как число заявок то определить? Ведь в стакане на каждой строке сумма заявок. Или под объемом понимается - цена*количество?


в строчке стакана 2 значения цена и обьем (кол-во контрактов)
Объясните по конкретней пожалуйста

насчет кол-во строк в стакане в реалтайме транслируется 10 20 40 строк по аскам и бидам на разных бумагах и у разных провайдеров
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 18 2012 08:04 PM

Originally Posted By: Lucky7
да еще Дельта суммы ЗАЯВОК(Количество заявок) по 10 20 30 40 50 60 строк в обе стороны от спреда
желательно чтобы если возможно что бы строк в обе стороны менялись в самом блоке.

Originally Posted By: Lucky7
сумма общего объема в стакане(аск+бид) 10 20 30 40 50 60 строк в обе стороны от спреда
общая сумма числа заявок в стакане(аск+бид) 10 20 30 40 50 60 строк в обе стороны от спреда

Originally Posted By: Lucky7
Originally Posted By: jhgjrht
Стоп. А как число заявок то определить? Ведь в стакане на каждой строке сумма заявок. Или под объемом понимается - цена*количество?


в строчке стакана 2 значения цена и обьем (кол-во контрактов)
Объясните по конкретней пожалуйста

насчет кол-во строк в стакане в реалтайме транслируется 10 20 40 строк по аскам и бидам на разных бумагах и у разных провайдеров
Количество заявок из стакана не получить. Из стакана можно только объемы и цену.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 18 2012 09:36 PM

Суммирую. Нужно сохранять в файл историю след. значений из Fininfo и из стакана:
1 LastUpdate - Дата и время последнего обновления информации.
2 Ask - Цена спроса (так в документации)
3 Bid - Цена предложения (так в документации)
4 BuyCount - Количество заявок на покупку в очереди торговой системы
5 BuySqty - Объем всех заявок на покупку в очереди торговой системы, выраженный в единицах ценных бумаг
6 SellCount - Количество заявок на продажу в очереди торговой системы
7 SellSqty - Объем всех заявок на продажу в очереди торговой системы, выраженный в единицах ценных бумаг
8 TheoriticPrice - Теоретическая (Расчетная) цена опциона
9 Volatility - Волатильность финансового инструмента, %
10 Аск из стакана
11 Бид из стакана
12 Объем по аск из стакана
13 Объем по бид из стакана
14 цена блока самого большого объема по аск;
15 цена блока самого большого объема по бид;
16 Дельта суммы объемов по 10 строк в обе стороны от спреда;
17 Дельта суммы объемов по 30 строк в обе стороны от спреда;
18 Дельта суммы объемов по 60 строк в обе стороны от спреда;
19 сумма объемов на покупку и на продажу +-10 строк от спреда;
20 сумма объемов на покупку и на продажу +-30 строк от спреда;
21 сумма объемов на покупку и на продажу +-60 строк от спреда;

21 параметр. Это 42 Мб в день при записи 5 раз секунду на протяжении 14 часов.
Записываться все эти параметры будут одним блоком. Для чтения и доступа к истории каждого параметра будет свой блок.
Блоки для чтения будут предназначены только для тестирования на истории. Для торговли по этим блокам скорости работы ТСЛаб скорее всего не хватит.

Еще предложения?
Может что-то исключить?
Бид\Аск из Fininfo - это скорее всего тоже самое, что и лучший Бид\Аск в стакане. Оставить одну пару Бид\Аск?

В Финаме стакан высотой 20+20 строк.
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 18 2012 10:35 PM

Originally Posted By: jhgjrht
Суммирую. Нужно сохранять в файл историю след. значений из Fininfo и из стакана:
1 LastUpdate - Дата и время последнего обновления информации.
2 Ask - Цена спроса (так в документации)
3 Bid - Цена предложения (так в документации)
4 BuyCount - Количество заявок на покупку в очереди торговой системы
5 BuySqty - Объем всех заявок на покупку в очереди торговой системы, выраженный в единицах ценных бумаг
6 SellCount - Количество заявок на продажу в очереди торговой системы
7 SellSqty - Объем всех заявок на продажу в очереди торговой системы, выраженный в единицах ценных бумаг
8 TheoriticPrice - Теоретическая (Расчетная) цена опциона
9 Volatility - Волатильность финансового инструмента, %
10 Аск из стакана
11 Бид из стакана
12 Объем по аск из стакана
13 Объем по бид из стакана
14 цена блока самого большого объема по аск;
15 цена блока самого большого объема по бид;
16 Дельта суммы объемов по 10 строк в обе стороны от спреда;
17 Дельта суммы объемов по 30 строк в обе стороны от спреда;
18 Дельта суммы объемов по 60 строк в обе стороны от спреда;
19 сумма объемов на покупку и на продажу +-10 строк от спреда;
20 сумма объемов на покупку и на продажу +-30 строк от спреда;
21 сумма объемов на покупку и на продажу +-60 строк от спреда;

21 параметр. Это 42 Мб в день при записи 5 раз секунду на протяжении 14 часов.
Записываться все эти параметры будут одним блоком. Для чтения и доступа к истории каждого параметра будет свой блок.
Блоки для чтения будут предназначены только для тестирования на истории. Для торговли по этим блокам скорости работы ТСЛаб скорее всего не хватит.

Еще предложения?
Может что-то исключить?
Бид\Аск из Fininfo - это скорее всего тоже самое, что и лучший Бид\Аск в стакане. Оставить одну пару Бид\Аск?

В Финаме стакан высотой 20+20 строк.


да можно одну пару оставить
у некоторый провайдеров 500 строк в стакане!
Оставить можно колво строчек 20+20 и 30+30 но чем больше колво строчек тем точнее будет в ход в позицию.
в финаме на фьючерсы 20+20 а на акции 10+10
Автор: profit

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 18 2012 10:51 PM

На метасток похожа фича эта.
Автор: profit

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 18 2012 11:27 PM

На 5 сек,интервал перерисовывает моменты дельт.жаль.а так почти грааль. smile
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 18 2012 11:47 PM

Originally Posted By: profit
На 5 сек,интервал перерисовывает моменты дельт.жаль.а так почти грааль. smile
Проверяли на версии блоков из этого сообщения?
Автор: profit

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 19 2012 12:05 AM

Да.Новые уже блоки смотрел.Первый раз сегодня запустил и понаблюдал немного.Если у всех порядок значит провайдер как бы это сказать...
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 19 2012 12:13 AM

доброй ночи
блоки
14 цена блока самого большого объема по аск;
15 цена блока самого большого объема по бид
хотелось бы видеть(заменить на) за 20 строк стакана или просто в стакане
14 цена блока самого большого объема по аск за 20 от спреда или просто в стакане
15 цена блока самого большого объема по бид за 20 от спреда или просто в стакане

больше 20 нет смысла и меньше тоже
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 19 2012 04:47 PM

Originally Posted By: profit
Да.Новые уже блоки смотрел.Первый раз сегодня запустил и понаблюдал немного.Если у всех порядок значит провайдер как бы это сказать...
Сегодня пару раз ненадолго выпускал скрипт в реал. Скрипт на основе "ИстМомЗаявДельта". Интервал 5 секунд, пересчет - интервал. Работает как и должен. Сделки совершает, не отменяет, индикатор не изменяется. В логах все в порядке. В лабе картинка немного отличается от картинки из реала, но это различия из-за задержек исполнения заявок и фактических цен.
Скриншотов наделал, не помогают - все в порядке.
В общем, я проблемы не вижу.

Время точно синхронизированно?
Провайдер тут вряд ли виноват: либо я, либо Вы. smile

Дописал:
Скрипт с накопителем у меня работал с интервалом пересчета "Пок\Прод". По факту - это запись неск. раз в секунду.
Автор: profit

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 19 2012 07:33 PM

Сейчас посмотрел.У меня скрипт с накопителем похоже вместо интервала-сделки мониторил.А изучал я другой скрипт с интервалом.
Похоже я. smile
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 20 2012 02:44 PM

Индикатор перерисовывается. Запустил на реальном счету и вот что он стал делать. запустил на 5 секундах последний бар перерисовывается. сборка индикатора последняя.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 20 2012 05:52 PM

Originally Posted By: Lucky7
Индикатор перерисовывается. Запустил на реальном счету и вот что он стал делать. запустил на 5 секундах последний бар перерисовывается. сборка индикатора последняя.
Время на компьютере синхронизировано с серверами в интернете? Даже одной секунды расхождения может оказаться достаточно.
Еще задержка в цикле: получение-запись-чтение-использование данных Fininfo возможна из-за большой загрузки процессора (винта).
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 20 2012 05:58 PM

Да время синхронизировано. time.windows.com с этого сервера
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 20 2012 06:04 PM

Вчера мне не удавалось повторить ситуацию с перерисовкой индикаторов, хотя специально старался. Чтож, попробую еще раз.
Автор: 51ru

Re: Блоки сохранения / чтения данных FinInfo - Sun Jan 22 2012 09:57 PM

Добрый день!

Вижу что все вопросы по работе с данными из fininfo касаются интервалов внутри минуты – выше минуты эти данные из fininfo теряют свою актуальность?
Автор: 51ru

Re: Блоки сохранения / чтения данных FinInfo - Sun Jan 22 2012 09:58 PM

запись тиков и секунд = большая нагрузка на винт - SSD или скоростные флэшки никто не использует - хотелось бы узнать впечатления от работы с такими устройствами
Автор: 12345689

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 26 2012 01:46 PM

Надо создавать архив данных.Обменник.
Автор: 51ru

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 26 2012 05:52 PM

под запись истории заказал сервер с твердотельными жестяками - опробую - отпишусь
Автор: 12345689

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 27 2012 10:54 AM

Хотя бы пару тройку ликвидных фьючерсов пока накопить для исследований и то хорошо.Много места не займут.
Автор: profit

Re: Блоки сохранения / чтения данных FinInfo - Mon Jan 30 2012 11:14 PM

перерисовывает всё таки на 5 сек. ri.
Автор: Lucky7

Re: Блоки сохранения / чтения данных FinInfo - Mon Jan 30 2012 11:31 PM

Originally Posted By: profit
перерисовывает всё таки на 5 сек. ri.

Ресурсы оперативной памяти, процессора заняты либо время не синхронизировано с сервером либо что то не так сделали не по инструкции. У меня на 5 секундах четко работает а вот на 1,2,3 секундах да бывает перерисовывает но редко.smile
Автор: 51ru

Re: Блоки сохранения / чтения данных FinInfo - Tue Feb 07 2012 11:43 AM

плз, что это значит и в чем может быть причина:

реальн счет, финам, RI, записываю fininfo посекундно, читаю (в лабе - не в торговле) с обновлением в реальн времени скриптом на 20сек и вижу странную картину:

к примеру 11.18.40 - сделка открыта
через 20 сек время открытия меняется уже на 11.19.00
11.19.20 - сделка закрыта в -30
через 20 сек время закрытия меняется на 11.19.40 и итог сделки уже -60...

плз, какое время и результат являются правильными и почему они так меняются?

еще загадка - возможность двигать время терминала на 20 сек вперед - какое бы время я не выставил у себя на локальной машине - терминал тут-же плюсует у себя 20 сек... синхронизация времени локалки с инетом ничего не дает - терминал все равно в плюсе на 20сек...
Автор: ViL

Re: Блоки сохранения / чтения данных FinInfo - Tue Feb 07 2012 08:04 PM

Originally Posted By: 51ru
плз, что это значит и в чем может быть причина:

реальн счет, финам, RI, записываю fininfo посекундно, читаю (в лабе - не в торговле) с обновлением в реальн времени скриптом на 20сек и вижу странную картину:

к примеру 11.18.40 - сделка открыта
через 20 сек время открытия меняется уже на 11.19.00
11.19.20 - сделка закрыта в -30
через 20 сек время закрытия меняется на 11.19.40 и итог сделки уже -60...

плз, какое время и результат являются правильными и почему они так меняются?

еще загадка - возможность двигать время терминала на 20 сек вперед - какое бы время я не выставил у себя на локальной машине - терминал тут-же плюсует у себя 20 сек... синхронизация времени локалки с инетом ничего не дает - терминал все равно в плюсе на 20сек...


Пожалуйста, не нужно выходить из темы, если вопрос касается только этой темы.
Автор: 51ru

Re: Блоки сохранения / чтения данных FinInfo - Tue Feb 07 2012 11:24 PM

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

сейчас еще раз сверил время в терминале и на локалке - без работающего в лабе скрипта терминал вперед локалки уже не на 20, а на 3сек... но по прежнему не дает эти 3 сек скорректировать - я ставлю на локалке время терминала и он тут же меняет свое время в + на 3 сек...

но больше интересно конечно, почему меняется время сделок...
Автор: ViL

Re: Блоки сохранения / чтения данных FinInfo - Wed Feb 08 2012 12:15 AM

Это вопрос к разработчику индикатора.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Wed Feb 08 2012 12:29 AM

Индикатор тут ни при чем.
Синхронизируйте время на компьютере с серверами времени в интернете и перезапустите терминал (ТСЛаб).
Автор: 51ru

Re: Блоки сохранения / чтения данных FinInfo - Wed Feb 08 2012 01:13 PM

конечно, время синхронизировано. если сделать синхронизацию принудительно, разница с терминалом становится в +- 1с. наверное глюк моей локалки...

но как быть со сделками - почему же они перерисовываются в + на на время равное тф скрипта? или скрипт так и должен работать в режиме лаборатории?

это точно не вопрос индикатора, так как чтобы определить на что грешить (на терминал или на индикатор) я сделал в редакторе скрипт без fininfo - газпром, 10 сек, покупаем, если закрытие текущего бара выше предыдущего, закрываемся когда закрытие [i]<[i-1] - никаких индикаторов, только цена.

вот что получается:
время терминала:12.51.30
в это же время скрипт открывает сделку в 12.51.20
через 10 сек
терминал:12.51.40
скрипт переписывает открытие на 12.51.30 и меняет цену открытия..

с закрытием такая же картина:
закрытие, через 10 сек время и цена закрытия переписываются в + на 10 сек

скрипт не использует fininfo или какие-то не штатные блоки - значит вопрос к терминалу. версия стоит 1.1.23.0 - скачана с сайта финама. Vil, ответьте, плз. хочу поставить несколько скриптов (с fininfo и без)на реал, но хочется понимать, правильно ли идут расчеты в лабе
Автор: Nektodron

Re: Блоки сохранения / чтения данных FinInfo - Wed Feb 08 2012 03:52 PM

синхронизацию нельзя делать при активном соединении, это приводит к тому, что серверное время начинает определятся не верно.
Автор: 51ru

Re: Блоки сохранения / чтения данных FinInfo - Thu Feb 09 2012 06:45 PM

насчет синхронизации понятно! плз - поясните - может быть на самом деле все нормально, а я просто туплю, так как не понимаю логику работы лабы?

лаба пишет что сделка открыта, когда появился сигнал входа, а затем, на следующем такте работы скрипта, открывает по этому сигналу сделку и меняет время появления сигнала на время следующей свечи, на которой был вход - как-то так все работает?
Автор: icc

Re: Блоки сохранения / чтения данных FinInfo - Fri Apr 06 2012 04:10 PM

Добрый день.
Подскажите пожалуйста, по какой причине могут не работать данные индикаторы?
Синхронизировал время, запустил врайтерРи в реал, он сформировал файл и чегото туда записывает 1 раз в 10 секунд(файл в весе набирает), далее открыл скрипт ридерРи в лаборатории и все показатели всех кубиков равны нулю, независимо от тамфрейма, ошибок при этом ни каких не выдает...
Почему это может быть?
Автор: Hukler

Re: Блоки сохранения / чтения данных FinInfo - Thu Jul 12 2012 05:23 PM

Добрый день!

Используя скрипт FinInfoWriter я записал данные фьючерса газпрома. Полученный файл перевел в текстовые данные, однако при запуске скрипта FinInfoReader график не отображается. С чем это может быть связанно? Все настройки в свойствах я, вроде, проверил, но график так и не рисуется((
Автор: Hukler

Re: Блоки сохранения / чтения данных FinInfo - Thu Jul 12 2012 09:03 PM

Ответье кто-нибудь плиз. понимаю. что делаю какую-то глупость, но правда нужен простой совет

скрины шот выглядит так
Никакой ошибки скрипт не выдает


Спасибо, разобрался!
Автор: IRM023

Re: Блоки сохранения / чтения данных FinInfo - Tue Sep 18 2012 05:33 PM

Originally Posted By: jhgjrht
Суммирую. Нужно сохранять в файл историю след. значений из Fininfo и из стакана:
1 LastUpdate - Дата и время последнего обновления информации.
2 Ask - Цена спроса (так в документации)
3 Bid - Цена предложения (так в документации)
4 BuyCount - Количество заявок на покупку в очереди торговой системы
5 BuySqty - Объем всех заявок на покупку в очереди торговой системы, выраженный в единицах ценных бумаг
6 SellCount - Количество заявок на продажу в очереди торговой системы
7 SellSqty - Объем всех заявок на продажу в очереди торговой системы, выраженный в единицах ценных бумаг
8 TheoriticPrice - Теоретическая (Расчетная) цена опциона
9 Volatility - Волатильность финансового инструмента, %
10 Аск из стакана
11 Бид из стакана
12 Объем по аск из стакана
13 Объем по бид из стакана
14 цена блока самого большого объема по аск;
15 цена блока самого большого объема по бид;
16 Дельта суммы объемов по 10 строк в обе стороны от спреда;
17 Дельта суммы объемов по 30 строк в обе стороны от спреда;
18 Дельта суммы объемов по 60 строк в обе стороны от спреда;
19 сумма объемов на покупку и на продажу +-10 строк от спреда;
20 сумма объемов на покупку и на продажу +-30 строк от спреда;
21 сумма объемов на покупку и на продажу +-60 строк от спреда;

21 параметр. Это 42 Мб в день при записи 5 раз секунду на протяжении 14 часов.
Записываться все эти параметры будут одним блоком. Для чтения и доступа к истории каждого параметра будет свой блок.
Блоки для чтения будут предназначены только для тестирования на истории. Для торговли по этим блокам скорости работы ТСЛаб скорее всего не хватит.

Еще предложения?
Может что-то исключить?
Бид\Аск из Fininfo - это скорее всего тоже самое, что и лучший Бид\Аск в стакане. Оставить одну пару Бид\Аск?

В Финаме стакан высотой 20+20 строк.


Все эти чудесные блоки с задаваемыми параметрами не готовы еще или вы бросили эту затею???
Автор: IRM023

Re: Блоки сохранения / чтения данных FinInfo - Tue Sep 18 2012 06:02 PM

Надеюсь ответ будет!
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Wed Sep 19 2012 02:19 AM

Originally Posted By: IRM023
Все эти чудесные блоки с задаваемыми параметрами не готовы еще или вы бросили эту затею???

Не, не готовы. Времени нет, а тема мне не интересна.
Слишком уж подвержены манипуляциям эти данные.
Автор: profit

Re: Блоки сохранения / чтения данных FinInfo - Wed Sep 19 2012 02:11 PM

Хорошая тема.И блоки получились полезные.
Автор: IRM023

Re: Блоки сохранения / чтения данных FinInfo - Mon Oct 01 2012 06:39 PM

Originally Posted By: jhgjrht

Не, не готовы. Времени нет, а тема мне не интересна.
Слишком уж подвержены манипуляциям эти данные.



Я то как раз думал, что данные блоки исключать возможность кукла манипулировать:

16 Дельта суммы объемов по 10 строк в обе стороны от спреда;
17 Дельта суммы объемов по 30 строк в обе стороны от спреда;
18 Дельта суммы объемов по 60 строк в обе стороны от спреда;

Не сможет он так близко к спреду шустрить, как например, 10 строк от спреда???

Поправьте если я не прав???
Автор: Alexeypas

Re: Блоки сохранения / чтения данных FinInfo - Fri Oct 05 2012 03:20 AM

Originally Posted By: jhgjrht
Originally Posted By: IRM023
Все эти чудесные блоки с задаваемыми параметрами не готовы еще или вы бросили эту затею???

Не, не готовы. Времени нет, а тема мне не интересна.
Слишком уж подвержены манипуляциям эти данные.


а мне думается что любая инфа о рынке полезна, пусть манипуляции , но ведь это информация. очень хотелось бы накапливать полный стакан для анализа!
может кто другой сделает?
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Sun Nov 25 2012 04:17 PM

В компоненте ошибки по работе с временными значениями.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Mon Nov 26 2012 06:42 PM

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

Re: Блоки сохранения / чтения данных FinInfo - Wed Nov 28 2012 04:55 PM

Ошибка была в конвертации времени. В моем часовом поясе данные предоставлялись мне не по москве а по моему поясу, отсюда конвертация биржевого тайма в UTC происходила криво, потому как не предусматривала смещение часового пояса. Ну и конвертер работал так же. Сейчас время всегда в МСК пояс приводится. То есть к биржевому времени.

Так же выделил общую часть в отдельную либу Common. Особо не ковырялся правда. Убрал дублирование кода в двух частях проекта, а вместе с этим возможные ошибки при добавлении данных. Common либа нужна и для конвертера и для Handler либы. Ее надо всегда класть. Handler - тут кубики. Converter это конвертер файлов.
Добавил Открытый интерес к тому что было.

Если есть ошибки готов исправить. Но вроде бы работает без ошибок.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Thu Nov 29 2012 01:09 AM

Вау, здОрово! Молодец! smile
А я так и не собрался посмотреть как ТСЛаб работает в другой временной зоне. Надеялся, может кто-то другой это подскажет. Мне без надобности, да и боевой комп перенастраивать лишний раз не хотелось. Индикаторы делал исходя из допущения, что любое время в ТСЛабе - локальное, похоже это не так.
Я правильно понял, что ТСЛаб всегда оперирует Московским временем, вне зависимости от того какой часовой пояс указан на компьютере? Т.е., например, на графике начало сессии показывается в 10:00 вне зависимости от текущего часового пояса?

Кстати, будет чуть лучше, на мой взгляд, если хранить в FinInfoBlock.LastUpdate время не в UTC, как у Вас сейчас, а биржевое, точнее то, которым ТСЛаб оперирует, а в/из UTC переводить при записи/чтении файла.

Я специально в один файл все классы запихивал и конвертер сделал обособленным, чтоб нормальным пользователям было проще перекомпилировать компоненты при необходимости.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Thu Nov 29 2012 09:13 AM

Quote:
Я правильно понял, что ТСЛаб всегда оперирует Московским временем, вне зависимости от того какой часовой пояс указан на компьютере? Т.е., например, на графике начало сессии показывается в 10:00 вне зависимости от текущего часового пояса?

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

Quote:
Кстати, будет чуть лучше, на мой взгляд, если хранить в FinInfoBlock.LastUpdate время не в UTC, как у Вас сейчас, а биржевое, точнее то, которым ТСЛаб оперирует, а в/из UTC переводить при записи/чтении файла.

Изначально было utc я не стал ничего сильно менять в этом плане. Универсальный формат не помешает. Можно вообще отказаться от использования универсального формата все писать и читать в том времени которое приходит с биржи. Это да.

Quote:
Я специально в один файл все классы запихивал и конвертер сделал обособленным, чтоб нормальным пользователям было проще перекомпилировать компоненты при необходимости.

smile. Я преследовал другую цель, избавиться от дублирования. Если человек смог разобраться в проекте, пересобрать его сможет. В общем это не критично.
Автор: Nigel22

Re: Блоки сохранения / чтения данных FinInfo - Thu Feb 21 2013 11:44 PM

ra81, а можно вас попросить исправить баг с перерисовкой этих индикаторов (последние несколько значений перерисовывает)?Баг присутствует как в вашей сборке, так и в сборке автора этих индикаторов. Вещь нужная, а народ ее не пользует в связи с перерисовкой, как мне кажется. Сделки разнятся в реале и лабе - при том не всегда в худшую сторону, но все равно не годиться так торговать. Если бы вы хотя бы глянули в чем там дело, почему перерисовывает,был бы очень благодарен.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Fri Feb 22 2013 08:44 AM

Originally Posted By: Nigel22
ra81, а можно вас попросить исправить баг с перерисовкой этих индикаторов (последние несколько значений перерисовывает)?Баг присутствует как в вашей сборке, так и в сборке автора этих индикаторов. Вещь нужная, а народ ее не пользует в связи с перерисовкой, как мне кажется. Сделки разнятся в реале и лабе - при том не всегда в худшую сторону, но все равно не годиться так торговать. Если бы вы хотя бы глянули в чем там дело, почему перерисовывает,был бы очень благодарен.

что за перерисовка? Поясните собственно. Юзать сей кубик имеет смысл в очень редких случаях когда ваша стратегия со стаканом работает и нужно тестировать. Но тест стакана на истории это полная фигня мне кажется.
Автор: Nigel22

Re: Блоки сохранения / чтения данных FinInfo - Fri Feb 22 2013 10:27 AM

В этой теме выше эта проблема уже обсуждалась. Последние несколько значений индикатора меняются. Т е с появлением нового бара меняется не только последнее значение индикатора, но и i-1, i-2, i-3. Просто понаблюдайте за любым индикатором из сборки - вы увидите это невооруженным глазом.
Индикаторы эти можно использовать по-разному - со стаканом и без. Только в том виде в котором они сейчас (с багом) использовать их в реале можно только на свой страх и риск. Сделки в реале, как я уже писал выше, отличаются от лабораторных.
Автор: BlackMagic

Re: Блоки сохранения / чтения данных FinInfo - Wed Mar 27 2013 07:43 PM

Originally Posted By: ra81
Originally Posted By: Nigel22
ra81, а можно вас попросить исправить баг с перерисовкой этих индикаторов (последние несколько значений перерисовывает)?Баг присутствует как в вашей сборке, так и в сборке автора этих индикаторов. Вещь нужная, а народ ее не пользует в связи с перерисовкой, как мне кажется. Сделки разнятся в реале и лабе - при том не всегда в худшую сторону, но все равно не годиться так торговать. Если бы вы хотя бы глянули в чем там дело, почему перерисовывает,был бы очень благодарен.

что за перерисовка? Поясните собственно. Юзать сей кубик имеет смысл в очень редких случаях когда ваша стратегия со стаканом работает и нужно тестировать. Но тест стакана на истории это полная фигня мне кажется.


Для теста стратегии по стакану есть S# гидра и это не фигня на сколько я знаю))). А там на сколько фантазии хватит например обьединить заявки с крупными объемами в кластеры и фронтраннинг поехал от кластера до кластера а за кластером на котором зашел в позицию стоп поставить а если кластер исчезнет т.е обьем кластера станет меньше "значения" закрыться по рынку или передвинуть заявки на закрытие профит и лосс к ближней цене и перевернутся в нужном направлении ))) К таким действиям лаба в котором она сейчас состоянии она не готова может только ждать чуда)))

Originally Posted By: Nigel22
В этой теме выше эта проблема уже обсуждалась. Последние несколько значений индикатора меняются. Т е с появлением нового бара меняется не только последнее значение индикатора, но и i-1, i-2, i-3. Просто понаблюдайте за любым индикатором из сборки - вы увидите это невооруженным глазом.
Индикаторы эти можно использовать по-разному - со стаканом и без. Только в том виде в котором они сейчас (с багом) использовать их в реале можно только на свой страх и риск. Сделки в реале, как я уже писал выше, отличаются от лабораторных.


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

Re: Блоки сохранения / чтения данных FinInfo - Wed Apr 03 2013 07:30 PM

S# это может и хорошо, но для программистов.
Жду в ТСЛаб тип графиков без привязки ко времени.
Автор: BlackMagic

Re: Блоки сохранения / чтения данных FinInfo - Thu Apr 04 2013 12:35 AM

Originally Posted By: Nigel22
S# это может и хорошо, но для программистов.

Смотря какие вещи интерисуют. Мне в тех поддержке предложили поменять логику исполнения заявок самому т.е нанять програмиста при таком раскладе я решил сразу этого бота в лабе не делать и все.))) Было еще несколько проблем с исполнением заявок и все логи не стал отправлять так как по ним даже я могу понять идею а реализовать любую идею не сложно вопрос времени.
Автор: Nigel22

Re: Блоки сохранения / чтения данных FinInfo - Thu Apr 04 2013 01:05 AM

Нет, тут дело не в этом. Я очень хорошо разбираюсь в визуальном редакторе ТСЛаба и могу сделать все что только возможно в нем сделать.
Если у вас есть какие-то трудности, пишите, помогу чем смогу, но это уже завтра.
Автор: BlackMagic

Re: Блоки сохранения / чтения данных FinInfo - Thu Apr 04 2013 01:15 AM

Originally Posted By: Nigel22
Нет, тут дело не в этом. Я очень хорошо разбираюсь в визуальном редакторе ТСЛаба и могу сделать все что только возможно в нем сделать.
Если у вас есть какие-то трудности, пишите, помогу чем смогу, но это уже завтра.

Дело не в редакторе а в выставлении и исполнении заявок.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Wed Jun 19 2013 12:08 PM

На текущий момент данные кубики FinInfo не работают в последних сборках. Изменены свойства классов.
Автор: Prival

Re: Блоки сохранения / чтения данных FinInfo - Tue Jul 02 2013 02:23 PM

Originally Posted By: ra81
На текущий момент данные кубики FinInfo не работают в последних сборках. Изменены свойства классов.

Quote:

14:20:51.88 137 Элемент 'FininfoWrit' содержит ошибку: Не найден обработчик класса Indicators.TSLab.Blocks.FininfoWriter, Indicators.TSLab, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
Возможно dll с обработчиком отсуствует, либо не смогла загрузится.


У всех так ?
Автор: Nigel22

Re: Блоки сохранения / чтения данных FinInfo - Wed Jul 24 2013 12:25 AM

Originally Posted By: ra81
На текущий момент данные кубики FinInfo не работают в последних сборках. Изменены свойства классов.

Начиная с какой сборки пользователи этих индикаторов смогут нормально обновиться?
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Wed Jul 24 2013 08:09 AM

Originally Posted By: Nigel22
Originally Posted By: ra81
На текущий момент данные кубики FinInfo не работают в последних сборках. Изменены свойства классов.

Начиная с какой сборки пользователи этих индикаторов смогут нормально обновиться?

На текущий момент все новые сборки и будущие не будут работать с этим индикатором. Там надо поправить кое что. Дойдут руки поправлю.
Автор: Nigel22

Re: Блоки сохранения / чтения данных FinInfo - Wed Jul 24 2013 09:17 AM

Поправьте пожалуйста, и отпишитесь в этой ветке. А то даже до 1.2.8.0 обновиться не могу, хотя в ней исправлена ошибка, которая периодически возникала и которую мы выловили совместно с техподдержкой. Заранее спасибо.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Wed Jul 24 2013 11:43 AM

Originally Posted By: Nigel22
Поправьте пожалуйста, и отпишитесь в этой ветке. А то даже до 1.2.8.0 обновиться не могу, хотя в ней исправлена ошибка, которая периодически возникала и которую мы выловили совместно с техподдержкой. Заранее спасибо.

Дело не в ошибке, дело в том что изменились классы. Поэтому и не работает.
Автор: Nigel22

Re: Блоки сохранения / чтения данных FinInfo - Wed Jul 24 2013 12:30 PM

Ошибка не имеет никакого отношения к кубикам, я говорю о том что обновить версию программы не могу - "слетят" кубики, а обновиться надо, так как всякие ошибки в новых версиях исправляют, в том числе исправили ту которую я выловил.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Fri Aug 02 2013 08:55 AM

Перебрал код. Должно работать на последнем релизе.
Добавлены AskVolume и BidVolume

Автор: Nigel22

Re: Блоки сохранения / чтения данных FinInfo - Fri Aug 02 2013 11:35 AM

В файле src блоки AskVolume и BidVolume есть, а в dll (которые в бин файле) нет.
В 1.2.8.0 выдает ошибку "метод не найден..."

Как мне кажется dll Вы выложили старый, не обновленный.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Fri Aug 02 2013 11:47 AM

да да. Как то вышло неудачно. Перезалил в предыдущий пост бинарники.
Автор: Nigel22

Re: Блоки сохранения / чтения данных FinInfo - Fri Aug 02 2013 01:48 PM

Спасибо, работает) А нельзя ли сделать еще AskVolume суммарно 20 строк стакана, ну и BidVolume тоже, соответственно?
Автор: Kermit

Re: Блоки сохранения / чтения данных FinInfo - Fri Sep 20 2013 11:01 AM

Что-то не могу разобраться. Эти индикаторы могут транслировать бид/аск из стакана реалтайм?
Данные из блоков не соответствуют стакану.
Сделал снимок для иллюстрации.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Fri Sep 20 2013 11:26 AM

Originally Posted By: Kermit
Что-то не могу разобраться. Эти индикаторы могут транслировать бид/аск из стакана реалтайм?
Данные из блоков не соответствуют стакану.
Сделал снимок для иллюстрации.

блоки сохраняют информацию с интервалом вашего пересчета! если это раз в 5 минут, то увы это будет слишком редко smile Пробуйте ставить пересчет по пок/прод, тогда будет более менее похоже.
Автор: Kermit

Re: Блоки сохранения / чтения данных FinInfo - Fri Sep 20 2013 01:32 PM

Благодарю за совет!
Поставил на пишущем скрипте интервал - пок/прод.
На читающем интервал пересчета - минута, первый инструмент ликвидный, т.е бары формируются гарантированно. На втором стоят блоки чтения бид и аск. При пересчете скрипта значения бид/аск иногда не обновляются, иногда обновляются частично. Т.е. к примеру, обновляется только аск. И даже если обновляется, то значения могут не соответствовать стакану.
По моему какая-то беда именно с чтением.
Автор: Kermit

Re: Блоки сохранения / чтения данных FinInfo - Fri Sep 20 2013 02:09 PM

Ask\Bid в этом индикаторе это точно текущее значение из стакана или что-то другое?
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Fri Sep 20 2013 03:44 PM

Originally Posted By: Kermit
Ask\Bid в этом индикаторе это точно текущее значение из стакана или что-то другое?

пишется в файл именно то что в стакане, а выводится на график, то что считалось из файла. Опять же с выравниванием по свечкам. Обычно берется то что было на конец свечи.
Автор: Kermit

Re: Блоки сохранения / чтения данных FinInfo - Sat Sep 21 2013 02:16 PM

А если сделок не было? Т.е. свеча не сформировалась?
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Sat Sep 21 2013 02:22 PM

Originally Posted By: Kermit
А если сделок не было? Т.е. свеча не сформировалась?

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

Re: Блоки сохранения / чтения данных FinInfo - Wed Dec 11 2013 01:09 PM

что-то перерисовывает i-1 ... кто-нибудь пользуется? у вас перерисовывает?
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Wed Dec 11 2013 01:35 PM

устарело и не поддерживается. по крайней мере мной smile
Автор: ZooR

Re: Блоки сохранения / чтения данных FinInfo - Wed Dec 11 2013 01:46 PM

smile а можете поправить, грааль же smile
Автор: ZooR

Re: Блоки сохранения / чтения данных FinInfo - Wed Dec 11 2013 01:52 PM

платно там, если время есть, озвучте условия, может договоримся )) 32 бит smile
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Wed Dec 11 2013 03:12 PM

Originally Posted By: ZooR
платно там, если время есть, озвучте условия, может договоримся )) 32 бит smile

Если не устраивает история всего стакана, то можно и допилить. Только зачем? Получать данные по полной очереди торговой системы? Все остальное из стакана и из тикового кэша извлекается.
Автор: ZooR

Re: Блоки сохранения / чтения данных FinInfo - Thu Dec 12 2013 09:23 AM

весь стакан наверное не то что не устраивает...
просто я даже не знаю как данные можно будет мне применить без знаний программирования, если получиться сделать версию для 32 бит выложите по-тестить, попробовать. я не разбираюсь и пока не представляю как может помочь эта информация
во вторых данные - 50м с одного фьюча в день для меня многовато в плане выгрузки. ну, не важно в общем

в идеале хотелось бы иметь лёгкий писатель и читатель . какой он и есть на данный момент из имеющихся данных в индикаторе

сейчас допишу мысль...
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Thu Dec 12 2013 10:31 AM

какой он сейчас есть - набор кривизны и костылей. Я уже писал что раньше было невозможно адекватно записывать маркет дату так как не было серверного времени. Писали по локальному. В итоге 100% данные не стыкуются со свечками есть заглядывание в будущее. В общем нефункционально меньше чем на минутках. Хранилище неудобно в виде бинарников. Ни посмотреть ни подправить без конвертации. База данных куда как веселее.

В общем скажите что вам нужно с этого фин инфо я скажу где взять без него.
Автор: ZooR

Re: Блоки сохранения / чтения данных FinInfo - Thu Dec 12 2013 10:54 AM

нужен askvolyme и bidvolyme
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Thu Dec 12 2013 11:46 AM

Originally Posted By: ra81
какой он сейчас есть - набор кривизны и костылей. Я уже писал что раньше было невозможно адекватно записывать маркет дату так как не было серверного времени. Писали по локальному. В итоге 100% данные не стыкуются со свечками есть заглядывание в будущее. В общем нефункционально меньше чем на минутках. Хранилище неудобно в виде бинарников. Ни посмотреть ни подправить без конвертации. База данных куда как веселее.

В общем скажите что вам нужно с этого фин инфо я скажу где взять без него.

Опа, табуретка прилетела. :-) У Вас там убытки что ли с утра? Бывает, спокойнее надо.

Никаких костылей и кривизны в моих блоках нет, а бинарный формат хранения предельно быстр, эффективен и надежен.
Если уж очень хочется работать с бинарным файлом как с БД, то написать DbDataReader - это дело получаса, но Вы видимо об этом и не догадываетесь.
С LastUpdate - да это проблема, я в свое время, поизучал ситуацию и посчитал, что надежнее использовать именно локальное время, его по крайней мере можно контроллировать, а что сервера брокеров в этом поле отдают - вообще, не непредсказуемо, бывало на несколько дней дата отставала.
База - да веселее, особенно если знать, что любая БД время от времени требует обслуживания.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Thu Dec 12 2013 12:00 PM

Quote:

нужен askvolyme и bidvolyme

Это есть в тиковом кэшэ. не надо мучать для этого никаких других индикаторов.

Originally Posted By: jhgjrht

Опа, табуретка прилетела. :-) У Вас там убытки что ли с утра? Бывает, спокойнее надо.

Никаких костылей и кривизны в моих блоках нет, а бинарный формат хранения предельно быстр, эффективен и надежен.
Если уж очень хочется работать с бинарным файлом как с БД, то написать DbDataReader - это дело получаса, но Вы видимо об этом и не догадываетесь.
С LastUpdate - да это проблема, я в свое время, поизучал ситуацию и посчитал, что надежнее использовать именно локальное время, его по крайней мере можно контроллировать, а что сервера брокеров в этом поле отдают - вообще, не непредсказуемо, бывало на несколько дней дата отставала.
База - да веселее, особенно если знать, что любая БД время от времени требует обслуживания.

да табуретка не в сторону кода. А сторону того что нельзя было сделать как следует в принципе из за недостатков самого тслаба. Тем более что последний релиз был выпущен мной самим с учетом больших переработок кода вообще, особенно в планей сейва и лоада данных. Так что мне тоже надо обижаться на самого себя smile. В то время когда был сделан сей кубик не то что БД нельзя было заюзать, вообще сами скрипты через АПИ еще глюкали постоянно. Так что в то время все было круто. сейчас уже нет.

К тому же если взять пересчет по интервалу при котором пишутся данные то легко заметить что ФинИнфо приходит уже из будущегоа не на момент закрытия свечки, а на момент когда было запрошено. Отсюда вы оперируете будущим smile. Это до пол секунды может быть. Не очень верно это. В общем недостатки есть. И имхо - проще разработать заново на тех закладках что сделаны в плане сейвинга стакана, чем домучивать текущую реализацию. Как я и собственно сделал с сейвингом стакана. Предыдущая инкарнация была просто нежизнеспособна в любом плане.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Fri Dec 13 2013 12:31 AM

Originally Posted By: ra81
нельзя было сделать как следует в принципе из за недостатков самого тслаба.
Думаю проблема не с ТСЛабом, он, что ему прислали, то скриптам и отдает.
Quote:
В то время когда был сделан сей кубик не то что БД нельзя было заюзать, вообще сами скрипты через АПИ еще глюкали постоянно. Так что в то время все было круто. сейчас уже нет.
С этом я не могу согласиться.
Quote:
К тому же если взять пересчет по интервалу при котором пишутся данные то легко заметить что ФинИнфо приходит уже из будущегоа не на момент закрытия свечки, а на момент когда было запрошено. Отсюда вы оперируете будущим smile. Это до пол секунды может быть. Не очень верно это.
Это и так и не так, подробности ниже.

Написал небольшой тестовый скрипт, логирующий время пересчета скрипта и время из FinInfo.LastUpdate. Запустил его на 1 секундном интревале для RIZ3 и вот что он выдал:
Code:
N   Локальное время          FinInfo.LastUpdate       Разница           Время начала посл. бара  Время окончания (расчетное)
1   2013-12-12_22:39:22.542; 2013-12-11_22:39:21.000; 00:00:01.5429670; 2013-12-12_22:39:21.000; 2013-12-12_22:39:22.000
2   2013-12-12_22:39:22.544; 2013-12-11_22:39:21.000; 00:00:01.5449672; 2013-12-12_22:39:21.000; 2013-12-12_22:39:22.000
3   2013-12-12_22:39:22.764; 2013-12-11_22:39:22.000; 00:00:00.7649892; 2013-12-12_22:39:21.000; 2013-12-12_22:39:22.000
4   2013-12-12_22:39:22.768; 2013-12-11_22:39:22.000; 00:00:00.7689896; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
5   2013-12-12_22:39:22.957; 2013-12-11_22:39:22.000; 00:00:00.9570084; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
6   2013-12-12_22:39:23.345; 2013-12-11_22:39:22.000; 00:00:01.3450472; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
7   2013-12-12_22:39:23.347; 2013-12-11_22:39:22.000; 00:00:01.3470474; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
8   2013-12-12_22:39:23.562; 2013-12-11_22:39:22.000; 00:00:01.5620689; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
9   2013-12-12_22:39:23.755; 2013-12-11_22:39:22.000; 00:00:01.7550882; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
10  2013-12-12_22:39:23.945; 2013-12-11_22:39:22.000; 00:00:01.9451072; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
11  2013-12-12_22:39:24.153; 2013-12-11_22:39:23.000; 00:00:01.1531280; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
12  2013-12-12_22:39:24.154; 2013-12-11_22:39:23.000; 00:00:01.1541281; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
13  2013-12-12_22:39:24.551; 2013-12-11_22:39:23.000; 00:00:01.5511678; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
14  2013-12-12_22:39:24.742; 2013-12-11_22:39:23.000; 00:00:01.7421869; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
15  2013-12-12_22:39:25.171; 2013-12-11_22:39:23.000; 00:00:02.1712298; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
16  2013-12-12_22:39:25.361; 2013-12-11_22:39:23.000; 00:00:02.3612488; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
17  2013-12-12_22:39:25.552; 2013-12-11_22:39:23.000; 00:00:02.5522679; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
18  2013-12-12_22:39:25.968; 2013-12-11_22:39:23.000; 00:00:02.9683095; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
19  2013-12-12_22:39:26.159; 2013-12-11_22:39:23.000; 00:00:03.1593286; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
20  2013-12-12_22:39:26.460; 2013-12-11_22:39:25.000; 00:00:01.4603587; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
21  2013-12-12_22:39:26.462; 2013-12-11_22:39:25.000; 00:00:01.4623589; 2013-12-12_22:39:25.000; 2013-12-12_22:39:26.000
22  2013-12-12_22:39:26.571; 2013-12-11_22:39:25.000; 00:00:01.5713698; 2013-12-12_22:39:25.000; 2013-12-12_22:39:26.000
23  2013-12-12_22:39:27.049; 2013-12-11_22:39:25.000; 00:00:02.0494176; 2013-12-12_22:39:25.000; 2013-12-12_22:39:26.000
это при подключении к обычному финамовскому серверу, правда на вечерке.

На текущий момент на моем компе следующая разница по времени с сервером точного времени:
Code:
>w32tm /monitor /computers:ntp.psn.ru
ntp.psn.ru[194.149.67.129:123]:
    ICMP: 7ms задержка
    NTP: -0.3411538s смещение относительно локального времени
        RefID: gps-time.prao.psn.ru [194.149.67.32]
        Страта: 2

Т.е. токальное время ушло вперед на 341 миллисекунду.

Пойдем с конца, почти.
В строке 21 пришлел бар со временем начала и окончания 22:39:25-22:39:26.
При этом LastUpdate все еще 22:39:25, т.е. по факту отстает на секунду от времени окончания бара, хотя точно неизвестно насколько, поскольку LastUpdate округлено до секунд.

С 12 по 20 строки (т.е. скрипт пересчитывался 9 раз в течении почти 2 с половиной секунд), идут значения, появившиеся непосредственно перед тем как появился этот бар (сделки соответствующие прошли, бар появился). Каждая строка - это пересчет скрипта и свое, возможно уникальное, состояние данных FinInfo. Какое из этих значений 9 значений FinInfo сопоставить этому бару, оканчивающемуся в 22:39:26? Последнее? Т.е. то, которое в строке 20 и со временем LastUpdate 22:39:25?
Хорошо, берем из строки 20, но далее с таким же временем есть еще 3 строки. Блок (мой и Ваш тоже) их сохранит, а при следующем чтении сопоставит с нашим баром уже не значения из строки 20, а значение из строки 23, потому что именно оно будет последним со временеим меньшим 22:39:26.
Это означает, что в первый раз к бару в 22:39:26 будут сопоставлены одни значения FinInfo, а в последующие разы уже другие. Т.е. данные будут перерисовываться. А при этом все ведь, вроде, правильно! Где "обман"?
Кстати если Вы не позаботитесь о записи и чтении данных из БД в порядке их поступления, то результат, вообще, может быть каждый раз разный.

Теперь если использовать не LastUpdate, а локальное время. Последним со временеим меньшим 22:39:26 будет строка 18 (если сделать поправку на сдвиг локального времени, то 19). Будет небольшое отставание данных, но этот вариант будет стабильно повторяться.

Кстати в строке 20 последний бар оканчивается еще в 22:39:24, но LastUpdate уже 22:39:25. Т.е. типа из будущего. На самом деле, видимо, сделок со временем 22:39:25 еще не было, но вот так вот. И это штатная ситуация. Особенно сильно это будет заметно на малоликвидных инструментах.
Данные по FinInfo и по сделкам приходят в разных "потоках", и любой из них по пути может "задержаться" чуть ли не как угодно. Никто ничего не гарантирует.

К чему я это все привел: что локальное время использовать, что LastUpdate, все равно будут неточности в сопоставлении FinInfo и баров. Надеюсь, мой пост окажется Вам полезным. При записи, точнее при чтении, Вам точно так же придется расставлять стаканы по барам smile
Автор: captian

Re: Блоки сохранения / чтения данных FinInfo - Mon Jan 27 2014 07:53 PM

Originally Posted By: ra81
Перебрал код. Должно работать на последнем релизе.
Добавлены AskVolume и BidVolume

Вопрос: блок накопитель и считывающие блоки могут быть в одном скрипте? и могут ли они быть в теле основного скрипта?
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 28 2014 11:19 AM

Quote:
К чему я это все привел: что локальное время использовать, что LastUpdate, все равно будут неточности в сопоставлении FinInfo и баров. Надеюсь, мой пост окажется Вам полезным. При записи, точнее при чтении, Вам точно так же придется расставлять стаканы по барам smile

В том все и дело что не все так просто как у вас описано. LastUpdate для правильных брокеров дает миллисекунды. Теперь дает. И никак теперь не связан со сделками. Поэтому на нормальном брокре у меня нет дублей по времени в общем и целом. За секунду может записаться до 9 срезов стакана и все разные. Есть детали синхронизации свечек и стакана, но это решается вводом задержки если так сильно надо. Один новый параметр и все. В этом блоке итак непонятно насколько смещение времени имеет место быть, а задержка еще больше все запутает.

Quote:
Вопрос: блок накопитель и считывающие блоки могут быть в одном скрипте? и могут ли они быть в теле основного скрипта?

полагаю что да. Но будете ловить перерисовку последнего значения. Причем, пожалуй, ловить ее будете очень часто. На это были жалобы выше по тексту.
Автор: captian

Re: Блоки сохранения / чтения данных FinInfo - Tue Jan 28 2014 02:11 PM

Originally Posted By: ra81

полагаю что да. Но будете ловить перерисовку последнего значения. Причем, пожалуй, ловить ее будете очень часто. На это были жалобы выше по тексту.
Спасибо
Автор: captian

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 30 2014 02:05 PM

Originally Posted By: ra81
полагаю что да. Но будете ловить перерисовку последнего значения. Причем, пожалуй, ловить ее будете очень часто. На это были жалобы выше по тексту.

Ещё вопрос: Накопитель и основной скрипт с блоками чтения данных должны быть в одном т/ф ???
Или же писать данные можно, скажем минутами, а считывать 30 минутным скриптом?
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 30 2014 08:23 PM

Originally Posted By: captian
Originally Posted By: ra81
полагаю что да. Но будете ловить перерисовку последнего значения. Причем, пожалуй, ловить ее будете очень часто. На это были жалобы выше по тексту.

Ещё вопрос: Накопитель и основной скрипт с блоками чтения данных должны быть в одном т/ф ???
Или же писать данные можно, скажем минутами, а считывать 30 минутным скриптом?

да. там идет поиск ближайшего времени слева. Эти данные и выдаются. Можно писать в меньшем, читать в большем тф
Автор: captian

Re: Блоки сохранения / чтения данных FinInfo - Thu Jan 30 2014 09:14 PM

Originally Posted By: ra81
да. там идет поиск ближайшего времени слева. Эти данные и выдаются. Можно писать в меньшем, читать в большем тф
Премного благодарен.
Автор: zig2003

Re: Блоки сохранения / чтения данных FinInfo - Tue Feb 11 2014 11:49 AM

Парни, скажите, плиз, а эти блоки будут корректно работать с версией 1.2.12?
Автор: captian

Re: Блоки сохранения / чтения данных FinInfo - Tue Feb 11 2014 12:22 PM

Originally Posted By: zig2003
Парни, скажите, плиз, а эти блоки будут корректно работать с версией 1.2.12?
У меня работают с 1.2.12.0 вполне корректно
Автор: zig2003

Re: Блоки сохранения / чтения данных FinInfo - Tue Feb 11 2014 02:46 PM

Спасибо, Кэп, попробую на опционах.
Автор: goodok

Re: Блоки сохранения / чтения данных FinInfo - Sat Feb 15 2014 02:30 PM

Ребята! подскажите пожалуйста, что не так сделал

System.IO.FileNotFoundException: Файл 'C:\Data\RTS-3.14.fid' не найден.
Имя файла: "C:\Data\RTS-3.14.fid" .... итд

на 110раз перечитал инструкцию результат такойже
1-скачал FinInfoCache_2.0.0.0_src.zip и FinInfoCache_2.0.0.0_bin.zip
2-залил FinInfoCache_2.0.0.0_bin (там 6 файлов) в папку C:\Program Files (x86)\TSLab 1.2.\Handlers
3-создал папку Data на диск С
4-создал два скрипта "запись" и чтение. запись: источник - накопитель - график
"чтение": источник - volatility - график
а он мне ругается на скрипт "чтение" system.IO.FileNotFoundException: Файл 'C:\Data\RTS-3.14.fid' не найден
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Sat Feb 15 2014 04:01 PM

возможно проблема в правах доступа. Нет доступа на запись в сей файл. проверьте Безопасность папки Data
Автор: goodok

Re: Блоки сохранения / чтения данных FinInfo - Sun Feb 16 2014 11:44 AM

проверил безопасность все нормально, может причина в том что подключение через quik от открытия или 32битный tslab на 64битной системе?????
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Sun Feb 16 2014 03:10 PM

Originally Posted By: goodok
проверил безопасность все нормально, может причина в том что подключение через quik от открытия или 32битный tslab на 64битной системе?????

врядли. написано четко. не могу найти файл. либо его нет, либо нет до него доступа.
Автор: goodok

Re: Блоки сохранения / чтения данных FinInfo - Sun Feb 16 2014 09:35 PM

Файла в папке data нет
Автор: captian

Re: Блоки сохранения / чтения данных FinInfo - Mon Feb 17 2014 08:26 AM

Originally Posted By: goodok
Файла в папке data нет
Возможно говорю очевидную вещь, но всё же. Накопитель запущен в качестве агента на рабочем счету???? Без этого файл писаться не будет. В лаборатории не пишет, даже при подключении онлайн.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Mon Feb 17 2014 11:44 AM

Originally Posted By: captian
Originally Posted By: goodok
Файла в папке data нет
Возможно говорю очевидную вещь, но всё же. Накопитель запущен в качестве агента на рабочем счету???? Без этого файл писаться не будет. В лаборатории не пишет, даже при подключении онлайн.

это связано с тем что в новых версиях лаба можно писать и из лаборатории, но не переделано. Раньше писало только с агента
Автор: goodok

Re: Блоки сохранения / чтения данных FinInfo - Mon Feb 17 2014 07:54 PM

да captian и ra81, 110 раз читал и каждый раз не видел ключевой фразы, спасибо огромное!!! за ваш опыт и отзывчивость
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Thu Jun 05 2014 01:59 PM

Собственно если кому нужно исправление проблем с перерисовкой последнего показания, если хочется чтобы писало даже из лаборатории, ну и прочее. Решение здесь http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=62547#Post62547

Как обычно переделывать сделанное я не стал а сделал новое, так как базировал свои решения на совершенно другом принципе и все делать пришлось с нуля.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Thu Jun 05 2014 10:03 PM

Originally Posted By: ra81
Собственно если кому нужно исправление проблем с перерисовкой последнего показания ...
Вы либо ошибаетесь, либо вводите читателей в заблуждение. Проблема неустранима, и использование базы данных тут ничем не поможет. В идеальных условиях (плаза, синхронизированность времени везде, качественный канал связи, и т.д.) и ваша и моя версии будут работать хорошо. Но с другими коннекторами и/или проблемами со связью проблема будет проявляться.

Originally Posted By: ra81
... так как базировал свои решения на совершенно другом принципе ...
Не нужно преувеличивать, принцип тот же самый, а уж в файл писать данные или в базу данных - это для пользователя одно и тоже.

Раз уж вы нагло в моей ветке свою рекламу постите, то я, пожалуй, вскоре выложу обновленную версию своих индикаторов. И совершенно бесплатно.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Fri Jun 06 2014 07:32 AM

Originally Posted By: jhgjrht
Вы либо ошибаетесь, либо вводите читателей в заблуждение. Проблема неустранима, и использование базы данных тут ничем не поможет. В идеальных условиях (плаза, синхронизированность времени везде, качественный канал связи, и т.д.) и ваша и моя версии будут работать хорошо. Но с другими коннекторами и/или проблемами со связью проблема будет проявляться.

ну если вы скачаете и посмотрите то увидите что перерисовки нет. Так что нет обмана.

Originally Posted By: jhgjrht
Не нужно преувеличивать, принцип тот же самый, а уж в файл писать данные или в базу данных - это для пользователя одно и тоже.

Раз уж вы нагло в моей ветке свою рекламу постите, то я, пожалуй, вскоре выложу обновленную версию своих индикаторов. И совершенно бесплатно.

Принцип сохранения где-то близок, способ загрузки и отображения кардинально другой.

Это не реклама. Это для тех кому НАДО но не реализовано. Нажиться с той цены что я прошу сложно. Это цена за потраченное время и будущие доработки. Если вы сделаете и выложите - будет здорово. Жаль что вы раньше не сделали, так бы мне не пришлось тратить свое время, которого мне так не хватает.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sun Jun 15 2014 03:12 PM

Новая версия индикаторов.
Индикаторы разделены на две группы: «jh.FinInfo» и «jh.FinInfo.rt».
В группе «jh.FinInfo» находятся индикаторы, показывающие накопленную историю значений из торговой системы московской биржи. Значения транслируются биржей (как правило, через сервер брокера) и принимаются в программе TSLab в структуру FinInfo, затем сохраняются индикаторами в файл с расширением fid (по одному на источник). Данные могут поступать непрерывно, с частотой несколько раз в секунду, но сохраняются только те значения, которые были на момент пересчета индикатора (скрипта). Для сопоставления значений используется серверное время. Т.е. время из поля LastUpdate класса FinInfo.
Индикаторы работают и в режиме лаборатории и в режиме агента. Накопление истории работает только если есть подключение к серверу. Историю значений взять неоткуда, поэтому, что сами накопите, то у вас и будет. Для удобства накопления истории есть кубик «FI Накопитель», его можно бросить на отдельный скрипт, соединить с источником, указать параметры и запустить скрипт как агент. Больше хлопот он не должен доставлять, если будет подключение к серверу, то он будет сохранять историю, последовательно дописывая значения в файл. Каждый индикатор сам может сохранять историю значений, поэтому испоьльзование кубика «FI Накопитель» необязательно. Можно раз в месяц, или когда надо, запускать конвертер «TSLab.fid2txt3.exe» с параметром /S:дата и он отрежет раннюю, уже ненужную часть файла данных в отдельный файл. Например, команда: «TSLab.fid2txt3.exe /s:20140501 RIM4.fid» разделит файл RIM4.fid на две части: до 1 мая 2014 года и после (начиная с). При желании можно совместить две части обратно командой: «TSLab.fid2txt3.exe /m RIM4.fid RIM4_20140301.fid». С течением времени файлы данных могут стать довольно большими и сильно фрагментированными, что замедлит запуск скриптов их использующих. Если для их хранения используются традиционные жесткие диски, то я рекомендую время от времени эти файлы дефрагментировать. Для SSD дисков в этом нет необходимости.
Файлы с накапливаемыми данными растут пропорционально частоте пересчета скрипта. Теоретические размеры можно увидеть в следующей таблице.
Параметр «Папка» в индикаторах используется для указания пути, где должны храниться файлы данных. Все символы «\» в пути должны указываться дважды, так сделано в TSLab. Например: «C:\\Data»
Файл данных предыдущей версии индикаторов автоматически конвертируется в новую версию, резервная копия создастся.
Название индикаторов этой группы начинается с «FI ».

Группа индикаторов «jh.FinInfo.rt»
В этой группе находятся индикаторы, не сохраняющие и не использующие историю своих значений. Они показывают только то, что присылает биржа в данный момент. На графике они выглядят в виде прямой горизонтальной линии. Если данных по индикатору нет, то его значение будет равно 0. Значения будут доступны только при наличии подключения к серверу (брокера). Про тестовый сервер ничего не знаю – не пробовал. Также не знаю, будут ли значения, получаемые через Quik, по-моему, нет. Некоторые параметры не транслируются серверами, например, Transaq не присылает: «Лимит верх.», «Лимит ниж.», «Макс. Спрос», «Мин. Предложение». Чтобы убедиться в том, что данные приходят, откройте и настройте окно «Котировки» из меню «Файл» программы.
Название индикаторов этой группы начинается с «FIR ».
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sun Jun 15 2014 03:19 PM

Вот список индикаторов группы «jh.FinInfo.rt»
Code:
Название индикатора                          Примечание
FIR Цена предложения                         Цена предложения
FIR Средняя цена                             Средняя цена за сессию
FIR Цена спроса                              Цена спроса
FIR Заявок на покупку                        Количество заявок на покупку в очереди торговой системы
FIR ГО покупателя                            Гарантийные обязательства покупателя, в рублях
FIR Объем заявок на покупку                  Объем всех заявок на покупку в очереди торговой системы, выраженный в единицах ценных бумаг
FIR Изменение цены                           Изменение (абсолютное)
FIR Изменение цены %                         Изменение (относительное)
FIR Цена закрытия                            Цена закрытия сессии (прошлой)
FIR Макс. цена спроса                        Наибольшая цена спроса в течение торговой сессии
FIR Торги разрешены                          Торги по инструменту разрешены или нет
FIR Цена последней                           Цена последней сделки
FIR Время обновления                         Время обновления данных в миллисекундах (От начала 1 года, если это кому-то интересно)
FIR Время последней сделки                   Время последней сделки в миллисекундах
FIR Мин. цена предложения                    Наименьшая цена предложения в течение торговой сессии
FIR Макс. цена сделки                        Максимальная цена сделки за сессию
FIR Мин. цена сделки                         Минимальная цена сделки за сессию
FIR Сделок                                   Количество сделок за торговый день
FIR Открытый интерес                         Открытый интерес
FIR Цена открытия                            Цена открытия сессии
FIR Цена посл. сделки пред. торг. дня        Цена последней сделки предыдущего торгового дня
FIR Цена посл. сделки к оценке пред. дня     Цена последней сделки к оценке предыдущего дня
FIR Верхний лимит цены                       Верхний лимит цены
FIR Нижний лимит цены                        Нижний лимит цены
FIR Заявок на продажу                        Количество заявок на продажу в очереди торговой системы
FIR ГО продавца                              Гарантийные обязательства продавца, в рублях
FIR Объем заявок на продажу                  Объем всех заявок на продажу в очереди торговой системы, выраженный в единицах ценных бумаг
FIR Стоимость шага цены                      Стоимость шага цены
FIR Объем сделок                             Объем совершенных сделок, выраженный в единицах ценных бумаг
FIR Объем сделок в рублях                    Объем совершенных сделок, выраженный в рублях
FIR Теоретическая цена                       Теоретическая (Расчетная) цена опциона
FIR Волатильность %                          Волатильность финансового инструмента, %
FIR Дельта заявок                            Разница между количеством заявок на покупку и на продажу в очереди торговой системы. Положительное значение означает, что заявок на покупку больше, чем заявок на продажу
FIR Дельта объема заявок                     Разница между объемом всех заявок на покупку и продажу в очереди торговой системы, выраженная в единицах ценных бумаг. Положительное значение означает, что объем на покупку больше, чем объем на продажу
FIR Средняя заявка на покупку                Размер средней заявки на покупку, выраженный в единицах ценных бумаг
FIR Средняя заявка на продажу                Размер средней заявки на продажу, выраженный в единицах ценных бумаг
Жаль, что как таблицу не оформить
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Sun Jun 15 2014 05:35 PM

Не сочтите за критику:
а)можно сделать 1 файл на 1 день так удобнее, чем резать потом с помощью утилиты. Убрал в архивчик старое и все, а когда надо вернул из архивчика. Файлы удобно маркируются все сразу ясно. Как бин кэш сейчас.
б) можно убрать запись дублей. Например зачем писать ГО тыщу раз за день? Оно два раза в день меняется его достаточно два раза записать. Файлик получается большеват за день, можно весьма уменьшить. Для тех у кого хостинги это актуально.
в) некоторые записи вообще не нужны. например дельта заявок. ее можно получить путем вычитания. Тут еще можно уменьшить размер файла.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Fri Jun 27 2014 12:10 AM

Originally Posted By: ra81
Не сочтите за критику:
а)можно сделать 1 файл на 1 день так удобнее, чем резать потом с помощью утилиты. Убрал в архивчик старое и все, а когда надо вернул из архивчика. Файлы удобно маркируются все сразу ясно. Как бин кэш сейчас.
б) можно убрать запись дублей. Например зачем писать ГО тыщу раз за день? Оно два раза в день меняется его достаточно два раза записать. Файлик получается большеват за день, можно весьма уменьшить. Для тех у кого хостинги это актуально.
в) некоторые записи вообще не нужны. например дельта заявок. ее можно получить путем вычитания. Тут еще можно уменьшить размер файла.

а) Разумное предложение, но это несколько усложнит и так не простой код, а меня один файл на источник вполне устраивает. Врядли я в обозримом будущем это буду делать.
б) Не писать дубли отдельных параметров - существенно усложнит код и пропадет однородность структуры файла данных, что как раз и дает большую скорость поиска и надежность. А размер файла меня не напрягает. Тоже врядли буду делать.
в) Ну так она и не пишется, это чисто рассчетное значение.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Fri Jun 27 2014 07:29 AM

ну я просто предложил smile. код глядел он серьезно переработан, это да.
Автор: ZooR

Re: Блоки сохранения / чтения данных FinInfo - Fri Jun 27 2014 12:12 PM

Originally Posted By: jhgjrht
Новая версия индикаторов.
Индикаторы разделены на две группы: «jh.FinInfo» и «jh.FinInfo.rt».
В группе «jh.FinInfo» находятся индикаторы, показывающие накопленную историю значений из торговой системы московской биржи. Значения транслируются биржей (как правило, через сервер брокера) и принимаются в программе TSLab в структуру FinInfo, затем сохраняются индикаторами в файл с расширением fid (по одному на источник). Данные могут поступать непрерывно, с частотой несколько раз в секунду, но сохраняются только те значения, которые были на момент пересчета индикатора (скрипта). Для сопоставления значений используется серверное время. Т.е. время из поля LastUpdate класса FinInfo.
Индикаторы работают и в режиме лаборатории и в режиме агента. Накопление истории работает только если есть подключение к серверу. Историю значений взять неоткуда, поэтому, что сами накопите, то у вас и будет. Для удобства накопления истории есть кубик «FI Накопитель», его можно бросить на отдельный скрипт, соединить с источником, указать параметры и запустить скрипт как агент. Больше хлопот он не должен доставлять, если будет подключение к серверу, то он будет сохранять историю, последовательно дописывая значения в файл. Каждый индикатор сам может сохранять историю значений, поэтому испоьльзование кубика «FI Накопитель» необязательно. Можно раз в месяц, или когда надо, запускать конвертер «TSLab.fid2txt3.exe» с параметром /S:дата и он отрежет раннюю, уже ненужную часть файла данных в отдельный файл. Например, команда: «TSLab.fid2txt3.exe /s:20140501 RIM4.fid» разделит файл RIM4.fid на две части: до 1 мая 2014 года и после (начиная с). При желании можно совместить две части обратно командой: «TSLab.fid2txt3.exe /m RIM4.fid RIM4_20140301.fid». С течением времени файлы данных могут стать довольно большими и сильно фрагментированными, что замедлит запуск скриптов их использующих. Если для их хранения используются традиционные жесткие диски, то я рекомендую время от времени эти файлы дефрагментировать. Для SSD дисков в этом нет необходимости.
Файлы с накапливаемыми данными растут пропорционально частоте пересчета скрипта. Теоретические размеры можно увидеть в следующей таблице.
Параметр «Папка» в индикаторах используется для указания пути, где должны храниться файлы данных. Все символы «\» в пути должны указываться дважды, так сделано в TSLab. Например: «C:\\Data»
Файл данных предыдущей версии индикаторов автоматически конвертируется в новую версию, резервная копия создастся.
Название индикаторов этой группы начинается с «FI ».

Группа индикаторов «jh.FinInfo.rt»
В этой группе находятся индикаторы, не сохраняющие и не использующие историю своих значений. Они показывают только то, что присылает биржа в данный момент. На графике они выглядят в виде прямой горизонтальной линии. Если данных по индикатору нет, то его значение будет равно 0. Значения будут доступны только при наличии подключения к серверу (брокера). Про тестовый сервер ничего не знаю – не пробовал. Также не знаю, будут ли значения, получаемые через Quik, по-моему, нет. Некоторые параметры не транслируются серверами, например, Transaq не присылает: «Лимит верх.», «Лимит ниж.», «Макс. Спрос», «Мин. Предложение». Чтобы убедиться в том, что данные приходят, откройте и настройте окно «Котировки» из меню «Файл» программы.
Название индикаторов этой группы начинается с «FIR ».


не нашёл askvolume и bidvolume можете добавить?
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sat Jun 28 2014 04:51 PM

Нет, в FinInfo этих данных нет.
Автор: ZooR

Re: Блоки сохранения / чтения данных FinInfo - Sat Jun 28 2014 07:29 PM

Originally Posted By: jhgjrht
Нет, в FinInfo этих данных нет.


а добавить можете? askvolume и bidvolume (такие как были)
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sat Jun 28 2014 07:54 PM

Не, раньше не было, у меня, во всяком случае.
Нужны объемы по ask и по bid без накопления истории или с историей?
Сделать эти индикаторы без истории значений несложно - минутное дело. А вот с накоплением истории - сложнее. Не хочется возиться с обеспечением совместимости с предыдущей версией.
В принципе, сегодня есть время, займусь.
Автор: ZooR

Re: Блоки сохранения / чтения данных FinInfo - Sat Jun 28 2014 07:59 PM

Originally Posted By: jhgjrht
Не, раньше не было, у меня, во всяком случае.
Нужны объемы по ask и по bid без накопления истории или с историей?
Сделать эти индикаторы без истории значений несложно - минутное дело. А вот с накоплением истории - сложнее. Не хочется возиться с обеспечением совместимости с предыдущей версией.
В принципе, сегодня есть время, займусь.


Нужны объемы по ask и по bid с накоплением истории с первой строчки стакана (по аск и бид соответственно) в предыдущих версиях эти блоки назывались askvolume и bidvolume
Автор: ZooR

Re: Блоки сохранения / чтения данных FinInfo - Sat Jun 28 2014 08:01 PM

может можно отдельно сделать и не обеспечивать совместимось с предыдущей версией?
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sun Jun 29 2014 12:04 AM

Ну вроде сделал. Не тестировал только еще, суббота все-таки. Но должно работать. Вот новые кубики:
Code:
Название                                                 Примечание
-------------------------------------------------------------------------------------------------------------------
FI Объем лучшего предложения                             Объем лучшего предложения из стакана                     
FI Объем лучшего спроса                                  Объем лучшего спроса из стакана                          
FI Цена из стакана наибольшего объема на продажу         Цена из стакана из строки с наибольшим объемом на продажу
FI Цена из стакана наибольшего объема на покупку         Цена из стакана из строки с наибольшим объемом на покупку
FI Наибольший объем на продажу из стакана                Наибольший объем на продажу из стакана                   
FI Наибольший объем на покупку из стакана                Наибольший объем на покупку из стакана                   
FI Весь объем из стакана на продажу                      Весь объем из стакана на продажу                         
FI Весь объем из стакана на покупку                      Весь объем из стакана на покупку                         
FI Весь объем из стакана                                 Сумма объемов на покупку и продажу                       
FI Дельта объема из стакана                              Разница объемов на покупку и продажу из стакана          

Теоретические размеры еще выросли
Автор: ZooR

Re: Блоки сохранения / чтения данных FinInfo - Sun Jun 29 2014 12:42 AM

круто, спасибо!!! в понедельник потестируем smile
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Sun Jun 29 2014 12:35 PM

если нетрудно тестирующим, скорость работы сообщите. На каких нибудь более мене больших размерах файла. За несколько дней хотя бы. За сколько скрипт выполняется, за сколько подгружает данные для 50 000 свечек, или 100 000 свечек.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Mon Jun 30 2014 10:24 AM

Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Mon Jun 30 2014 12:33 PM

а размер файла с данными какой? Он покрывает эти 200к баров или пустышка загружается?
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Mon Jun 30 2014 02:07 PM

Originally Posted By: ra81
а размер файла с данными какой? Он покрывает эти 200к баров или пустышка загружается?
Покрывает. Я бы написал, если бы это была пустышка.
В скрипте минутки Сбера с начала 2013 и несколько графиков с сохраняемыми параметрами. Файл с данными примерно 2,5 Гб. Оперативной памяти выделено лабе примерно 450 Мб, но это после нескольких запусков остановов и задания свойств скриптов.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Mon Jun 30 2014 03:27 PM

чудно работает по скорости. прям не верится что это метод поиска делением пополам. конечно около секунды на пересчет скрипта это много, но и 200к свечек вливать мало кто будет.
Для фин инфо бинарное хранилище вполне катит по скорости, вполне.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Mon Jun 30 2014 04:01 PM

Чтото все равно червяк гложет что уж больно быстро. У вас там не ССД харды стоят? Что за дисковая подсистема.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Mon Jun 30 2014 06:09 PM

Обычный комп, уже даже старенький, винт не ССД.
Этот файл (2,5 Гб) целиком читается (в nul) почти за 40 секунд, но это он уже в кеше, наверное, частично.
Первый пересчет скрипта все же довольно продолжительный секунд 70. Ну а последующие как на скрине, 600-900 миллисекунд.
Возможности для оптимизации еще есть, но тут уж чем дальше тем сложнее реализовывать. Думаю, это уже не зачем. К тому же есть вилка: либо память за счет скорости, либо наоборот.
При том же кол-ве свечей, другой скрипт с одной лишь формулой, рассчитывается за 80-100 мс. Так что большого выигрыша от дальнейшей оптимизации не получить.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Mon Jun 30 2014 07:20 PM

Originally Posted By: jhgjrht
Обычный комп, уже даже старенький, винт не ССД.
Этот файл (2,5 Гб) целиком читается (в nul) почти за 40 секунд, но это он уже в кеше, наверное, частично.
Первый пересчет скрипта все же довольно продолжительный секунд 70. Ну а последующие как на скрине, 600-900 миллисекунд.
Возможности для оптимизации еще есть, но тут уж чем дальше тем сложнее реализовывать. Думаю, это уже не зачем. К тому же есть вилка: либо память за счет скорости, либо наоборот.
При том же кол-ве свечей, другой скрипт с одной лишь формулой, рассчитывается за 80-100 мс. Так что большого выигрыша от дальнейшей оптимизации не получить.

Ну если простой винт тада конечно здорово. После старта уже винда файл в память мапит и работа идет быстрее. Прям не ожидал такой скорости от такой схемы работы.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sat Jul 05 2014 04:29 PM

Originally Posted By: ZooR
круто, спасибо!!! в понедельник потестируем smile
Ну как, работает?
Автор: ZooR

Re: Блоки сохранения / чтения данных FinInfo - Sat Jul 05 2014 08:51 PM

Originally Posted By: jhgjrht
Originally Posted By: ZooR
круто, спасибо!!! в понедельник потестируем smile
Ну как, работает?


работает отлично, мне очень нравится, коплю историю smile спасибо огромное блоки нужные!!!
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sat Jul 05 2014 10:07 PM

Пожалуйста!
Я кое-что поправил, в том числе неправильно рассчитывавшуюся дельту объемов. Ну и конвертер дописал.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Sun Jul 06 2014 05:49 AM

Originally Posted By: jhgjrht
Пожалуйста!
Я кое-что поправил, в том числе неправильно рассчитывавшуюся дельту объемов. Ну и конвертер дописал.

а последний перерисовывающийся бар тоже поправили? А то основная жалоба была собственно на ЭТО.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sun Jul 06 2014 01:25 PM

В этой версии привязка сделана посредством LastUpadete, а не локального времени, так что зависимость от синхронности локального и серверного времени убрана. Ну а на счет перерисовки, у меня и предыдущая версия индикаторов не перерисовывалась. smile

Родион, давайте без склочности, пишите либо более конструктивно, либо не пишите вообще, спасибо.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Sun Jul 06 2014 05:19 PM

Originally Posted By: jhgjrht
В этой версии привязка сделана посредством LastUpadete, а не локального времени, так что зависимость от синхронности локального и серверного времени убрана. Ну а на счет перерисовки, у меня и предыдущая версия индикаторов не перерисовывалась. smile

Родион, давайте без склочности, пишите либо более конструктивно, либо не пишите вообще, спасибо.

Ну так я интересуюсь вполне конструктивно. Было несколько жалоб на это ранее, народ просил МЕНЯ в том числе чтобы я запилил эту проблему. Если осветить что ее не стало, будет только польза. Можно тупо поднять данный топик ранее и посмотреть, прежде чем сразу обвинять smile.
Хотябы вот http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=36719#Post36719
Автор: ZooR

Re: Блоки сохранения / чтения данных FinInfo - Mon Jul 07 2014 12:58 PM

Originally Posted By: jhgjrht
Пожалуйста!
Я кое-что поправил, в том числе неправильно рассчитывавшуюся дельту объемов. Ну и конвертер дописал.


Спасибо большое! конвертором пока не пользовался, попозже отпишусь.
Автор: Prival

Re: Блоки сохранения / чтения данных FinInfo - Fri Oct 10 2014 02:17 PM

Большое спасибо за огромный труд и возможность его использовать.
Есть пара вопросов. Задавал их разработчикам TSLaba они дали ссылку на этот топик.
1. Можно ли сделать отображение выводимой информации в виде свечей ? и иметь доступ к параметрам этих свечек. К примеру ОИ за время свечи меняется и у него есть как и обычной свечки OHLC. В квике это можно делать (скрин прилагаю)
2. И второй вопрос. Никак не могу найти (вывести в виде графика) информацию Заявки куплены (Заявки проданы). Сделал ещё 1 скрин что бы было видно сразу что выводит Квик и TsLab. Цифры не совпадают очень сильно с тем что даёт Квик (к примеру Заявки проданы у Квика 2821, в TSLabe 691).

Возможно, я просто не тот кубик использую, или что то не так делаю. Подскажите что нужно сделать(настроить) какие кубики использовать что бы получить картинку (графики) в TSLabe такиеже как на 1-ом скрине.
Заранее спасибо.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Fri Oct 10 2014 03:41 PM

чтобы было можно нужно специальные кубики генерить. которые будут выдергивать все данные за свечку и билдить из них свечу ОИ и так далее. Не реализовано для истории. Для данных от брокера есть кубик, поищите в разделе индиков "ОИ свечкам.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Fri Oct 10 2014 09:04 PM

1. Сделать отображение информации в виде свечей в общем случае нельзя, и Вы совершенно правильно обратили на это внимаие именно разработчиков. Это ограничение, в общем-то, искусственнное. Частные случаи, типа "открытого интереса" можно разрешить в виде отдельных самописных кубиков. Но тот же ОИ, например, если вы хотите скрипт на минутном таймфрейме и свечи с данными по ОИ, то для построения свечей скрипту понадобятся тиковые данные, что "убьет" производительность программы, вплоть до ее отказа, в зависимости от глубины требуемой скрипту истории. Не додумали здесь проектировщики TSLab`a, при всем моем к ним уважении.

2. Сравнивайте с таблицей в окне "Котировки" (из меню файл). Если и там такие же цифры (с поправкой на частоту обновления), то проблема, либо со связью, либо с данными на сервере брокера. Финамовские сервера, в последнее время, работают с напрягом, возможно в этом причина расхождения. (Названия праметров все-же пишите точно, в Квике, например, это "Количество заявок на покупку" и т.п., в догадках можно и ошибиться). Также, обратите внимание, у Вас на скрине даже ценовые графики свечей не соответствуют друг-другу, наверняка, проблема таже самая.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Sat Oct 11 2014 07:20 PM

ну особо бочку катить на разрабов тут не надо. чтобы было возможно "все что нам в голову взбредет" отображать "так как нам в голову взбредет", это нужно заранее предусмотреть все варианты бреда и хранить данные в подходящем формате. А это однако нереально. Хотите что то свое? Пожалста, обрабатывайте дату и сохраняйте в файлик, а оттуда потом дергайте. Вполне себе реальный вариант если не нравится обработка тиков.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sat Oct 11 2014 08:56 PM

Всего-лишь немного критики и намек на слабое место в программе, которой я уже несколько лет с удовольствием пользуюсь. И что это за слова: "бред", "бочку катить"? Вы еще "по фене" напишите. Не конструктивно.
А в Квике, кстати, многое реализовано очень неплохо. В том числе работа с потоками биржевой информации, включая тики. Есть чему поучиться.
Автор: vito333

Re: Блоки сохранения / чтения данных FinInfo - Sun Oct 12 2014 07:33 AM

Originally Posted By: jhgjrht
Всего-лишь немного критики и намек на слабое место в программе, которой я уже несколько лет с удовольствием пользуюсь. И что это за слова: "бред", "бочку катить"? Вы еще "по фене" напишите. Не конструктивно.
А в Квике, кстати, многое реализовано очень неплохо. В том числе работа с потоками биржевой информации, включая тики. Есть чему поучиться.


если АРКА будет теми же темпами lua в квике подтягивать, то очень неплохо выйдет
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Sun Oct 12 2014 10:14 AM

Originally Posted By: jhgjrht
А в Квике, кстати, многое реализовано очень неплохо. В том числе работа с потоками биржевой информации, включая тики. Есть чему поучиться.

И вы можете любые данные выводить в любом формате? полагаю что нет smile.

ПС: графическая часть будет шибко апгрейжена в 1.3 судя по анонсам. Но все равно любые хотелки придется делать самостоятельно.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sun Oct 12 2014 02:41 PM

Originally Posted By: ra81

И вы можете любые данные выводить в любом формате? полагаю что нет smile.

Про любые данные и в любом формате только вы здесь и пишете. В исходном сообщении Prival формулировка была другая.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Sun Oct 12 2014 02:43 PM

Originally Posted By: vito333
если АРКА будет теми же темпами lua в квике подтягивать, то очень неплохо выйдет

lua это не C#, к сожалению, но все же лучше чем qpile и прогресс радует. smile
Автор: 777

Re: Блоки сохранения / чтения данных FinInfo - Tue Dec 02 2014 11:43 PM

Originally Posted By: jhgjrht
Пожалуйста!
Я кое-что поправил, в том числе неправильно рассчитывавшуюся дельту объемов. Ну и конвертер дописал.

На последних сборках (1.2.17.58) не могу нормально запустить.

Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Wed Dec 03 2014 12:33 AM

Originally Posted By: 777
На последних сборках (1.2.17.58) не могу нормально запустить.


Ну и ребус. Я минут 10 тупил: какой такой "FinInfoCache.Handlers.FininfoWriter" ? У меня такого нет, это Вы какую-то другую, не мою версию индикаторов смотрите.
Свою версию завтра с утра посмотрю в реале...
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Wed Dec 03 2014 08:01 AM

Это моя стааааарая сборка видать. После переделки тслаба она и не работает smile
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Wed Dec 03 2014 10:32 AM

Проверил на версии 1.2.17.60 - работают.
Версия индикаторов из этого поста
Автор: 777

Re: Блоки сохранения / чтения данных FinInfo - Wed Dec 03 2014 12:01 PM

Сорри, при переносе с компа на комп, что то не тот обработчик подхватился.
Всё работает, всё супер! smile
Автор: 777

Re: Блоки сохранения / чтения данных FinInfo - Wed Dec 03 2014 12:06 PM

Спасибо за внимательность ))
Автор: Stan

Re: Блоки сохранения / чтения данных FinInfo - Fri Jan 16 2015 05:54 PM

Originally Posted By: jhgjrht
Проверил на версии 1.2.17.60 - работают.
Версия индикаторов из этого поста



Доброго времени суток!! Попросить у вас историю в файле из папки DATA на кубик момент дельты обьема заявок можно???Желательно если есть для Si, RTS? но для газа не прошу потому что врятли есть!!
Автор: goodok

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 21 2015 10:58 AM

подскажите пожалуйста, выскакивает такая ошибка 14:50:27.15 128 Скрипт '1ЧТЕНИЕ': c:\Users\ПК\AppData\Local\TSLab\TSLab12\temp\code41.cs(28,28) : error CS0234: Имя типа или пространства имен "TSLab" отсутствует в пространстве имен "TSLab.Indicators" (пропущена ссылка на сборку?)

в том случае когда совместно работают скрипты ti_ru и jh.FinInfo попробывал BidAskVolumeKyb_v0 версии не отображает dwn vol
Автор: Rezident

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 21 2015 11:45 AM

ti_ru и jh.FinInfo у меня тоже совместно работать не могут.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 21 2015 12:11 PM

goodok, Rezident,
в блоках ti_ru надо namespace поменять, попросите автора.
Автор: Rezident

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 21 2015 01:58 PM

Originally Posted By: jhgjrht
goodok, Rezident,
в блоках ti_ru надо namespace поменять, попросите автора.

Ещё бы автора знать-то! Все ссылаются на Vito, а он на отрез отказался. Несколько раз пытал его.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 21 2015 02:33 PM

ничо не знаем. он автор будет :)) стесняется. славы боится smile
Автор: Rezident

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 21 2015 04:12 PM

Тогда вопрос к jhgjrht. А что нужно написать? (я не спец, поэтому спрашиваю)
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Wed Jan 21 2015 09:00 PM

При наличии исходных кодов, вместо
namespace TSLab.Indicators
написать, например,
namespace Ti_ru

Исправленная версия появилась
здесь
Автор: Rezident

Re: Блоки сохранения / чтения данных FinInfo - Mon Feb 09 2015 04:33 PM

Originally Posted By: jhgjrht
При наличии исходных кодов, вместо
namespace TSLab.Indicators
написать, например,
namespace Ti_ru

Исправленная версия появилась
здесь

Не читаются блоки, к сожалению.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Mon Feb 09 2015 07:11 PM

Если Вы хотите чтобы Вам помогли, предоставьте больше информации: что делаете, что получается.
Я был бы счастлив иметь возможность мощным телепатическим усилием пронзить пространство и силой мысли разрулить ситуацию, но, увы, такими способностями не обладаю.
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Mon Feb 09 2015 07:11 PM

smile
Автор: Rezident

Re: Блоки сохранения / чтения данных FinInfo - Mon Feb 09 2015 07:20 PM

Originally Posted By: jhgjrht
smile

Да нет, претензий нет у меня. На выходных попробую сделать скрины и описание действий.
Автор: Rezident

Re: Блоки сохранения / чтения данных FinInfo - Wed Feb 18 2015 12:08 PM

В общем так выглядит после установки в папку Handlers http://gyazo.com/1805a2e92d8b3e4b73c6b0cf90d0f814
http://gyazo.com/a20f0101775a614ebedcdf974cce52a1
Может есть смысл сделать операцию обратную, т.е. внести изменения в dll FinInfo? Может поможет?
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Wed Feb 18 2015 08:30 PM

Originally Posted By: Rezident
В общем так выглядит после установки в папку Handlers http://gyazo.com/1805a2e92d8b3e4b73c6b0cf90d0f814
http://gyazo.com/a20f0101775a614ebedcdf974cce52a1
Может есть смысл сделать операцию обратную, т.е. внести изменения в dll FinInfo? Может поможет?

Программа Вам русским языком, красным по белому, сообщшает, что происходит. Я писал черным по желтому
здесь, что нужно сделать чтобы измененная dll подхватилась. Не тратьте время на бредовые предположения, просто последуйте написанному ранее. У Вас в скрипте ссылка на старую версию индикатора, обновите ее.
И пишите в соответствующей ветке форума, не надо здесь мусорить.
Автор: Den Commander

Re: Блоки сохранения / чтения данных FinInfo - Mon Apr 13 2015 10:35 AM

А кто-нибудь копит данные fininfo по Si ?
Обнаружил аномалию, которая началась приблизительно 30 октября 2014, когда бид и аск из фининфо расходятся с графиком инструмента. А точнее опережают его.
Вот думаю что это может быть. На пропуск баров не похоже, каждый бар привязывается к своему времени поэтому даже если был пропуск бара, просто возникнет разрыв, но бид/аск будет совпадать с графиком.
Может какая-то ошибка в накопителе. Графики явно одинаковы, но бид аск опережает график инструмента. Если к нему добавить смещение по времени, то они совпадут.
скриншотик http://joxi.ru/KAxgvPBIBPgL28
Автор: Den Commander

Re: Блоки сохранения / чтения данных FinInfo - Mon Apr 13 2015 10:36 AM

О. заметил что расхождение ровно на час. Похоже что это как-то связано с переводом времени.
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Mon Apr 13 2015 11:55 AM

если ваш часовой пояс не москва, то наверняка дело в этом.
Автор: Igor_T

Re: Блоки сохранения / чтения данных FinInfo - Mon Apr 27 2015 03:12 PM

Доброго дня.

Подскажите, почему может не работать накопитель?

В скрипте всего 3 кубика...
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Mon Apr 27 2015 07:25 PM

Пытаетесь использовать устаревшую версию.
Автор: Igor_T

Re: Блоки сохранения / чтения данных FinInfo - Mon Apr 27 2015 07:57 PM

А где свежий можно взять?
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Mon Apr 27 2015 08:16 PM

Originally Posted By: Igor_T
А где свежий можно взять?
Удивлю Вас ответом: на последних страницах этой ветки форума. И даже пальцем покажу: здесь
Автор: Igor_T

Re: Блоки сохранения / чтения данных FinInfo - Tue Apr 28 2015 03:36 PM

Originally Posted By: jhgjrht
Originally Posted By: Igor_T
А где свежий можно взять?
Удивлю Вас ответом: на последних страницах этой ветки форума. И даже пальцем покажу: здесь


Спасибо за помощь. Не видит/не понимает Dll. Скрин в приложении (в окне сообщений).

Как можно поправить?
Предварительно выключил ТС лаб, скопировал все из указанного архива все три файла с заменой в Handlers. Запустил заново - не работает((
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Tue Apr 28 2015 04:37 PM

В скрипте обновите ссылку на индикатор: удалить накопитель и добавить его заново или по аналогии с этим

Чета напрягает меня отвечать на простые вопросы, а на сложные - лениво. Не обессудьте, если больше ответов не будет.
Автор: Stan

Re: Блоки сохранения / чтения данных FinInfo - Thu May 07 2015 02:54 PM

Originally Posted By: jhgjrht
В скрипте обновите ссылку на индикатор: удалить накопитель и добавить его заново или по аналогии с этим

Чета напрягает меня отвечать на простые вопросы, а на сложные - лениво. Не обессудьте, если больше ответов не будет.


Доброго времени господа! Вопрос в следующем в FiinFo есть такой кубик как волатильность в % как с записываемым форматом, так и без, что тот что другой показывает 0. Подскажите в чем проблема?? Может что ее просто брокер или биржа не предоставляет?? Параметр очень хороший и есть идеи использования его в виде фильтра для сделок в скальперском алго и интрадее!!
Автор: ra81

Re: Блоки сохранения / чтения данных FinInfo - Thu May 07 2015 05:10 PM

я полагаю это волатильность опциона, а не просто волатильность.
Автор: Stan

Re: Блоки сохранения / чтения данных FinInfo - Thu May 07 2015 05:26 PM

Originally Posted By: ra81
я полагаю это волатильность опциона, а не просто волатильность.



Да проверил на опционе есть такой параметр и показывает 35. Думал непосредственно на фьючерсах будет показывать. Оказалось нет!
Автор: Surfer

Re: Блоки сохранения / чтения данных FinInfo - Mon Aug 03 2015 09:16 PM

Здравствуйте. В TSLab есть таблица "Сделки по инструментам", где показывается сколько прошло сделок на покупку и продажу. Мог бы кто-нибудь сделать один кубик, подсчитывающий количество совершенных сделок на продажу, и второй кубик, подсчитывающий количество совершенных сделок на покупку? Можно без сохранения в файл, просто в реальном времени делить объем на покупку и продажу.
Автор: ViL

Re: Блоки сохранения / чтения данных FinInfo - Mon Aug 03 2015 09:30 PM

а чем не устраивают те, что в этом сборнике?
Автор: Surfer

Re: Блоки сохранения / чтения данных FinInfo - Mon Aug 03 2015 09:36 PM

в сборнике нет того, что нужно

p/s просьбу снимаю, т.к. данный индикатор реализован здесь
Автор: Rezident

Re: Блоки сохранения / чтения данных FinInfo - Tue Sep 01 2015 08:25 PM

Originally Posted By: jhgjrht
Пожалуйста!
Я кое-что поправил, в том числе неправильно рассчитывавшуюся дельту объемов. Ну и конвертер дописал.

Вопрос автору кубиков.
Скачал архив конвертера, при попытке запустить, появляется окно с командными строками, буквально на полсекунды и пропадает, т.е. выполнить процедуру конвертации не получается. Что делаю не так?
Автор: Rezident

Re: Блоки сохранения / чтения данных FinInfo - Tue Sep 15 2015 06:33 PM

Как оказалось, мир не без добрых людей: подсказали, показали как надо правильно пользовать конвертер. Спасибо большое!
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Mon Jan 04 2016 10:22 PM

Добрым людям большое спасибо.

Сделал сборку индикаторов совместимую с версией программы 2.0. Для версий 1.1 и 1.2 программы эта сборка не подойдет!
Автор: Stan

Re: Блоки сохранения / чтения данных FinInfo - Wed Feb 24 2016 11:53 AM

Написал вам в личку.
Автор: Rucobor

Re: Блоки сохранения / чтения данных FinInfo - Wed Mar 02 2016 05:36 PM

Originally Posted By: jhgjrht
Добрым людям большое спасибо.

И вам спасибо!
***убрал вопрос. Разобрался.
Автор: Rucobor

Re: Блоки сохранения / чтения данных FinInfo - Wed Mar 16 2016 01:32 PM

Вопросы есть.
1. Данные, собранные кубиками в ТСлаб 2.0 могут быть использованы в ТСлаб 1.2?
2. И еще. Я собрал агентов. Состав- 2 кубика: Источник и накопитель. Тиковые данные. Вижу, что в папку Data данные пишутся, но в папке с данными ТСлаба особых телодвижений не замечено. Вопрос - не нужна ли в агентах еще и "Панель графика", чтоб данные правильно собирались?
Автор: Rucobor

Re: Блоки сохранения / чтения данных FinInfo - Mon Aug 13 2018 06:28 PM

странное поведение. фьюч Si в ТСлаб 2.0.28.0 записывать не хотят. выдают ошибку:
13.08.2018 9:27:35 138 System.MissingMethodException: Метод не найден: "System.Nullable`1<Double> TSLab.DataSource.FinInfo.get_TheoriticPrice()".
в Indicators.TSLab.Blocks.Fi.FinInfoCache.FinInfoContainsData(FinInfo fi)
в Indicators.TSLab.Blocks.Fi.FinInfoCache.WriteFininfo(ISecurity security, String path, Boolean all, Boolean logging)
в TSLab.User.Script.Execute(IContext context, ISecurity Источник1)

Но крипту нормально пишут. Что с фьючом не так?
Автор: Stan

Re: Блоки сохранения / чтения данных FinInfo - Mon Aug 13 2018 07:56 PM

В 2.0 свои есть кубики стандартные для записи бидов и асков
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Mon Aug 13 2018 08:33 PM

Что-то не то с установленной версией программы или индикатора. Возможно, пытаетесь использовать старую версию.
Метод "TSLab.DataSource.FinInfo.get_TheoriticPrice()" был в версии TSLab 1.2, в 2.0 его нет.
Автор: Rucobor

Re: Блоки сохранения / чтения данных FinInfo - Mon Aug 13 2018 09:47 PM

Originally Posted By: jhgjrht
Что-то не то с установленной версией программы или индикатора. Возможно, пытаетесь использовать старую версию.
Метод "TSLab.DataSource.FinInfo.get_TheoriticPrice()" был в версии TSLab 1.2, в 2.0 его нет.

проверил еще раз. версия та, что в этой ветке: отсюда - "#75702 - Mon Jan 04 2016 10:22 PM.
версия тслаб 2.0.28.0
рядом работающий скрипт с этими же кубиками с бинанса, битрекса и деребита данные качает, а с нашего фортса не может (через quiklua от китфинанса). что не так, хз. поддержка сказала:

"TheoriticPrice"
Что касаеся опционов, в 2.0 абсолютно все по другому. Нужно пересобрать индикатор, с учетом изменений в АПИ.
я им: это ж не опционы! это просто фьюч на си
они: Дело не в этом.
TheoriticPrice передается в инструменте.
У нас появился специальный источник для опционов, в 1.2 его даже не было.
Как раз в этом источнике и выбирается инстурмент, по нему уже выбираются серии опционов.
как-то странно...
хоть тслаб1.2 реанимируй..
у всех все норм? это я один такой несчастный или причина в обновлениеи тслаба?
Автор: Rucobor

Re: Блоки сохранения / чтения данных FinInfo - Mon Aug 13 2018 09:49 PM

Originally Posted By: Stan
В 2.0 свои есть кубики стандартные для записи бидов и асков

да мне не биды и аски. мне другие параметры... ОИ, суммы, ГО...
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Mon Aug 13 2018 10:12 PM

И все же я думаю у Вас работает старая версия моих индикаторов. Посмотрите нет ли в папке "Handlers" файла FininfoCache.dll. Если есть, удалите (перенесите в др. место). У новой версии файл сборки FininfoCache.2.0.dll. В редакторе скрипта (проблемного) можно выделить блок индикатора и увидеть в панели информации (справа) из какой dll он загружен, посмотрите.
Автор: sqifurk

Re: Блоки сохранения / чтения данных FinInfo - Tue Aug 14 2018 08:15 AM

jhgjrht отдельная благодарность!!!

В свое время добавил в ваш Info, запись срезов стакана для создания аналога Quota Mapper - взято для примера из Algovisor(R). Но при тестировании выяснили что количество транслируемых строк ограничено числом 64. Писал в поддержку обещали увеличить до 101. Но лучше конечно до 121.
https://my-files.ru/8s34d8

В 28 версии существует проблемка, то что работало в 27 версии при компиляции не работает в 28. Причина пока не выяснена, так как я в отпуске пишу с удаленки. Но полагаю что проблема в framework так как sharpdevelop 5.1.0 5216, поддерживаема им последняя версию framework 4.5.2.

На вскидку по пробывал поставить Microsoft Visual Studio откампилировал тож не работает. Взял пока паузу отписал в тех поддержку.




Автор: sqifurk

Re: Блоки сохранения / чтения данных FinInfo - Tue Aug 14 2018 10:10 AM

Originally Posted By: Stan
В 2.0 свои есть кубики стандартные для записи бидов и асков


Stan можно детальное уточнение о чем речь. Скрином если можно!
Автор: Stan

Re: Блоки сохранения / чтения данных FinInfo - Tue Aug 14 2018 04:01 PM

Воть
Автор: Rucobor

Re: Блоки сохранения / чтения данных FinInfo - Wed Aug 15 2018 01:23 PM

Originally Posted By: jhgjrht
И все же я думаю у Вас работает старая версия моих индикаторов. Посмотрите нет ли в папке "Handlers" файла FininfoCache.dll. Если есть, удалите (перенесите в др. место). У новой версии файл сборки FininfoCache.2.0.dll. В редакторе скрипта (проблемного) можно выделить блок индикатора и увидеть в панели информации (справа) из какой dll он загружен, посмотрите.

Так и есть. Нашелся там этот лишний файлик. Большое человеческое спасибо!
Автор: Rucobor

Re: Блоки сохранения / чтения данных FinInfo - Wed Aug 15 2018 02:52 PM

Другой вопрос. Почему возникает эта ошибка?
"15.08.2018 14:46:01 138 System.IO.IOException: Процесс не может получить доступ к файлу "C:\Data\SiU8.fid", так как этот файл используется другим процессом.
в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
в System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
в System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
в Indicators.TSLab.Blocks.Fi.FinInfoCache.OpenAndPepareFile(String fname)
в Indicators.TSLab.Blocks.Fi.FinInfoCache.WriteFininfo(ISecurity security, String path, Boolean all, Boolean logging)
в TSLab.User.Script.Execute(IContext context, ISecurity Источник1, ISecurity Источник2, ISecurity Источник3, ISecurity Источник4, ISecurity Источник5)"
Какие ограничения есть на запуск кубиков? Не больше 2-х?
как-то все нормально пашет, потом бац, и ошибка..
Автор: jhgjrht

Re: Блоки сохранения / чтения данных FinInfo - Wed Aug 15 2018 09:08 PM

На кубики в одном скрипте ограничений нет. Но попытки записи в один файл из разных скриптов могут происходить в одно и то же время и приводить к отказу доступа к этому файлу.
Можно использовать разные папки для файлов данных для разных скриптов. Можно чаще пересчитывать скрипт, игнорируя эту ошибку. По хорошему, надо переделать механизм блокировок в индикаторах, но мне влом.
Автор: Rucobor

Re: Блоки сохранения / чтения данных FinInfo - Wed Aug 15 2018 10:51 PM

Originally Posted By: jhgjrht
На кубики в одном скрипте ограничений нет. Но попытки записи в один файл из разных скриптов могут происходить в одно и то же время и приводить к отказу доступа к этому файлу.
Можно использовать разные папки для файлов данных для разных скриптов. Можно чаще пересчитывать скрипт, игнорируя эту ошибку. По хорошему, надо переделать механизм блокировок в индикаторах, но мне влом.

Ясно. Большое спасибо. Раскидаю в разные папки.
Автор: ViL

Re: Блоки сохранения / чтения данных FinInfo - Wed Aug 15 2018 11:28 PM

Это еще может быть, если включен антивирус и в нем стоит проверка при записи файлов на диск.
Автор: holochain

Re: Блоки сохранения / чтения данных FinInfo - Thu Aug 16 2018 06:52 PM

Добрый день. Позволяет ли ваш инструмент работать со стаканом заявок?

1) Например, поставить покупку перед крупным лотом в 100 единиц по мере его появления?
2) Распределить покупку по уровням. Например, лучшая покупка по 6000 у.е. Я хочу купить 100 лотов. Поставить 50 лотов по 5999 и 50 лотов по 5998 (но для этого робот должен увидеть лучшую покупку в стакане).
3) Купить объем по рынку из стакана, чтобы цена не изменилась выше, чем на 0.1%. Таким образом, при депозите на 100 лотов, возможно, "не потревожив рынок" мне надо взять только 35 лотов.

Если нет, то как можно такое реализовать?
Автор: sqifurk

Re: Блоки сохранения / чтения данных FinInfo - Mon Aug 20 2018 06:28 AM

Добрый день!

При использовании QM доработки -возможна любая работа со стаканом заявок.
Можно использовать любые диапазоны строк из стакана в диапазон 0-50 в обе стороны.
Срез из стакана отображает предыдущее значение тика из стакана на момент совершение сделки.

Логику распределения покупки можно разбить на сколько вам угодно частей как вам удобней так и делайте.
Автор: Alexeypas

Re: Блоки сохранения / чтения данных FinInfo - Wed Apr 22 2020 12:13 PM

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