Schauen Sie sich das Beispiel für positions_get an, es verwendet mehrere Zeichenketten.
Beispiel:
MetaTrader5 alsmt5 importieren importpandas aspd. pd.set_option('display.max_columns',500)# wie viele Spalten angezeigt werden pd.set_option('display.width', 1500)# maximale Breite der anzuzeigenden Tabelle # Daten des MetaTrader5-Pakets anzeigen print("MetaTrader5 Paket Autor: ",mt5.__author__) print("MetaTrader5-Paketversion: ",mt5.__version__) drucken() # Verbindung zum Terminal MetaTrader 5 herstellen wenn nichtmt5.initialize(): print("initialize() fehlgeschlagen, Fehlercode =",mt5.last_error()) quit()
# Offene Positionen auf USDCHF erhalten positions=mt5.positions_get(symbol="USDCHF") wennPositionen==None: print("Keine Positionen auf USDCHF, Fehlercode={}".format(mt5.last_error())) elif len(positions)>0: print("Gesamtpositionen auf USDCHF =",len(Positionen)) # alle offenen Stellen drucken für Position inPositionen: drucken(Position)
# Liste der Positionen auf Symbolen, die "*USD*" in ihrem Namen enthalten usd_positions=mt5.positions_get(group="*USD*") wennusd_positions==None: print("Keine Positionen mit group=\"*USD*\", error code={}".format(mt5.last_error())) elif len(usd_positions)>0: print("positions_get(group=\"*USD*\")={}".format(len(usd_positions)) # Ausgabe dieser Positionen als Tabelle mit pandas.DataFrame df=pd.DataFrame(list(usd_positions),columns=usd_positions[0]._asdict().keys()) df['time'] = pd.to_datetime(df['time'], unit='s') df.drop(['time_update', 'time_msc', 'time_update_msc', 'external_id'], axis=1, inplace=True) drucken(df)
# Verbindung zum Terminal MetaTrader 5 beenden mt5.shutdown()
Darüber hinaus wurden die Beschreibungen vieler Funktionen im Zuge ihrer Weiterentwicklung geändert. Fast alle Beispiele wurden umgeschrieben, um die neue Funktionalität widerzuspiegeln. Die Beispiele für die folgenden Funktionen wurden jedoch noch nicht auf der Website aktualisiert, dies wird in Kürze nachgeholt:
позволяет получить код ошибки в случае неуспешного выполнения какой-либо функции библиотеки MetaTrader 5. Является аналогом GetLastError(), но используются свои коды ошибок. Возможные значения:
Python является современным высокоуровневым языком программирования для разработки сценариев и приложений. Содержит множество библиотек для машинного обучения, автоматизации процессов, анализа и визуализации данных. Пакет MetaTrader для Python предназначен для...
Um ehrlich zu sein, ist das nicht ganz klar. Weil es ohne VS nicht funktioniert, und was genau von VS benötigt wird - ist nicht klar (weil ich nicht das ganze Studio installieren möchte, da es nicht benötigt wird);
Um ehrlich zu sein, ist das nicht ganz klar. Denn ohne VS funktioniert es nicht, und was genau von VS benötigt wird, ist nicht klar (denn ich möchte nicht das ganze Studio installieren, weil ich es nicht brauche);
Wenn Sie das näher erläutern, wäre das großartig.
Warum brauchen Sie VS? Python benötigt keine VS.
Googeln Sie etwas wie window python und Sie sind startklar.
Danke, ich habe dieses Beispiel gesehen, es funktioniert.
Ich spreche nur über etwas anderes.
positions_get - gibt mir eine Liste von tradePosition zurück. Im Prinzip ist das in Ordnung, man kann es in Pandas einfügen und es funktioniert gut.
Aber es ist nicht auf einen Panda beschränkt, und wenn du so etwas haben willst, dann musst du das tun:
[{'ticket': 164661016, 'time': 1585075408, 'time_msc': 1585075408163, 'time_update': 1585075408, 'time_update_msc': 1585075408163, 'type': 1, 'magic': 0, 'identifier': 164661016, 'reason': 0, 'volume': 0.01, 'price_open': 120.306, 'sl': 0.0, 'tp': 0.0, 'price_current': 120.328, 'swap': 0.0, 'profit': -0.2, 'symbol': 'EURJPY', 'comment': '', 'external_id': ''}, {'ticket': 164661051, 'time': 1585075426, 'time_msc': 1585075426062, 'time_update': 1585075426, 'time_update_msc': 1585075426062, 'type': 0, 'magic': 0, 'identifier': 164661051, 'reason': 0, 'volume': 0.01, 'price_open': 1.07798, 'sl': 0.0, 'tp': 0.0, 'price_current': 1.07881, 'swap': 0.0, 'profit': 0.83, 'symbol': 'EURUSD', 'comment': '', 'external_id': ''}]Schauen Sie sich das Beispiel für positions_get an, es verwendet mehrere Zeichenketten.
Beispiel:
MetaTrader5 alsmt5 importieren
importpandas aspd.
pd.set_option('display.max_columns',500)# wie viele Spalten angezeigt werden
pd.set_option('display.width', 1500)# maximale Breite der anzuzeigenden Tabelle
# Daten des MetaTrader5-Pakets anzeigen
print("MetaTrader5 Paket Autor: ",mt5.__author__)
print("MetaTrader5-Paketversion: ",mt5.__version__)
drucken()
# Verbindung zum Terminal MetaTrader 5 herstellen
wenn nichtmt5.initialize():
print("initialize() fehlgeschlagen, Fehlercode =",mt5.last_error())
quit()
# Offene Positionen auf USDCHF erhalten
positions=mt5.positions_get(symbol="USDCHF")
wennPositionen==None:
print("Keine Positionen auf USDCHF, Fehlercode={}".format(mt5.last_error()))
elif len(positions)>0:
print("Gesamtpositionen auf USDCHF =",len(Positionen))
# alle offenen Stellen drucken
für Position inPositionen:
drucken(Position)
# Liste der Positionen auf Symbolen, die "*USD*" in ihrem Namen enthalten
usd_positions=mt5.positions_get(group="*USD*")
wennusd_positions==None:
print("Keine Positionen mit group=\"*USD*\", error code={}".format(mt5.last_error()))
elif len(usd_positions)>0:
print("positions_get(group=\"*USD*\")={}".format(len(usd_positions))
# Ausgabe dieser Positionen als Tabelle mit pandas.DataFrame
df=pd.DataFrame(list(usd_positions),columns=usd_positions[0]._asdict().keys())
df['time'] = pd.to_datetime(df['time'], unit='s')
df.drop(['time_update', 'time_msc', 'time_update_msc', 'external_id'], axis=1, inplace=True)
drucken(df)
# Verbindung zum Terminal MetaTrader 5 beenden
mt5.shutdown()
Ergebnis:
MetaTrader5-Paket Autor: MetaQuotes Software Corp.
MetaTrader5 Paket Version: 5.0.29
positions_get(group="*USD*")=5
Ticketzeit typ magischer identifikator grundvolume price_open sl tp price_current swap profit symbol comment
0 548297723 2020-03-18 15:00:55 1 0 548297723 3 0.01 1.09301 1.11490 1.06236 1.10101 -0,10 -8,00 EURUSD
1 548655158 2020-03-18 20:31:26 0 0 548655158 3 0.01 1.08676 1.06107 1.12446 1.10098 -0,08 14,22 EURUSD
2 548663803 2020-03-18 20:40:04 0 0 548663803 3 0.01 1.08640 1.06351 1.11833 1.10098 -0,08 14,58 EURUSD
3 548847168 2020-03-19 01:10:05 0 0 548847168 3 0.01 1.09545 1.05524 1.15122 1.10098 -0,06 5,53 EURUSD
4 548847194 2020-03-19 01:10:07 0 0 548847194 3 0.02 1,09536 1,04478 1,16587 1,10098 -0,08 11,24 EURUSD
Die Hilfe wurde um Beschreibungen von 3 neuen Funktionen ergänzt:
Darüber hinaus wurden die Beschreibungen vieler Funktionen im Zuge ihrer Weiterentwicklung geändert. Fast alle Beispiele wurden umgeschrieben, um die neue Funktionalität widerzuspiegeln. Die Beispiele für die folgenden Funktionen wurden jedoch noch nicht auf der Website aktualisiert, dies wird in Kürze nachgeholt:
Meine Herren, die Jungs im nächsten Thread stellen Fragen über die Libs:
URL:https://www.mql5.com/en/forum/306742/page11#comment_15595095
Können Sie mir Ihre Unterstützung geben?
Beantwortet in diesem Thema
Schauen Sie sich das Beispiel für positions_get an, es werden mehrere Zeichenketten verwendet
Ich danke Ihnen!
Beantwortet in diesem Thema
Rashid, sagen Sie mir, ist es möglich, den Tester mit MetaTrader5 zu verwenden?
Bei der Modellierung im Tester gibt es ein sehr effektives Element - die Parallelisierung von Simulationsaufgaben in einer lokalen Netzwerkfarm oder
Ich möchte die Ressource des Testers mit MetaTrader5 verwenden.
Warum brauchen Sie das? Kann man das nicht in Python berechnen? Ich bin erstaunt.
Die Hilfedatei zeigt, wie man die Bibliothek installiert und aktualisiert - https://www.mql5.com/ru/docs/integration/python_metatrader5
Установка пакета в командной строке:
pip install MetaTrader5
Aktualisieren Sie das Paket über die Befehlszeile:
pip install --aktualisieren MetaTrader5
Im Hilfebereich erfahren Sie, wie Sie die Bibliothek installieren und aktualisieren können - https://www.mql5.com/ru/docs/integration/python_metatrader5
Um ehrlich zu sein, ist das nicht ganz klar. Weil es ohne VS nicht funktioniert, und was genau von VS benötigt wird - ist nicht klar (weil ich nicht das ganze Studio installieren möchte, da es nicht benötigt wird);
Wenn Sie das klären können, wäre das großartig.
Um ehrlich zu sein, ist das nicht ganz klar. Denn ohne VS funktioniert es nicht, und was genau von VS benötigt wird, ist nicht klar (denn ich möchte nicht das ganze Studio installieren, weil ich es nicht brauche);
Wenn Sie das näher erläutern, wäre das großartig.
Warum brauchen Sie VS? Python benötigt keine VS.
Googeln Sie etwas wie window python und Sie sind startklar.
Meine Herren Entwickler, im nächsten Thread wurde ein guter Punkt angesprochen.
Dies gilt für die**kwargs-Verarbeitung beim Schreiben von Tests - dies ist ein sehr wichtiger Punkt.
https://www.mql5.com/en/forum/306742/page12#comment_15660939