Diskussion zum Artikel "Kopieren des Handels aus MetaTrader 5 nach MetaTrader 4" - Seite 13

 
zhserg:

Ich habe einen einfachen Kopierer erstellt. Setzen Sie von wo, nach wo und kopieren Sie die Intervall.

exe-Datei im Archiv
 
Warstein:
Danke für die tollen Sachen!!!
Sehr große Anfrage, fügen Sie Arbeit nur mit Aufträgen mit einer bestimmten Magie Zahl.

Ich unterstütze die Idee, vielleicht wird jemand zu schreiben, und so der Code ist großartig Dank an den Autor alles ist super! Ich muss nur einen guten Händler zu finden und fragen Sie investieren ;)

 

Wir sollten hinzufügen.

1. Lot-Proportionalität - von 5 Ziffern auf 4 Ziffern - das Lot bewegt sich auch um 1 Ziffer.

Im Allgemeinen ist es besser, nicht das Los zu ziehen, sondern den freien Spielraum und das Los und die Nachkommastellen, und beim Empfänger das Los in Übereinstimmung mit dem verfügbaren freien Spielraum und den Nachkommastellen neu zu berechnen.

Auf diese Weise bleibt das Mani-Management erhalten - ohne es verliert das Programm seinen Sinn.

2. Präfixe-Suffixe zu Symbolen - manchmal nennt DC ein Handelssymbol nicht EURUSD, sondern EURUSD_byaka (es ist wahrscheinlich besser, die Korrespondenz "von welchem zu welchem" Symbol in einer separaten Konfigurationsdatei zu duplizieren).

3. es wäre schön, das Kopieren einer Datei in mehrere mt4-Dateien zu realisieren.

Zum Beispiel durch das Empfangen einer mt4-Datei aus einem mt5-Ordner mit Hilfe von:

#import "kernel32.dll"
   bool CopyFileA(string lpExistingFileName, string lpNewFileName, bool bFailIfExists);
#import

/////////////////

CopyFileA(TerminalPath()+CharToStr(92)+"experts"+CharToStr(92)+"files"+CharToStr(92)+fSymbol+".txt",CopyTo1+fSymbol+".txt",false);

Auf diese Weise kann man über die Sandbox der mt4-Datei hinausgehen.

In mql5 funktionieren dieser und ähnliche MSDN-Tricks leider nicht.

Im Allgemeinen werde ich es ausprobieren, und wenn es keine Bugs gibt, werde ich vorerst keine eigene schreiben. Danke!

 
zhserg:

Ich habe einen einfachen Kopierer erstellt. Stellen Sie von wo, bis wo und das Kopierintervall ein.

Starten Sie den Kopiervorgang mit der Schaltfläche "Speichern/Starten". Während der Arbeit blinkt sie ))).

In Translator-Positionen.MQ5 können Sie die Zeile int han=FileOpen(subfolder+"\\\experts\\files\\"+folder+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,","); in int han=FileOpen(folder+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,","); d.h. die Datei wird in den Ordner \\Programme\MetaTrader 5\MQL5\Files geschrieben.

Sie können einen Bootnik verwenden. Er wird sowohl über das Netzwerk als auch innerhalb des Computers sein.

@Echo off
:loop
xcopy "F:\folder\*.txt" "\\Comp1\folder" /Y /R /C /I /G /Z /D >nul
xcopy "C:\Program Files\MetaTrader 5\MQL5\Files\Translator positions.csv" "C:\Program Files\MetaTrader 4\experts\files" /Y /R /C /I /G /Z /D >nul
timeout /t 1
goto :loop

Übrigens, für die Synchronisation von Megadateien empfehle ich Microsoft SyncToy 2 .1 http://www.microsoft.com/en-us/download/details.aspx?id=15155.

SyncToy 2.1
SyncToy 2.1
  • www.microsoft.com
Note: There are multiple files available for this download. Once you click on the “Download” button, you will be prompted to select the files you need. Overview There are files from all kinds of sources that we want to store and manage. Files are created by our digital cameras, e-mail, cell phones, portable media players...
 
All dies ist nicht mehr relevant, der Artikel hat sich überlebt, ein neuer Compiler mql4++ mit erweiterten Funktionen wird bald veröffentlicht werden, alles wird sich ändern.
 

Ich denke, das Problem hat damit zu tun, wo Metatrader die Daten speichert. In den neuesten Versionen von Windows verwendet er keine Unterordner des Installationsordners.

Auf Server 2008 (in meinem Fall) verwendet MT5:
C:\Benutzer\[Benutzername]\AppData\Roaming\MetaQuotes\Terminal\[lange Hex-Zahl]\MQL5\etc...

Jede Terminal-Installation verwendet an diesem Ort einen eigenen Ordner mit einer eindeutigen [langen Hexadezimalzahl]. Ich habe versucht, MT4 im obigen Ordnerpfad zu installieren, aber es liest und schreibt auch aus seinem eigenen eindeutigen Datenordner, so dass das auch nicht funktioniert. In jedem Fall ist das Ausführen von Programmen von diesem Ort aus wahrscheinlich keine gute Idee.

Ich vermute, dass dieses Problem auch unter Windows 8 auftritt.

Ich weiß nicht mehr weiter, hoffe aber, dass diese Informationen hilfreich sind.

 

Die Speicherorte meiner MT4-Datendateien auf Windows Server 2008:

C:\Benutzer\[Benutzername]\AppData\Local\VirtualStore\Program Files\[Name des MT4-Programmordners]

Ich vermute, dass das Betriebssystem die Dateioperationen umleitet.

 

4103 - Fehler beim Öffnen einer Datei, bedeutet, dass MT5 Trades in eine Datei schreibt und MT4 diese nicht finden kann.

Dies geschieht, weil MT5 anders funktioniert als MT4. In MT5 ist der Ordner, in dem wir installieren, ein anderer als der, in dem es ausgeführt wird. Zum Beispiel habe ich MT5 in C:\Accounts\MT5 installiert und MT4 in C:\Accounts\MT5\MQL\Files\MetaTrader 4.

MT5 hat einen Ordner C:\Benutzer\[Benutzername]\AppData\Roaming\MetaQuotes\Terminal\[lange hexadezimale Zahl]\MQL5\etc... erstellt und läuft tatsächlich von hier aus. MT5 schreibt also die Trades irgendwo in diesen Ordner.

Wie im ursprünglichen Artikel beschrieben, sollte sich MT4 innerhalb des MT5-Ordners befinden. Die Lösung liegt also darin, den MT5-Installationsordner mit dem Ausführungsordner "gleich" zu machen. Und der einfachste Weg ist:

1. Deinstallieren Sie alle MT5-Instanzen

2. Löschen Sie den Ordner 'Metaquotes' aus C:\Benutzer\[Benutzername]\AppData\Roaming\

Jetzt wird der Installationsordner mit dem Ausführungsordner identisch gemacht:

3. Installieren Sie MT5 neu. Er sollte sich nicht im Ordner "Programme" befinden, sondern zum Beispiel unter C:\Konten\MT5. Deaktivieren Sie während der Installation das Kontrollkästchen "Nach Abschluss starten" (kritischer Schritt).

4. BEVOR Sie MT5 zum ersten Mal starten, klicken Sie mit der rechten Maustaste auf die MT5-Verknüpfung auf dem Desktop, klicken Sie auf Eigenschaften und fügen Sie "/portable" zum Pfad hinzu, ohne Anführungszeichen. Es wird also C:\Konten\MT5\terminal.exe /portable. (Beachten Sie, dass nach terminal.exe ein Leerzeichen steht, Schrägstrich, portable ohne Großbuchstaben). Klicken Sie auf OK.

Jetzt werden wir MT4 installieren, EAs kopieren und Terminals ausführen

5. Installieren Sie MT4 in C:\Accounts\MT5\MQL\Files\MetaTrader 4. (Beachten Sie, dass der Ordnername MetaTrader 4, oder wie auch immer er lautet, mit dem Namen in EAs identisch sein sollte)

6. Kopieren Sie Translator und Copyist EA in die entsprechenden Ordner.

7. Starten Sie sowohl MT5 Master als auch MT4 Slave.

8. Viel Spaß!!!

Tipp: Fahren Sie nicht mit dem nächsten Schritt fort, wenn Sie etwas nicht richtig gemacht haben.

Entschuldigen Sie, dass ich mich in einer nicht-technischen Sprache ausdrücke, aber das ist maximal das, was Sie von einem Arzt erwarten können!

 
doctornasir:

4103 - Fehler beim Öffnen einer Datei, bedeutet, dass MT5 Trades in eine Datei schreibt und MT4 diese nicht finden kann.

Dies geschieht, weil MT5 anders funktioniert als MT4. In MT5 ist der Ordner, in dem wir installieren, ein anderer als der, in dem es ausgeführt wird. Zum Beispiel habe ich MT5 in C:\Accounts\MT5 installiert und MT4 in C:\Accounts\MT5\MQL\Files\MetaTrader 4.

MT5 hat einen Ordner C:\Benutzer\[Benutzername]\AppData\Roaming\MetaQuotes\Terminal\[lange hexadezimale Zahl]\MQL5\etc... erstellt und läuft tatsächlich von hier aus. MT5 schreibt also die Trades irgendwo in diesen Ordner.

Wie im ursprünglichen Artikel beschrieben, sollte sich MT4 innerhalb des MT5-Ordners befinden. Die Lösung liegt also darin, den MT5-Installationsordner mit dem Ausführungsordner "gleich" zu machen. Und der einfachste Weg ist:

1. Deinstallieren Sie alle MT5-Instanzen

2. Löschen Sie den Ordner 'Metaquotes' aus C:\Benutzer\[Benutzername]\AppData\Roaming\

Jetzt wird der Installationsordner mit dem Ausführungsordner identisch gemacht:

3. Installieren Sie MT5 neu. Er sollte sich nicht im Ordner "Programme" befinden, sondern zum Beispiel unter C:\Konten\MT5. Deaktivieren Sie während der Installation das Kontrollkästchen "Nach Abschluss starten" (kritischer Schritt).

4. BEVOR Sie MT5 zum ersten Mal starten, klicken Sie mit der rechten Maustaste auf die MT5-Verknüpfung auf dem Desktop, klicken Sie auf Eigenschaften und fügen Sie "/portable" zum Pfad hinzu, ohne Anführungszeichen. Es wird also C:\Konten\MT5\terminal.exe /portable. (Beachten Sie, dass nach terminal.exe ein Leerzeichen steht, Schrägstrich, portable ohne Großbuchstaben). Klicken Sie auf OK.

Jetzt werden wir MT4 installieren, EAs kopieren und Terminals ausführen

5. Installieren Sie MT4 in C:\Accounts\MT5\MQL\Files\MetaTrader 4. (Beachten Sie, dass der Ordnername MetaTrader 4, oder wie auch immer er lautet, mit dem Namen in EAs identisch sein sollte)

6. Kopieren Sie Translator und Copyist EA in die entsprechenden Ordner.

7. Starten Sie sowohl MT5 Master als auch MT4 Slave.

8. Viel Spaß!!!

Tipp: Fahren Sie nicht mit dem nächsten Schritt fort, wenn Sie etwas nicht richtig gemacht haben.

Tut mir leid, dass ich mich so 'untechnisch' ausdrücke, das ist maximal das, was Sie von einem Arzt erwarten können!

Danke, dass Sie sich die Zeit genommen haben, das zu schreiben.

Eine andere Möglichkeit ist, die Standard-Installationseinstellungen beizubehalten und die Verbindung zwischen den beiden Ordnern mit einem symbolischen Link herzustellen.

http://en.wikipedia.org/wiki/NTFS_symbolic_link

 

mql4++ compiler

Ist dies eine neue Version für den Empfänger in mt4, mit zusätzlichen Parametern?