Das Kompilieren von Python-Skripten im Editor bedeutet, dass sie zur Ausführung im Editor gestartet werden.
Sehen Sie sich die Ausgaben in den Fehlerfenstern und im Protokoll an. Das Protokoll zeigt die Hauptausgabe, und die Fehlerfenster zeigen die stderr-Ausgabe.
Das Kompilieren von Python-Skripten im Editor bedeutet, dass sie zur Ausführung im Editor gestartet werden.
Sehen Sie sich die Ausgaben in den Fehlerfenstern und im Protokoll an. Das Protokoll zeigt die Hauptausgabe und das Fehlerfenster zeigt die stderr-Ausgabe.
Verstehe. Im Fehlerfenster werden keine Fehler angezeigt,
aber im Protokollfenster wartet das Skript wahrscheinlich auf meine Aktion.
Soweit ich weiß, gibt es (wahrscheinlich noch) kein Feedback.
Ich versuche, das Beispiel aus dem ersten Beitrag auszuführen
Bei Fehlern
test.py started test.py 1 1
Traceback (most recent call last): test.py 1 1
MT5Initialize() test.py 1 1
NameError: name 'MT5Initialize' is not defined test.py 1 1
test.py finished in 389 ms 1 1
Das Kompilieren von Python-Skripten im Editor bedeutet, dass sie zur Ausführung im Editor gestartet werden.
Sehen Sie sich die Ausgaben in den Fehlerfenstern und im Protokoll an. Das Protokoll zeigt die Hauptausgabe und die Fehlerfenster zeigen die stderr-Ausgabe.
Das .py-Skript wird also nicht zu .ex5 kompiliert? Und führen Sie es über den Navigator aus.
Natürlich wird es nicht kompiliert, sondern ist im Navigator als *.py-Programm sichtbar und läuft versteckt in einem separaten Thread des Terminals.
Kommunikation mit dem Terminal über die integrierte MetaTrader 5-Bibliothek für Python.
Jetzt verstehe ich es, es wird wie ein visuelles Python-Notizbuch sein, nur dass der gesamte Code ausgeführt wird. Ich habe mir den Arsch aufgerissen für die Kompilation, und die Kompilation wäre großartig gewesen. Die Sache ist die, dass es bei der Standardkompilierung von .py zu .exe nur sehr wenig Schutz gegen Reverse-Engineering gibt. Man könnte sagen, es ist nutzlos. Wenn .py zu .ex5 kompiliert würde, würde es mql5 in Bezug auf die Kompilierung zu einer ausführbaren Datei, die durch .ex5 gut geschützt ist, wirklich aufwerten. Bei Python handelt es sich um ein globales Problem, denken Sie darüber nach. Vor allem, da Python zu .exe kompiliert und einen C oder C++ ähnlichen Compiler verwendet. Und mql5 verwendet LLVM.
Bei der Ausführung in Python treten nun diese Fehler auf:
Python 3.8.1 (tags/v3.8.1:1 b293b6, Dec 182019, 23:11:46) [MSC v.191664 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()"for more information.
>>>
= RESTART: C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Scripts\Python\metatrader5-test.py
Traceback (most recent call last):
File "C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Scripts\Python\metatrader5-test.py", line 2, in <module>
from MetaTrader5 import *
File "E:\Programs\Python\Python38\lib\site-packages\MetaTrader5\__init__.py", line 35, in <module>
from .C import *
ImportError: DLL load failed while importing C: Не найден указанный модуль.
>>>
Das MetaTrader 5-Terminal zeigt die Balken nur innerhalb der Historie an, die dem Benutzer in den Charts zur Verfügung steht. Die Anzahl der Takte, die dem Benutzer zur Verfügung stehen, wird in den Einstellungen durch den Parameter "Max Takte im Fenster " festgelegt.
Wenn es wirklich um die Anzahl der Balken geht, können Sie entweder das Limit ändern oder das Skript so einrichten, dass es die nächsten Minuten nimmt, z. B. für 2020 - das sollte funktionieren
Торговая платформа обладает множеством настроек, что позволяет организовать работу в ней так, как это удобно именно вам. Выполните команду " Настройки" меню "Сервис" или нажмите "Ctrl+O". Графики — общая настройка отображения ценовых графиков, а также настройка параметров управления объектами: выделение объектов после их создания, немедленная...
Das Kompilieren von Python-Skripten im Editor bedeutet, dass sie zur Ausführung im Editor gestartet werden.
Sehen Sie sich die Ausgaben in den Fehlerfenstern und im Protokoll an. Das Protokoll zeigt die Hauptausgabe, und die Fehlerfenster zeigen die stderr-Ausgabe.
Das Kompilieren von Python-Skripten im Editor bedeutet, dass sie zur Ausführung im Editor gestartet werden.
Sehen Sie sich die Ausgaben in den Fehlerfenstern und im Protokoll an. Das Protokoll zeigt die Hauptausgabe und das Fehlerfenster zeigt die stderr-Ausgabe.
Verstehe. Im Fehlerfenster werden keine Fehler angezeigt,
aber im Protokollfenster wartet das Skript wahrscheinlich auf meine Aktion.
Soweit ich weiß, gibt es (wahrscheinlich noch) kein Feedback.
Dann versuche ich, das Beispiel aus Beitrag #1 (https://www.mql5.com/ru/forum/306688 ) auszuführen - installierte das matplotlib-Paket und MetaTrader5.
Ich versuche, das Beispiel aus dem ersten Beitrag auszuführen
Bei Fehlern
Im Protokoll
und nichts passiert (das Terminal läuft gleichzeitig).
Das Kompilieren von Python-Skripten im Editor bedeutet, dass sie zur Ausführung im Editor gestartet werden.
Sehen Sie sich die Ausgaben in den Fehlerfenstern und im Protokoll an. Das Protokoll zeigt die Hauptausgabe und die Fehlerfenster zeigen die stderr-Ausgabe.
Das .py-Skript wird also nicht zu .ex5 kompiliert?
Und führen Sie es über den Navigator aus.
Verstehe, im Fenster "Fehler" werden keine Fehler angezeigt,
aber im Fenster "Log" wartet das Skript wahrscheinlich auf meine Aktion.
Soweit ich weiß, gibt es einfach keine Rückmeldung (wahrscheinlich noch nicht).
Dann versuche ich, das Beispiel aus Beitrag #1 (https://www.mql5.com/ru/forum/306688 ) auszuführen - installierte das matplotlib-Paket und MetaTrader5.
Ich versuche, das Beispiel aus dem ersten Beitrag auszuführen
Bei Fehlern
Im Protokoll
und nichts passiert (Terminal läuft).
MetaTrader5-Bibliothek ist nicht installiert, tun Sie es:
alles funktioniert:
Das .py-Skript wird also nicht zu .ex5 kompiliert?
Und führen Sie es über den Navigator aus.
Natürlich wird es nicht kompiliert, sondern ist im Navigator als *.py-Programm sichtbar und läuft versteckt in einem separaten Terminal-Thread.
Kommunikation mit dem Terminal über die MetaTrader 5 Python-Bibliothek.
Nicht mit der MetaTrader5-Bibliothek geliefert, tun Sie es:
alles funktioniert:
Die Bibliothek ist installiert:
(wurde sofort mitmatplotlib eingefügt)
Hinzugefügt: und läuft nicht in Python:
Natürlich wird es nicht kompiliert, sondern ist im Navigator als *.py-Programm sichtbar und läuft versteckt in einem separaten Thread des Terminals.
Kommunikation mit dem Terminal über die integrierte MetaTrader 5-Bibliothek für Python.
Jetzt verstehe ich es, es wird wie ein visuelles Python-Notizbuch sein, nur dass der gesamte Code ausgeführt wird.
Ich habe mir den Arsch aufgerissen für die Kompilation, und die Kompilation wäre großartig gewesen.
Die Sache ist die, dass es bei der Standardkompilierung von .py zu .exe nur sehr wenig Schutz gegen Reverse-Engineering gibt. Man könnte sagen, es ist nutzlos.
Wenn .py zu .ex5 kompiliert würde, würde es mql5 in Bezug auf die Kompilierung zu einer ausführbaren Datei, die durch .ex5 gut geschützt ist, wirklich aufwerten.
Bei Python handelt es sich um ein globales Problem, denken Sie darüber nach. Vor allem, da Python zu .exe kompiliert und einen C oder C++ ähnlichen Compiler verwendet.
Und mql5 verwendet LLVM.
Python deinstalliert. Installiert 3.8.1 x64.
Bei der Ausführung in Python treten nun diese Fehler auf:
Die Bibliothek steht:
(wurde sofort zusammen mitmatplotlib geliefert)
Hinzugefügt: und läuft nicht in Python:
Sie haben Python 3.8, besser 3.7.6, da viele Bibliotheken ohnehin noch nicht für 3.8 bereit sind
1) Überprüfen Sie das Skript in der Befehlszeile.
2) Überprüfen Sie, ob der Python-Pfad in PATH enthalten ist.
3) Stellen Sie sicher, dass es nur eine Kopie von Python gibt und keine Konflikte mit anderen Versionen.
4) Stellen Sie sicher, dass der Editor den Pfad zu der einzelnen Python-Kopie im PATH von Python hat.
Es ist durchaus möglich, dass Sie einen Zoo von indirekt installierten Pythons aus verschiedenen Umgebungen wie Visual Studio haben.
Dann versuche ich, das Beispiel aus Beitrag #1 (https://www.mql5.com/ru/forum/306688 ) auszuführen - installierte das matplotlib-Paket und MetaTrader5.
Ich versuche, das Beispiel aus dem ersten Beitrag auszuführen
Bei Fehlern
Im Protokoll
und nichts passiert (das Terminal läuft gleichzeitig).
Wir müssen ein wenig warten - das Skript fordert Daten ab dem 28.01.2019 an - das braucht Zeit.
Zweite mögliche Ursache: Im Terminal ist ein begrenzter Wert für "Max bars in window" angegeben.
In der Hilfe steht ausdrücklich https://www.mql5.com/ru/docs/integration/python_metatrader5/mt5copyratesfrom_py
Wenn es wirklich um die Anzahl der Balken geht, können Sie entweder das Limit ändern oder das Skript so einrichten, dass es die nächsten Minuten nimmt, z. B. für 2020 - das sollte funktionieren