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

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

 

 

Комментарии   

# Mah 27.04.2016 20:09
Сразу приношу извинения за "чайниковский" вопрос, но описанный адаптер только качает инфу из quik или позволяет из Sierra торговать (отправлять заявки в quik)?
Ответить | Ответить с цитатой | Цитировать
# admin 27.04.2016 20:11
Здравствуйте.

Этот адаптер только вкачивает котировки сиере в базу.

Торговать из сиеры можно с помощью амишарпа, например.
Ответить | Ответить с цитатой | Цитировать
# Mah 27.04.2016 20:43
Михаил, а адаптер торгующий из Ninja Trader в quik (тот, что закачивает котировки гуляет в сети) как возможно реализовать?
Ответить | Ответить с цитатой | Цитировать
# admin 27.04.2016 20:51
Неясен ваш вопрос.

1. Можно ли выставлять торговые приказы из Ниндзи в Квик? - Да, можно. Через тот же амишарп или каким-то другим способом.

2. Можно ли реализовать адаптер, аналогичный тому, что гуляет в сети? - Думаю, ответ очевиден :lol:
Ответить | Ответить с цитатой | Цитировать
# kirilion 06.07.2016 23:47
Здравствуйте.Я правильно понял ,что через амишарп будет возможность пользоваться полным торговым функцыоналом нинзи ?
Ответить | Ответить с цитатой | Цитировать
# admin 06.07.2016 23:55
Я не могу гарантировать , но никаких препятствий к этому я не вижу
Ответить | Ответить с цитатой | Цитировать
# kirilion 07.07.2016 11:42
День добрый.Не совсем понял ваш ответ?Хотелос бы по определенней. если не будут работать торговые функции нинзи при данном амишарпе то будет проведена работа по доведению до нормы.Правильно ли я понял последнюю фразу вашего сообщения], но никаких препятствий к этому я не вижу[/
Ответить | Ответить с цитатой | Цитировать
# admin 07.07.2016 12:06
Амишарп ничего не знает про ниндзю.

Ниндзя ничего не знает про амишарп.

Наличие в ниндзе встроенного языка программировани я позволяет с легкостью получать нее информацию из амишарпа и выставлять заявки в Квик при помощи амишарпа.

Готового фреймворка или библиотек для ниндзи у меня нет: я ей не пользуюсь и никто не заказывал.
Ответить | Ответить с цитатой | Цитировать
# kirilion 07.07.2016 12:31
отправил запрос к вам на скайп.
Ответить | Ответить с цитатой | Цитировать
# vivi 09.03.2017 23:14
а можно ли как то отвязать сиерру от логин-пароля? чтобы она запускалась без этого окна сразу, и были все индюки, ведь она посути нужна только для отображения графиков, а историю для нее дает квик
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий


Защитный код
Обновить