Discusión sobre el artículo "Trabajo con el SGBD MySQL desde MQL5 (MQL4)" - página 18

 

Hola, he leído este documento con interés.

¿Puedo hacerle una pregunta?

Quiero saber cómo confirmar la conexión con MySQL.

Por favor, enséñeme cómo confirmar la conexión.


Sobre el original japonés: Y el lunes, cuando se inicia el mercado, se encuentra un error en el proyecto. Por lo tanto, le recomendamos encarecidamente que confirme la conexión y/o vuelva a conectarse a la base de datos a intervalos menores que el tiempo de espera especificado en la configuración del servidor.

Es decir: a partir de entonces, el lunes encontrará un error en su proyecto. Por lo tanto, le recomiendo que confirme que la conexión está viva o muerta en un intervalo de tiempo intervalo más corto que la configuración del servidor de tiempo de espera.


Gracias.

 

Hola,...

Escribí el código por el momento como a continuación. 1. Crear una tabla.

1. Crear una tabla que tiene un registro de tiempo cuando se confirma la conexión. 2. Crear una tabla que tiene un registro de tiempo cuando se confirma la conexión.

2. Crear una tabla que tiene un registro de tiempo cuando confirme la conexión.

Si el UpSert fallara, intente resincronizar con MySQL.

Por favor, dígame si existen algunos métodos para confirmar la conexión.

Por favor, dígame si existen algunos métodos para confirmar la conexión.

//+------------------------------------------------------------------+
//| Comprobar y reconectar la conexión MySQL &nbsp ; & nbsp; |
//+------------------------------------------------------------------+
bool DBAccess::resync(void)
{
    string  qry = "";

    string  update_time = (string)TimeCurrent();

    qry += "INSERT INTO `" + sync_table + "` (id, update_time) ";
    qry += "VALUES (\'sync\', \'" + update_time + "\') ";
    qry += "ON DUPLICATE KEY UPDATE update_time = \'" + update_time + "\';";
    
    if (MySqlExecute(DBID, qry))    { return true; }
    
    echo("[Try] Database has been disconnected. EA will try resynchronization.");

    bool    sync        = syncDB();
    
    if(!sync)   { return false; }

    return true;
}
for the time beingの意味・使い方 - 英和辞典 Weblio辞書
  • ejje.weblio.jp
for the time beingの意味や使い方 当分の間, さしあたり, 目下. - 約1037万語ある英和辞典・和英辞典。発音・イディオムも分かる英語辞書。
 
¿Hay alguien aquí que pueda escribir un wrapper de MQL5 a MS SQL, y también interesado en un wrapper para VOLTDB.
 

Me gustaría preguntar, no desconectar la operación de base de datos, pero la base de datos está empezando a conectar los datos normales de datos en el tiempo, no puede directamente leer la información de la base de datos, pero no hay ningún mensaje de error

Yo uso MT4

Archivos adjuntos:
20180412.log  2067 kb
 
cikahun:

Hola Alain,

¡Muchas gracias! He podido averiguar lo que estaba mal.

En mi caso el broker me da el símbolo de la moneda con el signo £. Lo he borrado y funciona.

Gracias de nuevo.

Yo también me estoy encontrando con este error ya que mi broker también sufija los símbolos con (£). ¿Alguien sabe por qué se produce este problema y cuál es la solución? La cadena SQL funciona bien cuando se introduce en MYSQL Workbench, pero me sale el mensaje "Query was empty" cuando ejecuto la consulta a través de esta biblioteca.
 
Eugeniy Lugovoy:

Gracias por tu tiempo en leer este articulo. También he comprobado su(https://www.mql5.com/es/code/11114), He encontrado esa solución hace mucho tiempo (antes de MT4 construir 600) y me gustó la idea de hacer MQL y MySQL amigable. Pero sólo una cosa que no quiero usar es matrices para retreive los datos de base de datos. Es por eso que he construido esta solución para su uso con MT4 y MT5.

Además, me olvidé de añadir x64 proyecto basado en el artículo, así que usted puede descargar aquí, en la discusión. Nada fue cambiado en las fuentes, sólo DLL ha sido recompilado para x64.

Buena suerte,

Eugene

hola Eugeniy Lugovoy, gracias por tu articulo, yo use proyecto basado en x32 en mi (windows 64bit con mql5) y tuve este error :

2018.06.04 17:58:52.879 MySQL-001 (XAUUSD,H1) No se puede cargar '..\libraries\MQLMySQL.dll' [126]

y ahora estoy tratando de usar su proyecto basado en x64 que ha subido que en este foro, pero todavía tengo por encima de error.

He intentado ejecutar una de las secuencias de comandos de 2 maneras ,

primero puse los archivos dll en esta direccion : ...\MQL5\Libraries

segundo los puse en esta direccion : C:\Windows\SysWOW64

pero ninguno de ellos trabajó .

 

HolaEugeniy Lugovoy


¡Estoy recibiendo el siguiente error no estoy seguro de lo que está pasando!


El error se produce en el archivo MQLMySQL.mqh

'StrToInteger' - función no definida MQLMySQL.mqh 224 10


StrToDouble' - función no definida MQLMySQL.mqh 229 10

en las siguientes líneas de código:



int MySqlGetFieldAsInt(int pCursorID, int pField)

{

return (StrToInteger(MySqlGetRowField(pCursorID, pField)));

}


double MySqlGetFieldAsDouble(int pCursorID, int pField)

{

return (StrToDouble(MySqlGetRowField(pCursorID, pField));

}


Saludos cordiales,



 
MetaQuotes Software Corp.:

Nuevo artículo Cómo acceder a la base de datos MySQL desde MQL5 (MQL4 ) ha sido publicado:

Autor: Eugeniy Lugovoy

Hola Eugeniy Lugovoy

En primer lugar, gracias por tomarte el tiempo para hacer este proyecto.

He estado buscando durante semanas en la forma de importar / actualizar todas las operaciones abiertas / cerradas de una cuenta de operaciones en una tabla MySQL, si es posible en tiempo real. ¿hay una manera de hacer esto usando su biblioteca?

Muchas gracias de antemano.

Dragos

 

win2008 O win10 X64

ejecutar Log


2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) No se puede cargar 'C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\ 67381DD86A2959850232C0BA725E5966\MQL5\libraries\MQLMySQL.dll' [193]

2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) No se puede llamar a 'ReadIni', '... \libraries\MQLMySQL.dll' no está cargado

2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) llamada a función de importación no resuelta



Ayuda de SomeBody

 
Eugeniy Lugovoy:
Para plataformas x64, utilice las siguientes bibliotecas (con discusión)

win2018R2 O win10 X86


2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) No se puede cargar 'C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\ 67381DD86A2959850232C0BA725E5966\MQL5\libraries\MQLMySQL.dll' [193]
2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) No se puede llamar a 'ReadIni', '... \libraries\MQLMySQL.dll' no está cargado
2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) llamada a función de importación no resuelta


????