MetaTrader 5 Python User Group - как использовать Python в Метатрейдере - страница 19
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. Изначально у меня был установлен Python 3.7.2. Установил ваш пакет и командной оболочеке и в блокноте Jupyter вылезает та же самая ошибка: RuntimeError: IPC call failed
2. Я снес Python 3.7.2, установил Python 3.8, но та же история - исходно не устанавливается в Python 3.8
3. Установил Anaconda Python, специально создал виртуальную среду для Python 3.7.2 и попытался pip-нуть ваш пакет и выполнить пример - тот же вид, но с боку: RuntimeError: IPC call failed
что-то не так делаете
Хорошее пособие как работать с данными и немного МО, если что-то не знали, но забыли. В в т.ч. подсказка как перестать думать что питон тормоз.
https://jakevdp.github.io/PythonDataScienceHandbook/
Вот отчет в Python 3.8
C:\Users\labor>pip install MetaTrader5
Collecting MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installing collected packages: MetaTrader5
Running setup.py install for MetaTrader5 ... error
ERROR: Command errored out with exit status 1:
command: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\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\pip-install-283aremb\MetaTrader5\
Complete output (16 lines):
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.8
creating build\lib.win-amd64-3.8\MetaTrader5
copying MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
running build_ext
building 'MetaTrader5.C' extension
creating build\temp.win-amd64-3.8
creating build\temp.win-amd64-3.8\Release
creating build\temp.win-amd64-3.8\Release\src
creating build\temp.win-amd64-3.8\Release\src\Interprocess
creating build\temp.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: command 'cl.exe' failed: No such file or directory
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\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 Check the logs for full command output.
Вот отчет в Python 3.7.2
Создал в JreBrains IDE проект под Python 3.7.2. Загрузил тестовый файл metatrader5-test.py и получил тот же рузельтат:
C:\Users\labor\Anaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py
Traceback (most recent call last):
File "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", line 10, in <module>
ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)
[2, 'Exness-MT5Real', '0000000'] # нули закрывают реальный код
RuntimeError: IPC call failed
[500, 2174, '11 Oct 2019']
Process finished with exit code 1
Примечание: localhost в Options -> Expert Advisers добавил. НЕ работает.
Спотыкается на :
ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13),10000, MT5_COPY_TICKS_ALL)
...
RuntimeError: IPC call failed
Путь к терминалу прописал через r (raw). Сам терминал определяется, разумеется.
Вот отчет в Python 3.8
C:\Users\labor>pip install MetaTrader5
Collecting MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installing collected packages: MetaTrader5
Running setup.py install for MetaTrader5 ... error
ERROR: Command errored out with exit status 1:
command: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\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\pip-install-283aremb\MetaTrader5\
Complete output (16 lines):
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.8
creating build\lib.win-amd64-3.8\MetaTrader5
copying MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
running build_ext
building 'MetaTrader5.C' extension
creating build\temp.win-amd64-3.8
creating build\temp.win-amd64-3.8\Release
creating build\temp.win-amd64-3.8\Release\src
creating build\temp.win-amd64-3.8\Release\src\Interprocess
creating build\temp.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: command 'cl.exe' failed: No such file or directory
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\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 Check the logs for full command output.
Вот отчет в Python 3.7.2
Создал в JreBrains IDE проект под Python 3.7.2. Загрузил тестовый файл metatrader5-test.py и получил тот же рузельтат:
C:\Users\labor\Anaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py
Traceback (most recent call last):
File "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", line 10, in <module>
ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)
[2, 'Exness-MT5Real', '0000000'] # нули закрывают реальный код
RuntimeError: IPC call failed
[500, 2174, '11 Oct 2019']
Process finished with exit code 1
Примечание: localhost в Options -> Expert Advisers добавил. НЕ работает.
в первом случае нужен какой-то компилятор, я так понял, что бы собрать пакет. Мб разработчики ответят. У меня все работает на 3.7
В момент когда это происходит Терминал работает, т.е. он не завис (например, меню работает)?
в первом случае нужен какой-то компилятор, я так понял, что бы собрать пакет. Мб разработчики ответят. У меня все работает на 3.7
А как его скомилировать, если нет Git этого пакета, нет его исходников?
Оно само компилируется в момент установки пакета на вашем компе, для этого нужно установить какой-нибудь сишный компилятор, например cL.exe как там написано в логах. Процесс не может его найти у вас
Скачал VC_redist.x64.exe. Безрезультатно пока и уверен, что я не должен этим заниматься - это дело разработчика, не так ли? По крайней мере, должна иметься детальная документация, учитывающая все случаи. Универсум не так-то большой - всего 3 ветки операционных систем - Win/Linux/MacOS:
C:\Users\labor>pip install MetaTrader5
Collecting MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installing collected packages: MetaTrader5
Running setup.py install for MetaTrader5 ... error
ERROR: Command errored out with exit status 1:
command: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-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\pip-install-d68bdu0o\MetaTrader5\
Complete output (16 lines):
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.8
creating build\lib.win-amd64-3.8\MetaTrader5
copying MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
running build_ext
building 'MetaTrader5.C' extension
creating build\temp.win-amd64-3.8
creating build\temp.win-amd64-3.8\Release
creating build\temp.win-amd64-3.8\Release\src
creating build\temp.win-amd64-3.8\Release\src\Interprocess
creating build\temp.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: command 'cl.exe' failed: No such file or directory
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-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 Check the logs for full command output.
Скачал VC_redist.x64.exe. Безрезультатно пока и уверен, что я не должен этим заниматься - это дело разработчика, не так ли?:
C:\Users\labor>pip install MetaTrader5
Collecting MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installing collected packages: MetaTrader5
Running setup.py install for MetaTrader5 ... error
ERROR: Command errored out with exit status 1:
command: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-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\pip-install-d68bdu0o\MetaTrader5\
Complete output (16 lines):
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.8
creating build\lib.win-amd64-3.8\MetaTrader5
copying MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
running build_ext
building 'MetaTrader5.C' extension
creating build\temp.win-amd64-3.8
creating build\temp.win-amd64-3.8\Release
creating build\temp.win-amd64-3.8\Release\src
creating build\temp.win-amd64-3.8\Release\src\Interprocess
creating build\temp.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: command 'cl.exe' failed: No such file or directory
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-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 Check the logs for full command output.
вроде именно Microsoft build tools и не хватало, вот что пишут:
https://stackoverflow.com/questions/41724445/python-pip-on-windows-command-cl-exe-failed
т.е. нужно добавить cl.exe в PATH, или открыть командную строку из папки куда он установлен, и оттуда pip install metatrader5
разрабы не должны, просто система компилятор не видит
вроде именно Microsoft build tools и не хватало, вот что пишут:
https://stackoverflow.com/questions/41724445/python-pip-on-windows-command-cl-exe-failed
т.е. нужно добавить cl.exe в PATH, или открыть командную строку из папки куда он установлен, и оттуда pip install metatrader5
разрабы не должны, просто система компилятор не видит
По крайней мере, должна иметься детальная документация, учитывающая все случаи. Универсум не так-то большой - всего 3 ветки операционных систем - Win/Linux/MacOS.
Установил Microsoft build tools с https://visualstudio.microsoft.com/ru/downloads/?rr=https%3A%2F%2Fwww.google.com%2F. Теперь пакет устанавливается в Python 3.8. Эта проблема РЕШЕНА.
C:\Users\labor>pip install MetaTrader5
Collecting MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installing collected packages: MetaTrader5
Running setup.py install for MetaTrader5 ... done
Successfully installed MetaTrader5-5.0.6
НО! Ошибка RuntimeError: IPC call failed осталась:
C:\Users\labor>C:\Users\labor\Anaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py
[2, 'Exness-MT5Real', '0000000'] # код обнулен в распечатке
[500, 2174, '11 Oct 2019']
Traceback (most recent call last):
File "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", line 10, in <module>
ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)
RuntimeError: IPC call failed