MetaTrader 5 Python User Group - como usar o Python no Metatrader - página 19
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
1. originalmente tinha instalado o Python 3.7.2. Instalei o seu pacote e a shell de comando e o bloco de notas Jupyter aparece o mesmo erro: RuntimeError: chamada IPC falhou
2. Rasguei o Python 3.7.2, instalei o Python 3.8, mas a mesma história - não instala em Python 3.8
3. Instalou o Anaconda Python, criou especificamente um ambiente virtual para o Python 3.7.2 e tentou canalizar o seu pacote e executar o exemplo - a mesma vista, mas do lado: RuntimeError: chamada IPC falhou
a fazer algo errado
Um bom tutorial sobre como trabalhar com dados e um pouco de MO se houver algo que não soubesse mas que tenha esquecido. Incluindo uma dica sobre como deixar de pensar que a pitão é retardada.
https://jakevdp.github.io/PythonDataScienceHandbook/
Aqui está o relatório em Python 3.8
C:\sUtilizadores\labor>pip install MetaTrader5
Recolha do MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Instalação de pacotes recolhidos: MetaTrader5
Executando setup.py install para MetaTrader5 ... erro
ERRO: Comando errôneo com status de saída 1:
py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\setup.py'''';f=getattr(tokenize, ''''open''', abrir)(__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:{\i1}Usuários\i1}Aplicação de dados locais\i283aremb\i}MetaTrader5
Saída completa (16 linhas):
instalação em execução
construção contínua
correr build_py
criar construir
criando build\lib.win-amd64-3.8
criando build\lib.win-amd64-3.8\MetaTrader5
copiando MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
correr build_ext
construção da extensão 'MetaTrader5.C'.
criar build/temp.win-amd64-3.8
criar build/temp.win-amd64-3.8/Release
criando build\temp.win-amd64-3.8src
criando build\temp.win-amd64-3.8\Release\src\src\sinterprocess
criando build\temp.win-amd64-3.8\Release\src\src\sConnector
cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\pYthon38include -Ic:\pYthon38include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8Release\src/MetaTrader.obj
erro: o comando 'cl.exe' falhou: Não existe tal ficheiro ou directório
----------------------------------------
ERROR: Comando errado com estado de saída 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.py'''';f=getattr(tokenize, ''''open''', abrir)(__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 Verificar os logs para saída de comandos completos.
Aqui está o relatório em Python 3.7.2
Criou um projecto em JreBrains IDE sob Python 3.7.2. Carregou o ficheiro de teste metatrader5-test.py e obteve o mesmo resultado:
C:\s@sUtilizadores\s@Anaconda3\s@metatrader5\python.exe C:/Utilizadores\s@labor/Downloads/MetaTrader5-Python/metatrader5-test.py
Traceback (última chamada mais recente):
Ficheiro "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", linha 10, em <módulo>
ticks1 = MT5CopyTicksFrom('EURAUD', datetime(2019,1,28,13), 10000, MT5_TICKS_ALL)
[2, 'Exness-MT5Real', '0000000'] # zeros fecham o código real
RuntimeError: chamada IPC falhou
[500, 2174, '11 Out 2019']
Processo terminado com o código de saída 1
Nota: localhost in Options -> Expert Advisers adicionado. Não funciona.
Tropeça em :
ticks1= MT5CopyTicksFrom("EURAUD", datatime(2019,1,28,13),10000, MT5_TICKS_ALL)
...
RuntimeError: chamada IPC falhou
O caminho para o terminal é através de r (bruto). O próprio terminal é detectado, é claro.
Aqui está o relatório em Python 3.8
C:\sUtilizadores\labor>pip install MetaTrader5
Recolha do MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Instalação de pacotes recolhidos: MetaTrader5
Executando setup.py install para MetaTrader5 ... erro
ERRO: Comando errôneo com status de saída 1:
py'''; __file__=''''C:\PTabela de dados local_Temp-install-283aremb2Maremb2py'''';f=getattr(tokenize, ''''open''', abrir)(__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:{\i1}Usuários\i1}Aplicação de dados locais\i283aremb\i}MetaTrader5
Saída completa (16 linhas):
instalação em execução
construção contínua
correr build_py
criar construir
criando build\lib.win-amd64-3.8
criando build\lib.win-amd64-3.8\MetaTrader5
copiando MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
correr build_ext
construção da extensão 'MetaTrader5.C'.
criar build/temp.win-amd64-3.8
criar build/temp.win-amd64-3.8/Release
criando build\temp.win-amd64-3.8src
criando build\temp.win-amd64-3.8\Release\src\src\sinterprocess
criando build\temp.win-amd64-3.8\Release\src\src\sConnector
cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\pYthon38include -Ic:\pYthon38include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8Release\src/MetaTrader.obj
erro: o comando 'cl.exe' falhou: Não existe tal ficheiro ou directório
----------------------------------------
ERROR: Comando errado com status de saída 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.py'''';f=getattr(tokenize, ''''open''', abrir)(__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 Verificar os logs para saída de comandos completos.
Aqui está o relatório em Python 3.7.2
Criou um projecto em JreBrains IDE sob Python 3.7.2. Carregou o ficheiro de teste metatrader5-test.py e obteve o mesmo resultado:
C:\s@sUtilizadores\s@Anaconda3\s@metatrader5\python.exe C:/Utilizadores\s@labor/Downloads/MetaTrader5-Python/metatrader5-test.py
Traceback (última chamada mais recente):
Ficheiro "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", linha 10, em <módulo>
ticks1 = MT5CopyTicksFrom('EURAUD', datetime(2019,1,28,13), 10000, MT5_TICKS_ALL)
[2, 'Exness-MT5Real', '0000000'] # zeros fecham o código real
RuntimeError: chamada IPC falhou
[500, 2174, '11 Out 2019']
Processo terminado com o código de saída 1
Nota: localhost in Options -> Expert Advisers adicionado. Não funciona.
No primeiro caso penso que preciso de algum compilador para construir o pacote. Mb os programadores responderão. Tenho tudo a funcionar em 3.7
Quando isto acontece é o terminal a funcionar, ou seja, não está congelado (por exemplo, o menu está a funcionar)?
No primeiro caso é necessário algum tipo de compilador, pelo que entendo, para construir o pacote. Mb os programadores responderão. Tenho tudo a funcionar em 3.7
E como compilá-lo, se não há Git deste pacote, não há fontes?
Compila-se a si próprio quando o pacote é instalado no seu computador, para isso necessita de instalar algum compilador cis, por exemplo, cL.exe como diz nos registos. O processo não o pode encontrar consigo
Carregado VC_redist.x64.exe. Sem sorte até agora e tenho a certeza de que não devia estar a fazer isto - cabe ao dono da obra, não é? No mínimo, deve haver documentação detalhada que tenha em conta todos os casos. Universum não é assim tão grande - apenas 3 ramos de sistemas operativos - Win/Linux/MacOS:
C:\sUtilizadores\labor>pip install MetaTrader5
Recolha do MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Instalação de pacotes recolhidos: MetaTrader5
Executando setup.py install para MetaTrader5 ... erro
ERRO: Comando errôneo com status de saída 1:
comando: 'c:\python38python.exe' -u -c'import sys, setuptools, tokenize; sys.argv[0] = '"'''C:\Users\\\\labor\\\\PTemp\\\\Local\\\\Temp\Pip-install-d68bdu0oMetaTrader5py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-d68bdu0o\\MetaTrader5\\setup.py'''';f=getattr(tokenize, ''''open''', abrir)(__file__);code=f.read().replace(''''\r\n''', '''''\n'''');f.close();exec(compile(code, __file__, '''exec'')'' install --record 'C:\Users\labor\AppData\Local\pip-record-mt16672p\install-record.txt' --single-version-externally-managed --compile
cwd: C:{\i1}Usuários\i1}Aplicação de dados locais\i}Temp-install-d68bdu0o{\i}MetaTrader5
Saída completa (16 linhas):
instalação em execução
construção contínua
correr build_py
criar construir
criando build\lib.win-amd64-3.8
criando build\lib.win-amd64-3.8\MetaTrader5
copiando MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
correr build_ext
construção da extensão 'MetaTrader5.C'.
criar build/temp.win-amd64-3.8
criar build/temp.win-amd64-3.8/Release
criando build\temp.win-amd64-3.8src
criando build\temp.win-amd64-3.8\Release\src\src\sinterprocess
criando build\temp.win-amd64-3.8\Release\src\src\sConnector
cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\pYthon38include -Ic:\pYthon38include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8Release\src/MetaTrader.obj
erro: o comando 'cl.exe' falhou: Não existe tal ficheiro ou directório
----------------------------------------
ERROR: Comando errado com estado de saída 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.py'''';f=getattr(tokenize, ''''open''', abrir)(__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 Verificar os logs para saída de comandos completos.
Carregado VC_redist.x64.exe. Sem sorte até agora e tenho a certeza de que não devia estar a fazer isto - cabe ao dono da obra, não é?
C:\sUtilizadores\labor>pip install MetaTrader5
Recolha do MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Instalação de pacotes recolhidos: MetaTrader5
Executando setup.py install para MetaTrader5 ... erro
ERRO: Comando errôneo com status de saída 1:
comando: 'c:\python38python.exe' -u -c'import sys, setuptools, tokenize; sys.argv[0] = '"'''C:\Users\\\\labor\\\\PTemp\\\\Local\\\\Temp\Pip-install-d68bdu0oMetaTrader5py"''; __file__="""C:\Users\\labor\AppData\Local\\Temp\pip-install-d68bdu0o\\MetaTrader5\\\setup.py'''';f=getattr(tokenize, '''''open'''', abrir)(__file__);code=f.read().replace(''''\r\n'''', '''''\n''');f.close();exec(compile(code, __file__, '''exec'')'' install --record 'C:\Users\labor\AppData\Local\pip-record-mt16672p\install-record.txt' --single-version-externally-managed --compile
cwd: C:{\i1}Usuários\i1}Aplicação de dados locais\i}Temp-install-d68bdu0o{\i}MetaTrader5
Saída completa (16 linhas):
instalação em execução
construção contínua
correr build_py
criar construir
criando build\lib.win-amd64-3.8
criando build\lib.win-amd64-3.8\MetaTrader5
copiando MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5
correr build_ext
construção da extensão 'MetaTrader5.C'.
criar build/temp.win-amd64-3.8
criar build/temp.win-amd64-3.8/Release
criando build\temp.win-amd64-3.8src
criando build\temp.win-amd64-3.8\Release\src\src\sinterprocess
criando build\temp.win-amd64-3.8\Release\src\src\sConnector
cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\pYthon38include -Ic:\pYthon38include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8Release\src/MetaTrader.obj
erro: o comando 'cl.exe' falhou: Não existe tal ficheiro ou directório
----------------------------------------
ERROR: Comando errado com estado de saída 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.py'''';f=getattr(tokenize, '''''open'''', abrir)(__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 Verificar os logs para saída de comandos completos.
Penso que era isso que faltava à Microsoft para construir ferramentas, é isso que eles escrevem:
https://stackoverflow.com/questions/41724445/python-pip-on-windows-command-cl-exe-failed
isto é, adicionar cl.exe ao PATH, ou abrir uma linha de comando a partir da pasta onde está instalado e pip instalar o metatrader5 a partir daí
os programadores não precisam, o sistema simplesmente não vê o compilador
As ferramentas de construção da Microsoft pareciam ser exactamente o que faltava, é isto que eles dizem:
https://stackoverflow.com/questions/41724445/python-pip-on-windows-command-cl-exe-failed
isto é, adicionar cl.exe ao PATH, ou abrir uma linha de comando a partir da pasta onde está instalado, e pip instalar o metatrader5 a partir daí
Os criadores não têm de o fazer, o sistema simplesmente não vê o compilador.
Pelo menos deve haver documentação detalhada que tenha em conta todos os casos. Universum não é assim tão grande - apenas 3 ramos de sistemas operativos - Win/Linux/MacOS.
Instalou ferramentas de construção Microsoft a partir de https://visualstudio.microsoft.com/ru/downloads/?rr=https%3A%2F%2Fwww.google.com%2F. O pacote está agora instalado em Python 3.8. Este problema está resolvido.
C:\sUtilizadores\labor>pip install MetaTrader5
Recolha do MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Instalação de pacotes recolhidos: MetaTrader5
Executando setup.py install para MetaTrader5 ... feito
MetaTrader5-5.0.6 instalado com sucesso
MAS! RuntimeError: Chamada IPC falhou:
[2, 'Exness-MT5Real', '0000000'] # o código é zerado na impressão
[500, 2174, '11 Out 2019']
Traceback (última chamada mais recente):
Ficheiro "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", linha 10, em <módulo>
ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_TICKS_ALL)
RuntimeError: chamada IPC falhou