MetaTrader 5 Python User Group - wie man Python in Metatrader verwendet - Seite 20

 
capissimo:

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


 
capissimo:
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.

 
Maxim Dmitrievsky:

Derselbe Fehler tritt auf, wenn es kein solches Symbol auf dem Konto in mt5 gibt. Zum Beispiel ist EURPLN nicht im Terminal


Ich habe das von Anfang an berücksichtigt - ich habe den Code geändert, damit er zu meinen Assets passt, aber es funktioniert nicht.
 
Almaz:

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:

pip install --upgrade matplotlib
pip install --upgrade MetaTrader5
 
MetaQuotes Software Corp.:

Wir haben eine aktualisierte Version von MetaTrader 5.0.7 für Python veröffentlicht.

Sie können sie wie folgt aktualisieren:

irgendwelche Änderungen?

 
Maxim Dmitrievsky:

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.
 
Almaz:

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

 
capissimo:

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.

 
MetaQuotes Software Corp.:

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.

Dateien:
6ww6n.zip  7 kb
report.zip  2 kb