copy_rates_from_pos

Retourne les barres du terminal MetaTrader 5 à partir de l'index spécifié.

copy_rates_from_pos(
   symbol,         // nom du symbole
   timeframe,      // période
   start_pos,      // position de départ
   count           // nombre de barres
   )

Paramètres

symbol

[in]  Nom de l'instrument financier, par exemple, "EURUSD". Paramètre non nommé requis.

timeframe

[in] Période pour laquelle les barres sont demandées. Défini par une valeur de l'énumération TIMEFRAME. Paramètre sans nom requis.

start_pos

[in]  Position de la première barre des données demandées. La numérotation des barres va du présent au passé. Ainsi, la barre zéro signifie la barre actuelle. Paramètre non nommé requis.

count

[in] Nombre de barres à récupérer. Paramètre non nommé requis.

Valeur de Retour

Renvoie les barres sous forme de tableau numpy avec les colonnes nommées time, open, high, low, close, tick_volume, spread et real_volume. Retourne None en cas d'erreur. Les informations sur l'erreur peuvent être obtenues en utilisant last_error().

Note

Voir la fonction CopyRates() pour plus d'informations.

Le terminal MetaTrader 5 fournit des barres uniquement dans l'historique disponible pour un utilisateur sur les graphiques. Le nombre de barres disponibles pour les utilisateurs est défini dans le paramètre "Max. Max. barres dans le graphique".

Exemple :

from datetime import datetime
import MetaTrader5 as mt5
# affiche les données sur le package MetaTrader 5
print("Auteur du package MetaTrader5 : ",mt5.__author__)
print("Version du package MetaTrader5 : ",mt5.__version__)
 
# importe le module 'pandas' pour afficher les données obtenues sous forme tabulaire
import pandas as pd
pd.set_option('display.max_columns', 500# nombre de colonnes à afficher
pd.set_option('display.width', 1500)      # largeur max d'affichage de la table
 
# établit une connexion avec le terminal MetaTrader 5
if not mt5.initialize():
 print("initialize () a échoué, code d'erreur =",mt5.last_error())
    quit()
 
# récupère 10 barres D1 du GBPUSD de la journée en cours
rates = mt5.copy_rates_from_pos("GBPUSD"mt5.TIMEFRAME_D1010)
 
# ferme la connexion au terminal MetaTrader 5
mt5.shutdown()
# affiche chaque élément des données obtenues dans une nouvelle ligne
print("Affiche les données brutes obtenues")
for rate in rates:
    print(rate)
 
# crée le DataFrame à partir des données obtenues
rates_frame = pd.DataFrame(rates)
# convertit le temps en secondes au format datetime
rates_frame['time']=pd.to_datetime(rates_frame['time'], unit='s')
 
# affiche les données
print("\nAffiche les données sous forme de tableau")
print(rates_frame
 
Résultat :
Auteur du package MetaTrader5 :  MetaQuotes Software Corp.
Version du package MetaTrader5 :  5.0.29
 
Affiche les données brutes obtenues
(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)
 
Afficher les données sous forme de tableau
        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

Voir aussi

CopyRates, copy_rates_from, copy_rates_range, copy_ticks_from, copy_ticks_range