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

 
MetaQuotes:

Die nächste Beta-Version wird heute Abend verfügbar sein:

https://www.mql5.com/en/forum/306742/page16#comment_16148685

MetaTrader 5 Python User Group - the summary
MetaTrader 5 Python User Group - the summary
  • 2020.04.24
  • www.mql5.com
The Main Study MetaTrader module for integration with Python - documentation Python Releases for Windows - website MetaTrader5 : Python Package...
 
Новая версия платформы MetaTrader 5 build 2360: Расширение интеграции с SQLite
Новая версия платформы MetaTrader 5 build 2360: Расширение интеграции с SQLite
  • 2020.05.03
  • www.mql5.com
В пятницу 6 марта 2020 года будет выпущена обновленная версия платформы MetaTrader 5...
 
https://www.mql5.com/ru/docs/integration/python_metatrader5
Ich habe versucht, das Startskript auszuführen - alles läuft, druckt ein Array mit Daten zu den Handelspaaren aus dem Beispiel, startet das Fenster, in dem es das Diagramm zeichnet
Aber ich habe versucht, "EURAUD" zum Beispiel durch "DAX30" zu ersetzen - nachdem ich das Skript ausgeführt habe, heißt es: "Failed to select DAX30
Was könnte das Problem sein? Terminal Version 2402

Ich mache Verbindung mit dem Login und dem Passwort und einem Server zum Demo-Konto des Brokers durch mt5.initialize
Документация по MQL5: Интеграция / MetaTrader для Python
Документация по MQL5: Интеграция / MetaTrader для Python
  • www.mql5.com
Python является современным высокоуровневым языком программирования для разработки сценариев и приложений. Содержит множество библиотек для машинного обучения, автоматизации процессов, анализа и визуализации данных. Пакет MetaTrader для Python предназначен для...
 
Lol Kek:
https://www.mql5.com/ru/docs/integration/python_metatrader5
Ich habe versucht, das Startskript auszuführen - alles läuft, druckt ein Array mit Daten zu den Handelspaaren aus dem Beispiel aus, startet ein Fenster, in dem es das Diagramm zeichnet
Aber ich habe versucht, "EURAUD" zum Beispiel durch "DAX30" zu ersetzen - nachdem ich das Skript ausgeführt habe, heißt es: "Failed to select DAX30
Was könnte das Problem sein? Terminal Version 2402

Ich verbinde mich mit Login-Passwort und Server mit dem Demokonto meines Brokers über mt5.initialize
Prüfen Sie, was in mt5.last_error() nach dem Aufruf einer Funktion, die mit DAX30 arbeitet, zurückgegeben wird
 

# Versuchen wir, die Anzeige des DAX30-Symbols in MarketWatch zu aktivieren
selected = mt5.symbol_select("DAX30", True)
if not selected:
print("initialize() failed, error code = ", mt5 .last_error())
mt5 .shutdown()
quit()


dies ist die Fehlermeldung (-1, 'Terminal: Aufruf fehlgeschlagen')
 
Lol Kek:

# Versuchen wir, das DAX30-Symbol in MarketWatch zu aktivieren
selected = mt5.symbol_select("DAX30", True)
wenn nicht ausgewählt:
print("initialize() fehlgeschlagen, Fehlercode = ", mt5 .last_error())
mt5 .shutdown()
quit()


Dies ist die Fehlermeldung (-1, 'Terminal: Aufruf fehlgeschlagen')

Sind Sie sicher, dass Sie das Symbol DAX30 in Ihrem Handelskonto haben?

Zeigen Sie bitte einen Screenshot der Marktübersicht mit diesem Symbol in Ihrem Handelskonto.

 
Renat Fatkhullin:

Sind Sie sicher, dass Sie das Symbol DAX30 in Ihrem Handelskonto haben?

Zeigen Sie bitte einen Screenshot der Marktübersicht mit diesem Symbol in Ihrem Handelskonto.

***
Ich nehme diesen Code -https://www.mql5.com/ru/docs/integration/python_metatrader5/mt5copyratesrange_py, ich initialisiere ihn, indem ich ihn mit meinem Demokonto verbinde. Wenn ich es mit USDJPY aus dem Beispiel ausführe, ist alles in Ordnung, es wird eine Tabelle angezeigt. Wenn ich es in DAX30 ändere


Für Tarife in Tarifen:
TypeError: 'NoneType'-Objekt ist nicht iterierbar

 
Lol Kek:

https://prnt.sc/sbapam
Ich nehme diesen Code und initialisiere ihn, indem ich ihn mit meinem Demokonto verbinde. Wenn ich es mit USDJPY aus dem Beispiel ausführe, ist alles in Ordnung, es wird eine Tabelle angezeigt. Wenn ich es in DAX30 ändere

Für Tarife in Tarifen:
TypeError: 'NoneType'-Objekt ist nicht iterierbar

Lol Kek:

# Versuchen wir, die Anzeige des DAX30-Symbols in MarketWatch zu aktivieren
selected = mt5.symbol_select("DAX30", True)
wenn nicht ausgewählt:
print("initialize() fehlgeschlagen, Fehlercode = ", mt5 .last_error())
mt5 .shutdown()
quit()


Fehler wie dieser (-1, 'Terminal: Aufruf fehlgeschlagen')
Sie haben Dax30 in eckigen Klammern. Das ist die richtige Fehlermeldung, die Sie erhalten.
 
Dmitriy Skub:
Sie haben Dax30 in eckigen Klammern. Der Fehler, der Ihnen angezeigt wird, ist korrekt.

Ach, darauf habe ich nie geachtet, danke
Und wir danken den Entwicklern für die Möglichkeit, die Logik in eine Fremdsprache, nämlich Python, zu übertragen.
Ich werde versuchen, hier Feedback zu geben, während die Logik analysiert und umgesetzt wird.

 

Hallo zusammen,


Ich hoffe, Sie haben nichts gegen einen Engländer, der nach langer erfolgloser Suche im Internet nach einer Orientierungshilfe sucht.

Ich verwende die MetaTrader5 Python-Bibliothek, nachdem ich mich von Maxiums Artikeln inspirieren ließ, und habe ein Problem mit der Speicherverwaltung festgestellt.

Wenn ich einen Dataframe mit mt5 lib mache, funktioniert der resultierende Dataframe wie erwartet. Ich habe dies innerhalb einer Funktion getan, die die Ticks sammelt und dann verschiedene Analysen durchführt, bevor sie das manipulierte df ausgibt.

Wenn ich jedoch die Funktion, die den DataFrame erstellt, erneut ausführe, stelle ich fest, dass sich der Speicher aus der vorherigen Instanz einfach weiter aufbaut.

Ich habe das gleiche Problem mit mt5.copy_ticks_range () und mt5.copy_rates_range (). Ich muss den Kernel zurücksetzen, um den Speicher zu löschen.

Ich habe das gleiche Problem, auch wenn ich den gesamten Code mit Ausnahme der Zeile, die den Datenrahmen erstellt, entfernt habe. Zum Beispiel:

def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size):

ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), datetime (end_date.year, end_date.month, end_date.day), mt5.COPY_TICKS_ALL), columns = [ 'time', 'bid', 'ask', 'last', 'volume', 'time_msc', 'flags', 'volume_real'])

Wenn ich dies mehrmals ausführe, steigt der Speicherverbrauch jedes Mal um 27MiB:

Zeile # Mem usage Increment Line Contents ================================================== 126.3 MiB 126.3 MiB def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size): 153.3 MiB 26.9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), .


Zeile # Speicherverbrauch Inkrement Zeile Inhalt

================================================== 140.9 MiB 140.9 MiB def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size): 166.5 MiB 25.7 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), ...
Grund der Beschwerde: