Discusión sobre el artículo "SQLite: trabajo nativo con bases de datos en SQL en MQL5" - página 6

 
¿En qué carpeta espera encontrarlo? Fíjate bien en las banderas de apertura
 
Rashid Umarov:
¿En qué carpeta espera encontrarlo? Fíjate bien en las banderas de apertura

Aquí están las banderas - int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE | DATABASE_OPEN_COMMON);

Espero verlo según la ayuda del paquete MQL5/Files.

Pero no hay nada

 
Rashid Umarov:
¿En qué carpeta espera encontrarlo? Fíjate bien en las banderas de apertura

Hice un video de mí haciendo esto. Tal vez algo está mal....



 
Tango_X:

Aquí están las banderas - int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON);

Espero ver según la ayuda del paquete MQL5/Files

Pero no hay nada

DATABASE_OPEN_COMMON no está donde lo buscas.


 
Alexey Viktorov:

DATABASE_OPEN_COMMON no está donde usted lo busca.


Gracias.

 

Estimados desarrolladores, ¡buenos días a todos!

Me gusta MUCHO el uso de SQLite en MT5, como estoy penetrado por todas las ventajas de esta innovación, me gustaría añadir....p.1 ))))

1. Es posible añadir soporte para funciones JSON dentro de las consultas, desde el lado de SQLite esta característica ha sido implementada desde hace bastante tiempo y la uso activamente en otros programas..., y me gustaría usarla en MT5, porque:

1.1 Es muy conveniente, parsear y recoger JSON funciona fuera de la caja muy rápidamente

1.2 No hay necesidad de utilizar bibliotecas de terceros para construir y desmontar las respuestas

1.3 Posibilidad de guardar los datos por lotes y procesarlos en la base mediante una consulta SQL

1.4 Si la respuesta del servidor ha cambiado o en algún otro caso, basta con cambiar la consulta SQL y no recompilar el programa y

esto es solo parte de las ventajas...que no estan presentes en la implementacion actual para MT5, asumo que una version antigua de SQLite esta conectada a MT5....

En general esto da un montón de oportunidades para grandes proyectos a escala en sistemas multi-servidor donde cada proveedor de datos tiene sus propias estructuras, etc..



2. Leer posts anteriores sobre el tema del acceso único tanto para escribir como para leer de la base de datos....

3. Personalmente recomiendo y uso: PRAGMA journal_mode = WAL;

esto soluciona muchos problemas de multiacceso a la base de datos y aumenta la seriedad de SQLite...

2.1 Es mejor crear la base de datos a partir de un archivo de texto pre-preparado con código SQL adjunto al proyecto como recurso y usarlo como cadena variable

2.2 También es conveniente crear todas las consultas como archivos de recursos, y si necesitas cambiar datos en una consulta, puedes usar StringFormat...


3. En cada uno de mis grandes proyectos trato de usar el mecanismo actual de interacción entre MT5 y SQLite, se volvió muy conveniente trabajar con datos, ¡UN GRAN GRACIAS!

 
Daniil Kurmyshev:

Estimados desarrolladores, ¡buenos días a todos!

Me gusta MUCHO el uso de SQLite en MT5, como estoy penetrado por todas las ventajas de esta innovación, me gustaría añadir....p.1 ))).

1. Es posible añadir soporte para funciones JSON dentro de las consultas, desde el lado de SQLite esta característica ha sido implementada desde hace bastante tiempo y la uso activamente en otros programas..., y me gustaría añadirla en MT5 también:

1.1 Es muy conveniente, el análisis sintáctico y la recopilación de JSON funciona fuera de la caja muy rápidamente

1.2 No hay necesidad de utilizar bibliotecas de terceros para construir y desmontar las respuestas

1.3 Posibilidad de guardar los datos por lotes y procesarlos en la base mediante una consulta SQL

1.4 Si la respuesta del servidor ha cambiado o en algún otro caso, basta con cambiar la consulta SQL y no recompilar el programa y

esto es solo una parte de las ventajas...que no estan presentes en la implementacion actual para MT5, supongo que una version antigua de SQLite esta conectada a MT5....

En general da muchas oportunidades para grandes proyectos escalarlos en sistemas multi-servidor donde cada proveedor de datos tiene sus propias estructuras, etc...



2. He leído posts anteriores sobre el tema del acceso único tanto para escribir como para leer de la base de datos....

Personalmente recomiendo y uso: PRAGMA journal_mode = WAL;

esto soluciona muchos problemas de multiacceso a la base de datos y aumenta la seriedad de SQLite...

2.1 Es mejor crear una base de datos a partir de un archivo de texto pre-preparado con código SQL adjunto al proyecto como un recurso y utilizarlo como una cadena variable

2.2 También es conveniente crear todas las consultas como archivos de recursos, y si necesitas cambiar datos en una consulta, puedes usar StringFormat...


3. En cada uno de mis grandes proyectos trato de utilizar el mecanismo actual de interacción entre MT5 y SQLite, se hizo muy conveniente para trabajar con datos, ¡GRACIAS!

Por supuesto, sería bueno dar la posibilidad de acceso simultáneo a la base de datos a diferentes scripts. Los desarrolladores no pensaron en ello (((.

Al parecer, no quieren seguir desarrollando las herramientas MQL5.

 
GEORGI ANIKIN:

Estaría bien dar la posibilidad de acceso simultáneo a la base de datos a diferentes scripts. Los desarrolladores no pensaron en ello ((

Aparentemente, no quieren seguir desarrollando las herramientas MQL5.

Por supuesto que han pensado en ello.

Puedes acceder a las mismas bases y tablas desde diferentes scripts dentro del terminal.

Aquí tienes un ejemplo de escritor y lector simultáneo. Ejecútalo en diferentes tablas.

Archivos adjuntos:
 
Renat Fatkhullin:

Por supuesto que sí.

Puedes acceder a las mismas bases de datos y tablas desde diferentes scripts dentro del terminal.

Aquí tienes un ejemplo de escritor y lector simultáneo. Ejecútalo en diferentes tablas.

Renat, ¡hola!

¿Puedes decirme si se implementará, al menos en un futuro próximo, la posibilidad de almacenar JSON en la base de datos y trabajar con él?

 
Daniil Kurmyshev:

Renat, ¡hola!

¿Puedes decirme si se implementará, al menos en un futuro próximo, la posibilidad de almacenar JSON en la base de datos y trabajar con él?

Mañana estará en la beta 2840:

  • SQLite versión 2.35.2

  • modo WAL permanente, que permite trabajar con la base de datos abierta desde diferentes aplicaciones (antes MetaEditor no podía trabajar en paralelo con el terminal)

  • ampliación de las funciones estadísticas
        mode - mode,
        median - median (50 th percentile),
        percentile_25 - 25 th percentile,
        percentile_75 - 75 th percentile,
        percentile_90 - 90 th percentile,
        percentile_95 - 95 th percentile,
        percentile_99 - 99 th percentile,
        stddev or stddev_samp - sample standard deviation,
        stddev_pop - population standard deviation,
        variance or var_samp - sample variance,
        var_pop - population variance.
    ejemplo:
    select
      count(*) as book_count,
      cast(avg(parent) as integer) as mean,
      cast(median(parent) as integer) as median,
      mode(parent) as mode,
      percentile_90(parent) as p90,
      percentile_95(parent) as p95,
      percentile_99(parent) as p99
    from bookmarks;
  • nuevas funciones matemáticas
        acos(X)
        acosh(X)
        asin(X)
        asinh(X)
        atan(X)
        atan2(X,Y)
        atanh(X)
        ceil(X)
        ceiling(X)
        cos(X)
        cosh(X)
        degrees(X)
        exp(X)
        floor(X)
        ln(X)
        log(B,X)
        log(X)
        log10(X)
        log2(X)
        mod(X,Y)
        pi()
        pow(X,Y)
        power(X,Y)
        radians(X)
        sin(X)
        sinh(X)
        sqrt(X)
        tan(X)
        tanh(X)
        trunc(X)
    
    
  • También se incluyesoporte para JSON

    Más adelante incluiremos el nuevo tipo json en el asistente de creación de bases de datos.