MetaTrader 5 Python User Group - wie man Python in Metatrader verwendet - Seite 20
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Zumindest sollte es eine detaillierte Dokumentation geben, die alle Fälle berücksichtigt. Universum ist nicht sehr groß - es gibt nur 3 Betriebssysteme - Win/Linux/MacOS.
Installieren Sie die Microsoft Build-Tools von https://visualstudio.microsoft.com/ru/downloads/?rr=https%3A%2F%2Fwww.google.com%2F. Das Paket ist jetzt in Python 3.8 installiert. Dieses Problem ist LÖSUNG.
C:\Benutzer\Labor>pip install MetaTrader5
Sammeln von MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installation der gesammelten Pakete: MetaTrader5
Ausführen von setup.py install für MetaTrader5 ... fertig
Erfolgreiche Installation von MetaTrader5-5.0.6
ABER! RuntimeError: IPC-Aufruf fehlgeschlagen:
C:\Benutzer\Labor>C:\Benutzer\Labor\Anaconda3\envs\metatrader5\python.exe C:/Benutzer/Labor/Downloads/MetaTrader5-Python/metatrader5-test.py
[2, 'Exness-MT5Real', '0000000'] # Code wird im Ausdruck auf Null gesetzt
[500, 2174, '11 Oct 2019']
Traceback (letzter Aufruf):
Datei "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", Zeile 10, in <module>
ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)
RuntimeError: IPC-Aufruf fehlgeschlagen
Derselbe Fehler tritt auf, wenn es kein solches Symbol auf dem Konto in mt5 gibt. Zum Beispiel ist EURPLN nicht im Terminal
Das Terminal funktioniert, wie es sollte.
Bitte verbinden Sie sich mit dem MetaQuotes-Demo-Server, wählen Sie Hilfe -> Desktop-Updates prüfen -> Neueste Beta-Version, warten Sie auf das Update. Der Build sollte älter als oder gleich 2174 sein. Versuchen Sie, Ihr Skript auf diesem Server auszuführen, und melden Sie das Ergebnis.
PS. Stellen Sie außerdem sicher, dass Sie ein Konto im Terminal eröffnet haben, dass MT5TerminalInfo() vernünftige Werte zurückgibt und dass MT5WaitForTerminal() True zurückgibt.
Derselbe Fehler tritt auf, wenn es kein solches Symbol auf dem Konto in mt5 gibt. Zum Beispiel ist EURPLN nicht im Terminal
Bitte verbinden Sie sich mit dem MetaQuotes-Demo-Server, wählen Sie Hilfe -> Desktop-Updates prüfen -> Neueste Beta-Version, warten Sie auf das Update. Der Build sollte älter als oder gleich 2174 sein. Versuchen Sie, Ihr Skript auf diesem Server auszuführen, und melden Sie das Ergebnis.
PS. Stellen Sie außerdem sicher, dass Sie ein Konto im Terminal eröffnet haben, MT5TerminalInfo() sinnvolle Werte zurückgibt und MT5WaitForTerminal() True zurückgibt.
Das Konto ist geöffnet, das Terminal funktioniert, und das Paket gibt mein Passwort usw. zurück. ([2, 'Exness-MT5Real', '0000000'] , Hinweis: Das Passwort ist gesperrt), aber bei der Datenextraktion tritt ein Fehler auf.
In Anaconda Python die gleiche Scheiße (nahm Python 3.8 und installierte eine neue Anaconda-Distribution, die eine der Python 3.7-Versionen verwendet und piped Ihre MetaTrader5 in es):
Datei "C:\Users\labor\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", Zeile 110, in execfile
exec(compile(f.read(), Dateiname, 'exec'), namespace)
Datei "C:/Users/labor/.spyder-py3/temp.py", Zeile 17, in <module>
eurusd_rates = MT5CopyRatesFrom("EURUSD", MT5_TIMEFRAME_M1, datetime(2019,4,5,15), 1000)
RuntimeError: IPC-Aufruf fehlgeschlagen
Wie Sie sehen können, stößt erwährend einer Dateioperation aufMT5CopyRatesFrom.Wir haben eine aktualisierte Version von MetaTrader 5.0.7 für Python veröffentlicht.
Sie können wie folgt aktualisieren:
Wir haben eine aktualisierte Version von MetaTrader 5.0.7 für Python veröffentlicht.
Sie können sie wie folgt aktualisieren:
irgendwelche Änderungen?
irgendwelche Änderungen?
Wechsel von wahr/falsch-Ergebnissen zu detaillierten numerischen Codes.
Verbesserte Modi für das Warten auf die Verfügbarkeit von Daten vom Terminal.Bitte verbinden Sie sich mit dem MetaQuotes-Demo-Server, wählen Sie Hilfe -> Desktop-Updates prüfen -> Neueste Beta-Version, warten Sie auf das Update. Der Build sollte älter als oder gleich 2174 sein. Versuchen Sie, Ihr Skript auf diesem Server auszuführen, und melden Sie das Ergebnis.
PS. Stellen Sie außerdem sicher, dass Sie ein Konto im Terminal eröffnet haben, MT5TerminalInfo() sinnvolle Werte zurückgibt und MT5WaitForTerminal() True zurückgibt.
Mein Terminal hat Build 2190; das Terminal hat das gleiche Tool, das im Skript verlangt wird. Das Skript gibt meinen Brokernamen und Handelscode zurück:[2, 'Exness-MT5Real', '*******'].
Nachdem der Fehler bei der Paketaktualisierung in derselben Codezeile auftritt, hat sich die Fehlermeldung geändert: RuntimeError: Terminal: Call failed
(Basis) C:\Benutzer/Labor>python.exe C:/Benutzer/Labor/Downloads/MetaTrader5-Python/mt5test2.py
[2, 'Exness-MT5Real', '0000000']
(500, 2190, '18 Okt 2019)
Traceback (letzter Aufruf):
Datei "C:/Users/labor/Downloads/MetaTrader5-Python/mt5test2.py", Zeile 17, in <module>
eurusd_rates = MT5CopyRatesFrom("EURUSD", MT5_TIMEFRAME_M1, datetime(2019,4,5,15), 1000)
RuntimeError: Terminal: Aufruf fehlgeschlagen
Mein Terminal hat Build 2190; das Terminal hat das gleiche Instrument, das im Skript angefordert wird. Das Skript gibt meinen Brokernamen und Handelscode zurück: [2, 'Exness-MT5Real', '*******'].
Aktualisieren Sie auf das MetaTrader 5.0.7 Python-Paket und fügen Sie bitte die Ergebnisse bei.
Aktualisieren Sie auf das MetaTrader 5.0.7 Python-Paket und fügen Sie bitte die Ergebnisse bei.
1) Ich verwende Anaconda Python 3.7.4 und arbeite in einer virtuellen Basisumgebung. Übrigens, welche Version von Python ist MetaTrader 5.0.7 Paket für?
2) Ich installierte Python 3.8 wieder auf Ihre Anfrage, aktualisiert die Pip und bereits bei der Installation von matplotlib erhalte ich diese (siehe die ganze PROTOKOLL in der Klammer):
Microsoft Windows [Version 10.0.17134.1069]. Heiliger Bimbam...
(c) Microsoft Corporation, 2018. Alle Rechte vorbehalten.
C:\Users\labor>pip install matplotlib
Sammeln von matplotlib
Using cached https://files.pythonhosted.org/packages/12/d1/7b12cd79c791348cb0c78ce6e7d16bd72992f13c9f1e8e43d2725a6d8adf/matplotlib-3.1.1.tar.gz
Anforderung bereits erfüllt: cycler>=0.10 in c:\python38\lib\site-packages (von matplotlib) (0.10.0)
Anforderung bereits erfüllt: kiwisolver>=1.0.1 in c:\python38\lib\site-packages (aus matplotlib) (1.1.0)
Anforderung bereits erfüllt: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\python38\lib\site-packages (aus matplotlib) (2.4.2)
Anforderung bereits erfüllt: python-dateutil>=2.1 in c:\python38\lib\site-packages (aus matplotlib) (2.8.0)
Anforderung bereits erfüllt: numpy>=1.11 in c:\python38\lib\site-packages (aus matplotlib) (1.17.3)
Anforderung bereits erfüllt: sechs in c:\python38\lib\site-packages (von cycler>=0.10->matplotlib) (1.12.0)
Anforderung bereits erfüllt: setuptools in c:\python38\lib\site-packages (von kiwisolver>=1.0.1->matplotlib) (41.2.0)
Installation der gesammelten Pakete: matplotlib
Ausführen von setup.py install für matplotlib ... Fehler
ERROR: Der Befehl ist mit Exit-Status 1 fehlgeschlagen:
Befehl: 'c:\python38\python.exe' -u -c'import sys, setuptools, tokenize; 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(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-ly12rvmr\install-record.txt'' --single-version-externally-managed --compile
............. weiter in der Akte
3) Installieren Sie matplotlib mit http://www.lfd.uci.edu/~gohlke/pythonlibs/, installieren Sie pytz und Ihr Paket als Standard. Ich habe den gleichen Fehler: RuntimeError: Terminal: Call failed. Siehe Clip 2.