MetaTrader 5 Python 사용자 그룹 - Metatrader에서 Python을 사용하는 방법 - 페이지 20

[삭제]  
capissimo :

최소한 모든 경우를 다루는 상세한 문서가 있어야 합니다. 우주는 그리 크지 않습니다. Win/Linux/MacOS의 3가지 운영 체제 분기만 있습니다.

https://visualstudio.microsoft.com/en/downloads/?rr=https%3A%2F%2Fwww.google.com%2F에서 Microsoft 빌드 도구를 설치했습니다. 이제 패키지가 Python 3.8에 설치되었습니다. 이 문제는 해결되었습니다.

C:\Users\labor> pip install MetaTrader5

MetaTrader5 수집

캐시된 https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.g 사용

수집된 패키지 설치: MetaTrader5

MetaTrader5용 setup.py 설치 실행 중... 완료

MetaTrader5-5.0.6을 성공적으로 설치했습니다.


하지만! RuntimeError: IPC 호출 실패 오류가 남아 있습니다.

C:\Users\labor>C:\Users\labor\Anaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py

[2, 'Exness-MT5Real', '0000000'] # 출력 시 코드가 0으로 설정됨

[500, 2174, '2019년 10월 11일']

역추적(가장 최근 호출 마지막):

파일 "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", 줄 10, <module>

ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)

런타임 오류: IPC 호출 실패

MT5 계정에 해당 기호가 없을 때도 동일한 오류가 발생합니다. 예를 들어 EURPLN은 터미널에 없습니다.


 
capissimo :
터미널이 정상적으로 작동합니다.

MetaQuotes-Demo 서버에 연결하고 도움말 -> 데스크탑 업데이트 확인 -> 최신 베타 빌드를 선택하고 업데이트를 기다리십시오. 빌드는 2174 이상이어야 합니다. 이 서버에서 스크립트를 실행하고 결과를 보고하십시오.


추신. 또한 터미널 계정이 열려 있는지 확인하십시오. MT5TerminalInfo()는 합리적인 값을 반환하고 MT5WaitForTerminal()은 True를 반환합니다.

 
Maxim Dmitrievsky :

MT5 계정에 해당 기호가 없을 때도 동일한 오류가 발생합니다. 예를 들어 EURPLN은 터미널에 없습니다.


처음부터 이것을 고려했습니다. 자산의 코드를 변경했는데 작동하지 않습니다.
 
Almaz :

MetaQuotes-Demo 서버에 연결하고 도움말 -> 데스크탑 업데이트 확인 -> 최신 베타 빌드를 선택하고 업데이트를 기다리십시오. 빌드는 2174 이상이어야 합니다. 이 서버에서 스크립트를 실행하고 결과를 보고하십시오.


추신. 또한 터미널 계정이 열려 있는지 확인하십시오. MT5TerminalInfo()는 합리적인 값을 반환하고 MT5WaitForTerminal()은 True를 반환합니다.

계정이 열려 있고 터미널이 작동 중이며 패키지에서 내 비밀번호를 반환합니다. ( [2, 'Exness-MT5Real', '0000000'] , 참고: 비밀번호가 삐 소리 가 납니다) 데이터를 추출하는 단계입니다.

Anaconda Python에서 동일한 쓰레기(Python 3.8을 철거하고 Python 3.7 버전 중 하나를 사용하고 MetaTrader5를 핍 제로화하는 새로운 Anaconda 배포판을 설치함):

execfile의 파일 "C:\Users\labor\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", 110행

exec(컴파일(f.read(), 파일 이름, 'exec'), 네임스페이스)

파일 "C:/Users/labor/.spyder-py3/temp.py", 줄 17, <module>

eurusd_rates = MT5CopyRatesFrom("EURUSD", MT5_TIMEFRAME_M1, datetime(2019,4,5,15), 1000)

런타임 오류: IPC 호출 실패

보시다시피 어떤 종류의 파일 작업 중에 MT5CopyRatesFrom을 우연히 발견합니다.
 

Python용 MetaTrader 5.0.7 패키지의 업데이트 버전이 출시되었습니다.

다음과 같이 업데이트할 수 있습니다.

pip install --upgrade matplotlib
pip install --upgrade MetaTrader5
[삭제]  
MetaQuotes Software Corp. :

Python용 MetaTrader 5.0.7 패키지의 업데이트 버전이 출시되었습니다.

다음과 같이 업데이트할 수 있습니다.

변경 사항이 있습니까?

 
Maxim Dmitrievsky :

변경 사항이 있습니까?

참/거짓 결과에서 자세한 숫자 코드로 전환.

터미널에서 데이터 가용성을 위한 개선된 대기 모드.
 
Almaz :

MetaQuotes-Demo 서버에 연결하고 도움말 -> 데스크탑 업데이트 확인 -> 최신 베타 빌드를 선택하고 업데이트를 기다리십시오. 빌드는 2174 이상이어야 합니다. 이 서버에서 스크립트를 실행하고 결과를 보고하십시오.


추신. 또한 터미널 계정이 열려 있는지 확인하십시오. MT5TerminalInfo()는 합리적인 값을 반환하고 MT5WaitForTerminal()은 True를 반환합니다.

내 터미널에는 빌드 2190이 있습니다. 스크립트에서 요청한 것과 동일한 도구를 터미널에서. 스크립트는 내 브로커 이름과 거래 코드를 반환합니다: [2, 'Exness-MT5Real', '*******'] .

패키지를 업데이트한 후 동일한 코드 줄에서 오류가 발생하고 오류 메시지가 다음과 같이 변경되었습니다. RuntimeError: Terminal: Call failed

(기본) C:\Users\labor>python.exe C:/Users/labor/Downloads/MetaTrader5-Python/mt5test2.py

[2, 'Exness-MT5Real', '0000000']

[500, 2190, '2019년 10월 18일']

역추적(가장 최근 호출 마지막):

파일 "C:/Users/labor/Downloads/MetaTrader5-Python/mt5test2.py", 줄 17, <module>

eurusd_rates = MT5CopyRatesFrom("EURUSD", MT5_TIMEFRAME_M1, datetime(2019,4,5,15), 1000)

런타임 오류: 터미널: 호출 실패

 
capissimo :

내 터미널에는 빌드 2190이 있습니다. 스크립트에서 요청한 것과 동일한 도구를 터미널에서. 스크립트는 내 브로커 이름과 거래 코드를 반환합니다: [2, 'Exness-MT5Real', '*******'] .

MetaTrader 5.0.7 python 패키지로 업그레이드하고 결과를 첨부하십시오.

 
MetaQuotes Software Corp. :

MetaTrader 5.0.7 python 패키지로 업그레이드하고 결과를 첨부하십시오.

1) Anaconda Python 3.7.4를 사용하고 기본 가상 환경에서 작업하고 있습니다. 그런데 MetaTrader 5.0.7 패키지는 어떤 버전의 Python을 대상으로 합니까?

2) 귀하의 요청에 따라 Python 3.8을 다시 설치하고 pip를 업데이트했으며 이미 matplotlib를 설치하는 단계에서 이것을 얻었습니다(종이 클립의 전체 PROTOCOL 참조).

Microsoft Windows [버전 10.0.17134.1069]. 무모한 장난...

(c) 2018 Microsoft Corporation. 판권 소유.

C:\Users\labor> pip install matplotlib

matplotlib 수집

캐시된 https://files.pythonhosted.org/packages/12/d1/7b12cd79c791348cb0c78ce6e7d16bd72992f13c9f1e8e43d2725a6d8adf/matplotlib-3.1.1.tar.g 사용

요구 사항이 이미 충족됨: c:\python38\lib\site-packages의 cycler>=0.10 (matplotlib에서) (0.10.0)

요구 사항이 이미 충족됨: kiwisolver>=1.0.1 in c:\python38\lib\site-packages (matplotlib에서) (1.1.0)

요구 사항이 이미 충족됨: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\python38\lib\site-packages (matplotlib에서) (2.4.2)

요구 사항이 이미 충족됨: python-dateutil>=2.1 in c:\python38\lib\site-packages (from matplotlib) (2.8.0)

요구 사항이 이미 충족됨: numpy>=1.11 in c:\python38\lib\site-packages (matplotlib에서) (1.17.3)

요구 사항이 이미 충족됨: c:\python38\lib\site-packages의 6개(cycler>=0.10->matplotlib에서)(1.12.0)

요구 사항이 이미 충족됨: c:\python38\lib\site-packages의 setuptools(kiwisolver>=1.0.1->matplotlib에서) (41.2.0)

수집된 패키지 설치: matplotlib

matplotlib에 대한 setup.py 설치 실행 중 ... 오류

오류: 종료 상태 1과 함께 명령 오류가 발생했습니다.

명령: 'c:\python38\python.exe' -u -c ' 시스템 가져오기 , setuptools, 토큰화; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-unwrm6r5\\matplotlib\\setup.py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-unwrm6r5\\matplotlib\\setup.py'"'"';f=getattr(토큰화 , '"'"'열기'"'"', 열기)(__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-ly12rvmr\install-record.txt' --single-version-externally-managed --compile

.............. 파일에 계속

3) http://www.lfd.uci.edu/~gohlke/pythonlibs/ 리소스를 사용하여 matplotlib를 설치하고 표준 pytz 및 패키지를 설치했습니다. 동일한 오류가 발생했습니다. RuntimeError: 터미널: 호출에 실패했습니다. 클립 2를 참조하십시오.

파일:
6ww6n.zip  7 kb
report.zip  2 kb