У вас не стоит Flash Player
Page 1 of 13 1 2 3 ... 12 13 >
Настройки
#35632 - Thu Jan 12 2012 01:47 AM Блоки сохранения / чтения данных FinInfo
jhgjrht Offline
writer

Registered: Sun Nov 21 2010
Записи: 428
Блоки сохранения / чтения данных 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


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


Attachments
FininfoCache.rar (608 downloads)
FininfoCache.2.0.rar (177 downloads)
Description: FininfoCache.2.0.rar Для версии программы 2.0



Наверх
#35634 - Thu Jan 12 2012 02:03 AM Re: Блоки сохранения / чтения данных FinInfo [Re: jhgjrht]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8135
Браво!

Наверх
#35635 - Thu Jan 12 2012 02:05 AM Re: Блоки сохранения / чтения данных FinInfo [Re: ViL]
jhgjrht Offline
writer

Registered: Sun Nov 21 2010
Записи: 428
Грааль. smile


Отредактировано jhgjrht (Thu Jan 12 2012 02:23 AM)
_________________________
Не пишите мне! Никому ничего делать не буду.

Наверх
#35639 - Thu Jan 12 2012 10:19 AM Re: Блоки сохранения / чтения данных FinInfo [Re: jhgjrht]
usas Offline
Pooh-Bah

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

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

Наверх
#35641 - Thu Jan 12 2012 11:09 AM Re: Блоки сохранения / чтения данных FinInfo [Re: usas]
jhgjrht Offline
writer

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

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

На 2 типа скрипты разделено специально из соображений макс. производительности и мин. затрат памяти.
_________________________
Не пишите мне! Никому ничего делать не буду.

Наверх
#35642 - Thu Jan 12 2012 11:21 AM Re: Блоки сохранения / чтения данных FinInfo [Re: jhgjrht]
usas Offline
Pooh-Bah

Registered: Sun Feb 21 2010
Записи: 2331
Loc: Ухта
Спасибо, с этим понятно.
Еще вопрос- нельзя ли ограничить накапливаемый объем конечным значением с затиркой "старых" данных? чисто из лени - чтобы не отслеживать объём.. и чтоб скрипт не тормозил..

Наверх
#35655 - Thu Jan 12 2012 01:25 PM Re: Блоки сохранения / чтения данных FinInfo [Re: jhgjrht]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
jhgjrht\\
Запустил, всё работает. Коплю историю smile.
Спасибо! Реальная работа!
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#35675 - Thu Jan 12 2012 09:33 PM Re: Блоки сохранения / чтения данных FinInfo [Re: 777]
SPLsd Offline
old hand

Registered: Thu Apr 22 2010
Записи: 1089
МОЛОДЦОМ!!!!!

Наверх
#35679 - Thu Jan 12 2012 11:21 PM Re: Блоки сохранения / чтения данных FinInfo [Re: usas]
jhgjrht Offline
writer

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


Отредактировано jhgjrht (Fri Jan 13 2012 01:29 AM)
_________________________
Не пишите мне! Никому ничего делать не буду.

Наверх
#35680 - Thu Jan 12 2012 11:33 PM Re: Блоки сохранения / чтения данных FinInfo [Re: 777]
jhgjrht Offline
writer

Registered: Sun Nov 21 2010
Записи: 428
Originally Posted By: 777
Запустил, всё работает. Коплю историю smile.
Спасибо! Реальная работа!
Оцените производительность.
_________________________
Не пишите мне! Никому ничего делать не буду.

Наверх
#35683 - Thu Jan 12 2012 11:45 PM Re: Блоки сохранения / чтения данных FinInfo [Re: jhgjrht]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Да, уже заценил!!! Я в восторге, у меня слов нет!!! smile
Причем этот метод записи очень порадовал, место занимает просто фигня, за день всего 7 мб набежало. Думаю надо просто раз в неделю скидывать файл и писать новый. В транзаке не работает волатильность почему-то на rih2 на алоре подается. Транзак опять что-то сделал и опять не до конца smile


Attachments
1.jpg (654 downloads)

_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#35689 - Fri Jan 13 2012 12:12 AM Re: Блоки сохранения / чтения данных FinInfo [Re: 777]
51ru Offline
journeyman

Registered: Mon Nov 21 2011
Записи: 88
for 777:

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

Наверх
#35706 - Fri Jan 13 2012 01:32 AM Re: Блоки сохранения / чтения данных FinInfo [Re: 51ru]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Не, не так. Я делал не Саро, а для себя, но это другая история.

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

Наверх
#35709 - Fri Jan 13 2012 04:37 AM Re: Блоки сохранения / чтения данных FinInfo [Re: 777]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
зачётно

Наверх
#35747 - Fri Jan 13 2012 04:05 PM Re: Блоки сохранения / чтения данных FinInfo [Re: 777]
captian Offline
Carpal Tunnel

Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
что это за красота неземная?
_________________________
трансляция работы скриптов http://tslab.comon.ru/51FC0A21B9A4E85974B2CAD6450623E6
почта captian@mail.ru скайп captian1963

Наверх
#35749 - Fri Jan 13 2012 04:17 PM Re: Блоки сохранения / чтения данных FinInfo [Re: 777]
captian Offline
Carpal Tunnel

Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
Originally Posted By: 777
Походу есть над чем работать, надо историю тока подкопить.

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


Отредактировано ViL (Thu Feb 02 2012 04:46 AM)
_________________________
трансляция работы скриптов http://tslab.comon.ru/51FC0A21B9A4E85974B2CAD6450623E6
почта captian@mail.ru скайп captian1963

Наверх
#35751 - Fri Jan 13 2012 04:23 PM Re: Блоки сохранения / чтения данных FinInfo [Re: 777]
captian Offline
Carpal Tunnel

Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
Originally Posted By: 777
ну что сказать, в принципе что-то есть, но всё же надо самому варганить ...

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


Отредактировано captian (Fri Jan 13 2012 04:24 PM)
_________________________
трансляция работы скриптов http://tslab.comon.ru/51FC0A21B9A4E85974B2CAD6450623E6
почта captian@mail.ru скайп captian1963

Наверх
#35752 - Fri Jan 13 2012 04:28 PM Re: Блоки сохранения / чтения данных FinInfo [Re: captian]
Gji Offline
member

Registered: Fri Apr 22 2011
Записи: 137
Ну все, выходные у роботописателей отменяются. А с понедельника кукл неожиданно перестанет зарабатывать. smile

Наверх
#35754 - Fri Jan 13 2012 04:54 PM Re: Блоки сохранения / чтения данных FinInfo [Re: Gji]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Где-то ошибка засела, постоянно индекс выскакивает.


Attachments
222.jpg (622 downloads)

_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#35755 - Fri Jan 13 2012 04:57 PM Re: Блоки сохранения / чтения данных FinInfo [Re: 777]
captian Offline
Carpal Tunnel

Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
Originally Posted By: 777
Где-то ошибка засела, постоянно индекс выскакивает.

если речь про объёмы продавцов покупателей, то баг в программе имеется, обещали поправить. Но он не всегда проявляется.
Если ошибка не в этом, то извиняюсь за неуместный коментарий.
_________________________
трансляция работы скриптов http://tslab.comon.ru/51FC0A21B9A4E85974B2CAD6450623E6
почта captian@mail.ru скайп captian1963

Наверх
Page 1 of 13 1 2 3 ... 12 13 >


Moderator:  ViL, sar