orders_get

Abrufen der aktiven Orders mit der Fähigkeit nach Symbol oder Ticket zu Filtern Es gibt drei Aufrufoptionen.

Aufruf ohne Parameter. Rückgabe der aktiven Orders aller Symbole.

orders_get()

Ein Abruf der aktiven Orders mit angegebenem Symbol.

orders_get(
   symbol="SYMBOL"      // Symbolname
)

Ein Abruf der aktiven Orders mit einer angegebenen Symbolgruppe.

orders_get(
   group="GROUP"        // Symbolfilter der Orderauswahl
)

Aufruf unter Angabe des Orderticket.

orders_get(
   ticket=TICKET        // Ticket
)

symbol="SYMBOL"

[in]  Symbolname. Optionale benannte Parameter. Wein ein Symbol angegeben ist, wird das Ticket ignoriert.

group="GROUP"

[in]  Der Filter für die Gruppe der angeforderten Symbole. Optionale benannte Parameter. Wenn die Gruppe angegeben ist, gibt die Funktion nur Orders zurück, die das angegebene Kriterium für Symbolnamen erfüllen.

ticket=TICKET

[in]  Order ticket (ORDER_TICKET). Optionale benannte Parameter.

Rückgabewert

Rückgabe der Information als Struktur eines benannten Tupels (namedtuple). Im Falle eines Fehlers wird nichts zurückgegeben. Die Information über den Fehler kann über last_error() abgerufen werden.

Hinweis

Die Funktion ermöglicht den Empfang aller aktiven Orders innerhalb eines Anrufs, ähnlich wie bei dem Funktionspaar OrdersTotal und OrderSelect.

Der Parameter group erlaubt das Filtern von Orders nach Symbolen. '*' kann am Anfang und am Ende einer Zeichenkette verwendet werden.

Der Parameter group kann mehrere durch Komma getrennte Bedingungen enthalten. Eine Bedingung kann mit '*' als Maske gesetzt werden. Das logische Negationssymbol '!' kann für einen Ausschluss verwendet werden. Alle Bedingungen werden sequentiell angewendet, d.h. Bedingungen der Aufnahme in eine Gruppe sollten zuerst angegeben werden, gefolgt von einer Ausschlussbedingung. Zum Beispiel bedeutet group="*, !EUR", dass die Orders für alle Symbole zuerst ausgewählt werden sollten und diejenigen, die "EUR" in den Symbolnamen enthalten, danach ausgeschlossen werden sollten.

Beispiel:

import MetaTrader5 as mt5
import pandas as pd
pd.set_option('display.max_columns'500# darzustellende Spaltenanzahl
pd.set_option('display.width', 1500)      # maximale darzustellende Tabellenbreite
# Datenanzeige des Pakets von MetaTrader 5
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)
print()
# Verbindung zum MetaTrader 5 Terminal herstellen
if not mt5.initialize():
    print("initialize() failed, error code =",mt5.last_error())
    quit()
 
# Datenanzeige der Orders mit GBPUSD
orders=mt5.orders_get(symbol="GBPUSD")
if orders is None:
    print("No orders on GBPUSD, error code={}".format(mt5.last_error()))
else:
    print("Total orders on GBPUSD:",len(orders))
    # Darstellung aller aktiven Orders
    for order in orders:
        print(order)
print()
 
# Abrufen der Orderliste aller Symbole mit "*GBP*" im Namen
gbp_orders=mt5.orders_get(group="*GBP*")
if gbp_orders is None:
    print("No orders with group=\"*GBP*\", error code={}".format(mt5.last_error()))
else:
    print("orders_get(group=\"*GBP*\")={}".format(len(gbp_orders)))
    # Darstellung der Orders als Tabelle mittels pandas.DataFrame
    df=pd.DataFrame(list(gbp_orders),columns=gbp_orders[0]._asdict().keys())
    df.drop(['time_done', 'time_done_msc', 'position_id', 'position_by_id', 'reason', 'volume_initial', 'price_stoplimit'], axis=1, inplace=True)
    df['time_setup'] = pd.to_datetime(df['time_setup'], unit='s')
    print(df)
 
# Schließen der Verbindung zum MetaTrader 5
mt5.shutdown()
 
Ergebnis:
MetaTrader5 package author:  MetaQuotes Software Corp.
MetaTrader5 package version:  5.0.29
 
Total orders on GBPUSD: 2
TradeOrder(ticket=554733548, time_setup=1585153667, time_setup_msc=1585153667718, time_done=0, time_done_msc=0, time_expiration=0, type=3, type_time=0, ...
TradeOrder(ticket=554733621, time_setup=1585153671, time_setup_msc=1585153671419, time_done=0, time_done_msc=0, time_expiration=0, type=2, type_time=0, ...
 
orders_get(group="*GBP*")=4
      ticket          time_setup  time_setup_msc  time_expiration  type  type_time  type_filling  state  magic  volume_current  price_open   sl   tp  price_current  symbol comment external_id
0  554733548 2020-03-25 16:27:47   1585153667718                0     3          0             2      1      0             0.2     1.25379  0.0  0.0        1.16803  GBPUSD                    
1  554733621 2020-03-25 16:27:51   1585153671419                0     2          0             2      1      0             0.2     1.14370  0.0  0.0        1.16815  GBPUSD                    
2  554746664 2020-03-25 16:38:14   1585154294401                0     3          0             2      1      0             0.2     0.93851  0.0  0.0        0.92428  EURGBP                    
3  554746710 2020-03-25 16:38:17   1585154297022                0     2          0             2      1      0             0.2     0.90527  0.0  0.0        0.92449  EURGBP    

Siehe auch

orders_total, positions_get