NEW! Datafeed QUIK и MySQL через ODBC ver. 1.5.0
Представляю новую версию моего плагина
Что новенького?
Работает со всеми инструментами (акции, фьючи, облиг, индексы)
OHLC бары строятся на основе всех сделок => исключена потеря данных
Добавлена новая опция в настройки BarsToLoad, позволяющая загружать не последний бар, а N баров из БД (исключает баг с потерей данных)
Системные требования
Quik 5.08 — в нем скорость работы с ODBC БД увеличена на порядки!
MySQL 5.0.45
AmiBroker 4.80.0+
Структура базы данных
Таблица quik_ticks — в нее экспортируются таблица всех сделок квика (обязательные поля в Квике: Номер, Время, Кодбумаги, Цена,Кол-во, Объем, Операция) КодБумаги = название инструмента в Ами
Таблица quotations — в эту таблицу формируются OHLC бары, из нее читает данные Ami
По умолчанию формируются пятиминутки, кто хочет минутки пусть ищут строчку в приложенном .sql файле «Select timestamp(curdate(),maketime(hour(new.T),(minute(new.T) div 5)*5,00)) into ts;», «div 5)*5» заменить на «div 1)*1», или на нужный тайм фрейм.
Краткая инструкция по установке
1. Скачивается архив с плагином и sql файлом.
2. Плагин dll копируется в папку Амиброкера plugins.
3. В MySQL загружается архивированная БД (ODBC Quik feed FIX.sql) — это можно сделать с помошью MySQL Administrator — пункт RESTORE.
4. Ами настраивается, для кушания odbc котировок. Подробные инструкции здесь . Имя таблицы с котировками — quotations. ODBC плугин переписан так, чтобы забирать только N последних котировок из БД.
5. Настраивает экспорт из Квика таблицы всех сделок, настраиваемые ОБЯЗАТЕЛЬНЫЕ поля (Код инструмента, Цена сделки, Количество, Время и Объем сделки (тот что в рублях) )
Подробные инструкции, консультации и обновления в этой ветке. (нужна регистрация)
.sql файл предпочтительно использовать приложенный ниже(тот что идет вместе с плагином можно удалить)
База данных (последняя версия)
Filed under: Плагины для Amibroker'a, Quik | 32 комментария
Метки: Amibroker, Quik
Здравствуйте.
Скажите, пожалуйста, MySQL должен быть обязательно версии не ниже 5.0.45 ?
У меня установлен сервер версии 5.0.41, таблица quik_ticks заполняется, а размер таблицы quotations остается нулевой (видно в MySQL Administrator). Не могу разобраться в чем проблема.
настроил — пропадают бары периодически
MiD, это особенность Амиброкера.
1. Для того чтобы получать стабильно информацию по всем инструментам их надо постоянно обновлять. Поясню: амиброкер получает данные только по тому инструменту который выбран в текущем окне, данные по остальным не получаются! Чтобы это исправить надо либо часто менять или обновлять инструменты, либо запускать Scan с интервалом например 5 сек.
2. В конце дня или перед закрытием Ами, все данные нужно обязательно сохранить.
p.s. Подождите, уже не долго осталось, в данный момент происходить тестирование нового экспорта из квика уже ОФИЦИАЛЬНОГО! В версии 5.09 пляски с бубном и MySQL будут уже не актуальны. Выйдет он скорее всего до НГ.
ок, спасибо. Все понял
да — вышел новый квик — все работает напрямую
Вышел. Работает напрямую, но… трет при выводе ранее накопленную базу. Как я понял, скоро исправить этот минус разработчики не обещают. Т.е. вопрос с ODBC и SQL актуальность не потерял. Не говоря уже вообще о полезности иметь БД котировок.
Добрый день! Подскажите, почему не настраивается соответствие полей «Код бумаги» и «Symbol» (при настройке вывода по ODBC из таблицы всех сделок)? Удивлен. Все остальные — нормально.
Не совсем понял, можете описать Вашу проблему подробнее?
Еще раз здравствуйте! Установил MySQL, загрузил архивированную БД (я не программист, извините, если что не так назову). В квике сделал таблицу всех сделок и все необходимые поля. Теперь для вывода по ODBC, надо настроить соответствие ее полей и полей quik_ticks (таблица из базы MySQL (последняя версия). Щелкаю правой мышью на окне->Вывод по ODBC, открывается «Экспорт в базу данных». В нем после «присоединится» и выбора quikauto.quik_ticks я «cпоткнулся»:
В выпадающем списке «Поле, соответствующие параметру»
для «номера» есть «id», для «цены» — «price», для «времени» — «T» [TIME] и т.д., а для «кода бумаги» и «операции» нет ничего, хотя в списке полей таблицы (справа) все есть:(. В выпадающем же списке нету, а нету — значит нельзя выбрать, значит нельзя настроить вывод. Вот вроде бы и вся проблема, но для меня нерешаемая:(. Спасибо за помощь. Удачи.
Добрый день.
Во-первых, чем Вас не устраивает «родной» экспорт в Ами от Квика?
Во-вторых, если чем-то не устраивает:
попробуйте
1. Переустановить MySQL и БД (скачанную по ссылке База данных (последняя версия)!!!) выше
2. В MySQL Administrator — откройте свойства таблицы и посмотрите есть ли в действительности эти поля.
3. Попробуйте процедуру снова.
з.ы. Мне сложно давать консультации сейчас, т.к. я перешел на MS SQL сервер. Попробуйте задать вопросы в ветке на forex.kbpauk.ru
Спасибо. «Родной экспорт» теряет данные.
Игорь, была та же проблема —
http://quik.ru/user/forum/iwr/25017/25017/
Спасибо, — думал только у меня так. Позор квиковцам, однако.
Здравствуйте!
Настраиваю экспорт в ДБ из квика, нажимаю «начать вывод», тот выдает ошибку:
[MySQL][ODBC 3.51Driver][mysqld-5.5.51b-communiti-nt]incorrect time value: ’18:32:10am’ for columne ‘T’ at row 1
SQLSTATE=S1000
Код ошибки=1292
Полагаю, что это связано с форматом времени 00:00:00am, которого вроде как раньше не было (00:00:00), а появился после очередного обновления версии квика. Может и ошибаюсь, не знаю. Подскажите, — что делать?.
С уважением.
Да дело в формате времени, у меня квик 5.10.68 такого не наблюдается. Попробуйте посмотреть в Панели управления — Региональные настройки и языки — скорее всего неверный формат даты задан там.
Добрый день. Не помогает. Думаю, проблема в этом:
CREATE TABLE `quotations` (
`Symbol` varchar(12) character set cp1251 NOT NULL,
`DT` timestamp NOT NULL default ‘0000-00-00 00:00:00’,
в архивированной датабазе. Как дальше быть, не знаю.
Попробуйте на форуме квика спросить почему у Вас такой специфический формат вывода данных.
Добрый день. Исправилась проблема. Квиковцы убрали «am».
Всего доброго. Спасибо.
Снова добрый день:).
Cделал таблицу в Вашей базе данных.
В квике такую же (в смысле столбцы или поля):
номер, код бумаги, цена, количество, объем, время, операция.
Для тикового графика в амиброкере.
Настроил вывод данных. Все нормально. А как настроить амиброкер, не знаю:
Делаю новую базу данных, нажимаю «Configure» и надо заполнять поля:
Open, High, Low, Close, но данные-то не в барах идут. Как быть?
Дайте совет. Спасибо заранее.
1. В Ами необходимо выбрать таблицу *_quotes, а в *_ticks сделать экспорт из квика.
2. Зайдите через MySQL Administrator, откройте табличку *_quotes там будут 5минутки или тики?
3. Какую таблицу экспортируете из Квика?
Экспорт в _ticks из квиковской таблицы всех сделок.
В табличке _quotes идут 1минутки (я поменял таймфрейм при установке).
А надо тики. Тиковый график в ами просто необходим (есть идея для интрадея).
Хотя, вроде как в ами только 5секундное обновление:(.
Все, разобрался. Спасибо. Все идет. Удачи.
Добый день! Расскажите как вы в ами тики вывели
К сожалению, регистрация не проходит (может упростить нафиг регистрацию эту, на пустом месте траходром часовой) и подробные инструкции по выплевыванию из Quik по ODBC не вижу. В частности, Инструмент* не выплевывается в Symbol
Может какой то простенький doc по подходу (те что в какие поля выливать) выложите. Спасибо заранее
Нереально на сайт попасть, а жаль. Проблема в том, что MySQL ODBC Connector 5+ в Quik глючит на cp1251 именах, наверное как то можно поправить, но я пошел варварским методом и использовал 3.51 где можно явно сказать «set names cp1251» в Initial, короче проблема решилось.
До вашего красивого и правильного решения не судьба добраццо. Просто СССР какой-то, зачем такая вымороченная регистрация
А можно опубликовать точное соответствие полей quik к именам в quik_ticks? Тк иначе приходится гадать .. что такое номер например?
>К сожалению, регистрация не проходит
На пауке? Мыло с цифрами? — Если да, то все мыла с цифрами банятся.
Лучше всего использовать коннектор 3.51, потому что с 5 были проблемы.
Номер — id
Дата — D
Время — T
КодБумаги — Symbol
Цена — Price
Количество — vol
Объем — TurnOver
Операция — Operation
——
p.s. От использования MySQL ушел, сейчас на MS SQL, поэтому не могу в полной мере оказывать поддержку.
Добрый день Angel’s death !
Возникла потребность в использовании «родного» (не переписанного) ODBC.dll
но там засада с периодичностью считывания данных — раз в 5 секунд .
Не могли бы Вы «научить» его считывать данные гораздо чаще , например 0.3-0.5 с ?
Добрый день.
Вам нужно перекомпилировать исходники, в файле plugin.cpp найти строчку SetTimer( g_oData.m_hAmiBrokerWnd, MY_TIMER_ID, 5000, TimerFunc );
5000 — число в миллисекундах, заменить на нужное.
Спасибо большое за помощь , всё зарабатало как нужно , только в настройках правда так и осталась 5секунд , но считывает как и положенно .
Выложил пока предварительную версию плагина для закачки котировок с ММВБ.
MarketGrid® (RU) data Plug-In for AmiBroker v1.0.0 Beta
http://code.google.com/p/amibroker/wiki/MarketGridRU
Закачивает список ценных бумаг и дневные котировки с ММВБ (Акции и ПИФы). Позже добавлю внутредневные данны и другие рынки.
Fine each and every of your respective permission enable me to have your feed to remain up-to-date with
forthcoming publish. With thanks many and you should continue the rewarding work.