Обсуждение статьи "Работа с СУБД MySQL из MQL5 (MQL4)" - страница 8

 
Уважаемые знатоки, проконсультируйте пожалуйста.
2 года в МТ4 работала 32-разрядная permvar2.dll (от https://fx1.net/permvar.php ).
Попытался использовать ее в МТ5.
На сайте сообщают, что : Use permvar.dll for Tradestation, Metatrader < 0550, Metatrader5

Если вызывать permvar2.dll

#import  "stdlib.ex5"    
#import    "permvar2.dll"
int    MessageBoxW(uint hWnd,string lpText,string lpCaption,uint uType);

int PVInit(string);
int PVValue(int,string,int);
int PVGetValue(int,string);

Компилируется, но выдает ошибку :
 'C:\Program Files\ForexClub MT5\MQL5\Libraries\permvar2.dll' is not 64-bit version
  Cannot load 'C:\Program Files\ForexClub MT5\MQL5\Libraries\permvar2.dll' [193]

Если вызывать permvar.dll
#import  "stdlib.ex5"    
#import    "permvar.dll"

Сообщение :
unresolved import function call

Может быть как-то инициировать по другому ?
FX1 | PermVar - Persistent Data Storage
  • fx1.net
PermVar can persistently store basic types of data in the registry, such as strings, integers, doubles, and booleans. Reading and writing is easy with its one-touch command. No need for complicated frameworks. All you need is one file to use PermVar. It’s compatible with any application that uses DLL. If you need a key/value storage similar to...
 

конвертацию в UTF-8 кто нибудь перевел ?

 
Отличная библиотека. Жаль кириллицу не поддерживает.
 
Библиотека MQLMySQL версии 3.0 выпущена и опубликована на GitHub: https://github.com/elugovoy/MQLMySQL-Project

Любые дальнейшие исправления и обновления будут сделаны в репозитории GitHub.

Кодовая страница UTF-8 теперь поддерживается.

Проект содержит 3 каталога для:
- MQL4 x86 - набор функций
- MQL5 x64 (old school) - набор функций
- MQL5 x64 (классы) - классы для MQL5

Все подробности в README.md
elugovoy/MQLMySQL-Project
elugovoy/MQLMySQL-Project
  • elugovoy
  • github.com
The problem of interaction of MQL with databases is not new, however it's still relevant. Use of databases can greatly enhance the possibilities of MetaTrader: storage and analysis of the price history, copying trades from one trading platform to another, providing quotes/trades in real time, heavy analytical computations on the server side...
 
Shorttimer:
Отличная библиотека. Жаль кириллицу не поддерживает.

Версия 3.0 поддерживает.

 
Valentin Dobroletov:

конвертацию в UTF-8 кто нибудь перевел ?

Версия 3.0 включает работу с UTF-8

 
procomK:
Уважаемые знатоки, проконсультируйте пожалуйста.
2 года в МТ4 работала 32-разрядная permvar2.dll (от https://fx1.net/permvar.php ).
Попытался использовать ее в МТ5.
На сайте сообщают, что : Use permvar.dll for Tradestation, Metatrader < 0550, Metatrader5

Если вызывать permvar2.dll

#import  "stdlib.ex5"    
#import    "permvar2.dll"
int    MessageBoxW(uint hWnd,string lpText,string lpCaption,uint uType);

int PVInit(string);
int PVValue(int,string,int);
int PVGetValue(int,string);

Компилируется, но выдает ошибку :
 'C:\Program Files\ForexClub MT5\MQL5\Libraries\permvar2.dll' is not 64-bit version
  Cannot load 'C:\Program Files\ForexClub MT5\MQL5\Libraries\permvar2.dll' [193]

Если вызывать permvar.dll
#import  "stdlib.ex5"    
#import    "permvar.dll"

Сообщение :
unresolved import function call

Может быть как-то инициировать по другому ?

Это оффтоп немного, но вам терминал MT5 выдает подсказку - у вас библиотека 32-битная, под MT5 нужна версия скомпилированная для x64. По другому не получится. Уточняйте у разработчиков есть ли 64-битная версия.

 
Dmitry Melnichenko:

Может и поздновато но все же...  мне для тестирования нужно знать:

1. запуск эксперта производится на разных терминалах? или же на одном терминале но на разных графиках?

Для разных терминалов DLL загружается в свою область памяти и подобных коллизий ну никак не должно быть.

2. фраза WHERE у вас обрамлена в скобки, в принципе это не должно влиять, но все же это не стандарт SQL.

3. что возвращает функция SqlModifyClient(ticket, open_ticket)?

4. какая версия MQLMySQL.dll используется?

я попробую протестировать 

 
В последнем релизе есть штатные DatabaseXXX функции, реализующие штатные Sqlite базы.
Документация по MQL5: Работа с базами данных
Документация по MQL5: Работа с базами данных
  • www.mql5.com
Важной особенностью данного движка является то, что вся база данных находится в единственном стандартном файле, который находится на компьютере пользователя. Простота реализации достигается за счёт того, что перед началом исполнения транзакции записи файл, содержащий базу данных, блокируется. При этом...
 
Renat Fatkhullin:
В последнем релизе есть штатные DatabaseXXX функции, реализующие штатные Sqlite базы.

Это здорово