Алексей Ван <o-s-a.net>
Алексей Ван <o-s-a.net> личный блог
14 сентября 2014, 10:09

Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel

    В этой статье будет показано, как вывести свечи из Quik в Excel. Кроме того я представлю генератор скрипта для создания таблиц свечей в Quik, с открытым кодом на C#. Он нужен чтобы не разбирать Qple, при выводе свечек из Quik. А это основной затык, в этой простейшей связке. Опишу процесс работы с QuikTableScriptGenerator (далее «генератор скриптов») и дальнейший процесс вывода свечей по DDE в Excel. Всё в картинках и очень подробно. Думается, что всё вместе это поможет хоть немного алгоритмизироваться огромному множеству трейдеров.
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
plan:
1) Введение;
2) Как создать таблицу со свечками в Quik при помощи «генератора скриптов»;
3) Как вывести таблицу из Quik в Excel;
4) Программисту;
5)...;
6) profit.

1 Вместо введения

    Есть такой не совсем быстрый, но очень простой способ создания советников (да и роботов, но надо знать VBA), при котором данные из Quik импортируются по DDE в EXCEL и там происходит их разбор и приведение к каким-то производным. Excel с его «умными» таблицами для этого подходит очень даже хорошо. Вывод по DDE в Quik реализован прекрасно и делается всё в два клика. Простые какие-то графики с производными и прочие расчёты можно и нужно делать в Excel, если нет желания учить несколько лет C# или разбирать несколько месяцев TSLab.


    Когда только думал начать писать торговых роботов, четыре года назад, думал попробовать именно с такого способа. Мне нужны были данные о приращении цен множества инструментов относительно индекса по минутам, за последний час. Тогда я думал, что это будет прорывом в моём Скальпинге. Йохохо… Однако сразу же нарвался на очень большие и на тот момент для меня не преодолимые грабли. Стандартными способами невозможно вывести свечи из Quik по DDE, потому как свечи не хранятся в программе в виде таблиц, а экспортировать можно только их (таблицы). На тот момент в сети ещё не было на каждом шагу этих скриптов преобразующих свечи в таблицы, и плюс их надо редактировать вручную, а для этого понимать Qple хоть чуть — чуть. К чему я был совершенно не готов.  
 
    Четыре года спустя...© у меня в платформе давно реализован генератор скриптов и я хочу им поделиться.
Скачиваем со страницы: sib-algo.ru/?p=162
Что в архиве:
1) Генератор скриптов. Язык реализации C#;
2) Этот пост вместо инструкции;
3) Открытая лицензия.
 

 2 Как создать таблицу со свечками в Quik при помощи «генератора скриптов»

    Для начала нам нужно создать текущую таблицу параметров в Quik, вот так:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
 
И назначить ей следующие поля и источники данных:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
 
В поле «Заголовки столбцов» должны быть поля как на рисунке. В поле «Заголовки строк» необходимо поместить те инструменты, которые планируется выводить по DDE.
Выглядеть всё должно вот так:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
 
    Далее создаём в Quik график того инструмента, который будем выводить по DDE. Именно с тем таймфреймом, который требуется. Это нужно чтобы Quik начал заказывать с сервера брокера соответствующие данные. В нашем случае это будет Сбербанк обыкновенный:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
 
    Далее открываем генератор скриптов и переносим в него необходимые данные, смотря на нашу таблицу текущих параметров:
Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel 
 
Параметр 1 — это префикс к файлу со скриптом, который нужно придумать самому. Это также будущее имя скрипта внутри Quik. Т.ч. не стоит называть два скрипта одним именем...
Параметры 2,3,5 — переносим из таблицы текущих параметров
Параметр 4 — таймфрейм инструмента.
Нажав на кнопку «Указать», отмеченную цифрой 6, надо указать Exeшник Quik, вот так:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
После чего можно нажимать кнопку создать:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
    Если всё нормально, то в этот момент в папке с Quik будет создан файл скрипта и появиться окошко с подтверждением операции:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
 
Далее надо снова зайти в Quik и пройти по меню вот сюда:
Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel 
 
В появившемся меню надо найти в корне Quik наш скрипт и выбрать его:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
В следующем меню выбираем наш скрипт в таблице «Доступные портфели» и нажимаем загрузить локально:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
    После чего закрываем окно.
    Далее идём по главному меню Quik вот сюда:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
Появится окно:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
1) выбираем в таблице «Доступные портфели» наш портфель;
2) Нажимаем на кнопку «Добавить всё».
3) Нажимаем кнопку «Да».
 
И наконец-то можем наблюдать таблицу с нужными нам данными:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
 

3 Выводим таблицу из Quik в Excel

1. Создаём файл Excel в корне Quik (можно где угодно, но мне так удобнее):
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
    1) Я создал файл ExportTest в корне Quik
    2) Переименовал один из его листов в ListSber
    3) Сохранил изменения.
 
    Идём опять в Quik и тыкаем нашу таблицу правой кнопкой мыши:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
    Во всплывающем меню выбираем «Вывод через DDE сервер».
    Появиться следующее меню:
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
1) Жмём на кнопку "..." и находим в меню наш файл Excel, который мы недавно создали. В нашем случае это «ExportTest».
2) Вводим вкладку, на которую будут транслироваться данные. В нашем случае это «ListSber».
3) Проверяем чтобы стояла галочка «Запускать приложение DDE сервера автоматически»
4) Нажимаем «Начать вывод»
    Окошко должно выглядеть следующим образом:
Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel 
 
Теперь смотрим в наш файл Excel И...
 Экспорт котировок из Quik в Excel. БЕСПЛАТНЫЙ и ОТКРЫТЫЙ Генератор Qple скриптов для создания таблицы свечей и инструкция по их экспорту в Excel
Наблюдаем за таблицей свечей.
    Самое главное в этом процессе, это спокойствие и чёткое соблюдение инструкции. Если что-то не получилось, нужно расслабиться и прочитать ещё раз список действий. Повторюсь:
1) Создаём таблицу текущих параметров с инструментом который хотим вывести;
2) Создаём график инструмента, который планируется выводить. Таймфрейм также должен совпадать с тем, который будем выводить;
3) Загружаем генератор скрипта и аккуратно  заполняем все поля. Указываем местоположение Quik и создаём скрипт;
4) Подгружаем наш скрипт/потрфель в Quik. Активизируем его для просмотра. И создаём таблицу свечей;
5) Создаём Excel файл;
6) Настраиваем вывод по DDE;
7) Радуемся жизни...
 
Проблемы могут возникнуть, в случае если в папку с Quik запрещена запись либо «генератор скриптов» открыт не от лица администратора. Так что, прежде всего, необходимо это дело проверить и исправить.
 

4 Программисту

    Если ты всё ещё редактируешь скрипты вручную (ФИ!), то можно взять из представленного проекта два класса QuikScriptGenerator.cs и QuikScriptGeneratorUI.cs и, переименовав их namespace на свой, использовать их для этого. Как их использовать смотри в program.cs. Там происходит создание объекта «генератор скрипта» и вызов его меню. Всё очень и очень просто.
  

5 Начинающему программисту

     Эти же скрипты и таблицы можно использовать для вывода свечей по DDE в свои приложения и платформы (как это у меня происходит в обёртке для Quik), для этого нужно развернуть свой DDE сервер, о чём я напишу немного позже. Поэтому тренируйся пока на Excel, сохрани ссылку на этот блог, поставь плюс статье и иди за попкорном.
 
upd:
    Скрипт создаёт таблицы свечей с таймфреймом максимум часовым. К сожалению мне выше таймфреймы не нужны и я особо не парился по этому поводу. Если у кого-то есть скрипт для выгрузки дней/недель, будьте добры дайте ссылку, родина вас не забудет.
 
36 Комментариев
  • Евгений Макеев
    14 сентября 2014, 10:41
    Спасибо!
  • sozday
    14 сентября 2014, 10:59
    ++++++++++++
  • quant_trader
    14 сентября 2014, 10:59
    Попробуйте запустить экспорт хотя бы 10 тикеров. Тслаб имхо уделывает по скорости и удобству такой вариант.

    Цимес роботов в екселе это когда бары не нужны, работа с ттп по большому числу инструментов например.
  • А. Г.
    14 сентября 2014, 12:29
    Полезный продукт для «неспешных» роботов. Только одна проблема у qpile, экспортирующего бары из графиков: последняя свеча после попадания в Excel может меняться до появления новой несколько раз. Просто графики в квике строят свечу по времени, а потом изменяют ее в случае появления ранее незакаченных сделок из последней свечи. И окончательная свеча формируется только появления новой последней (может и раньше, но для минуток были случае изменений до появления следующей минуты).

    Поэтому если нужна 100% точность свечей, лучше самому качать таблицу сделок по DDE и строить свечи с помощью того же vBA.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн