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

 
raminzk:

dank alexvd Problem gelöst!

alexvd:


Entfernen oder kommentieren Sie die Zeile

#property show_inputs



Es ist eine Eigenschaft von Skripten, so dass der neue Compiler entscheidet, dass es ein Skript ist
Das ist in Ordnung, danke
 
currencyscalper:

Hallo Raminzk,

Funktioniert der EA gut, denn in meinem Fall kopiert er keine Trades. sollten wir nach dem Update vielleicht etwas in den Ordnern ändern?

Kann jemand helfen?

Ich arbeite daran, wenn ich irgendeinen Output bekomme, werde ich ihn hier posten, hast du irgendeinen Fehler oder eine Warnung während der Laufzeit bekommen?
 

Endlich habe ich eine funktionierende Version im neuen MT4 erreicht, ohne Array out of range Fehler, Einschränkungen bei der Installation von Meta Trader Terminals und Windows UAC Störungen. Aus diesem Grund und auch einige Inkompatibilitäten habe ich die 2 Dateien geändert und habe neue Versionen zu diesem Beitrag beigefügt.

Jetzt werde ich Schritt für Schritt erklären:

1. Installieren Sie MT5, wo immer Sie wollen. Ich habe auf Standard C:\ProgramFiles installiert

2. Installieren Sie den neuen MT4 an einem beliebigen Ort. Ich habe es unter dem Standardverzeichnis C:\ProgramFiles installiert - zur Laufzeit werden diese 2 Programme nach [user]\AppData\Roaming\MetaQuotes\Terminal\ verschoben.

3. Führen Sie cmd.exe als Administrator aus und führen Sie den Befehl mklink aus, um eine Verknüpfung zwischen einem virtuellen Ordner, auf den Sie in Ihrem mt4-Experten verweisen (copyist_positions_V2.mq4), und dem MT5-Ordner "Files" herzustellen.

(die Datei Translator_Positions_V2.mq5 wird so geändert, dass sie in den Ordner "Files" der installierten Position geschrieben wird)

Der Befehl würde etwa so lauten:

mklink /D "C:\Benutzer\Ramin\AppData\Roaming\MetaQuotes\Terminal\50CA3DFB510CC5A8F28B48D1BF2A5702\MQL4\Files\Link2MT5_DataFolder" "C:\Users\Ramin\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Files"

Sie können diese 2 langen Adressen einfach aus der Adressleiste kopieren, wenn Sie den Punkt "Datenordner öffnen" jedes Terminals aus dem Dateimenü aufrufen.

Der Name "Link2MT5_DataFolder" bezieht sich auf einen virtuellen Ordner, den Sie als copyist_positions_V2 Parameter auswählen können. ABER stellen Sie sicher, dass der Name, den Sie als Expertenparameter wählen, und der Name, den Sie in der Befehlszeile verwenden, identisch sind.

4. Verbinden Sie die Experten mit den Terminals und vergessen Sie nicht, den Parameter "link_folder_name" des copyist_positions_v2 auf den Namen zu setzen, den Sie für den virtuellen Ordner gewählt haben, hier: Link2MT5_DataFolder

5. Die Programme laufen korrekt, aber es gibt immer noch ein Problem, bei dem einige Zeitgeschäfte mit Verzögerungen in der Größenordnung von mehreren Minuten kopiert werden!!!?

Vielen Dank an nikolay für diesen guten Artikel...


 
raminzk:

Endlich habe ich eine funktionierende Version im neuen MT4 erreicht, ohne Array out of range Fehler, Einschränkungen bei der Installation von Meta Trader Terminals und Windows UAC Störungen. Aus diesem Grund und auch wegen einiger Inkompatibilitäten habe ich die 2 Dateien geändert und neue Versionen an diesen Beitrag angehängt.



Für die folgenden Zeilen sollte jetzt FILE_UNICODE anstelle von FILE_ANSI stehen?

//--- Datei zum Schreiben öffnen, gemeinsamer Lesemodus
   int han=FileOpen(filename+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,",");
 

Eine weitere Frage: Wäre es besser, den gemeinsamen Ordner für die gemeinsame Datei zu verwenden?

z. B. C:\Benutzer\<Ihr Name>\AppData\Roaming\MetaQuotes\Terminal\Common

 
BP33:
Für die folgenden Zeilen sollte nun FILE_UNICODE anstelle von FILE_ANSI? verwendet werden.

Da ich weiß, dass das ANSI-Dateiformat für CSV-Dateien geeignet ist, die in Wirklichkeit Textdateien sind
 
BP33:

Eine weitere Frage: Wäre es besser, den gemeinsamen Ordner für die gemeinsame Datei zu verwenden?

z. B. C:\Benutzer\<Ihr Name>\AppData\Roaming\MetaQuotes\Terminal\Common

Es ist nicht wichtig, Sie können den gemeinsamen Ordner verwenden, aber Sie sollten eine geeignete Adresse verwenden, um diesen Ort beim Öffnen der Datei anzugeben. Ich habe die Standardadresse verwendet. Wenn Sie in den Befehlen zum Öffnen von Dateien keine Adresse angeben, wird die Datei im Ordner files erzeugt.
 
raminzk:
Es ist nicht wichtig, Sie können den allgemeinen Ordner verwenden, aber Sie sollten eine geeignete Adresse verwenden, um diesen Ort beim Öffnen der Datei anzugeben. Ich habe die Standardadresse verwendet. Wenn Sie in den Befehlen zum Öffnen von Dateien keine Adresse angeben, wird die Datei im Ordner "files" erstellt.
Ok, danke :)
 
Danke für deine Arbeit raminzk es hilft mir sehr.
 

Danke, Raminzk!! Du hast mir so sehr geholfen!

Ich hatte ein kleines Problem mit dem Befehl "mklink" auf Windows Server 2012. Ich habe diese Meldung erhalten: "Der Begriff 'mklink' wird nicht erkannt".

Wenn jemand das gleiche Problem hat, schreiben Sie den Befehl wie folgt: cmd /c "mklink /D c:\Benutzer\Administrator\AppData\Roaming\MetaQuotes\Terminal\01BA5EF0D3A9B913D6D3829DD4594A7F\MQL4\Files\Link2MT5_DataFolder c:\Benutzer\Administrator\AppData\Roaming\MetaQuotes\Terminal\AA82CE0AC7C62FBE1F51AB464A314D34\MQL5\Files\"