SyncDB
- Utilitys
- Maxim Kuznetsov
- Version: 1.0
- Aktivierungen: 5
Ein Service , um die SQLite-Datenbank auf dem neuesten Stand zu halten. Schneller Echtzeitbetrieb. Speichert offene Positionen und Aufträge, aktuelle Kurse und Handelshistorie.Nutzen Sie die Möglichkeiten von SQLite für Zwischenspeicherung Daten , Analysenund Integration der MetaTrader Plattform. Speichern Sie alle Ihre Daten an einem Ort. Verwenden Sie die gespeicherten Daten in SQL analytischen Abfragen, von Python und anderen Sprachen, um Dashboards zu erstellenund MetaTraderzu integrieren.
Parameter
SyncDB erstellt und verwaltet 2 Datenbanken zur gleichen Zeit:
db/{server_name}.{account}.history.db ist eine aufgefüllte history Datenbank, die die Geschichte der Transaktionen und Informationen über Instrumenteenthält
db/ram/{server_name}.{account}.trade.db ist eine aktualisierte Datenbank, die offene Aufträge und Positionen, aktuelle Preiseenthält.
Wo {server_name} der Name des DC Handelsservers ist,wird er automatisch geliefert. {account} die Nummer des Handelskontos auf es. So werden beim gleichzeitigen Betriebmehrerer Terminals, deren Daten getrennt gespeichertundverursachen keine gegenseitigen Sperren und Verlangsamungen.
Ich empfehledringend das db/ram Verzeichnis auf einer ram Festplatte oder schnellen Medienzu platzieren.
Sehr einfache Parameter:
- priceUpdateSec, 15 - der Zeitraum (Sekunden) für die Preisaktualisierung in der Datenbank. Bei Verwendung einer Ram-Platte können Sie kleinere Werte bis zu 0 angeben
- useCommon, true. Ein [COMMON] gemeinsames Datenverzeichnis verwenden.
- dbFolder, "db". Der Name des Datenbankverzeichnisses
Das Schema der Datenbanktrade.db
Die Datenbank enthält das notwendige Minimum, imStil von mt4 und angepasst für häufige Ergänzungen. Nachdem die Datenbank mit dem Skripterstellt hat, könnenSie eigene Anpassungen daran vornehmen( Indizeshinzufügen, berechenbare Felder, zusätzliche Daten und Tabellen)
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
und
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 Datenbank Schema
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
und
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
Verwendung
StartenSie einfach eine Instanz des SyncDB Dienstes, und verwenden Sie die Daten in Ihren Anwendungen und für Integration.
