Обсуждение статьи "Работа с сетевыми функциями, или MySQL без DLL: Часть I - коннектор"

 

Опубликована статья Работа с сетевыми функциями, или MySQL без DLL: Часть I - коннектор:

Относительно недавно в MetaTrader 5 появились сетевые функции. Это открыло широкие возможности для программистов, которые разрабатывают продукты для Маркета, поскольку теперь можно реализовать то, чего раньше нельзя было сделать без динамических библиотек. В данной статье мы ознакомимся с ними на примере написания коннектора MySQL.

Примерно год назад список сетевых функций в MQL5 пополнился функциями для работы с сокетами. Это открыло широкие возможности для программистов, которые разрабатывают продукты для Маркета, поскольку теперь можно реализовать то, чего раньше нельзя было сделать без динамических библиотек. Один из таких примеров мы рассмотрим в данном цикле из двух статей. В первой статье мы разберём принцип работы коннектора MySQL, а во второй напишем простейшие приложения с его применением — сервис сбора свойств сигналов, доступных в терминале, и программу для просмотра их изменения с течением времени (см. рисунок 1).


Программа для просмотра изменения свойств сигналов за определённое время

Автор: Serhii Shevchuk

 

Где тут лайк ставить? +100500 👍

Умница просто!

 

Здравствуйте! Большое спасибо за статью, надеюсь, что последуют части II, III, e.t.c.

После успешной компиляции на MT5 и запуска скрипта я постоянно получаю ошибку ERROR 4014, которая заключается в том, что я пытался добавить DLL, но кажется, что они не нужны для этого проекта. Что я должен попытаться сделать, чтобы заставить его работать.

Буду признателен за ответ.

ERR_FUNCTION_NOT_ALLOWED

4014

Системная функция не разрешена для вызова

С уважением,

Андрей

 
После регистрации на сайте я попытался запустить скрипт с https://dev.mysql.com/doc/index-other.html вместо IP-адреса, в этом случае я получаю.

ERR_NETSOCKET_CANNOT_CONNECT

5272

Ошибка соединения с удаленным хостом

Кажется, что он пытается подключиться, это я могу сказать из-за небольшой задержки перед тем, как получить ошибку.




 
Привет!
Благодарю за статью, просто супер. Попробывал запуститй тест но цначала получил 4014 функция не разрешена, после регистрации на сайте с базой данных,попробывал... теперь получил попытку соединения (была небольшая задержка при запуске скрипта) и ошибку 5272. Проблемка наверное в IP адресе. Может подскажете пожалуйста в 4ем дело, очень уж интересно:)
Спасибо
 
JansO:

Здравствуйте! Большое спасибо за статью, надеюсь, что последуют части II, III, e.t.c.

После успешной компиляции на MT5 и запуска скрипта я постоянно получаю ошибку ERROR 4014, которая заключается в том, что я пытался добавить DLL, но, похоже, они не нужны для этого проекта. Что я должен попытаться сделать, чтобы заставить его работать.

Буду признателен за ответ.

ERR_FUNCTION_NOT_ALLOWED

4014

Системная функция не разрешена для вызова

С уважением,

Андрей

Вероятно, вам следует вставить нужный IP в "Список разрешенных серверов".
 
Очень хорошая статья, спасибо!
 

Странно, но в методе конфига нет входного параметра "base", то есть имени базы данных. Подключиться не удается.

 
Отличная статья, но похоже, что не все функции реализованы, или же в buid 3550 уже изменены некоторые функции
.
  m_id       =m_wnd.LastId()+1;
   m_chart_id =m_wnd.ChartId();
   m_subwin   =m_wnd.SubwindowNumber();
   m_corner   =(ENUM_BASE_CORNER)m_wnd.Corner();
   m_anchor   =(ENUM_ANCHOR_POINT)m_wnd.Anchor();

'LastId' - undeclared identifier        Element.mqh     841     22
')' - expression expected       Element.mqh     841     29
'ChartId' - undeclared identifier       Element.mqh     842     22
')' - expression expected       Element.mqh     842     30
'SubwindowNumber' - undeclared identifier       Element.mqh     843     22
')' - expression expected       Element.mqh     843     38
'Corner' - undeclared identifier        Element.mqh     844     40
')' - expression expected       Element.mqh     844     47
'Anchor' - undeclared identifier        Element.mqh     845     41
')' - expression expected       Element.mqh     845     48
 
Dmitri Custurov #:

Странно, но в методе конфига нет входного параметра "base", то есть имени базы данных. Подключиться не удается.

select c1, c2 from `db_name`.`table_name`;
 

Автору громадное спасибо. Статья отличная и код интересный. Однако, столкнулся с проблемой ошибки 4014.

Какой функционал нужно включить в терминале чтобы избежать ошибки 4014? Сервер и сама БД на локальной машине (localhost).