Автор |
Сообщение |
Novi4ok
Зарегистрирован: 15.08.2008
Сообщения: 127
|
в квике у фьючей есть такое понятие как "Текущая позиция"
через DDE в Excel можно вывести, а также есть вывод по ODBC.
как бы эту инфу импортировать в АМИ?
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Я плучал в Ами позиции из Квика. В общем Не так просто, но и не сказать, что не возможно.
Код: |
odbcOpenDatabase("ODBC;DSN=000;Driver=Firebird/InterBase(r) driver;Dbname=C:/TEST1.FDB;CHARSET=ASCII;PWD=masterkey;UID=SYSDBA;Client=C:/Program Files/Firebird/Firebird_2_1/bin/fbclient.dll;");
real_market_position = Nz(odbcGetValue("TABLE01", "", "FIELD02")); |
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Novi4ok
Зарегистрирован: 15.08.2008
Сообщения: 127
|
огромное спасибо!
я думал в ексель, оттуда в текстовый файл гнать
--
хм что-то Амиброкер такой функции не знает odbcOpenDatabase
---
я так понимаю, нужно эту dll скачать или целиком Firebird устанавливать?
а у Windows XP Pro разве нет своего ODBC-сервера?
в разделе "Администрирование" есть раздел "Источники данных ODBC" (ODBC Data Source Administrator).
там варианты:
OutpostDatabase,
База данных MSAccess,
Файлы DBASE,
Файлы Excel |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
хм что-то Амиброкер такой функции не знает odbcOpenDatabase |
Плагин есть такой http://www.amibroker.com/odbc.html
Цитата: |
я так понимаю, нужно эту dll скачать или целиком Firebird устанавливать? |
Чтобы появилась такая функция нунжа dll (плагин)
А в качестве BD я (по совету друзей ) использовал Firebird
В принципе не обязательно его. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Novi4ok
Зарегистрирован: 15.08.2008
Сообщения: 127
|
ух ты....
как здорово!
это ж можно стакан экспортировать.
вопрос только сможет ли эта БД обновляться раз в секунду |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Avante
Зарегистрирован: 07.05.2009
Сообщения: 55
Откуда: с Луны
|
Novi4ok писал(а): |
ух ты....
как здорово!
это ж можно стакан экспортировать.
вопрос только сможет ли эта БД обновляться раз в секунду |
Ага, супер.
В Ами эта функция появилась, а вот импорт/экспорт в винде не могу настроить.
Подскажите, что куда добавлять нужно:
- Пользовательский DSN
- Системный DSN
- Файловывй DSN
- Драйверы
- Группировка подключений
После установки драйвера Easysoft Firebird, он появился по вкладке "драйверы".
Файл TEST1.FDB создал с помощью блокнота, но вот экспорт в него не могу настроить.
Что еще где нужно сделать? |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Я в БД нифига не смыслю. Создавал БД и смотрел её содержимое при помощи Firebird Maestro. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Avante
Зарегистрирован: 07.05.2009
Сообщения: 55
Откуда: с Луны
|
Ладно сейчас тоже через эту прогу попробую.
Но у меня уже в впечатление, что я вообще ни в чем не смыслю |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Avante
Зарегистрирован: 07.05.2009
Сообщения: 55
Откуда: с Луны
|
Уф... все, разобрался!
все заработало, ура! |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Так не жлобься. Опиши. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Avante
Зарегистрирован: 07.05.2009
Сообщения: 55
Откуда: с Луны
|
Ага, описываю, точнее, немного добавлю к тому, что уже написано Олегом (ООО).
Итак, все по порядку:
Как уже было сказано, скачиваем плагин для работы Ami c базами данных по ODBC: http://www.amibroker.com/odbc.html
и кладем этот файлик в папку Plugins каталога AmiBroker.
Теперь необходимо создать саму базу данных и зарегистрировать ее, чтобы ей мог воспользоваться Quik для экспорта.
Для создания БД понадобится одна из программ импорта-экспорта. Я использовал Firebird 2.1: http://www.firebirdsql.org/index.php?op=files
Про то, как создать и внести изменения в БД с использованием утилиты isql, входящей в компект Firebird 2.1 можно почитать здесь:
http://www.devrace.com/ru/fibplus/articles/3359.php или здесь:
http://www.ibprovider.com/rus/documentation/firebird.html#firebird_utility
Если вас не устраивает работа в командной стороке, можно воспользоваться программой Firebird Maestro.
В Firebird Maestro создаем новую БД, а в ней создаем таблицу, по количеству колонок равную той, которую нужно экспортировать.
Один нюанс:
Когда в таблице БД вы создатете Fields, их тип должен быть Varchar, в противном случае Quik не сможет их идентифицировать, и экспорт данных будет невозможен.
Итак, база данных создана, переходим с ее активации.
Чтобы зарегистрировать БД нужно скачать и установить драйвер ODBC, скажем вот отсюда: http://www.firebirdsql.org/index.php?op=files&id=odbc
После того, как драйвер установлен, регистрируем его:
Пуск - Настройка - Панель управления - Администрирование - Источники данных ODBC
Смотрим вкладку "Драйверы" - в нее должен добавиться Firebird/InterBase(r) driver.
Переходим во вкладку "Пользовательский DSN".
Нажимаем кнопку "добавить" и выбираем из списка Firebird/InterBase(r) driver.
Откроется окно конфигуратора.
Источник данных DSN - это ваша учетная запись в системе.
База данных - выбирается расположение созданного файла БД ***.fdb
Клиент - место установки Firebird: C:\ProgramFiles\Firebird\Firebird_2_\bin\fbclient.dll
Символьная таблица ASCII
Если все настроено правильно, после нажатия "Проверки соединения" вы увидите окошко с соообщением, подтверждающем об успехе.
И последнее - прописываем в коде для Ami (выложенном ООО) учетную запись - DSN, пути к файлу БД и к файлу клиента в программе Firebird, кодировку и пароль к вашей учетной записи.
Вот и весь процесс.
Единственное замечание - чтобы избежать непонятных ошибок не используйте кириллические символы. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Teema
Зарегистрирован: 01.04.2009
Сообщения: 184
|
Вот это, реально, нужная тема! Т.е. можно сделать контроль позиций. Спасибо обоим, троим авторам. |
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
burga
Зарегистрирован: 04.09.2009
Сообщения: 23
|
Делал вывод через dde в excel, а оттуда читал следующим кодом:
Код: |
EnableScript("vbscript");
<%
OpenLots = afl("OpenLots")
RobotID = afl("RobotID")
Seccode = afl("Seccode")
Set Excel = GetObject("r:\case.xls")
NameSheet = "Robot" + CStr(RobotID)
Set SheetRobot = Excel.WorkSheets(NameSheet)
OpenLots = 0
for i = 2 to 30
TickerExcel = SheetRobot.Cells(i,3).Value
if (TickerExcel = Seccode) then
OpenLots = SheetRobot.Cells(i,8).Value
exit for
end if
Next
AFL.Var("OpenLots") = OpenLots
%>
|
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
|