Экспорт котировок из QUIK в SierraChart

Опубликовано в Утилиты

SierraChartЗаказчику потребовались котировки российской биржи в программе SierraCharts. Я никогда с ней не работал. Однако беглое знакомство оставило очень приятное впечатление. Простая, легкая, с богатыми возможностями (часть из которых отсутствует в большинстве аналогичных программ) плюс встроенный язык С++. При всем том программа активно развивается, ожидается выход Linux варианта.

 

Что должен делать этот адаптер?

Экспортировать ленту всех сделок терминала по интересующим бумагам в базу данных SierraCharts. Требуемые поля:

  1. Дата
  2. Время (с миллисекундами)
  3. Open
  4. High
  5. Low
  6. Close
  7. Объем покупки
  8. Объем продажи

Конечно, адаптер должен уметь докачивать пропущенную историю. 

Особо отмечу, что в 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 в других системах технического анализа.

Публикуется с разрешения Заказчика.