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

 
zhserg:

J'ai créé un copieur simple. Définissez d'où, à où et copiez l'intervalle.

fichier exe dans l'archive
 
Warstein:
Merci pour tout ce qu'il y a à faire !!!
Très grande demande, ajouter le travail seulement avec les commandes avec un certain nombre de magik.

Je soutiens l'idée, peut-être que quelqu'un l'écrira, et donc le code est génial grâce à l'auteur tout est super ! Il ne me reste plus qu'à trouver un bon trader et lui demander d'investir ;)

 

Nous devrions ajouter.

1. Proportionnalité du lot - de 5 chiffres à 4 chiffres - le lot se déplace également d'un chiffre.

En général, il est préférable de retirer non pas le lot, mais la marge libre, le lot et les chiffres, et de recalculer le lot au destinataire en fonction de la marge libre disponible et des décimales du devis.

De cette façon, la gestion sera préservée - sans elle, le programme perd son sens.

2. Préfixes-suffixes aux symboles - parfois DC appelle un symbole de trading non pas EURUSD, mais EURUSD_byaka (il est probablement préférable de faire la correspondance "de quel à quel" symbole dupliquée dans un fichier de configuration séparé).

3. il serait bien de réaliser la copie d'un fichier vers plusieurs fichiers mt4.

Par exemple, en recevant un fichier mt4 du dossier mt5 à l'aide de :

#import "kernel32.dll"
   bool CopyFileA(string lpExistingFileName, string lpNewFileName, bool bFailIfExists);
#import

/////////////////

CopyFileA(TerminalPath()+CharToStr(92)+"experts"+CharToStr(92)+"files"+CharToStr(92)+fSymbol+".txt",CopyTo1+fSymbol+".txt",false);

De cette façon, vous pouvez aller au-delà du bac à sable du fichier mt4.

Dans mql5, malheureusement, cette astuce et d'autres astuces MSDN similaires ne fonctionnent pas.

En général, je vais essayer, et s'il n'y a pas de bugs, je n'écrirai pas le mien pour l'instant. Je vous remercie.

 
zhserg:

J'ai créé un copieur simple. Définissez le point de départ, le point d'arrivée et l'intervalle de copie.

Commencez à copier en cliquant sur le bouton "Enregistrer/Démarrer". Pendant le travail, il clignotera ))).

Dans les positions de Translator.MQ5 vous pouvez 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.

Vous pouvez utiliser un bootnik. Il sera à la fois sur le réseau et à l'intérieur de l'ordinateur.

@Echo off
:loop
xcopy "F:\folder\*.txt" "\\Comp1\folder" /Y /R /C /I /G /Z /D >nul
xcopy "C:\Program Files\MetaTrader 5\MQL5\Files\Translator positions.csv" "C:\Program Files\MetaTrader 4\experts\files" /Y /R /C /I /G /Z /D >nul
timeout /t 1
goto :loop

Par ailleurs, pour la synchronisation des méga-fichiers, je recommande Microsoft SyncToy 2 .1 http://www.microsoft.com/en-us/download/details.aspx?id=15155.

SyncToy 2.1
SyncToy 2.1
  • www.microsoft.com
Note: There are multiple files available for this download. Once you click on the “Download” button, you will be prompted to select the files you need. Overview There are files from all kinds of sources that we want to store and manage. Files are created by our digital cameras, e-mail, cell phones, portable media players...
 
Tout ceci n'est plus d'actualité, l'article a fait son temps, un nouveau compilateur mql4++ avec des fonctionnalités avancées va bientôt sortir, tout va changer.
 

Je pense que le problème est lié à l'endroit où Metatrader stocke les données. Dans les versions les plus récentes de Windows, il n'utilise pas les sous-dossiers du dossier d'installation.

Sur le serveur 2008 (dans mon cas), MT5 utilise :
C:\NUsers\N[nom d'utilisateur]\NAppData\NRoaming\NMetaQuotes\NTerminal\N[long numéro hexagonal]\NMQL5\Netc...

Chaque installation de terminal utilise son propre dossier à cet emplacement avec un [long numéro hexadécimal] unique. J'ai essayé d'installer MT4 dans le chemin de dossier ci-dessus mais il lit et écrit également à partir de son propre dossier de données unique, ce qui ne fonctionne pas non plus. Dans tous les cas, l'exécution de programmes à partir de cet emplacement n'est probablement pas une bonne idée.

Je pense que c'est également le cas sous Windows 8.

Je suis à court d'idées à ce stade, mais j'espère que ces informations seront utiles.

 

Mes emplacements de fichiers de données MT4 sur Windows Server 2008 :

C:\NUsers\N[nom d'utilisateur]\NAppData\NLocal\NVirtualStore\NProgram Files\N[nom du dossier du programme MT4].

Je suppose que le système d'exploitation redirige les opérations sur les fichiers.

 

4103 - error opening file, signifie que MT5 écrit des transactions dans un fichier et que MT4 ne le trouve pas.

Cela est dû au fait que MT5 fonctionne différemment de MT4. Dans MT5, le dossier d'installation est différent du dossier d'exécution. Par exemple, j'ai installé MT5 dans C:\NComptes\MT5, et MT4 dans C:\NComptes\MT5\NQL\NFiles\NMetaTrader 4.

MT5 a créé un dossier C:Úsers[nom d'utilisateur]\AppData\Roaming\MetaQuotes\Terminal\[long numéro hexadécimal]\MQL5\etc... et s'exécute à partir de là. MT5 écrit donc les transactions quelque part dans ce dossier.

Comme indiqué dans l'article original, MT4 devrait se trouver "à l'intérieur" du dossier MT5. La solution consiste donc à faire en sorte que le dossier d'installation de MT5 soit "le même" que le dossier d'exécution. La méthode la plus simple est la suivante

1. désinstaller toutes les instances de MT5

2. Supprimer le dossier 'Metaquotes' de C:Úsers [nom d'utilisateur] ÚAppData [nom d'utilisateur].

Maintenant, nous allons faire en sorte que le dossier d'installation soit le même que le dossier d'exécution :

3. Réinstallez MT5. Il ne doit pas se trouver dans le dossier Program files, mais par exemple dans le dossier C:\NAccounts\NMT5. Lors de l'installation, décochez la case "Lancer après la fin" (étape critique).

4. AVANT de lancer MT5 pour la première fois, faites un clic droit sur le raccourci MT5 sur le bureau, cliquez sur Propriétés, ajoutez "/portable" au chemin, sans les guillemets. Il s'agira donc de C:\NComptesMT5\Nterminal.exe /portable. (Notez qu'il y a un espace après terminal.exe, une barre oblique, portable sans majuscule). Cliquez sur OK.

Maintenant, nous allons installer MT4, copier les EAs, et lancer les terminaux.

5. Installez MT4 dans C:\NComptes\MT5\NMQL\NFiles\NMetaTrader 4. (Notez que le nom du dossier MetaTrader 4, ou quel qu'il soit, doit être identique au nom dans EAs).

6. Copiez Translator et Copyist EA dans leurs dossiers respectifs.

7. Lancez le MT5 maître et le MT4 esclave.

8. Appréciez ! !!

Conseil : Ne passez pas à l'étape suivante si quelque chose n'a pas été fait correctement.

Désolé d'utiliser un langage "non technique", c'est au maximum ce que vous pouvez attendre d'un médecin !

 
doctornasir:

4103 - error opening file, signifie que MT5 écrit des transactions dans un fichier et que MT4 ne le trouve pas.

Cela est dû au fait que MT5 fonctionne différemment de MT4. Dans MT5, le dossier d'installation est différent du dossier d'exécution. Par exemple, j'ai installé MT5 dans C:\NComptes\MT5, et MT4 dans C:\NComptes\MT5\NQL\NFiles\NMetaTrader 4.

MT5 a créé un dossier C:Úsers[nom d'utilisateur]\AppData\Roaming\MetaQuotes\Terminal\[long numéro hexadécimal]\MQL5\etc... et s'exécute à partir de là. MT5 écrit donc les transactions quelque part dans ce dossier.

Comme indiqué dans l'article original, MT4 devrait se trouver "à l'intérieur" du dossier MT5. La solution consiste donc à faire en sorte que le dossier d'installation de MT5 soit "le même" que le dossier d'exécution. La méthode la plus simple est la suivante

1. désinstaller toutes les instances de MT5

2. Supprimer le dossier 'Metaquotes' de C:Úsers [nom d'utilisateur] ÚAppData [nom d'utilisateur].

Maintenant, nous allons faire en sorte que le dossier d'installation soit le même que le dossier d'exécution :

3. Réinstallez MT5. Il ne doit pas se trouver dans le dossier Program files, mais par exemple dans le dossier C:\NAccounts\NMT5. Lors de l'installation, décochez la case "Lancer après la fin" (étape critique).

4. AVANT de lancer MT5 pour la première fois, faites un clic droit sur le raccourci MT5 sur le bureau, cliquez sur Propriétés, ajoutez "/portable" au chemin, sans les guillemets. Il s'agira donc de C:\NComptesMT5\Nterminal.exe /portable. (Notez qu'il y a un espace après terminal.exe, une barre oblique, portable sans majuscule). Cliquez sur OK.

Maintenant, nous allons installer MT4, copier les EAs, et lancer les terminaux.

5. Installez MT4 dans C:\NComptes\MT5\NMQL\NFiles\NMetaTrader 4. (Notez que le nom du dossier MetaTrader 4, ou quel qu'il soit, doit être identique au nom dans EAs).

6. Copiez Translator et Copyist EA dans leurs dossiers respectifs.

7. Lancez le MT5 maître et le MT4 esclave.

8. Appréciez ! !!

Conseil : Ne passez pas à l'étape suivante si quelque chose n'a pas été fait correctement.

Désolé d'utiliser un langage "non technique", c'est au maximum ce que l'on peut attendre d'un médecin !

Merci d'avoir pris le temps d'écrire cela.

Une autre solution consiste à conserver les paramètres d'installation par défaut et à établir la connexion entre les deux dossiers à l'aide d'un lien symbolique.

http://en.wikipedia.org/wiki/NTFS_symbolic_link

 

compilateur mql4

Est-ce une nouvelle version pour le récepteur dans mt4, avec des paramètres supplémentaires ?