+7 _929 77 00 00 6 (Viber, WhatsApp, Telegram)     info@kbrobot.ru     qpiles@gmail.com (запасной)    

MYSQL. Торговый робот QUIK с ODBC

Торговый терминал QUIK обладает очень важным свойством. В нем есть поддержка вывода информации в базу данных( далее, БД) .Что такое база данных? По сути, это совокупность нескольких файлов, в которых по определенной структуре хранится информация. И это может помочь нам при разработке торгового робота в QUIK.

Сервер базы данных - это программа, которая позволяет оперировать с этим набором файлов и обеспечивает операции ввода-вывода с высокой скоростью. Самой распространенной и бесплатной базой является MySQL. Она очень проста и удобна. О том, как настроить вывод из QUIK в MYSQL сейчас мы и поговорим.

Логотип базы данных MYSQL. Эта база данных нужна, что бы делать роботов для QUIK

Для чего нужен вывод из QUIK в MYSQL?


Основное преимущество вывода в MySQL перед остальными способами обработки информации в QUIK (QPILE, WEALTH-LAB, METASTOCK, DDE-СЕРВЕР) это скорость и объем информации, который можно таким способом проанализировать. Можно проанализировать 1, 2 или 4 стакана с помощью QPILE (как в торговый роботе для QUIK «Скальпер» ). Можно обработать 20-30 стаканов с помощью DDE-СЕРВЕРА, написанного на каком-нибудь языке программирования, таком как C#, DELPHI, C++. Но никогда не получится анализировать ВСЕ! стаканы на бирже без помощи БД. Никогда не получится поработать с высокой скорость без вывода по ODBC в MySQL. Поэтому для определенного круга задач - такой прием является выходом.

Как настроить вывод из QUIK в MYSQL?


1. Скачать и установить MySQL.

Перейдите на сайт MySQL.COM, скачайте и установите последнюю версию. При этом рекомендуется выбрать ручной способ настройки при установке. В настройках на нужных вкладках не надо создавать никаких паролей, укажите путь, где будет лежать база, и установите кодировку символов CP1251.


Скачиваем Mysql для QUIK

2. Скачать, установить и настроить ODBC коннектор.

Скачайте по ссылке mysql-connector-odbc-3.51.27-win32. Если у Вас 64 битная операционная система, то можно попробовать скачать здесь MySQL.COM, но за чистоту эксперимента не ручаемся.


 Коннектор для Mysql для QUIK

Устанавливаем ODBC connector по умолчанию. Эта программа нужна, что бы организовать связь между QUIK и MySQL.

3. Создать базу и таблицу внутри нее.



Запускаем интерфейс для работы с MYSQL, как показано на картинке


Командная строка для Mysql

Сразу консоль попросит пароль. Если Вы его не прописывали при установке MySQL, то просто жмем клавишу ENTER. Дальше нам нужно создать базу. Для это просто пишем в строке


create database lesson;




И жмем ENTER. Результат видно на картинке.


Запрос создания базы данный в MYsql для вывода информации для торгового робота в QUIK


База создана! Теперь осталось создать таблицу, в которую будем выводить данные из ТАБЛИЦЫ ВСЕХ СДЕЛОК торгового терминала QUIK.
Эта таблица будет содержать следующие столбцы: ВРЕМЯ, ЦЕНА, КОЛИЧЕСТВО, ОПЕРАЦИЯ. Все эти столбцы нужно также создать в таблице базы данных, прописав следующий запрос:


use lesson;
Это нужно для присоединения к базе. Без этого будет ошибка NO DATABASE SELECTED



create table all_trades(time time,price float,volume int,dir varchar(7));




Как показано на картинке:


Создание таблицы в Mysql для QUIK

4. Настраиваем MySQL как источник данных ODBC.

Переходим в ПАНЕЛЬ УПРАВЛЕНИЯ-АДМИНИСТРИРОВАНИЕ-ИСТОЧНИКИ ДАННЫХ ODBC . В появившемся окошке кликните клавишу ДОБАВИТЬ.


ODBC  драйвер MYSQL для вывода данных в механическую торговую систему

Из списка выбираем MySQL ODBC 3.51 DRIVER. При этом появится окошко настроек драйвера для MYSQL.
Настройки должны быть такие же как на картинках:


Настройки MYSQL для QUIK

Настройки MYSQL для QUIK

После этого, если при нажатии клавиши TEST появилось сообщение SUCCESS! CONNECTION MADE-значит все сделано правильно. Закрываем окошки,нажав клавиши OK

5. Выводим данные из QUIK по ODBC.



Создаем ТАБЛИЦУ ВСЕХ СДЕЛОК в QUIK для любого нужного Вам инструмента со столбцами: ВРЕМЯ, ЦЕНА, КОЛИЧЕСТВО, ОПЕРАЦИЯ. После щелкаем правой клавишей по таблице и выбираем ВЫВОД ПО ODBC. Кликаем на тип базы данных MYSQL, вбиваем в поле имя root и жмем клавишу ПРИСОЕДИНИТЬСЯ, как показано на картинке:


Экспортирование информации из QUIK в MYSQL для торгового робота QUIK

Осталось только кликнуть на таблицу lesson.all_trades, в которую собираемся выводить данные и настроить соответствие столбцов таблицы базы данных MYSQL и ТАБЛИЦЫ ВСЕХ СДЕЛОК QUIK. Так же выбираем обязательно чекбоксы: ЧИСТИТЬ ТАБЛИЦЫ ПЕРЕД ВЫВОДОМ
(что бы данные не копились. Старые будут удаляться) и ФОРМАЛЬНЫЕ ИМЕНА(вместе КУПЛЯ ПРОДАЖА будет выводиться B и S)


Экспортирование информации из QUIK в MYSQL для торгового робота QUIK

Остается только кликнуть на НАЧАТЬ ВЫВОД ДАННЫХ, и экспорт начнется.

Но если Вы не хотите возиться с настройками MYSQL и QUIK, то наши специалисты помогут Вам при создании торгового робота на заказ.

Фондовая биржа, подобна вымистой буренке: одних трейдеров языком слизывает, а другим сама вымя подставляет.

-Константин Мадей

5 ответов

  1. Не работает, вывод в квике идет, но таблица не наполняется
  2. Сергей
    Добрый день! 1. Можно обновить данную статью, т.к. mysql уже 5.6.3 и настройки очевидно другие. ODBC connector другой со своими настройками. И уже 2015г 2. Как можно качать исторические данные c Yhoo, Google finance, сайта Фина в mysql? Хорошо бы такую статью еще написать. Это возможно написать? Заранее спасибо.
  3. Владимир
    Благодарю вас, с помощью ваших настроек удалось организовать вывод по ODBC ! Ключевой информацией для меня оказалась указанная вами версия драйвера 3.51 ODBC для MySql и указание номера кодовой страницы cp1251 в настройке драйвера. С версией 5.1 отчего-то вывод не происходил, были проблемы с полем типа VARCHAR. Указание на необходимость указания имя пользователя root тоже было весьма полезно ! Благодарен, В.Романовский
    • admin
      Владимир, здравствуйте! Техническую поддержку мы оказываем только нашим клиентам

Оставить комментарий


+ четыре = 13