MetaTrader 5 Python User Group - Comment utiliser Python dans Metatrader - page 19
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
1) J'avais initialement installé Python 3.7.2. J'ai installé votre paquetage et le shell de commande et le bloc-notes Jupyter affichent la même erreur : RuntimeError: IPC call failed.
2. J'ai déchiré Python 3.7.2, installé Python 3.8, mais même histoire - il ne s'installe pas dans Python 3.8
3. J'ai installé Anaconda Python, j'ai créé un environnement virtuel pour Python 3.7.2 et j'ai essayé d'utiliser votre paquet et d'exécuter un exemple - même vue, mais sur le côté : RuntimeError: IPC call failed
faire quelque chose de mal
Un bon tutoriel sur la façon de travailler avec les données et un peu de MO si vous ne savez pas quelque chose, mais que vous avez oublié. Y compris un conseil sur la façon d'arrêter de penser que python est un retard.
https://jakevdp.github.io/PythonDataScienceHandbook/
Voici le rapport en Python 3.8
C:\Users\labor>pip install MetaTrader5
Collecte de MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installation des paquets collectés : MetaTrader5
Exécution de setup.py install pour MetaTrader5 ... erreur
ERROR : La commande a échoué avec le statut de sortie 1 :
commande : 'c:\python38\python.exe' -u -c'import sys, setuptools, tokenize ; sys.argv[0] = '""''C:\Users\\\\labor\\\AppData\Local\\\\Temp\\\\ip-install-283aremb\\\\etaTrader5\\\setup.py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\setup.py''';f=getattr(tokenize, ''''open'', open)(__file__);code=f.read().replace(''''\r\n''', '''''\n''');f.close();exec(compile(code, __file__, '''exec''')'' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-t10_91ai\install-record.txt' --single-version-externally-managed --compile
cwd : C:\Users\labor\AppData\Local\Temp\ip-install-283aremb\MetaTrader5\
Sortie complète (16 lignes) :
installation en cours
construction en cours
exécution de build_py
création d'un bâtiment
création de la bibliothèque de construction.win-amd64-3.8
création d'une bibliothèque win-amd64-3.8 MetaTrader5
copie de MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
exécution de build_ext
construction de l'extension 'MetaTrader5.C'.
création de build/temp.win-amd64-3.8
création de build/temp.win-amd64-3.8/Release
création d'une version provisoire.win-amd64-3.8\release\src
création d'une version provisoire de win-amd64-3.8\Release\src\Interprocessus
création d'un connecteur temporaire.win-amd64-3.8\Release\src\Connector
cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\python38\include -Ic:\python38\include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8\Release\src/MetaTrader.obj
error : la commande 'cl.exe' a échoué : aucun fichier ou répertoire de ce type.
----------------------------------------
ERROR : La commande a échoué avec le statut de sortie 1 : 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize ; sys.argv[0] = '''''C:\Users\\\\labor\\\Data\\\Local\\\Temp\\pip-install-283aremb\\\MetaTrader5\\\setup.py''' ; __file__=''''C:\Users\\\\labor\Data\Local\Temp\pip-install-283aremb\MetaTrader5\\setup.py''';f=getattr(tokenize, ''''open'', open)(__file__);code=f.read().replace(''''\r\n''', '''''\n''');f.close();exec(compile(code, __file__, '''exec'''))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-t10_91ai\install-record.txt' --single-version-externally-managed --compile Vérifiez les journaux pour une sortie de commande complète.
Voici le rapport en Python 3.7.2
J'ai créé un projet dans l'IDE JreBrains sous Python 3.7.2. J'ai chargé le fichier de test metatrader5-test.py et j'ai obtenu le même résultat :
C:\Users\labor\Anaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py
Traceback (dernier appel le plus récent) :
Fichier "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", ligne 10, in <module>
ticks1 = MT5CopyTicksFrom('EURAUD', datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)
[2, 'Exness-MT5Real', '0000000'] # les zéros ferment le code réel
RuntimeError : échec de l'appel IPC
[500, 2174, '11 Oct 2019']
Le processus s'est terminé avec le code de sortie 1
Note : localhost dans Options -> Expert Advisers ajouté. Ne fonctionne pas.
Tombe sur :
ticks1= MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13),10000, MT5_COPY_TICKS_ALL)
...
RuntimeError: échec de l'appel IPC
Chemin d'accès au terminal par r (raw). Le terminal lui-même est détecté, bien sûr.
Voici le rapport en Python 3.8
C:\Users\labor>pip install MetaTrader5
Collecte de MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installation des paquets collectés : MetaTrader5
Exécution de setup.py install pour MetaTrader5 ... erreur
ERROR : La commande a échoué avec le statut de sortie 1 :
commande : 'c:\python38\python.exe' -u -c'import sys, setuptools, tokenize ; sys.argv[0] = '""''C:\Users\\\\labor\\\AppData\Local\\\\Temp\\\\ip-install-283aremb\\\\etaTrader5\\\setup.py''' ; __file__='''''C:\Users\\\labor\AppData\Local\\\Temp\pip-install-283aremb\\\\MetaTrader5\\\setup.py''';f=getattr(tokenize, ''''open'', open)(__file__);code=f.read().replace(''''\r\n''', '''''\n''');f.close();exec(compile(code, __file__, '''exec''')'' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-t10_91ai\install-record.txt' --single-version-externally-managed --compile
cwd : C:\Users\labor\AppData\Local\Temp\ip-install-283aremb\MetaTrader5\
Sortie complète (16 lignes) :
installation en cours
construction en cours
exécution de build_py
création d'un bâtiment
création de la bibliothèque de construction.win-amd64-3.8
création d'une bibliothèque win-amd64-3.8 MetaTrader5
copie de MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
exécution de build_ext
construction de l'extension 'MetaTrader5.C'.
création de build/temp.win-amd64-3.8
création de build/temp.win-amd64-3.8/Release
création d'une version provisoire.win-amd64-3.8\release\src
création d'une version provisoire de win-amd64-3.8\Release\src\Interprocessus
création d'un connecteur temporaire.win-amd64-3.8\Release\src\Connector
cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\python38\include -Ic:\python38\include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8\Release\src/MetaTrader.obj
error : la commande 'cl.exe' a échoué : aucun fichier ou répertoire de ce type.
----------------------------------------
ERROR : La commande a échoué avec le statut de sortie 1 : 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize ; sys.argv[0] = '''''C:\Users\\\\labor\\\Data\\\Local\\\Temp\\pip-install-283aremb\\\MetaTrader5\\\setup.py''' ; __file__=''''C:\Users\\\\labor\Data\Local\Temp\pip-install-283aremb\MetaTrader5\\setup.py''';f=getattr(tokenize, ''''open'', open)(__file__);code=f.read().replace(''''\r\n''', '''''\n''');f.close();exec(compile(code, __file__, '''exec'''))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-t10_91ai\install-record.txt' --single-version-externally-managed --compile Vérifiez les journaux pour une sortie de commande complète.
Voici le rapport en Python 3.7.2
J'ai créé un projet dans l'IDE JreBrains sous Python 3.7.2. J'ai chargé le fichier de test metatrader5-test.py et j'ai obtenu le même résultat :
C:\Users\labor\Anaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py
Traceback (dernier appel le plus récent) :
Fichier "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", ligne 10, in <module>
ticks1 = MT5CopyTicksFrom('EURAUD', datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)
[2, 'Exness-MT5Real', '0000000'] # les zéros ferment le code réel
RuntimeError : échec de l'appel IPC
[500, 2174, '11 Oct 2019']
Le processus s'est terminé avec le code de sortie 1
Note : localhost dans Options -> Expert Advisers ajouté. Cela ne fonctionne pas.
Dans le premier cas, je pense que j'ai besoin d'un compilateur pour construire le paquet. Mb les développeurs répondront. Tout fonctionne avec la version 3.7
Lorsque cela se produit, le terminal fonctionne-t-il, c'est-à-dire qu'il n'est pas gelé (par exemple, le menu fonctionne) ?
Dans le premier cas, vous avez besoin d'une sorte de compilateur, si j'ai bien compris, pour construire le paquet. Mb les développeurs répondront. Tout fonctionne avec la version 3.7
Et comment le compiler, s'il n'y a pas de Git de ce paquet, pas de sources ?
Il se compile lui-même lorsque le paquet est installé sur votre ordinateur. Pour cela, vous devez installer un compilateur cis, par exemple cL.exe, comme indiqué dans les journaux. Le processus ne peut pas le trouver avec vous
Téléchargé VC_redist.x64.exe. Je n'ai rien trouvé jusqu'à présent et je suis sûr que je ne devrais pas faire ça - c'est au développeur de décider, n'est-ce pas ? Il faudrait au moins une documentation détaillée qui tienne compte de tous les cas. Universum n'est pas si grand - seulement 3 branches de systèmes d'exploitation - Win/Linux/MacOS :
C:\Users\labor>pip install MetaTrader5
Collecte de MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installation des paquets collectés : MetaTrader5
Exécution de setup.py install pour MetaTrader5 ... erreur
ERROR : La commande a échoué avec le statut de sortie 1 :
commande : 'c:\python38\python.exe' -u -c'import sys, setuptools, tokenize ; sys.argv[0] = '""''C:\Users\\\\labor\\\AppData\Local\\\\Temp\\\ip-install-d68bdu0o\\MetaTrader5\\setup.py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-d68bdu0o\\MetaTrader5\\setup.py''';f=getattr(tokenize, '''''open'', open)(__file__);code=f.read().replace(''''\r\n''', '''''\n''');f.close();exec(compile(code, __file__, '''exec''')'' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-mt16672p\install-record.txt' --single-version-externally-managed --compile
cwd : C:\Users\labor\AppData\Local\Temp\ip-install-d68bdu0o\MetaTrader5\
Sortie complète (16 lignes) :
installation en cours
construction en cours
exécution de build_py
création d'un bâtiment
création de la bibliothèque de construction.win-amd64-3.8
création d'une bibliothèque win-amd64-3.8 MetaTrader5
copie de MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
exécution de build_ext
construction de l'extension 'MetaTrader5.C'.
création de build/temp.win-amd64-3.8
création de build/temp.win-amd64-3.8/Release
création d'une version provisoire.win-amd64-3.8\release\src
création d'une version provisoire de win-amd64-3.8\Release\src\Interprocessus
création d'un connecteur temporaire.win-amd64-3.8\Release\src\Connector
cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\python38\include -Ic:\python38\include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8\Release\src/MetaTrader.obj
error : la commande 'cl.exe' a échoué : aucun fichier ou répertoire de ce type.
----------------------------------------
ERROR : La commande a échoué avec le statut de sortie 1 : 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize ; sys.argv[0] = '''''C:\Users\\\NLabor\NAppData\NLocal\NTemp\NIP-installation-d68bdu0o\N\NMetaTrader5\Nsetup.py''' ; __file__=''''C:\NUsers\NLocal\NTemp\NIP-installation-d68bdu0o\NMetaTrader5\Nsetup.py''';f=getattr(tokenize, '''''open'', open)(__file__);code=f.read().replace(''''\r\n''', '''''\n''');f.close();exec(compile(code, __file__, '''exec'''))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-mt16672p\install-record.txt' --single-version-externally-managed --compile Vérifiez les journaux pour une sortie de commande complète.
Téléchargé VC_redist.x64.exe. Je n'ai rien trouvé jusqu'à présent et je suis sûr que je ne devrais pas faire ça - c'est au développeur de décider, n'est-ce pas ?
C:\Users\labor>pip install MetaTrader5
Collecte de MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installation des paquets collectés : MetaTrader5
Exécution de setup.py install pour MetaTrader5 ... erreur
ERROR : La commande a échoué avec le statut de sortie 1 :
commande : 'c:\python38\python.exe' -u -c'import sys, setuptools, tokenize ; sys.argv[0] = '""''C:\Users\\\\labor\\\AppData\Local\\\\Temp\\\ip-install-d68bdu0o\\MetaTrader5\\setup.py"''; __file__="""C:\Users\\labor\AppData\Local\\Temp\pip-install-d68bdu0o\\MetaTrader5\\\setup.py''';f=getattr(tokenize, ''''open'', open)(__file__);code=f.read().replace(''''\r\n''', '''''\n''');f.close();exec(compile(code, __file__, '''exec''')'' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-mt16672p\install-record.txt' --single-version-externally-managed --compile
cwd : C:\Users\labor\AppData\Local\Temp\ip-install-d68bdu0o\MetaTrader5\
Sortie complète (16 lignes) :
installation en cours
construction en cours
exécution de build_py
création d'un bâtiment
création de la bibliothèque de construction.win-amd64-3.8
création d'une bibliothèque win-amd64-3.8 MetaTrader5
copie de MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
exécution de build_ext
construction de l'extension 'MetaTrader5.C'.
création de build/temp.win-amd64-3.8
création de build/temp.win-amd64-3.8/Release
création d'une version provisoire.win-amd64-3.8\release\src
création d'une version provisoire de win-amd64-3.8\Release\src\Interprocessus
création d'un connecteur temporaire.win-amd64-3.8\Release\src\Connector
cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\python38\include -Ic:\python38\include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8\Release\src/MetaTrader.obj
error : la commande 'cl.exe' a échoué : aucun fichier ou répertoire de ce type.
----------------------------------------
ERROR : La commande a échoué avec le statut de sortie 1 : 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize ; sys.argv[0] = '''''C:\Users\\\\labor\\\\NAppData\N\N\N\N\N\N\N\N\N\N\N\N\NIP-installation-d68bdu0o\N\N\N\N\N\NIPsetup.py''' ; __file__=''''C:\N\N\N\N\N\N\N\NIP-installation-d68bdu0o\N\NIPsetup.py''';f=getattr(tokenize, ''''open'', open)(__file__);code=f.read().replace(''''\r\n''', '''''\n''');f.close();exec(compile(code, __file__, '''exec'''))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-mt16672p\install-record.txt' --single-version-externally-managed --compile Vérifiez les journaux pour une sortie de commande complète.
Je pense que c'est ce qui manquait aux outils de construction de Microsoft, c'est ce qu'ils écrivent :
https://stackoverflow.com/questions/41724445/python-pip-on-windows-command-cl-exe-failed
Par exemple, ajoutez cl.exe au PATH, ou ouvrez une ligne de commande à partir du dossier où il est installé et installez pip metatrader5 à partir de là.
les développeurs n'ont pas à le faire, le système ne voit simplement pas le compilateur
Les outils de construction de Microsoft semblent être exactement ce qui manquait, voici ce qu'ils disent :
https://stackoverflow.com/questions/41724445/python-pip-on-windows-command-cl-exe-failed
Par exemple, ajoutez cl.exe au PATH, ou ouvrez une ligne de commande à partir du dossier où il est installé, et installez pip metatrader5 à partir de là.
Les développeurs n'ont pas à le faire, le système ne voit simplement pas le compilateur.
Il faudrait au moins une documentation détaillée qui tienne compte de tous les cas. Universum n'est pas si grand - seulement 3 branches de systèmes d'exploitation - Win/Linux/MacOS.
Installation des outils de construction Microsoft à partir de https://visualstudio.microsoft.com/ru/downloads/?rr=https%3A%2F%2Fwww.google.com%2F. Le paquet est maintenant installé dans Python 3.8. Ce problème est résolu.
C:\Users\labor>pip install MetaTrader5
Collecte de MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installation des paquets collectés : MetaTrader5
Exécution de setup.py install pour MetaTrader5 ... fait
MetaTrader5-5.0.6 a été installé avec succès.
MAIS ! RuntimeError : L'appel IPC a échoué :
C:\Users\labor>C:\Users\labor\Anaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py
[2, 'Exness-MT5Real', '0000000'] # le code est mis à zéro dans l'impression
[500, 2174, '11 Oct 2019']
Traceback (dernier appel le plus récent) :
Fichier "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", ligne 10, in <module>
ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)
RuntimeError : échec de l'appel IPC