Блоки сохранения / чтения данных 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
Если при попытке использовать предлагаемые блоки что-то не получается, то, для начала, попробуйте прочитать этот текст еще раз.