Diskussion zum Artikel "Vereinfachung von Datenbanken in MQL5 (Teil 1): Einführung in Datenbanken und SQL"
In diesem ersten Artikel habe ich nur die Spitze des Eisbergs gezeigt. TickORM geht viel weiter: Die Idee ist, die Art und Weise, wie Sie mit Datenbanken in MQL5 arbeiten, komplett zu ändern. Das Ziel ist es, etwas Geradliniges, Einfaches und Mächtiges zu schaffen, bei dem das Öffnen einer Datenbank, das Erstellen eines Repositorys und das Manipulieren von Entitäten so selbstverständlich ist wie das Arbeiten mit Arrays. Am Ende der Serie wird die Verwendung dem unten stehenden Beispiel ähneln, bei dem Sie Datensätze speichern, suchen, aktualisieren und löschen können, ohne eine einzige manuelle Abfrage zu schreiben. Dies ist der Weg, den ich mit TickORM beschreite.
int OnInit(void) { IDatabaseManager *database = new CDatabaseManager(); if(database.OpenDatabase("trades.sqlite")) { //--- Instanz-Repository AccountRepository repo(database); //--- Einfügen Account acc; acc.number = 10; repo.save(acc); //--- Alle auswählen Account acc[]; repo.findAll(acc); ArrayPrint(acc); //--- Auswahl nach ID Account acc = repo.findById(1); Print(acc.id); Print(acc.number); //--- Aktualisierung Account acc; acc.id = 1; acc.number = 10; repo.update(acc); //--- Löschen nach ID repo.deleteById(1); } database.CloseDatabase(); delete database; return(INIT_SUCCEEDED); }
Zu Ihrer Information: Eine ORM-Implementierung für MQL5 wird in diesem Buch vorgestellt.
- www.mql5.com
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Vereinfachung von Datenbanken in MQL5 (Teil 1): Einführung in Datenbanken und SQL :
Wenn wir über MQL5 sprechen, drehen sich die meisten Gespräche um Indikatoren, Expert Advisors, Handelsstrategien und Backtests. Aber irgendwann wird jedem Händler oder Entwickler, der ernsthaft mit Automatisierung arbeitet, klar, dass die Datenpersistenz entscheidend ist. Und genau hier kommen Datenbanken ins Spiel. Sie könnten sogar denken: „Aber ich speichere meine Ergebnisse bereits in CSV- oder TXT-Dateien, warum sollte ich die Sache mit einer Datenbank verkomplizieren?“ Die Antwort liegt in der Organisation, der Leistung und der Zuverlässigkeit, die eine Datenbank bietet, insbesondere wenn es um große Informationsmengen oder komplexe Vorgänge geht.
Im Zusammenhang mit MQL5 von Datenbanken zu sprechen, mag auf den ersten Blick wie eine Übertreibung erscheinen. Schließlich ist die Sprache stark auf den Handel, Indikatoren und automatische Ausführungsroboter ausgerichtet. Wenn wir jedoch mit Strategien arbeiten, die große Datenmengen, komplexe Backtests oder detaillierte Auftragsdatensätze umfassen, erweist sich die Einfachheit von Standarddateien schnell als unzureichend. Wenn Sie wissen, wie man eine Datenbank erstellt, auf sie zugreift und sie manipuliert, wird sie zu einem Werkzeug, das Ihre Handelsabläufe verändern kann.
Ein Händler, der beginnt, Datenbanken in MQL5 zu erforschen, wird Dutzende von nativen Funktionen und eigenständigen Beispielen finden. Es reicht aus, Datensätze zu speichern und abzufragen, aber bald stellt sich die Frage: „Wie organisiert man all dies auf saubere und wiederverwendbare Weise in echten Projekten?* In dieser Artikelserie gehen wir über die Dokumentation hinaus. Wir beginnen mit den Grundfunktionen von SQLite und gehen Schritt für Schritt vor, um ein **mini-ORM in MQL5 (TickORM)** zu erstellen. Die Idee besteht darin, direkte Aufrufe in gut gestaltete Schichten umzuwandeln, die von JDBC und JPA in Java inspiriert, aber an das MetaTrader-Ökosystem angepasst sind.
In diesem Artikel zeige ich die Grundlagen von Datenbanken in MQL5 und SQL. Dies ebnet den Weg für die nachfolgenden Artikel zur Kapselung dieser Funktionen in Klassen, Schnittstellen und schließlich im ORM.
Autor: joaopedrodev