copy_rates_from_pos

Abrufen der Bars vom MetaTrader 5 Terminal, beginnend mit dem angegebenen Index.

copy_rates_from_pos(
   symbol,       // Symbolname
   timeframe,    // Zeitrahmen
   start_pos,    // Index der ersten Bar
   count         // Anzahl der Bars
   )

Parameter

symbol

[in]  Name des Finanzinstruments, zum Beispiel "EURUSD". Benötigter unbenannter Parameter.

timeframe

[in]  Zeitrahmen der benötigten Bars Bestimmt durch einen Wert der Enumeration TIMEFRAME. Benötigter unbenannter Parameter.

start_pos

[in]  Index der ersten Bar der benötigten Daten. Die Zählung der Bars läuft von der Gegenwart in die Vergangenheit. Daher ist die Bar Null die aktuelle Bar. Benötigter unbenannter Parameter.

count

[in]  Verlangte Anzahl der Bars. Benötigter unbenannter Parameter.

Rückgabewert

Rückgabe de Bars als numpy Array mit den angegebenen Spalten von time, open, high, low, close, tick_volume, spread und real_volume. Im Falle eines Fehlers wird nichts zurückgegeben. Die Information über den Fehler kann über last_error() abgerufen werden.

Hinweis

Siehe auch die Funktion CopyRates() für weitere Information.

MetaTrader 5 Terminal stellt die Balken nur innerhalb der Historie zur Verfügung, die einem Benutzer auf den Charts zur Verfügung stehen. Die Anzahl der dem Benutzer zur Verfügung stehenden Balken wird durch den Parameter "Max. Balken im Chart" bestimmt.

Beispiel:

from datetime import datetime
import MetaTrader5 as mt5
# Datenanzeige des Pakets von MetaTrader 5
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)
 
# Importieren des Moduls 'pandas' für die Darstellung der erhaltenen Daten in Tabellenform
import pandas as pd
pd.set_option('display.max_columns', 500# Anzahl der anzuzeigenden Spalten
pd.set_option('display.width', 1500)      # maximale Tabellenbreite der Darstellung
 
# Verbindung herstellen zum MetaTrader 5 Terminal
if not mt5.initialize():
    print("initialize() failed, error code =",mt5.last_error())
    quit()
 
# Abrufen von 10 Bars von GBPUSD D1 ab dem aktuellen Tag
rates = mt5.copy_rates_from_pos("GBPUSD"mt5.TIMEFRAME_D1010)
 
# Schließen der Verbindung zum MetaTrader 5
mt5.shutdown()
# Anzeigen von jedem erhaltenen Datenelement in einer neuen Zeile
print("Anzeige der erhaltenen Daten 'as is'")
for rate in rates:
    print(rate)
 
# Erstellen von DataFrame aus den erhaltenen Daten
rates_frame = pd.DataFrame(rates)
# Konvertieren der Zeit in Sekunden im Datumsformat
rates_frame['time']=pd.to_datetime(rates_frame['time'], unit='s')
 
# Datenanzeige
print("\nAnzeige von dataframe mit Daten")
print(rates_frame
 
Ergebnis:
MetaTrader5 package author:  MetaQuotes Software Corp.
MetaTrader5 package version:  5.0.29
 
Datenanzeige 'as is'
(1581552000, 1.29568, 1.30692, 1.29441, 1.30412, 68228, 0, 0)
(1581638400, 1.30385, 1.30631, 1.3001, 1.30471, 56498, 0, 0)
(1581897600, 1.30324, 1.30536, 1.29975, 1.30039, 49400, 0, 0)
(1581984000, 1.30039, 1.30486, 1.29705, 1.29952, 62288, 0, 0)
(1582070400, 1.29952, 1.3023, 1.29075, 1.29187, 57909, 0, 0)
(1582156800, 1.29186, 1.29281, 1.28489, 1.28792, 61033, 0, 0)
(1582243200, 1.28802, 1.29805, 1.28746, 1.29566, 66386, 0, 0)
(1582502400, 1.29426, 1.29547, 1.28865, 1.29283, 66933, 0, 0)
(1582588800, 1.2929, 1.30178, 1.29142, 1.30037, 80121, 0, 0)
(1582675200, 1.30036, 1.30078, 1.29136, 1.29374, 49286, 0, 0)
 
Darstellung von dataframe mit Daten
        time     open     high      low    close  tick_volume  spread  real_volume
0 2020-02-13  1.29568  1.30692  1.29441  1.30412        68228       0            0
1 2020-02-14  1.30385  1.30631  1.30010  1.30471        56498       0            0
2 2020-02-17  1.30324  1.30536  1.29975  1.30039        49400       0            0
3 2020-02-18  1.30039  1.30486  1.29705  1.29952        62288       0            0
4 2020-02-19  1.29952  1.30230  1.29075  1.29187        57909       0            0
5 2020-02-20  1.29186  1.29281  1.28489  1.28792        61033       0            0
6 2020-02-21  1.28802  1.29805  1.28746  1.29566        66386       0            0
7 2020-02-24  1.29426  1.29547  1.28865  1.29283        66933       0            0
8 2020-02-25  1.29290  1.30178  1.29142  1.30037        80121       0            0
9 2020-02-26  1.30036  1.30078  1.29136  1.29374        49286       0            0

Siehe auch

CopyRates, copy_rates_from, copy_rates_range, copy_ticks_from, copy_ticks_range