Автор |
Сообщение |
zxWizard
Зарегистрирован: 25.09.2011
Сообщения: 46
|
MOAX есть еще вопрос:
Возникла у меня мысль проанализировать Таблицу всех сделок (по RIZ), думаю это может помочь в определении ложных пробоев да и вообще в определении силы и слабости рынка, в связи с этим вопрос Access как думаешь справится с этой задачей или тормозить будет сильно и лучше чтобы не терять время сразу искать решение по созданию БД в SQL ???
Как я понял, твой плагин прекрасно будет работать и с базой данных SQL ?
Или лучше не заморачиватся с этим по тому как хеджеры могут испортить всю картину?
MOAX очень бы хотелось услышать твое мнение по этим вопросам т.к. вижу что человек ты очень опытный в трейдинге… |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MOAX
Зарегистрирован: 13.03.2011
Сообщения: 44
|
zxWizard писал(а): |
1) Возникла у меня мысль проанализировать Таблицу всех сделок ... Access как справится с этой задачей ???
2) Как я понял, твой плагин прекрасно будет работать и с базой данных SQL ?
3) MOAX очень бы хотелось услышать твое мнение по этим вопросам т.к. вижу что человек ты очень опытный в трейдинге… |
1) Access и таблица всех сделок - не совместимы, слишком большой объем данных для настольной СУБД общего пользования.
2) Плагин будет работать с любой СУБД, для которой есть драйвер ODBC.
Другое дело что названия полей во многих БД должны быть заглавными буквами или в SQL запросах прописываться в двойных кавычках - но это поправимо.
3) Тут ты не прав, только ищу, в настоящий момент нет ни одного зарабатывающего робота. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
mamen
Зарегистрирован: 29.11.2011
Сообщения: 8
|
Вечер добрый!
Пытаюсь освоить чудо плагин! к сожалению не получатся!
у меня возникла проблема в связке Ami+Access. atqOdbcConnect выдает всегда нулевое значение внезависимсти от того что указал в strDSN.
Подскажите в чем может быть проблема?
что нужно помимо AmiTrans2Quik.dll для полноценной работы? Может еще какие плагины поставить или настройки Ami изменить?
За ранее благодарю! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MOAX
Зарегистрирован: 13.03.2011
Сообщения: 44
|
mamen писал(а): |
Вечер добрый!
atqOdbcConnect выдает всегда нулевое значение внезависимсти от того что указал в strDSN.
Подскажите в чем может быть проблема?
что нужно помимо AmiTrans2Quik.dll для полноценной работы? Может еще какие плагины поставить или настройки Ami изменить?
За ранее благодарю! |
atqOdbcConnect выдает код ошибки ODBC, причем, если код = 0 значит ошибок не обнаружено.
Чтоб сказать в чем проблемма - скажите что вы сделали (что, куда установили, как создали источник данных DSN, и т.д.) |
|
|
Посмотреть профиль Отправить личное сообщение |
|
zxWizard
Зарегистрирован: 25.09.2011
Сообщения: 46
|
Цитата: |
Другое дело что названия полей во многих БД должны быть заглавными буквами или в SQL запросах прописываться в двойных кавычках - но это поправимо.
|
1) То есть так: sQuery = "SELECT ' 'dPrice' ' (две подряд одинарных кавычки) потому как sQuery = "SELECT "dPrice" (обычные двойные кавычки) выдает ошибку
или плюс нужно еще подставить sQuery = "SELECT "+dPrice+"
В принципе как я понял не проблематично создать базу в SQL изначально большими буквами т.к. ее все равно создавать.
2) Как считаешь, какую СУБД лучше и перспективней использовать для таких задач MySQL или MS SQL Express? Или в них нет принципиальных отличий? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
mamen
Зарегистрирован: 29.11.2011
Сообщения: 8
|
AmiBroker v5.40 , Quik v5.24.0.58, Access 2010
AmiTrans2Quik.dll кинул в ...\AmiBroker\Plugins
odbc.mdb по адресу C:\
подключал odbc.mdb к Quik все как написанно в хелпе,все таблицы выводятся.
Filter = 1;
ODBCPath = "C:\\odbc.mdb";
Answer = atqOdbcConnect( ODBCPath , "", "" );
Message=WriteIf(Answer == 0,"соединение с odbc установлено","проблемы с odbc ");
AddTextColumn(Message, "Соединение с odbc ", 1.2, colorDefault, colorWhite);
проверяю работу через Explore в AA
таким же образом устанавливал соединение Ami с Quik все работает(есть сообщения о там что соединение установлено или не установленно).
с ODBC пишет всегда соединение установлено не зависимо от того что в ODBCPath. посылал Sql запрос результат нулевой.
пробовал к с плагином ODBC так и без него. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
zxWizard
Зарегистрирован: 25.09.2011
Сообщения: 46
|
mamen писал(а): |
что нужно помимо AmiTrans2Quik.dll для полноценной работы? Может еще какие плагины поставить или настройки Ami изменить?
|
Мне понадобилось еще Trans2QUIK.dll положить в папку Диск:\АМИ\ Plugins
И в C:\Windows\System32 как писал MOAX |
|
|
Посмотреть профиль Отправить личное сообщение |
|
mamen
Зарегистрирован: 29.11.2011
Сообщения: 8
|
zxWizard писал(а): |
mamen писал(а): |
что нужно помимо AmiTrans2Quik.dll для полноценной работы? Может еще какие плагины поставить или настройки Ami изменить?
|
Мне понадобилось еще Trans2QUIK.dll положить в папку Диск:\АМИ\ Plugins
И в C:\Windows\System32 как писал MOAX |
забыл совсем и это сделал! Trans2QUIK.dll кинул куда только можно! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
zxWizard
Зарегистрирован: 25.09.2011
Сообщения: 46
|
MOAX есть еще вопрос по функции atqOdbcConnect( strDSN, strUser, strPass )
1) strDSN может ли содержать русские буквы к примеру так: «База данных TraderExplorer» ?
2) Как функция atqOdbcConnect подключается к базе «монопольно» или «Только для чтение»?
У меня есть привод «TraderExplorer» я его использую для ручного входа, он тоже использует экспорт из квика OBDC в свою базу Access
которая по структуре включает все таблицы из приведенного тобой примера.
Так вот я и подумал, что сточки зрения оптимального использования ресурсов ПК лучше все считывать от туда…
3) Как правильней использовать функцию atqOdbcDisconnect() то есть если ее поставить в конец кода она будет закрывать соединение,
но сразу же при следующем проходе оно будет открывается atqOdbcConnect заново?
Во общем как я понимаю при простой системе использование atqOdbcDisconnect не целесообразно? (Еще у тебя в роботе ее не нашел) |
|
|
Посмотреть профиль Отправить личное сообщение |
|
zxWizard
Зарегистрирован: 25.09.2011
Сообщения: 46
|
mamen писал(а): |
ODBCPath = "C:\\odbc.mdb";
|
Я использовал так:
Connect=atqOdbcConnect( "odbc.mdb", "", "" );
То есть Пользовательский DSN как я его зарегистрировал в винде, без указания пути к файлу базы
причем он у меня лежит на диска D в подпапке , путь в любом случае указывается при регистрации…
Попробуй так. |
Последний раз редактировалось: zxWizard (Чт Дек 01, 2011 5:22 pm), всего редактировалось 1 раз |
|
Посмотреть профиль Отправить личное сообщение |
|
MOAX
Зарегистрирован: 13.03.2011
Сообщения: 44
|
mamen писал(а): |
Filter = 1;
ODBCPath = "C:\\odbc.mdb";
Answer = atqOdbcConnect( ODBCPath , "", "" );
Message=WriteIf(Answer == 0,"соединение с odbc установлено","проблемы с odbc ");
AddTextColumn(Message, "Соединение с odbc ", 1.2, colorDefault, colorWhite);
|
atqOdbcConnect требует не путь к базе данных, а DSN источника, посмотрите в коде робота.
Я создаю системный DSN на вкладке Пуск-> Панель управления ->Администрирование->Источники данных ODBC. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MOAX
Зарегистрирован: 13.03.2011
Сообщения: 44
|
zxWizard писал(а): |
MOAX есть еще вопрос по функции atqOdbcConnect( strDSN, strUser, strPass )
1) strDSN может ли содержать русские буквы к примеру так: «База данных TraderExplorer» ?
2) Как функция atqOdbcConnect подключается к базе «монопольно» или «Только для чтение»?
У меня есть привод «TraderExplorer» я его использую для ручного входа, он тоже использует экспорт из квика OBDC в свою базу Access
которая по структуре включает все таблицы из приведенного тобой примера.
Так вот я и подумал, что сточки зрения оптимального использования ресурсов ПК лучше все считывать от туда…
3) Как правильней использовать функцию atqOdbcDisconnect() то есть если ее поставить в конец кода она будет закрывать соединение,
но сразу же при следующем проходе оно будет открывается atqOdbcConnect заново?
Во общем как я понимаю при простой системе использование atqOdbcDisconnect не целесообразно? (Еще у тебя в роботе ее не нашел) |
1) Не могу сказать
2) Монопольно или только для чтения устанавливается при создании DSN, все функции плагина ориентированы только на чтение.
Конечно, разумно использовать одну базу данных.
3) Я не спец по БД. Сам atqOdbcDisconnect не использую.
При выгрузке плагина в момент завершения AmiBroker эта функция вызывается для освобождения ресурсов операционной системы.
При повторном вызове atqOdbcСonnect ресурсы заново не выделяются а используется ранее созданное соединение.
Если есть необходимость работы плагина с несколькими DSN, тогда atqOdbcDisconnect обязательна |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MOAX
Зарегистрирован: 13.03.2011
Сообщения: 44
|
1) То есть так: sQuery = "SELECT ' 'dPrice' ' (две подряд одинарных кавычки) потому как sQuery = "SELECT "dPrice" (обычные двойные кавычки) выдает ошибку
или плюс нужно еще подставить sQuery = "SELECT "+dPrice+"
В принципе как я понял не проблематично создать базу в SQL изначально большими буквами т.к. ее все равно создавать.
2) Как считаешь, какую СУБД лучше и перспективней использовать для таких задач MySQL или MS SQL Express? Или в них нет принципиальных отличий?[/quote]
1) Точно не помню, когда-то читал хелп по Farebird, проще и поля и названия таблиц делать большими буквами.
2) Не знаю, тут или спец по БД или тест нужен |
|
|
Посмотреть профиль Отправить личное сообщение |
|
zxWizard
Зарегистрирован: 25.09.2011
Сообщения: 46
|
MOAX писал(а): |
Если есть необходимость работы плагина с несколькими DSN, тогда atqOdbcDisconnect обязательна |
Это я упустил теперь понятно как ее использовать.
MOAX Спасибо за разъяснения!
Нужно будет проконсультироваться у знатоков БД потому как видима придется все это делать. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
mamen
Зарегистрирован: 29.11.2011
Сообщения: 8
|
MOAX писал(а): |
mamen писал(а): |
Filter = 1;
ODBCPath = "C:\\odbc.mdb";
Answer = atqOdbcConnect( ODBCPath , "", "" );
Message=WriteIf(Answer == 0,"соединение с odbc установлено","проблемы с odbc ");
AddTextColumn(Message, "Соединение с odbc ", 1.2, colorDefault, colorWhite);
|
atqOdbcConnect требует не путь к базе данных, а DSN источника, посмотрите в коде робота.
Я создаю системный DSN на вкладке Пуск-> Панель управления ->Администрирование->Источники данных ODBC. |
Именно системный DNS а не пользовательский?
пробовал указывать DNS тоже к сожалению ничего! при всем при этом используя плагин ODBC получается установить соединение и посылать SQL запросы! Правда не все запросы проходят,возможно я в SQL слабоват! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|