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

 

Copiare da mt4 -> mt5 e viceversa usando il tuo metodo

funziona bene - solo con mt5 -> mt4 c'è un ritardo.

perché lì non c'è un contatore. Ma in generale funziona bene.


E per W7/Vista il terminale deve essere collocato nella cartella comune MetaQuotes/Terminal.

è un po' deprimente. Ma c'è un desiderio di scrivere un semplice programma (non mql)

con un ciclo di 1 secondo - che copi i file dalla cartella

mt4 a mt5 e viceversa se sono disponibili. Per non toccare i terminali

 
Con win7 io stesso mi sono stancato di mettere lo script, qui tutti scrivono che se ne è già parlato e come se tutto fosse già chiaro come metterlo - ma niente da fare, io non sono un programmatore in MQ5 come "alcuni" sono un LAMER, uno scemo se vogliamo. (Ho scritto senza alcun retropensiero, e non volevo offendere nessuno). In breve, tutti quelli che sono in vasca come me: bisogna impostare i diritti sulla cartella public di MT5 e ci sarà una cartella Files, non è visibile ma c'è))))), lì installiamo un nuovo terminale MT4. Dopo l'installazione lo script in MT4 smetterà di generare errori e tutto sarà come dovrebbe essere. All'autore dello script va un sentito ringraziamento, al giorno d'oggi pochi vogliono condividere qualcosa per niente, tutti vogliono fottersi a vicenda, scusate l'espressione, ma sapete com'è.
 
Grazie per il grande materiale!!!
Richiesta molto grande, aggiungere il lavoro solo con gli ordini con un certo numero di magia.
 
Im_hungry:

Copiare da mt4 -> mt5 e viceversa usando il tuo metodo

funziona bene - solo con mt5 -> mt4 c'è un ritardo.

perché lì non c'è un contatore. Ma in generale funziona bene.


E per W7/Vista il terminale deve essere collocato nella cartella comune MetaQuotes/Terminal.

è un po' deprimente. Ma c'è un desiderio di scrivere un programma semplice (non mql)

con un ciclo di 1 secondo - che copi i file dalla cartella

mt4 a mt5 e viceversa se sono disponibili. In modo da non toccare i terminali

Buon pomeriggio.
Da MT4 a MT5, come realizzarlo?
Capisco mql a livello rudimentale.
Potete per favore postare una soluzione pronta?
Ho bisogno che la MT5 copi l'apertura e la chiusura dei trade dalla MT4. Non uso stop.
Grazie.
 

Ricevo questi avvertimenti durante la compilazione. Certo, si tratta solo di avvisi e non di errori.

Compilazione di 'Copyist_positions.mq4'...
'cmd' - espressione di confronto attesa C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (120, 46)
'cmd' - espressione di confronto attesa C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (122, 46)
0 errore/i, 2 avviso/i

Quanto sopra si riferisce a queste due righe di codice:

//--- open price
double price_open(string symbol,int cmd) {if(cmd%2)return(bid(symbol));else return(nd(symbol,ask(symbol));}
//--- close price
double price_close(string symbol,int cmd){if(cmd%2)return(ask(symbol));else return(nd(symbol,bid(symbol));}

Penso che "if(cmd%2)" debba essere cambiato in "if(cmd<2)" , ma non ne sono sicuro.

Ricevo questi errori quando eseguo lo script di cui sopra in MT4

2013.02.26 06:16:38 Copyist_positions EURUSDm,H1: Errore nell'apertura del file 4103
2013.02.26 06:16:38 Copyist_positions EURUSDm,H1: ArrayInitialize errore interno della funzione

Ecco il percorso che ho utilizzato per installare Metatrader 4 e per eseguire lo script:

C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts

Sembra che alcune persone stiano avendo gli stessi problemi. Qualsiasi aiuto su come risolvere i problemi o su una nuova versione pulita del file sarebbe apprezzato.

Documentation on MQL5: Array Functions / ArrayInitialize
  • www.mql5.com
Array Functions / ArrayInitialize - Documentation on MQL5
 
Jeysun:

Ricevo questi avvertimenti durante la compilazione. Certo, si tratta solo di avvisi e non di errori.

Compilazione di 'Copyist_positions.mq4'...
'cmd' - espressione di confronto attesa C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (120, 46)
'cmd' - espressione di confronto attesa C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (122, 46)
0 errore/i, 2 avviso/i

Quanto sopra si riferisce a queste due righe di codice:

//--- open price
double price_open(string symbol,int cmd) {if(cmd%2)return(bid(symbol));else return(nd(symbol,ask(symbol));}
//--- close price
double price_close(string symbol,int cmd){if(cmd%2)return(ask(symbol));else return(nd(symbol,bid(symbol));}

Penso che "if(cmd%2)" debba essere cambiato in "if(cmd<2)" , ma non ne sono sicuro.

Penso che il codice sia corretto, non molto leggibile, qualcuno potrebbe dire orribile, ma corretto. Presumo che CMD sia il tipo di ordine/operazione OP_BUY è 0 OP_SELL è 1, quindi OP_BUY%2 = 0 OP_SELL%2 = 1, 0 e 1 equivalgono a falso e vero. Quindi (cmd%2) è vero per un OP_SELL e il prezzo di apertura di un OP_SELL è Bid e il prezzo di chiusura è Ask.
Documentation on MQL5: Standard Constants, Enumerations and Structures / Indicator Constants / Price Constants
  • www.mql5.com
Standard Constants, Enumerations and Structures / Indicator Constants / Price Constants - Documentation on MQL5
 
Jeysun:

Ecco il percorso che ho utilizzato per installare Metatrader 4 e per eseguire lo script:

C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts

Sembra che alcune persone stiano avendo gli stessi problemi. Qualsiasi aiuto su come risolvere i problemi o su una nuova versione pulita del file sarebbe apprezzato.

Forse si tratta di un problema di UAC, provare a installare in una cartella diversa da quella dei file di programma, ad esempio C:\MT4Installs\
 

RaptorUK:
Forse è un problema di UAC, prova a installare in una cartella diversa da quella dei programmi, ad esempio C:\MT4Installs\

Grazie per la spiegazione e il suggerimento.

Ho provato a installare Metatrader 5 in "C:\MetaTrader 5 (2nd)\" e Metatrader 4 in "C:\MetaTrader 5 (2nd)\MQL5\Files\MT4\", ma continuo a riscontrare gli stessi errori durante l'esecuzione dello script "copyist positions". Il mio sistema operativo è Windows 8.

Sto pensando che potrebbe essere il file "Posizioni del traduttore" a fare la differenza, poiché non sembra scrivere un file da leggere per "Posizioni del copista". Forse dovrò imparare un po' di mql5 per capirlo. Sembra che lo script "copyist_positions" sia più adatto come EA piuttosto che come script. Ho un copiatore di operazioni da MT4 a MT4 che funziona benissimo. Ho difficoltà a trovare un copiatore di operazioni da MT5 a MT4 che funzioni.

 
Grazie mille per il codice, mi è tornato utile.
 
Im_hungry:

Ma c'era il desiderio di scrivere un semplice programma (non mql)

con un ciclo di 1 secondo - che copiasse i file dalla cartella

mt4 a mt5 e viceversa se sono disponibili. Per non toccare i terminali

Ho creato una semplice copiatrice. Si imposta da dove, verso dove e l'intervallo di copia.

Avvio della copia con il pulsante "Salva/Avvia". Durante il lavoro lampeggerà ))).

In Translator positions.MQ5 è possibile modificare la riga int han=FileOpen(sottocartella+"+cartella+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,"); in int han=FileOpen(cartella+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,"); cioè il file verrà scritto nella cartella \Program Files\MetaTrader 5\MQL5\Files.

File:
CopyFile.zip  168 kb