Discussion de l'article "Comment copier le trading depuis MetaTrader 5 vers MetaTrader 4" - page 12

 

La copie de mt4 -> mt5 et retour en utilisant votre méthode

fonctionne bien - seulement avec mt5 -> mt4 il y a un délai.

parce qu'il n'y a pas de compteur à cet endroit. Mais en général cela fonctionne bien.


Et pour W7 / Vista le terminal doit être placé dans le dossier commun MetaQuotes\Terminal\.

est un peu déprimant. Mais il y a un désir d'écrire un programme simple (pas mql)

avec un cycle de 1 seconde - qui copierait les fichiers du dossier

mt4 vers mt5 et vice-versa s'ils sont disponibles. Pour ne pas toucher aux terminaux

 
Avec win7 je me suis fatigué à mettre le script, ici tout le monde écrit que cela a déjà été discuté et comme tout est déjà clair comment mettre - mais pas du tout, je ne suis pas un programmeur en MQ5 comme "certains" je suis un LAMER, un mannequin si vous voulez. (J'ai écrit sans arrière pensée, et n'ai pas voulu offenser qui que ce soit). En bref, tous ceux qui sont dans le tank comme moi : vous devez définir les droits sur le dossier public MT5 et il y aura un dossier Files, il n'est pas visible mais il est là))))), là nous installons un nouveau terminal MT4. Après l'installation, le script dans MT4 cessera de générer une erreur et tout se passera comme prévu. A l'auteur du script merci beaucoup, de nos jours peu de gens veulent partager quelque chose pour rien, tout le monde veut se baiser, je m'excuse pour l'expression, mais vous savez comment c'est.
 
Merci pour tout ce qu'il y a à faire !!!
Très grande demande, ajouter le travail seulement pour les commandes avec un certain nombre de magick.
 
Im_hungry:

La copie de mt4 -> mt5 et retour en utilisant votre méthode

fonctionne bien - seulement avec mt5 -> mt4 il y a un délai.

parce qu'il n'y a pas de compteur à cet endroit. Mais en général cela fonctionne bien.


Et pour W7 / Vista le terminal doit être placé dans le dossier commun MetaQuotes\Terminal\.

est un peu déprimant. Mais il y a un désir d'écrire un programme simple (pas mql)

avec un cycle de 1 seconde - qui copierait les fichiers du dossier

mt4 vers mt5 et vice-versa s'ils sont disponibles. Pour ne pas toucher aux terminaux

Bonjour.
De MT4 à MT5, comment le réaliser ?
Je comprends mql à un niveau rudimentaire.
Je ne sais pas si vous pouvez m'aider.
J'ai besoin que MT5 copie l'ouverture et la fermeture des trades depuis MT4. Je n'utilise pas de stops.
Je n'utilise pas de stops.
 

J'obtiens ces avertissements lors de la compilation. Je vous l'accorde, ce ne sont que des avertissements et non des erreurs.

Compilation de 'Copyist_positions.mq4'...
'cmd' - expression de comparaison attendue C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (120, 46)
'cmd' - expression de comparaison attendue C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (122, 46)
0 erreur(s), 2 avertissement(s)

Ce qui précède se réfère à ces deux lignes de code :

//--- ouverture du prix
double price_open(string symbol,int cmd) {if(cmd%2)return(bid(symbol));else return(nd(symbol,ask(symbol));}
//--- fermeture du prix
double price_close(string symbol,int cmd){if(cmd%2)return(ask(symbol));else return(nd(symbol,bid(symbol));}

Je pense que "if(cmd%2)" devrait être remplacé par "if(cmd<2)" mais je ne suis pas sûr.

J'obtiens les erreurs suivantes en exécutant le script ci-dessus dans MT4

2013.02.26 06:16:38 Copyist_positions EURUSDm,H1 : Error opening file 4103
2013.02.26 06:16:38 Copyist_positions EURUSDm,H1 : ArrayInitialize function internal error

Voici le chemin que j'ai utilisé pour installer Metatrader 4 et utilisé pour le script d'exécution :

C:\NProgram Files\NMetaTrader 5\NMQL5\NFiles\NMetatrader 4\Nexperts\Nscripts

Il semble que quelques personnes aient les mêmes problèmes. Toute aide sur la façon de résoudre les problèmes ou une nouvelle version propre du fichier serait appréciée.

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

J'obtiens ces avertissements lors de la compilation. Je vous l'accorde, ce ne sont que des avertissements et non des erreurs.

Compilation de 'Copyist_positions.mq4'...
'cmd' - expression de comparaison attendue C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (120, 46)
'cmd' - expression de comparaison attendue C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (122, 46)
0 erreur(s), 2 avertissement(s)

Ce qui précède se réfère à ces deux lignes de code :

//--- ouverture du prix
double price_open(string symbol,int cmd) {if(cmd%2)return(bid(symbol));else return(nd(symbol,ask(symbol));}
//--- fermeture du prix
double price_close(string symbol,int cmd){if(cmd%2)return(ask(symbol));else return(nd(symbol,bid(symbol));}

Je pense que "if(cmd%2)" devrait être remplacé par "if(cmd<2)" mais je n'en suis pas sûr.

Je suppose que CMD est le type d'ordre/opération OP_BUY est 0 OP_SELL est 1, donc OP_BUY%2 = 0 OP_SELL%2 = 1, 0 et 1 équivalent à false et true. Donc (cmd%2) est vrai pour un OP_SELL et le prix d'ouverture d'un OP_SELL est Bid et le prix de clôture est 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:

Voici le chemin que j'ai utilisé pour installer Metatrader 4 et utiliser le script d'exécution :

C:\NProgram Files\NMetaTrader 5\NMQL5\NFiles\NMetatrader 4\Nexperts\Nscripts

Il semble que quelques personnes aient les mêmes problèmes. Toute aide sur la façon de résoudre les problèmes ou une nouvelle version propre du fichier serait appréciée.

Il s'agit peut-être d'un problème d'UAC, essayez d'installer dans un dossier autre que Program Files, par exemple C:\MT4Installs\
 

RaptorUK :
Il s'agit peut-être d'un problème d'UAC, essayez d'installer dans un dossier autre que Program Files, par exemple C:\MT4Installs\

Merci pour l'explication et la suggestion.

J'ai essayé de nouvelles installations de Metatrader 5 dans "C:\NMetaTrader 5 (2nd)\N" et de Metatrader 4 dans "C:\NMetaTrader 5 (2nd)\NMQL5\NFiles\NMT4\N", mais j'ai toujours les mêmes erreurs lors de l'exécution du script "copyist positions". Mon système d'exploitation est Windows 8.

Je pense que c'est peut-être ce que fait le fichier "Translator positions" car il ne semble pas écrire de fichier pour que "copyist positions" puisse le lire. Il faudra peut-être que j'apprenne un peu de mql5 pour comprendre. Il semble que le script "copyist_positions" serait mieux adapté en tant qu'EA plutôt qu'en tant que script. J'ai un copieur de trade MT4 à MT4 qui fonctionne très bien. J'ai du mal à trouver un copieur de trade MT5 vers MT4 qui fonctionne.

 
Merci beaucoup pour le code, c'est très utile.
 
Im_hungry:

Mais il y avait un désir d'écrire un programme simple (pas mql)

avec un cycle de 1 seconde - qui copierait les fichiers du dossier

mt4 vers mt5 et vice-versa s'ils sont disponibles. Pour ne pas toucher aux terminaux

j'ai fabriqué un simple copieur. Nous définissons le point de départ, le point d'arrivée et l'intervalle de copie.

On démarre la copie avec le bouton "Save/start". Pendant le travail, il clignotera ))).

Dans les positions de Translator.MQ5 on peut changer la ligne int han=FileOpen(subfolder+"\\experts\\files\"+folder+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,",") ; en int han=FileOpen(folder+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,",") ; c'est-à-dire que le fichier sera écrit dans le dossier \Program Files\MetaTrader 5\MQL5\Files.

Dossiers :
CopyFile.zip  168 kb