Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Экспорт данных по ODBC Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
tlt-vlad



Зарегистрирован: 19.01.2008
Сообщения: 162
Откуда: ... теперь Москва

СообщениеДобавлено: Пт Мар 21, 2008 10:00 pm Ответить с цитатой Вернуться к началу

На ПАУКе в разделе Ами есть ветка про экспорт данных из Квика в Амиброкер с использованием СУБД MySQL .
Вкратце суть : из Квика экспортируется "Таблица всех сделок " в БД MySQL там после обработки на выходе имеем O,H,L,C,V,SYMBOL,DT и т.д. ,далее при помощи плагина ODBC.dll и ODBCA.dll ( скачал на сайте Амиброкера) цепляемся к БД и "кушаем" котировки.

Согласно документации по настройке БД в Ами [url] http://www.amibroker.com/odbc.html следует , что таким путём можно из внешней СУБД выдернуть практически любые данные .
Но вот у меня получилось только O,H,L,C,V Symbol,DT , а хотелось бы ещё кое что .
Подскажите , что я делаю не так ??? Question

Вввожу в AFL Editor
///B///
odbcOpenDatabase("ODBC;DATABASE=quikauto;DSN=mysql;OPTION=0;PWD=twix;PORT=0;SERVER=localhost;UID=root");
Graph0=odbcGetArraySQL("SELECT B, DT FROM quotations WHERE Symbol='EESR'ORDER BY DT Asc");
Graph0Style= styleHistogram ;
Graph0=colorRed;

и в Ами ни чего не отображается ( хотя запрос SELECT B, DT FROM quotations WHERE Symbol='EESR'ORDER BY DT Asc в MySQL отрабатывается отлично .

Настройка БД Амиброкера показывает что Ами нашёл необходимую внешнюю БД и видит все имеющиеся таблицы и имеющиеся столбы таблиц .
У меня сложилось мнение , что я просто не правильно выполняю запрос , либо что то с ODBCA.dll ( плагин отвечает за работу с AFL code) ???


[/url]
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Сб Мар 22, 2008 6:20 pm Ответить с цитатой Вернуться к началу


_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
tlt-vlad



Зарегистрирован: 19.01.2008
Сообщения: 162
Откуда: ... теперь Москва

СообщениеДобавлено: Сб Мар 22, 2008 6:59 pm Ответить с цитатой Вернуться к началу

Посмотреть профиль Отправить личное сообщение
qitt



Зарегистрирован: 09.04.2008
Сообщения: 5

СообщениеДобавлено: Вт Июн 17, 2008 1:25 pm Ответить с цитатой Вернуться к началу

Добрый день! Спасибо за хороший сайт.
Вы хорошо разбираетесь в Амиброкере.
Поэтому решил спросить у Вас:
Сделал таблицу в Базе Данных(от Angel's death).
В квике такую же (в смысле столбцы или поля):
номер, код бумаги, цена, количество, объем, время, операция.
Для тикового графика в амиброкере.
Настроил вывод данных. Все нормально. А как настроить амиброкер, не знаю:
Делаю новую базу данных, нажимаю "Configure" и надо заполнять поля:
Open, High, Low, Close, но данные-то не в барах идут.
Когда оставил их пустыми, то вот что вышло: см. рис.
Сплошные непонятки Smile Дайте совет.
Игорь.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Июн 17, 2008 11:52 pm Ответить с цитатой Вернуться к началу

Цитата:
Сделал таблицу в Базе Данных(от Angel's death).
В квике такую же (в смысле столбцы или поля):

Angel's death делал две связанных таблицы. В первую получал из квика таблицу всех сделок и из неё формировал 5минутки во вторую таблицу к которой и подключал Ами. Кроме того он еще при этом химичил с форматом Времени/Даты. Точнее ничего подсказать не могу.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
tlt-vlad



Зарегистрирован: 19.01.2008
Сообщения: 162
Откуда: ... теперь Москва

СообщениеДобавлено: Ср Июн 18, 2008 6:38 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Цитата:
Сделал таблицу в Базе Данных(от Angel's death).
В квике такую же (в смысле столбцы или поля):

Angel's death делал две связанных таблицы. В первую получал из квика таблицу всех сделок и из неё формировал 5минутки во вторую таблицу к которой и подключал Ами. Кроме того он еще при этом химичил с форматом Времени/Даты. Точнее ничего подсказать не могу.


В вышеуказанной БД нужно внести изменения в некоторый триггер и получить другой тайм и ещё много чего ...
Посмотреть профиль Отправить личное сообщение
fewry



Зарегистрирован: 06.10.2009
Сообщения: 61

СообщениеДобавлено: Сб Мар 20, 2010 12:00 am Ответить с цитатой Вернуться к началу

по ODBC.
помогите вытянуть данyые из БД
со страницей http://www.amibroker.com/odbc.html ничего не понял. туго у меня с этим.
Источник данных 1.mbd там две колонки: Vol(объем) и Op(купля или продажа)). Как например построить график используя только значения Vol?

смог намудрить только такое:
Код:

odbcOpenDatabase("ODBC;DATABASE=ODBC;DSN=1;OPTION=0;PORT=0;UID=root");
odbcSetFieldNames("ticker", "datetime" );
Graph0=odbcGetArray("1", "V", "Vol");
Graph0Style= styleLine ;
Graph0=colorRed;
Посмотреть профиль Отправить личное сообщение
fewry



Зарегистрирован: 06.10.2009
Сообщения: 61

СообщениеДобавлено: Сб Мар 20, 2010 12:00 am Ответить с цитатой Вернуться к началу

по ODBC.
помогите вытянуть данyые из БД
со страницей http://www.amibroker.com/odbc.html ничего не понял. туго у меня с этим.
База данных в ами ODBC. Источник данных 1.mdb там две колонки: Vol(объем) и Op(купля или продажа)). Как например построить график используя только значения Vol?

смог намудрить только такое:
Код:

odbcOpenDatabase("ODBC;DATABASE=ODBC;DSN=1;OPTION=0;PORT=0;UID=root");
odbcSetFieldNames("ticker", "datetime" );
Graph0=odbcGetArray("1", "V", "Vol");
Graph0Style= styleLine ;
Graph0=colorRed;
Посмотреть профиль Отправить личное сообщение
tlt-vlad



Зарегистрирован: 19.01.2008
Сообщения: 162
Откуда: ... теперь Москва

СообщениеДобавлено: Сб Мар 20, 2010 8:06 pm Ответить с цитатой Вернуться к началу

Если мне не изменяет память, то нужно ещё привязаться к времени Wink . БД должна содержать поле Time.

Например:
Код:

_SECTION_BEGIN("buy_volume");
odbcOpenDatabase("ODBC;DATABASE=quik;DSN=quik;OPTION=0;PWD=password;PORT=0;SERVER=localhost;UID=root");

Var1=odbcGetArray("quota","","B_V");

Plot(Var1,"buyvol",43,styleHistogram|styleThick);
_SECTION_END();
Посмотреть профиль Отправить личное сообщение
fewry



Зарегистрирован: 06.10.2009
Сообщения: 61

СообщениеДобавлено: Вс Мар 21, 2010 12:22 am Ответить с цитатой Вернуться к началу

tlt-vlad писал(а):
Если мне не изменяет память, то нужно ещё привязаться к времени Wink . БД должна содержать поле Time.

Например:
Код:

_SECTION_BEGIN("buy_volume");
odbcOpenDatabase("ODBC;DATABASE=quik;DSN=quik;OPTION=0;PWD=password;PORT=0;SERVER=localhost;UID=root");

Var1=odbcGetArray("quota","","B_V");

Plot(Var1,"buyvol",43,styleHistogram|styleThick);
_SECTION_END();


Хорошо. Но так и не получилось что-либо построить.
1)а что такое SERVER=localhost? в описании по ODBC нет такого.
2)В строке Var1=odbcGetArray("quota","","B_V"); quota - это имя БД или что?
Или пожалуй, пожалуйста распишите параметры функции
odbcGetArray( "tablename", "symbol", "fieldname" )
а то я недопонимаю что написано в инструкции.
Посмотреть профиль Отправить личное сообщение
tlt-vlad



Зарегистрирован: 19.01.2008
Сообщения: 162
Откуда: ... теперь Москва

СообщениеДобавлено: Вс Мар 21, 2010 12:54 pm Ответить с цитатой Вернуться к началу

MAAAN779 писал(а):
tlt-vlad писал(а):
Если мне не изменяет память, то нужно ещё привязаться к времени Wink . БД должна содержать поле Time.

Например:
Код:

_SECTION_BEGIN("buy_volume");
odbcOpenDatabase("ODBC;DATABASE=quik;DSN=quik;OPTION=0;PWD=password;PORT=0;SERVER=localhost;UID=root");

Var1=odbcGetArray("quota","","B_V");

Plot(Var1,"buyvol",43,styleHistogram|styleThick);
_SECTION_END();


Хорошо. Но так и не получилось что-либо построить.
1)а что такое SERVER=localhost? в описании по ODBC нет такого.
2)В строке Var1=odbcGetArray("quota","","B_V"); quota - это имя БД или что?
Или пожалуй, пожалуйста распишите параметры функции
odbcGetArray( "tablename", "symbol", "fieldname" )
а то я недопонимаю что написано в инструкции.

Данный скрипт состоит из трёх строк.
1.Параметры базы данных (внешеней , к которой цепляется Ами).
2. Инициализируем переменную , выполняя запрос.
3.Выводим полученный , в данном случае массив на экран.

По Вашим пунктам.
1. Параметры соединения с внешним источником данных (напрмер MySQL). Прописывается , а при необходимости и создаётся Wink , следающим образом : Пуск->Панель управления->Администрирование->Источники данных(ODBC) . На вкладке пользовательский DNS : Добавить, далее выбираем из списка драйверов MySQL ODBC 3.51 Driver ( если его нет, то предварительно устанавливаем ). Жмём готово.
Далее в новом окне, на вкладке Login прописываем, вышеупомянутые параметры внешней БД ( в нашем случае используем сервер MySQL , созданная база данных ( на сервере) имеет имя "quik").
В описании всё это есть....
2.quota - имя таблицы , нашей базы данных quik.

"...odbcGetArray( "tablename", "symbol", "fieldname" )
а то я недопонимаю что написано в инструкции ..."


odbcGetArray( "имя таблицы нашей внешней БД , откуда мы собираемся тянуть данные", "наша таблица должна содержать поле "symbol", в этом поле прописываем название того symbol для которого хотим тянуть данные, если пишем "" то данные выводятся по умолчанию ", "название поля - столбца который мы хотим вывести в Ами, например B_V" ).
Удачи Wink
Посмотреть профиль Отправить личное сообщение
fewry



Зарегистрирован: 06.10.2009
Сообщения: 61

СообщениеДобавлено: Вс Мар 21, 2010 3:27 pm Ответить с цитатой Вернуться к началу

спасибо! не хватало этого драйвера. но тут новые препятствия - нажимаю указать Database и тут ошибка. мне уже стало пофиг на этот одбк столько непоняток и косяков возникает, и видимо я там ничего полезного не найду, раз "вселенная" так отстраняет от меня одбк))
Посмотреть профиль Отправить личное сообщение
tlt-vlad



Зарегистрирован: 19.01.2008
Сообщения: 162
Откуда: ... теперь Москва

СообщениеДобавлено: Вс Мар 21, 2010 7:13 pm Ответить с цитатой Вернуться к началу

Хотелось бы уточнить, какая прога у Вас установлена - MySQL или Аccess? Создана ли у в ней соответствующая база данных ? Судя по расширению (.mdb) , Вы юзаете Аccess.
Советую отказаться от Аccess, ибо тормозит, а если собираетесь прелапатить тиковые данные, то лучше к другой проге, как вариант MySQL. Все вышеописанные действия были неоднократно проверены на ней.
Посмотреть профиль Отправить личное сообщение
tlt-vlad



Зарегистрирован: 19.01.2008
Сообщения: 162
Откуда: ... теперь Москва

СообщениеДобавлено: Вс Мар 21, 2010 8:03 pm Ответить с цитатой Вернуться к началу

MAAAN779 писал(а):
... мне уже стало пофиг на этот одбк столько непоняток и косяков возникает, и видимо я там ничего полезного не найду, раз "вселенная" так отстраняет от меня одбк))

Сдался без боя... так далеко не уедешь. Настойчивость и терпение в достижении цели, а так же трудолюбие, хорошие помощники. Cool
Посмотреть профиль Отправить личное сообщение
fewry



Зарегистрирован: 06.10.2009
Сообщения: 61

СообщениеДобавлено: Вс Мар 21, 2010 9:56 pm Ответить с цитатой Вернуться к началу

не получился не DDE не ODBC Very Happy. не шарю я в таких вещах вообще. для меня надо писать подробнейшую инструкцию или видео - а кто так будет со мной няньчиться). хз как там с этим драйвером - выдает ошибку и все.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen