SyncDB
- Utilidades
- Maxim Kuznetsov
- Versión: 1.0
- Activaciones: 5
Un servicio para mantener la base de datos SQLiteactualizada . Rápido funcionamientoentiemporeal. Guarda posicionesabiertas y órdenes, cotizacionesactuales e historial deoperaciones . Aprovecha las capacidades de SQLite para almacenamientointermedio dedatos , análisis, e integración de la plataformaMetaTrader . Guarde todos sus datos en un lugar. Utilice los datos guardados en consultas analíticas SQL, desde Python y otroslenguajes , para construir cuadros de mando e integrar MetaTrader
Parámetros
SyncDB crea y mantiene 2 bases de datos al mismo tiempo :
db/{server_name}.{account}.history.db es una base de datos history que contiene el historial de transacciones einformación sobreinstrumentos
db/ram/{server_name}.{account}.trade.db es una base de datos actualizada que contiene órdenes abiertas y posiciones, precios actuales.
Donde {server_name} es el nombre del servidor denegociación DC , que será entregado automáticamente. {account} el número de la cuenta denegociación en él. Así, con el funcionamiento simultáneo de varios terminales, sus datos se almacenan por separado y no causarán bloqueos mutuos y ralentizaciones.
Recomiendoencarecidamente colocar el directoriodb/ram en un discoram o en un soporte rápido .
Parámetrosmuy sencillos:
- priceUpdateSec, 15 - el periodo (segundos) para actualizar los precios en la base de datos. Cuando se utiliza un disco ram, puede especificar valores más pequeños, hasta 0
- useCommon, true. Utilizar un directorio de datos compartido [COMMON].
- dbFolder, "db". El nombre de la carpeta de almacenamiento de la base de datos
El esquema de la base de datostrade.db
La base de datos contiene los mínimos necesarios, al estilo de mt4 y adaptados para adicionesfrecuentes . Después de crear la base de datos con el script, usted puede hacer sus propios ajustes en ella (añadir índices, camposcomputables , datosadicionales y tablas)
CREATE TABLE IF NOT EXISTS Trade ( ticket INT PRIMARY KEY, symbol VARCHAR(16), 'type' VARCHAR(16), lots REAL, openPrice REAL, stopLoss REAL, takeProfit REAL, price REAL, 'time' DATETIME, closeTime DATETIME, expiration DATETIME, profit REAL, swap REAL, commission REAL, magic INT , 'comment' VARCHAR(255) ) WITHOUT ROWID
y
CREATE TABLE IF NOT EXISTS Watch ( name VARCHAR(16) PRIMARY KEY, 'time' DATETIME, bid REAL, ask REAL, spread INTEGER, stopLevel INTEGER, tickValue REAL ) WITHOUT ROWID
History.db base de datos esquema
CREATE TABLE IF NOT EXISTS History ( ticket INT PRIMARY KEY, symbol VARCHAR(16), 'type' VARCHAR(16), lots REAL, openPrice REAL, stopLoss REAL, takeProfit REAL, price REAL, 'time' DATETIME, closeTime DATETIME, expiration DATETIME, profit REAL, swap REAL, commission REAL, magic INTEGER, 'comment' VARCHAR(255) ) WITHOUT ROWID
y
CREATE TABLE IF NOT EXISTS Symbol ( name VARCHAR(16) PRIMARY KEY, base VARCHAR(16), quote VARCHAR(16), digits INTEGER, point REAL, tickSize REAL, minLot REAL, maxLot REAL, lotStep REAL ) WITHOUT ROWID
Uso
Basta con que ejecute una instancia del servicioSyncDB , y utilice los datos en susaplicaciones y para la integración .
