und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 1073
- Rating:
- Veröffentlicht:
- 2016.06.13 10:22
- Aktualisiert:
- 2016.11.22 07:34
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Dieses Projekt (Visual C++ 2010) enthält 2 Klassen - CMemMapApi und CMemMapFile.
Sie wurden entworfen, um mit Speicherabbilddateien zu arbeiten. Sie können:
- Eine Datei im Speicher erstellen;
- Von einer Speicherabbilddatei lesen und schreiben;
- Es gibt eine Möglichkeit Daten zwischen Anwendungen auszutauschen, einschließlich MetaTrader 4 und МetaТrader 5.
Die Hauptanwendung ist der Datenaustausch:
- Kopieren der Trades für verschiedenen Terminal auf einem PC
- Austausch von Quotierungen für Arbitrage Expert Advisors etc.
Die Speicherabbilddateien können verwendet werden um den Expert Advisors temporäre Daten zur Verfügung zu stellen.
Die CMemMapApi Klasse ist nur ein Wrapper für die WinApi Funktionen, das ist der Unterschied zwischen CMemMapFile und CMemMapApi.
CMemMapFile ist praktisch, weil es Dateinamen, Dateihandles und Steuerung der Überprüfung der Dateigröße zur Verfügung stellt. Im Gegensatz dazu kann die CMemMapApi Klase mit verschiedenen Speicherabbilddateien arbeiten.
Im aktuellen Projekt sind die exportierten DLL-funktionen in CMemMapApi organisiert, um mit verschiedenen Speicherabbilddateien zu arbeiten.
Die CMemMapFile Klasse wurde entworfen um mit Speicherabbilddateien in anderen C++ Projekten zu arbeiten.
//--- öffnet/erstellt Speicherabbilddatei und gibt Handle zurück int MemOpen(string path,int size,int mode,int &err[]); //--- Schließt Speicherabbilddateien void MemClose(int hmem); //--- Vergrößert die Speicherabbilddatei int MemGrows(int hmem,string path,int newsize,int &err[]); //--- gibt die Größe der Speicherabbilddatei zurück int MemGetSize(int hmem, int &err[]); //--- setzt die Größe der Speicherabbilddatei int MemSetSize(int hmem, int size, int &err[]); //--- Schreibt v Vektor (Größe Bytes) in Speicherabbilddatei ab der Position pos int MemWrite(int hmem,int &v[], int pos, int size, int &err[]); //--- Liest v Vektor (Größe Bytes) von Speicherabbilddatei beginnend ab Position pos int MemRead(int hmem, int &v[], int pos, int size, int &err[]); //--- Schreibt einen String (Größe Bytes) in Speicherabbilddatei ab Position pos int MemWriteStr(int hmem, string buf, int pos, int size, int &err[]); //--- Liest einen String (Größe Bytes) von Speicherabbilddatei beginnend ab Position pos int MemReadStr(int hmem, string buf, int pos, int &size, int &err[]);
Beispiel für Verwendung der DLL: Monitoring der Quotierungen (Speicherabbilddatei)
12.03. 2012: Fehler in MemWriteStr behoben
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/816

Das Skript berechnet den Stop Out Preis (bei diesem preis wird die Position durch den Broker geschlossen) einer offenen Position und den Preis, bei dem die freie Margin negativ wird (LockOut Preis).

Klassischer Pivot Punkt Indikator zeichnet Pivotpunkt und drei Widerstands- und Unterstützungslevels für alle Datenpunkte.

Dieser Expert Advisor ist ein Beispiel für die Arbeit mit Abbildungsfunktionen bei der Verwendung der Speicherabbilddatei-DLL. In diesem Beispiel des Expert Advisor wird eine virtuelle (Speicherabbild) Datei erstellt und die Aktualisierung der Quotierungen für eine Symbol gestartet. Auf diese Weise können Expert Advisors unter Verwendung von Speicherabbilddateien Daten austauschen (zum Beispiel Quotierungen).

Die Klassen (konvertiert von C++ zu MQL5) zum Arbeiten mit Speicherabbilddateien.