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

 
Alexey Viktorov:

Exacto. Artem, lo has hecho con MQL, pero el tema es sobre SQLite. Incluso tu librería sería más sencilla y "rápida" si utilizara bases de datos SQLite. No estaba hablando de la ausencia o imposibilidad de hacerlo. Hablaba de la sencillez de la solución.

Pues cuánto más simple que lo que yo he hecho: basta con solicitar los datos necesarios en tu programa, y para ambas plataformas. Pero en realidad el tema no va de eso. Así que vamos a dejar el flud.

 
Alexey Viktorov:

Del artículo, aunque con dificultad, entiendo este ejemplo

Esta consulta selecciona registros con un valor superior a 15000 de la base de datos. Otro ejemplo era seleccionar la suma... Pero yo, por ejemplo, necesito seleccionar el menor/mayor valor de la base de datos. O la suma de valores mayor/menor que cero. Creo que existe tal posibilidad, pero no hay suficiente información en forma de documentación MQL5. Sacar ejemplos me resulta difícil. Pero si no lo tengo... si es necesario, voy a tratar de averiguarlo.

Necesitas aprender el lenguaje de las consultas SQL. Este articulo muestra como usarlas con la ayuda de estas funciones MQL5 y da algunos ejemplos de consultas SQL.

La tarea "hacer una ayuda sobre SQL" no estaba planteada. Hay muchos tutoriales y cursos sobre este tema.

 
Rashid Umarov:

Es necesario aprender el lenguaje de consulta SQL. Este artículo muestra cómo utilizarlos con la ayuda de estas funciones MQL5 y ofrece algunos ejemplos de consultas SQL.

La tarea de "hacer una ayuda SQL" no estaba planteada. Hay muchos tutoriales y cursos sobre este tema.

Sí Rashid, he buscado y encontrado lo que se puede encontrar en ruso. Pero de acuerdo, si usted ofrece a utilizar algo, entonces la descripción debe estar disponible sin búsquedas adicionales. Además, ya he dicho que la forma de la documentación es más aceptable para mí como documentación MQL. Y todo lo que he encontrado en la red en SQLite alguna manera difícil para mi comprensión. Pero esto no es relevante para mí.

Además he expresado una opinión poco realizado.

Foro sobre el comercio, los sistemas automatizados de comercio y probar estrategias de negociación.

Discusión del artículo "SQLite: trabajo nativo con bases de datos SQL en MQL5".

Alexey Viktorov, 2020.05.16 10:26 AM

Después de una familiarización más cercana, pero todavía superficial, con las capacidades de SQLite, llegué a la conclusión de que en esta forma, lo siento, es sólo un sonajero.

Para utilizar las ventajas incondicionales de SQLite sería útil tener una base de datos de historial, por lo menos. Y mejor, una base de datos de posiciones actuales y ordenes pendientes. Espero que a nivel de MT la creación de tales bases de datos no lleve mucho tiempo. Especialmente si las tablas, tal y como están ahora, se pueden formar a partir de la base de datos SQLite. Este enfoque simplificará definitivamente el trabajo con el historial de órdenes y operaciones. Será muy fácil obtener las cantidades de swap, comisiones, beneficios en todas las operaciones con un ID de posición o para un período determinado.

Recientemente he leído en uno de los temas que la selección de la historia se basa en la hora de apertura, pero correctamente en la hora de cierre.... Tener una base de datos SQLite elimina estas preguntas. Con que criterio quieres usarla y seleccionarla. Pero pocos programadores se van a crear estas bases. IMHO.

Exactamente pocos programadores escribirán el relleno de la base de datos para aprovechar los nuevos juguetes. Y Artyom se indignó de inmediato, "¿cómo no está disponible", tomar la biblioteca y utilizarlo. Pero en su biblioteca todo se hace por medios de MQL, y SQLite sigue siendo un sonajero.

Me pregunto qué tan difícil es reemplazar el algoritmo existente de llenado de la historia y la lista de posiciones abiertas y órdenes pendientes con el llenado de la base de datos SQLite y luego convertirlo a la forma actual. Y cómo afectará a la velocidad de MT.

Imagínese lo fácil que será recopilar todas las órdenes y operaciones por ID de posición, tanto si están abiertas como si ya están cerradas.....

 
Alexey Viktorov:

Sí, Rashid, busqué y encontré lo que pude en ruso. Pero de acuerdo, si usted ofrece a utilizar algo, la descripción debe estar disponible sin búsquedas adicionales. Además, ya he dicho que la forma de la documentación es más aceptable para mí como documentación MQL. Y todo lo que he encontrado en la red en SQLite alguna manera difícil para mi comprensión. Pero esto no es relevante para mí.

No estamos de acuerdo.

Sistemas ampliamente conocidos tienen una gran cantidad de documentación disponible. Sea realista.

 
Renat Fatkhullin:

No estamos de acuerdo.

Los sistemas más conocidos disponen de abundante documentación. Sea realista.

No estoy insistiendo. Es sólo mi opinión subjetiva, posiblemente errónea.

 
Alexey Viktorov:

Exactamente pocos programadores escribirán rellenos de bases de datos para aprovechar los nuevos juguetes.

Un script para crear/actualizar una tabla de base de datos a partir del historial de cuentas/historial de instrumentos se escribe en unos minutos.

Lo más probable es que el terminal lo almacene todo en las mismas BD, pero es poco probable que se acceda a ellas directamente. Y no tiene sentido duplicarlo en una base de datos castum "out of the box".

 
Andrey Khatimlianskii:

Un script para crear/actualizar una tabla de la BD a partir del historial de cuentas/historial de instrumentos está escrito en minutes.....

Lo más probable es que el terminal almacene todo esto en las mismas bases de datos, pero es poco probable que den acceso directo a ellas. Y no tiene sentido duplicarlo en una base de datos castum "out of the box".

Sí, no pensé en la seguridad. Probablemente porque no hay pensamientos fraudulentos:))))))) Estoy de acuerdo. Retiro mis palabras.

 
Alexey Viktorov:

@Rashid Umarov Estoy releyendo el artículo por enésima vez y cada vez me llama la atención una errata.

Por favor, corrígela y borra este mensaje.

Corregido en 2 sitios - extraña errata. Gracias

 
¿Existe la posibilidad de acceder simultáneamente a diferentes tablas de una base de datos SQLite? ¿O al menos cómo entender si la base de datos está bloqueada en ese momento y el programa debe esperar su turno?
 

Buenas tardes

Al ejecutar el script DatabaseRead.mq5, no se crea ningún archivo de base de datos (company.sqlite).

No genera ningún error. El archivo está ahí, pero no lo veo.

¿Pueden ayudarme a entenderlo?