Diskussion zum Artikel "SQLite: Natives Arbeiten mit SQL-Datenbanken in MQL5" - Seite 2
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Renat Fatkhullin:
Innerhalb verschiedener MQL5 Expert Advisors, die in einem Terminal gestartet werden, können Sie dieselbe Datenbank nutzen.
.
Ich habe die Arbeit von zwei Expert Advisors mit der gleichen Datenbank in einem Terminal getestet. Es funktioniert ohne Fehler - beide Expert Advisors schreiben Daten in eine Datei mit einem Timer von 2 Sekunden.
Die Dateien sind angehängt, sie unterscheiden sich nur durch den Namen des Expert Advisors.
So sieht die Datenbank in MetaEditor aus
Kann das, was für µl5 beschrieben ist, auch in µl4 verwendet werden?
In MQL4 können Sie mit der nativen Sqlite3_32.dll über den Wrapper für MQL arbeiten
Dies ist ein Wrapper für MQL, nicht zu verwechseln mit SQLite3Wrapper.dll
Aber ob sie noch online ist, weiß ich nicht, ich habe sie früher benutzt.
UPD: https: //github.com/Shmuma/sqlite3-mt4-wrapperWer es herausgefunden hat, zeige bitte die Umsetzung einer solchen Aufgabe.
Es gibt noch eine weitere Nuance - die Speicherung in der Datenbank konsistenter Daten mit wachsendem Wert, die nicht verstreut werden, wie z.B. Kurse (mit wachsendem Datum) - eine SEHR teure Operation. Der Baum ist nicht ausgeglichen, ein Zweig wächst ins Unendliche, und die Engine gleicht den Baum regelmäßig neu aus (das ist schlimmer als Müllabfuhr). Vielleicht gilt das nur für die indizierte Tabelle, ich weiß es nicht mehr. Oder vielleicht wurde das Problem in den paar Jahren, in denen ich es nicht benutzt habe, bereits gelöst. Ich werde es ausprobieren müssen. Vielleicht analysieren es ja auch die Entwickler, die sollten daran interessiert sein.
Datenbank-Import()
einfaches Skript
2020.02.20 15:09:27.171 MQL5 'DOMcopy.ex5' hat eine neuere nicht unterstützte Version, bitte aktualisieren Sie Ihr Client-Terminal
Version 5 Build 2323 neueste Meta-Editor ist die gleiche und Debugging funktioniert nicht.
ist etwas unvollendet?
DieFunktion DatabaseImport ist noch nicht für die Öffentlichkeit freigegeben worden.
Bitte warten Sie auf die Freigabe.
Die Funktion DatabaseImport ist noch nicht für die Öffentlichkeit freigegeben worden.
Bitte warten Sie auf die Freigabe.
Version 5 Build 2326 dasselbe, also warten Sie auf eine stabile Version, aber wann?
Version 5 Build 2326 die gleiche Sache, die für eine stabile Version zu warten ist und wann?
Forum über den Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Neue Version von MetaTrader 5 build 2340: Verwalten von Kontoeinstellungen im Tester und Erweiterung der Integration mit Python
MetaQuotes, 2020.02.20 14:55
Am Freitag, den 21. Februar 2020, wird eine aktualisierte Version der MetaTrader 5-Plattform veröffentlicht. Das Update enthält die folgenden Änderungen:
Im letzten Plattform-Update haben wir die Unterstützung für die Arbeit mit SQLite-Datenbanken direkt von MQL5 aus hinzugefügt. Jetzt sind die wichtigsten Funktionen über die MetaEditor-Benutzeroberfläche verfügbar:
.
Funktionsweise
Um Datenbanken schnell zu erstellen, verwenden Sie den "MQL5-Assistenten". Hier können Sie sofort die erste Tabelle erstellen und eine Liste ihrer Felder definieren.
Nachdem Sie eine Datenbank erstellt haben, gelangen Sie in einen neuen Bereich des "Navigators". Die gesamte Arbeit mit den Daten findet in diesem Bereich statt.
Im linken Teil werden die Datenbanktabellen angezeigt. Um die ersten 1.000 Datensätze schnell abzufragen, doppelklicken Sie auf den Tabellennamen. Hier können Sie auch andere Datenbanken erstellen und öffnen und mit Tabellen arbeiten.
Im Hauptteil des Editors arbeiten Sie mit der Datenbank: Füllen Sie die Tabelle mit Daten, führen Sie Such- und Auswahlvorgänge durch, geben Sie SQL-Abfragen ein, usw.
.

Für weitere Details zur Arbeit mit Datenbanken in MetaTrader 5 lesen Sie bitte den Artikel"SQLite: Native Work with SQL Databases in MQL5"..
.
Um das Skript im Editor auszuführen, klicken Sie auf "Kompilieren":
.
Um mit Python zu arbeiten, vergessen Sie nicht, den Pfad zu Python im Abschnitt "Einstellungen / Compiler" in MetaEditor anzugeben. Und um mit der MetaTrader 5 Bibliothek zu arbeiten, installieren Sie sie mit dem Befehl:
.
.
Neue Befehlsbenennung
Vorhandene Befehle wurden umbenannt:
MT5Shutdown -> shutdown
MT5TerminalInfo -> terminal_info
MT5Version -> version
MT5CopyRatesFrom -> copy_rates_from
MT5CopyRatesFromPos -> copy_rates_from_pos
MT5CopyRatesRange -> copy_rates_range
MT5CopyTicksFrom -> copy_ticks_from
MT5CopyTicksRange -> copy_tick_range
Neue Befehle
Die Liste der unterstützten Befehle wurde stark erweitert. Neue Funktionen für den Handel und die Arbeit mit der Handelshistorie, Abrufen von Informationen über Finanzinstrumente und das aktuelle Konto.
.
Ausführen von Python-Skripten auf Charts
Python-Skripte können jetzt direkt auf Charts in der Plattform ausgeführt werden, ähnlich wie normale MQL5-Programme. Sie werden mit speziellen Symbolen im "Navigator" angezeigt.
.
Skript-Meldungen werden im Bereich "Tools / Experten" angezeigt. Wenn das Skript die MetaTrader 5-Bibliothek verwendet, kann es Informationen über das Instrument, das Konto und den Handel erhalten.
Python-Skripte können auf demselben Chart parallel zu anderen MQL5-Skripten und Expert Advisors ausgeführt werden. Um ein Skript zu stoppen, wenn es in einer Schleife ausgeführt wird, entfernen Sie es einfach aus dem Chart.
Zusätzlicher Schutz
Um Ihre Konten bei der Verwendung von Python-Bibliotheken von Drittanbietern weiter zu schützen, wurde die Option "Automatischen Handel über externe Python-API deaktivieren" zu den Terminaleinstellungen hinzugefügt.
.
Python-Skripte können nur gehandelt werden, wenn diese Option ausdrücklich deaktiviert ist.
.
.
DatabaseImport
Importiert Daten aus einer Datei in eine Tabelle.
DatabaseExport
Exportiert eine Tabelle oder das Ergebnis der Ausführung einer SQL-Abfrage in eine CSV-Datei. Die Datei wird in UTF-8-Kodierung erstellt.
DatabasePrint
Druckt eine Tabelle oder das Ergebnis der Ausführung einer SQL-Abfrage in das Expert Advisor-Protokoll.
Die neue Funktion ermöglicht eine komfortable Benutzerinteraktion mit dem MQL5-Programm.
.
.
.
Allgemeine Einstellungen
In diesem Abschnitt können Sie die maximale Anzahl der offenen Aufträge und Positionen festlegen, die Sie gleichzeitig auf Ihrem Konto haben können. Außerdem können Sie hier einstellen, in welchen Sitzungen das getestete Programm nicht handeln darf.
Margin
Hier können Sie vollständig kontrollieren, wie die Margin reserviert wird und welches Positionsbuchhaltungssystem während des Tests verwendet wird:
.
.
.
.
Kommission
In diesem Bereich haben Sie die volle Kontrolle darüber, wie die Kommissionen für alle Trades berechnet werden.
.
.
.
.
Das Update wird über das LiveUpdate-System verfügbar sein.
stabile Version 5 build 2340 DatabaseImport zeigt bei der Ausführung den gleichen DatabaseImport
2020.02.22 14:01:42.338 MQL5 'DOMcopy.ex5' hat eine neuere nicht unterstützte Version, bitte aktualisieren Sie Ihr Client-Terminal
Hallo!
Ich habe versucht, im Indikator eine Verbindung zu einer Datenbank herzustellen, aber aus irgendeinem Grund hat es nicht funktioniert.
Warum wird nirgends geschrieben, in welchen Programmen ich Datenbanken verwenden kann?