Discussione sull’articolo "Come copiare il trading da MetaTrader 5 a MetaTrader 4" - pagina 15

 
raminzk:

grazie ad alexvd problema risolto!

alexvd:


Rimuovere o commentare la riga

#property show_inputs



È una proprietà degli script, quindi il nuovo compilatore decide che si tratta di uno script.
va bene, grazie
 
currencyscalper:

Ciao Raminzk,

L'EA funziona bene, perché nel mio caso non copia nessuna operazione. dopo l'aggiornamento, forse dovremmo cambiare qualcosa nelle cartelle?

Qualcuno può aiutarmi?

Ci sto lavorando, se ottengo qualche risultato lo posterò qui, hai avuto qualche errore o avviso durante il runtime?
 

Finalmente ho raggiunto una versione funzionante nella nuova MT4 senza alcun errore di array out of range, restrizioni sull'installazione di meta trader terminals e interferenze UAC di windows. Per questo motivo e anche per alcune incompatibilità ho modificato i 2 file e ho allegato le nuove versioni a questo post.

Ora vi spiegherò passo per passo:

1. Installate MT5 dove volete. Io l'ho installata in C:\ProgramFiles, come impostazione predefinita

2. Installate la nuova MT4 dove volete. Io l'ho installato in C:\ProgramFiles - in fase di esecuzione questi due programmi saranno spostati in [user]\AppData\Roaming\MetaQuotes\Terminal\

3. Eseguire cmd.exe come amministratore ed eseguire il comando mklink per creare un collegamento tra la cartella virtuale che si indica nell'esperto in esecuzione di mt4 (copyist_positions_V2.mq4) e la cartella "Files" di MT5.

(il Translator_Positions_V2.mq5 viene modificato per scrivere il file nella cartella Files della posizione installata).

Il comando sarebbe qualcosa di simile a questo:

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

È possibile copiare facilmente questi due indirizzi lunghi dalla barra degli indirizzi quando si esegue la voce "Apri cartella dati" di ciascun terminale dal menu File.

Il nome "Link2MT5_DataFolder" si riferisce a una cartella virtuale che è possibile selezionare come parametro copyist_positions_V2. MA assicuratevi che il nome selezionato come parametro expert e il nome utilizzato nella riga di comando siano gli stessi.

4. Collegate gli esperti ai terminali e non dimenticate di impostare il parametro "link_folder_name" di copyist_positions_v2 con il nome selezionato per la cartella virtuale, qui: Link2MT5_DataFolder

5. I programmi funzionano correttamente, ma c'è ancora un problema: alcuni trade vengono copiati con ritardi dell'ordine di diversi minuti!!!?

Grazie a nikolay per questo buon articolo...


 
raminzk:

Finalmente ho raggiunto una versione funzionante nella nuova MT4 senza alcun errore di array out of range, restrizioni sull'installazione di meta trader terminals e interferenze UAC di windows. Per questo motivo e anche per alcune incompatibilità ho modificato i 2 file e ho allegato le nuove versioni a questo post.



Per le righe seguenti, è necessario impostare FILE_UNICODE invece di FILE_ANSI?

//--- aprire il file per la scrittura, in modalità lettura condivisa
   int han=FileOpen(filename+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,",");
 

Un'altra domanda: sarebbe meglio utilizzare la cartella comune per il file condiviso?

cioè C:\Users\<il tuo nome>AppData\Roaming\MetaQuotes\Terminal\Common

 
BP33:
Per le righe seguenti, è necessario impostare FILE_UNICODE invece di FILE_ANSI?

So che il formato ANSI è adatto ai file CSV, che in realtà sono file di testo.
 
BP33:

Un'altra domanda: sarebbe meglio utilizzare la cartella comune per il file condiviso?

cioè C:\Users\<il vostro nome>AppData\Roaming\MetaQuotes\Terminal\Common

Non è importante, è possibile utilizzare la cartella comune, ma è necessario utilizzare un indirizzo appropriato per indicare questa posizione nell'apertura dei file. Quando non si specifica un indirizzo nei comandi di apertura dei file, il file viene generato nella cartella dei file.
 
raminzk:
non è importante, è possibile utilizzare una cartella comune, ma è necessario utilizzare un indirizzo appropriato per indicare questa posizione nell'apertura dei file. Ho utilizzato l'indirizzo predefinito. Quando non si specifica un indirizzo nei comandi di apertura dei file, il file viene generato nella cartella dei file.
Ok, grazie :)
 
Grazie per il tuo lavoro raminzk mi ha aiutato molto.
 

Grazie Raminzk! Mi hai aiutato tantissimo!

Ho avuto un piccolo problema con il comando "mklink" su Windows Server 2012. Ho ricevuto questo messaggio "Il termine 'mklink' non è riconosciuto".

Se qualcuno ha lo stesso problema, scriva un comando come questo: cmd /c "mklink /D c:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\01BA5EF0D3A9B913D6D3829DD4594A7F\MQL4\Files\Link2MT5_DataFolder c:\´Users'Administrator´AppData\Roaming\MetaQuotes\Terminal\AA82CE0AC7C62FBE1F51AB464A314D34\MQL5\Files\"