Экспорт котировок из QUIK в SierraChart
Заказчику потребовались котировки российской биржи в программе SierraCharts. Я никогда с ней не работал. Однако беглое знакомство оставило очень приятное впечатление. Простая, легкая, с богатыми возможностями (часть из которых отсутствует в большинстве аналогичных программ) плюс встроенный язык С++. При всем том программа активно развивается, ожидается выход Linux варианта.
Что должен делать этот адаптер?
Экспортировать ленту всех сделок терминала по интересующим бумагам в базу данных SierraCharts. Требуемые поля:
- Дата
- Время (с миллисекундами)
- Open
- High
- Low
- Close
- Объем покупки
- Объем продажи
Конечно, адаптер должен уметь докачивать пропущенную историю.
Особо отмечу, что в Sierra Chart адаптер должен экспортировать не только о цены, но и направление сделок.
После осознания API SierraCharts я решил написать адаптер самым простым и надежным способом - на языке Lua терминала. Использовать С++ или иные низкоуровневые языки нет особого смысла - при некоторой фантазии средств Lua достаточно.
Как это выглядит?
Назначаем инструменты, необходимые для экспорта в обычном текстовом файле. Допустим, мы желаем экспортировать данные по фьючерсу на индекс РТС и котировки Сбербанка:
| [Фьючерс на индекс РТС] | // Название секции | ||
| SECCODE | = | RIM4 | // Код инструмента |
| CLASSCODE | = | SPBFUT | // Класс инструмента |
| SCIDPATH | = | E:\SierraChart\Data\rim4.scid | // Путь с базе данных SierraCharts |
| [Сбербанк] | |||
| SECCODE | = | SBER | |
| CLASSCODE | = | TQBR | |
| SCIDPATH | = | E:\SierraChart\Data\sber.scid |
В полной версии имеется возможность использовать для настройки параметров конфигуратор.
Настройка завершена. В любой момент можно добавить или удалить инструмент в списке экпорта. Теперь запускаем скрипт экспорта обычным для терминала Quik способом. При наличии связи с брокером экспорт сразу же начнется.
В дальнейшем никаких действий скрипт от пользователя не требует - при запуске терминала он автоматически начнет свою работу вновь и будет дописывать новые данные в базу.
Что в результате?

Вот так выглядит тиковый график сбербанка в окне SierraChart. Параметры выделенной сделки (помеченная прозрачным кружком) показаны вверху окна. Я увеличил изображение. Видны дата, время с миллисекундами, цены open, low, high, close (на тиковом графике они, очевидно, совпадают), объем сделки, количество сделок (на тиковом графике, естественно это 1) и количество купленного или проданного.
Этот же график можно увидеть на любом другом таймфрейме. Привожу скриншот с графиками тикового, минутного, 5- и 10 минутного таймфреймов. При желании можно строить графики Renko и другие экзотические типы графиков.

Выделенная свеча имеет следующие параметры:
- Дата 30-05-2014
- Время начала свечи 18:28
- Open 85.05
- High 85.07
- Low 85.00
- Close 85.02
- Объем 25965
- Сделок 175
- Продано (округлённо) 23700
- Куплено 2302
Доступна демо-версия.
Устройство программы SierraChart предоставляет очень приятную возможность разнести терминал Quik и SierraCharts на разные компьютеры в локальной сети. При этом достаточно указать сетевой путь вместо локального. Также нет никаких ограничений на экспорт данных из разных терминалов одновременно. Например, один брокер предоставляет информацию с Московской биржи, а другой с NASDAQ. Нет проблем экспортировать эти данные из обоих терминалов в одну SierraCharts, при этом все программы могут располагаться на разных компьютерах в пределах одной локальной сети.
P.S. Эксперименты показали, что SierraCharts можно успешно создавать роботы, которые способны выставлять заявки и получать таблицы квик, используя AmiSharp. Принцип не отличается от использования AmiSharp в других системах технического анализа.
Публикуется с разрешения Заказчика.
