Amibroker и ODBC

  • Автор темы noise
  • Дата начала

noise

New member
возможно ли настроить вывод информации из Ами в ODBCбазы, типа accses?
если у кого-нибудь есть опыт - поделитесь или скиньте ссылочку на ресурс, где можно поподробней почитать о этом вопросе.
 

Andres

New member
Вот здесь что то про это есть:

http://www.amibroker.com/odbc.html

Хотя там помоему наоборот про экспорт из OBDC в Ами
 

noise

New member
Вот здесь что то про это есть:

http://www.amibroker.com/odbc.html

Хотя там помоему наоборот про экспорт из OBDC в Ами
там из ODBC в Amibroker....а мне наоборот надо.можно упростить вопрос - можно ли сделать так, чтобы Ами вносил данные в MS Accses?
 

USDEUR

New member
возможно ли настроить вывод информации из Ами в ODBCбазы, типа accses?
если у кого-нибудь есть опыт - поделитесь или скиньте ссылочку на ресурс, где можно поподробней почитать о этом вопросе.
Я попробую этим вопросом поплотнее заняться, хотя не обещаю. Навскидку ситуация такова: ни о какой речи об одибиси быть не может, ибо Ами - это не СУБД, информация там хранится просто в текстовом формате, надо поковырять.
А зачем тебе экспортировать в Аксцесс именно из Ами? Ведь в метастоковском формате данные структурированы и импортируются без проблем.
 

Andres

New member
Я сам слабо представляю что такое OBDC :)

Скорей всего как то можно , может через текстовый файл или COM интерфейс.

Может на пауке что нить есть
 

mehanizator1

New member
в ами можно вставлять куски кода на вижуал бейсик скрипт, возможно там можно и в базу данные пихнуть. ну и длл прицеплять там тоже вроде можно как-то.

точно не знаю, не пробовал, но думаю что если целью задасться то можно.
 

USDEUR

New member
в ами можно вставлять куски кода на вижуал бейсик скрипт, возможно там можно и в базу данные пихнуть. ну и длл прицеплять там тоже вроде можно как-то.

точно не знаю, не пробовал, но думаю что если целью задасться то можно.
Ему то нужно ИЗ Ами в Аксцесс вставлять. Самый универсальный способ - через текстовый файл. В Аксцессе его можно просто присоединить, а не импортировать.
 

Andres

New member
в ами можно вставлять куски кода на вижуал бейсик скрипт, возможно там можно и в базу данные пихнуть. ну и длл прицеплять там тоже вроде можно как-то.

точно не знаю, не пробовал, но думаю что если целью задасться то можно.
Все верно, у меня получалось на этом VBscript отправлять данные напрямую в EXCEL, думаю с Access то же самое.
 

vint

New member
Навскидку ситуация такова: ни о какой речи об одибиси быть не может, ибо Ами - это не СУБД, информация там хранится просто в текстовом формате, надо поковырять.
ODBC - это всего лишь драйвер для ввода/вывода, а куда это не важно, будь это то какая то СУБД или текстовый файл (CSV, и тд).

Если Ами позволяет делать экспорт через ODBC, то это возможно....

Посмотрю завтра на работе, ибо дома Ами нету. :p
 

USDEUR

New member
ODBC - это всего лишь драйвер для ввода/вывода, а куда это не важно, будь это то какая то СУБД или текстовый файл (CSV, и тд).
ODBC (Open DataBase Connectivity) — это открытый интерфейс доступа к базам данных.
Драйвер ODBC - это динамическая библиотека (DLL), которая реализует функции ODBC, и взаимодействует с источником данных.
Текстовый файл в частности может быть назван базой данных только в том случае, если информация в нем как минимум структурирована.
 

noise

New member
в ами можно вставлять куски кода на вижуал бейсик скрипт, возможно там можно и в базу данные пихнуть. ну и длл прицеплять там тоже вроде можно как-то.
точно не знаю, не пробовал, но думаю что если целью задасться то можно.
Все верно, у меня получалось на этом VBscript отправлять данные напрямую в EXCEL, думаю с Access то же самое.
есть возможность выложить этот скрипт?он бы сильно помог
 

USDEUR

New member
есть возможность выложить этот скрипт?он бы сильно помог[/quote]
Ты признайся, чо ты хочешь?
В Аксцеесс можно напрямую из квика данные отправлять.
Если ты хочешь из Ами отправлять специфические данные, типа показаний индикаторов и т.д., нужно скрипт писать под конкретную задачу.
 

noise

New member
есть возможность выложить этот скрипт?он бы сильно помог
Ты признайся, чо ты хочешь?
В Аксцеесс можно напрямую из квика данные отправлять.
Если ты хочешь из Ами отправлять специфические данные, типа показаний индикаторов и т.д., нужно скрипт писать под конкретную задачу.
примерно это и хочу. разве для вывода переменной нужен каждый раз спецефичный скрипт?к примеру я хочу выводить теккущее значение MA в реальном времени. тоесть насколько я понимаю в индикатор-билдер необходимо внести формулу расчета МА и скрипт выводящий текущее значение во внешний файл.
 

Andres

New member
есть возможность выложить этот скрипт?он бы сильно помог
Вот пару примеров, давно этим занимался, кстати сейчас вспомнил какая у меня возникла тогда проблема:
если этот код использовать как индикатор, то амиброкер периодически его пересчитывает, и постоянно создает новые окна Экселя, как этого избежать я так и не понял. Либо можно вставлять код в AutomaticAnalysis и прогонять его единожды сканом, но это не интересно. Если кто знает как, то напишите плиз.


Clos =Close;
Ticker = Name();

EnableScript("vbscript");
<%

Clos = AFL("Clos")
Ticker = AFL("Ticker")

Set Excel = CreateObject("Excel.Application")
Excel.WorkBooks.Add
Set Sheet = Excel.WorkBooks(1).WorkSheets(1)

Sheet.Cells(1,1) = Ticker

for i = 0 to UBound(Clos)
Y = i+2
Sheet.Cells(Y,1).Value = Clos(i)

Next

Excel.Visible = 1
%>
 

Andres

New member
Clos =LastValue(Close);
Ticker = Name();

EnableScript("vbscript");
<%

Clos = AFL("Clos")
Ticker = AFL("Ticker")

Set Excel = CreateObject("Excel.Application")
Excel.WorkBooks.Add
Set Sheet = Excel.WorkBooks(1).WorkSheets(1)

t = InputBox("Input smth", 1)
MsgBox "smth= " & t

Sheet.Cells(1,1) = Ticker
Sheet.Cells(1,2) = "Close="
Sheet.Cells(1,3) = Clos
Sheet.Cells(1,4) = t

Excel.Visible = 1
%>
 

Massaraksh

New member
...если этот код использовать как индикатор, то амиброкер периодически его пересчитывает, и постоянно создает новые окна Экселя, как этого избежать я так и не понял...
Я не работал с ами, но в VB кроме CreateObject там должна быть функция GetObject, которая не создаёт новый экземпляр Excel, а работает с существующим.
 

noise

New member
...если этот код использовать как индикатор, то амиброкер периодически его пересчитывает, и постоянно создает новые окна Экселя, как этого избежать я так и не понял...
Я не работал с ами, но в VB кроме CreateObject там должна быть функция GetObject, которая не создаёт новый экземпляр Excel, а работает с существующим.
такая функция есть, замечательно открывает документы Word а Excell не хочет почемуто..
 

vint

New member
такая функция есть, замечательно открывает документы Word а Excell не хочет почемуто..
Этот код получает ссылку на заранее открытый экземпляр заданной книги. Если затребованная книга не открыта, эксель её откроет.
Код:
Option Explicit
Private objXL As Excel.Workbook

Private Sub Command1_Click()
Set objXL = GetObject("с:\Documents and Settings\Administrator\My Documents\myexcell.xls")
Debug.Print objXL.Name
Stop
End Sub
может поможет ;)
 

Andres

New member
Massaraksh спасибо, с GetObject получилось


Vremya=Now(4);
EnableScript("vbscript");
<%
Vremya=AFL("Vremya")
Set Excel=GetObject(,"Excel.Application")
Excel.Visible = True
Set Sheet = Excel.WorkBooks(1).WorkSheets(1)
Sheet.Cells(1,1) = Vremya
%>
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху