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

 
raminzk:

grâce à alexvd problème résolu !

alexvd:


Supprimer ou commenter la ligne

#property show_inputs



C'est une propriété des scripts donc le nouveau compilateur décide que c'est un script.
c'est bon, merci
 
currencyscalper:

Bonjour Raminzk,

Est-ce que l'EA fonctionne bien, car dans mon cas, il ne copie aucun trade. Après la mise à jour, peut-être devrions-nous changer quelque chose dans les dossiers ?

Quelqu'un peut m'aider ?

Je suis en train de travailler dessus, si j'obtiens un résultat je le posterai ici, avez-vous eu une erreur ou un avertissement pendant l'exécution ?
 

Finalement j'ai atteint une version fonctionnelle dans le nouveau MT4 sans erreur array out of range, sans restrictions sur l'installation des terminaux meta trader et sans interférence de l'UAC de windows. Pour cette raison et aussi pour quelques incompatibilités, j'ai changé les 2 fichiers et j'ai joint les nouvelles versions à ce post.

Je vais maintenant vous expliquer étape par étape :

1. Installez MT5 où vous voulez. Je l'ai installé par défaut sur C:\NProgramFiles.

2. Installez le nouveau MT4 où vous voulez. Je l'ai installé dans le répertoire par défaut C:\NProgramFiles - au moment de l'exécution, ces 2 programmes seront déplacés vers [user]\NAppData\NRoaming\NMetaQuotes\NTerminal\N.

3. Lancez cmd.exe en tant qu'administrateur et exécutez la commande mklink pour créer un lien entre un dossier virtuel que vous pointez dans votre expert d'exécution mt4 (copyist_positions_V2.mq4) et le dossier MT5 "Files".

(le fichierTranslator_Positions_V2.mq5 est modifié pour écrire le fichier dans le dossier Files de sa position installée).

La commande serait quelque chose comme ceci :

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

Vous pouvez facilement copier ces deux longues adresses depuis la barre d'adresse lorsque vous exécutez l'option "ouvrir le dossier de données" de chaque terminal depuis le menu Fichier.

Le nom "Link2MT5_DataFolder" fait référence à un dossier virtuel que vous pouvez sélectionner comme paramètre copyist_positions_V2. MAIS assurez-vous que le nom que vous sélectionnez comme paramètre expert et le nom que vous utilisez dans la ligne de commande sont les mêmes.

4. Attachez les experts aux terminaux et n'oubliez pas de définir le paramètre "link_folder_name" du copyist_positions_v2 au nom que vous avez sélectionné pour le dossier virtuel, ici : Link2MT5_DataFolder

5. Les programmes s'exécutent correctement, mais il y a toujours un problème qui fait que certaines transactions temporelles sont copiées avec des retards de l'ordre de plusieurs minutes !!!?

Merci à nikolay pour ce bon article...


 
raminzk:

Finalement j'ai atteint une version fonctionnelle dans le nouveau MT4 sans erreur array out of range, sans restrictions sur l'installation des terminaux meta trader et sans interférence de l'UAC de windows. Pour cette raison et aussi quelques incompatibilités, j'ai changé les 2 fichiers et j'ai joint les nouvelles versions à ce post.



Pour les lignes suivantes, faut-il maintenant mettre FILE_UNICODE au lieu de FILE_ANSI ?

//--- ouvrir le fichier en écriture, mode lecture partagée
   int han=FileOpen(filename+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,",");
 

Autre question : serait-il préférable d'utiliser le dossier commun pour le fichier partagé ?

ie C:\NUsers\N<votre nom>\NAppData\NRoaming\NMetaQuotes\NTerminal\NCommon

 
BP33:
Pour les lignes suivantes, faut-il maintenant définir FILE_UNICODE au lieu de FILE_ANSI ?

Comme je le sais, le format de fichier ANSI convient aux fichiers CSV qui sont en fait des fichiers texte.
 
BP33:

Autre question : serait-il préférable d'utiliser le dossier commun pour le fichier partagé ?

ie C:\NUsers\N<votre nom>\NAppData\NRoaming\NMetaQuotes\NTerminal\NCommon

Ce n'est pas important, vous pouvez utiliser le dossier commun, mais vous devez utiliser l'adresse appropriée pour indiquer cet emplacement lors de l'ouverture du fichier. J'ai utilisé l'adresse par défaut. Si vous ne spécifiez pas d'adresse dans les commandes d'ouverture de fichier, le fichier est généré dans le dossier files.
 
raminzk:
Ce n'est pas important, vous pouvez utiliser un dossier commun, mais vous devez utiliser l'adresse appropriée pour indiquer cet emplacement lors de l'ouverture du fichier. J'ai utilisé l'adresse par défaut. Lorsque vous ne spécifiez pas d'adresse dans les commandes d'ouverture de fichier, le fichier est généré dans le dossier files.
Ok, merci :)
 
merci pour votre travail raminzk il m'a beaucoup aidé .
 

Merci Raminzk ! Vous m'avez beaucoup aidé !

J'ai eu un petit problème avec la commande "mklink" sur Windows Server 2012. J'ai reçu le message suivant : "Le terme 'mklink' n'est pas reconnu".

Si quelqu'un a le même problème, écrivez la commande comme ceci : cmd /c "mklink /D c:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\01BA5EF0D3A9B913D6D3829DD4594A7F\MQL4\Files\Link2MT5_DataFolder c :\Users\Administrateur\AppData\Roaming\MetaQuotes\Terminal\AA82CE0AC7C62FBE1F51AB464A314D34\MQL5\Files"