![Datenstruktur in MetaTrader 4 Build 600 und Höher](https://c.mql5.com/i/articles/overlay.png)
Datenstruktur in MetaTrader 4 Build 600 und Höher
Einführung
MetaTrader 4 Build 600 verfügt über die neue Struktur und Position der Client-Terminal-Dateien. Nun sind MQL4 Anwendungen in separaten Verzeichnissen nach dem Programmtyp (Expert Advisors, Indikatoren oder Skripte) platziert. In den meisten Fällen werden Terminal-Daten nun in einem speziellen Datenordner vom Terminal Installationsort getrennt gespeichert. In diesem Artikel werden wir im Detail beschreiben, wie Daten übertragen werden, sowie die Gründe für das neue Speichersystem einzuführen.
Warum wurde das neue Daten-Speicher-System implementiert
Microsoft Windows XP, vor 13 Jahren veröffentlicht, ermöglicht Anwendungen ihre eigenen Daten an den Ort ihrer Installation zu schreiben, auch wenn letztere im Program Files Systemordner stattfand. Ein Benutzer musste nur eine Administrator-Berechtigung haben, um Daten in einen beliebigen Ordner schreiben.
Ab Windows Vista hat Microsoft eine Beschränkung auf das Schreiben in Programm-Verzeichnisse eingeführt. Wenn das Benutzerkontensteuerung (UAC) System aktiviert ist, wird den Programmen nicht erlaubt ihre Daten in die Program Files Ordner zu speichern. Alle Daten sollten sich in einem separaten Benutzerverzeichnis befinden. Diese Beschränkung wurde zum Schutz der Benutzer vor bösartigen Programmen eingeführt und zu verhindern, dass Anwendungen unter einem Benutzerkonto, die notwendigen Daten für das gleiche Programm eines anderen Benutzerkontos ändern oder beschädigen. Seit dieser Zeit, wurden die Sicherheitsanforderungen in Microsoft-Betriebssystemen weiter angezogen. Insbesondere, beginnend mit Windows 8, kann das UAC-System nicht einmal deaktiviert werden, wenn "Nie benachrichtigen"-Option in den Einstellungen ausgewählt ist.
Microsoft hat einen Virtualisierung Prozess implementiert, um Kompatibilität mit älteren Anwendungen zu bereitzustellen, wenn UAC verwendet wird. Wenn ein Programm versucht, seine Daten in das Programmdateiverzeichnis zu speichern, werden die Daten tatsächlich (physisch) in einen separaten Ordner gespeichert, mit dem folgenden aussehen - C:\Users\user-name\AppData\Local\VirtualStore\Program Files, während Windows-Datei-Explorer die Dateien so anzeigt, als wären sie im Installationsverzeichnis gespeichert. Microsoft behauptet, dass dieser Modus nur für die Kompatibilität zur Verfügung gestellt worden ist, und später entfernt werden kann.
Um den Microsoft Empfehlungen nachzukommen, wurde die Datenspeicherstruktur in MetaTrader 4 Client-Terminal beginnend ab Build 600 geändert. Nun wird das Terminal seine Daten auch in einem Benutzerverzeichnis speichern.
Benutzerdatenverzeichnis
In der neuen Version werden alle Daten eines bestimmten Benutzers, die mit einer bestimmten Kopie von MetaTrader 4 Terminal arbeiten, an einem speziellen Ort namens Terminal Dateiordner gespeichert. Dieser Ordner kann auf einem Systemlaufwerk (eine Festplatte mit installiertem Windows-Betriebssystem), auf dem folgenden Pfad
C:\Users\User_account_name\AppData\Roaming\MetaQuotes\Terminal\Instance_idwobei:
- P!: - Name des System-Laufwerks,
- User_account_name - Benutzerkonto für die Arbeit in Windows,
- Instance_id - eindeutiger Name des Ordners, in dem alle Daten des Nutzers für die Arbeit mit einer bestimmten Kopie von MetaTrader 4 Terminal gespeichert sind. Ein eindeutiger Name besteht aus 16 Zeichen. Der Name wird basierend auf dem Pfad zu dem Terminal Installationsverzeichnis erzeugt, da der Pfad zu dem Terminal Installationsverzeichnis nicht explizit als Ordnername verwendet werden kann. Die signifikante Länge des eindeutigen Namens wird durch die Tatsache erklärt, dass mehrere Kopien des Terminals auf einem einzelnen PC installiert werden können.
"Dateiordner öffnen" Befehl wurde dem Menü des Terminals unter Datei hinzugefügt, für die Suche und das Öffnen des Datenordners.
Das Wurzelverzeichnis jedes Terminal Dateiordner enthält auch origin.txt Datei, in der Sie den Pfad zu dem Installationsordner des Terminals, auf den diese Daten sich beziehen, finden können. Dies ermöglicht Benutzern, jeden Terminal Datenordner mit einem bestimmten Terminal-Installationsverzeichnis übereinzustimmen, beispielsweise für den Fall, wenn mehrere Kopien von MetaTrader 4 Terminal von einem Benutzer installiert werden. Diese Art mit dem Terminal zu arbeiten, wenn der Dateiordner von der Installation getrennt ist, ist der Hauptmodus.
Für mehr Komfort, wird ein Eintrag, der den Pfad zum Dateiordner enthält, in das Terminal Journal gemacht, jedes Mal wenn das Terminal gestartet wird. Zum Beispiel:
2014.02.10 12:48:28.477 Dateiordner: C:\Users\JohnSmith\AppData\Roaming\MetaQuotes\Terminal\9F86138A4E27C7218E9EC98A5F8D8CA1
Kopieren von MQL4 Anwendungsdateien Bei der Aktualisierung auf MetaTrader 4 Build 600 und Höher
Wenn das neu aktualisierte Terminal gestartet wird, prüft es, ob der Dateiordner vorhanden ist. Wenn der Dateiordner noch nicht vorhanden ist, wird er erstellt. Wenn der Ordner ein anderer als die Installation ist, werden die regelmäßigen Daten des Terminals (Standard MQL4 Programme, historische Daten, Konfigurationsdateien, Vorlagen, usw.) hinein kopiert. Die Dateien, die sich während des Terminalbetriebs nicht ändern (ausführbare Dateien, mql.dll Compiler, Sound-Dateien, usw.) werden in dem Installationsverzeichnis belassen. Der Terminal-Dateiordner unterscheidet sich von dem der Installation in den folgenden Fällen:
- UAC-System ist aktiviert. Die Ausnahme ist, wenn das Endgerät auf einem tragbaren Gerät (externe Festplatte, USB-Stick, usw.) installiert ist.
- Der aktuelle PC-Benutzer hat begrenzte Rechte Daten in das Installationsverzeichnis zu schreiben.
- Ein Benutzer arbeitet per Remote-Verbindung (RDP).
Wenn keine der obigen Bedingungen erfüllt ist, werden die Terminal-Daten in das Installationsverzeichnis gespeichert.
Dann werden die Benutzerdateien in den Dateiordner verschoben. In dieser Phase wird das Verzeichnis, wo die Benutzerdaten des Terminals gespeichert werden, bestimmt. Wenn die Daten in den Terminal-Installationsordner gespeichert wurden, werden sie auf die folgende Weise kopiert:
Quellordner in dem Installationsverzeichnis |
Inhalte | Zielordner in dem Terminal Datenverzeichnis |
---|---|---|
\experts |
Expert Advisors (Handelsroboter) Hinweis: nur Dateien aus dem Wurzelverzeichnis \experts werden kopiert. Es werden keine Unterverzeichnisse kopiert, da es unmöglich ist zuverlässsig deren Inhalte zu bestimmen |
\MQL4\Experts |
\experts\indicators | Benutzerdefinierte Indikatoren |
\MQL4\Indicators |
\experts\scripts |
Skripte (MQL4 Anwendungen für eine einmalige Anwendung auf dem Chart) | \MQL4\Scripts |
\experts\include | Quellcode MQH und MQ4 Dateien umgesetzt in anderen Programmen | \MQL4\Include |
\experts\libraries | Bibliotheken in Form von MQ4 Quellcodes und EX4 ausführbare Dateien, aus diesen kompiliert. Sie werden verwendet für den dynamischen Aufruf der Funktionen, die in anderen MQL4 Programmen enthalten sind | \MQL4\Libraries |
\experts\files | Spezial "Datei Sandbox". MQL4 Anwendungen ist es erlaubt Dateioperationen nur innerhalb dieses Orders auszuführen | \MQL4\Files |
\experts\logs |
Protokolldateien von MQL4 Anwendungen |
\MQL4\Logs |
\experts\presets |
Dateien mit Voreinstellungen für MQL4 Anwendungen |
\MQL4\Presets |
\experts\images |
Bilddateien die von Ressourcen verwendet werden | \MQL4\Images |
Als nächstes wird geprüft, ob das Client-Terminal Daten in das Virtualisierungs-Verzeichnis (des Betriebssystems virtueller Speicher, oben beschrieben) gespeichert hat. Wurde das Terminal in Program Files Verzeichnis installiert und das Betriebssystem ist Windows Vista oder höher, sind die Terminal Daten höchstwahrscheinlich in diesem Verzeichnis gespeichert. Wenn die Daten gefunden wurden, wird nach der obigen Tabelle kopiert.
Während der Migration, werden die Einträge der kopierten Dateien Quell- und Ziel Pfade, in das Terminal-Journal gemacht. Um alle Protokolle anzuzeigen, öffnen Sie das Journal Register im Terminal-Fenster und führen Sie Befehl Öffnen im Kontextmenü aus. Der Ordner, der die Terminal-Log-Dateien enthält, wird geöffnet.
Wenn die Migration erfolgreich für die aktuelle Terminal Kopie abgeschlossen ist, wird sie während der nachfolgenden MetaTrader 4 Terminal-Updates nicht mehr wiederholt. Wenn der Dateiordner sich von dem der Installation unterscheidet, und benutzerdefinierte MQL4 Anwendungen wurden zusammen mit den Standarddateien während der Migration kopiert, erscheint das folgende Dialogfenster:
Portable Modus
Der Portable Startmodus ist für den Terminalbetrieb auf tragbaren Geräten und Nicht-System-Verzeichnisse zur Verfügung gestellt, sowie für die Arbeit in Windows XP. Wird in diesem Modus gestartet, versucht das Terminal seine Daten in den Installationsordner zu speichern. Jedoch garantiert der Portable Modus nicht, dass ein Betriebssystem es ermöglicht, Daten in den Installationsordner zu speichern (zum Beispiel, wenn das Terminal in Programmdateiverzeichnis installiert ist, und UAC-System aktiviert ist).
Folgende Bedingungen sollten für das Arbeiten im Portable-Modus erfüllt sein:
Installationsverzeichnis |
Betriebssystem |
Anforderungen |
---|---|---|
Program Files oder anderes Systemverzeichnis (zum Beispiel, Windows) |
Windows XP |
Erlaubnis zum Schreiben in den Installationsordner |
Anderes nicht-System Verzeichnis |
Windows XP |
Erlaubnis zum Schreiben in den Installationsordner |
Externe Festplatte, USB-Stick, usw. | Windows XP | Das Terminal wird immer im Portable Modus gestartet. |
Program Files oder anderes Systemverzeichnis (zum Beispiel, Windows) | Windows Vista\Windows 7 |
Starten des Terminals als Administrator und deaktiviertem UAC |
Anderes nicht-System Verzeichnis | Windows Vista\Windows 7 |
Erlaubnis zum Schreiben in den Installationsordner |
Externe Festplatte, USB-Stick, usw. | Windows Vista\Windows 7 | Das Terminal wird immer im Portable Modus gestartet. |
Program Files oder anderes Systemverzeichnis (zum Beispiel, Windows) |
Windows 8 und höher |
Es ist unmöglich den Portable Modus zu verwenden, da UAC System nicht deaktiviert werden kann |
Anderes nicht-System Verzeichnis | Windows 8 und höher |
Erlaubnis zum Schreiben in den Installationsordner |
Externe Festplatte, USB-Stick, usw. | Windows 8 und höher | Das Terminal wird immer im Portable Modus gestartet. |
- Es ist nicht empfohlen tragbare Modus zu verwenden, für den Fall, dass Sie Windows Vista oder höher verwenden, und das Terminal in Program Files installiert ist. Dieser Modus ist für den Terminalbetrieb auf tragbaren Geräten und Windows XP bereitgestellt.
- Wenn Sie das Terminal aktualisiert haben und alle Daten in einen separaten Benutzerdatenordner kopiert worden sind, ist es auch nicht empfohlen in den Portable-Modus zu wechseln.
- Sie sollten die Daten manuell in den Installationsordner kopieren, um den Portable Modus nach dem Kopieren der Daten in den Benutzerdatenordner zu verwenden. manuell kopieren. ist das Starten des Terminals im Portable-Modus kopiert nicht die Daten aus dem Datenordner in den der Installation.
Um das Terminal im Portable-Modus zu starten, verwenden Sie die "/ portable" -Taste. Für mehr Komfort können Sie eine zusätzliche Terminal Start Verknüpfung mit dem entsprechenden Namen auf Ihrem Desktop erstellen und fügen Sie die Taste direkt der Verknüpfung zu::
Fazit
Änderungen in dem MetaTrader 4 Terminal Datenspeichersystem wurden, um den Anforderungen von Windows-Betriebssystemen, entwickelt von Microsoft, gerecht zu werden gemacht. Das Datenspeichersystem war ursprünglich in MetaTrader 5 umgesetzt, und viele Trader nutzen es im Moment erfolgreich.
MetaTrader 4 Terminal-Daten werden automatisch in das Benutzerverzeichnis übertragen. In den meisten Fällen werden keine zusätzlichen Aktionen von den Benutzern erforderlich. Informationen über alle Daten-Kopieroperationen werden in dem MetaTrader 4 Journal angezeigt.
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/ru/articles/1388
![Aktualisierung auf MetaTrader 4 Build 600 und Höher](https://c.mql5.com/2/13/1145_130.png)
![Offline Charts in dem Neuen MQL4](https://c.mql5.com/2/13/1137_68.png)
![Häufige Fehler in MQL4 Programmen und wie man sie vermeidet](https://c.mql5.com/2/13/1152_84.png)
![Testen und Optimierung von Expert Advisors](https://c.mql5.com/2/17/824_37.gif)
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- 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.