MetaTrader 5 Python User Group - Comment utiliser Python dans Metatrader - page 58
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Merci, j'ai vu cet exemple, il fonctionne.
Je parle juste d'autre chose.
positions_get - il me retournera une liste de positions de transaction. En principe, c'est OK, vous pouvez le mettre dans pandas et fonctionner correctement.
Mais ce n'est pas limité à un seul pandas, et si vous voulez obtenir quelque chose comme ça :
Regardez l'exemple de positions_get, il utilise plusieurs chaînes de caractères.
Exemple :
importMetaTrader5 commemt5
importpandas aspd.
pd.set_option('display.max_columns',500)# combien de colonnes sont affichées
pd.set_option('display.width', 1500)# largeur maximale du tableau à afficher
# afficher les données du paquet MetaTrader5
print("Auteur du paquet MetaTrader5 : ",mt5.__author__)
print("Version du paquet MetaTrader5 : ",mt5.__version__)
print()
# établir la connexion au terminal MetaTrader 5
si pasmt5.initialize() :
print("initialize() failed, error code =",mt5.last_error())
quitter()
# recevoir les positions ouvertes sur USDCHF
positions=mt5.positions_get(symbol="USDCHF")
sipositions==None:
print("Aucune position sur USDCHF, code d'erreur={}".format(mt5.last_error())))
elif len(positions)>0:
print("Total des positions sur USDCHF =",len(positions))
# imprimer toutes les positions ouvertes
pour la position dans lespositions:
print(position)
# obtenir la liste des positions sur les symboles qui contiennent "*USD*" dans leur nom
usd_positions=mt5.positions_get(group="*USD*")
siusd_positions==None:
print("Aucune position avec groupe=\"*USD*\", code d'erreur={}".format(mt5.last_error())))
elif len(usd_positions)>0:
print("positions_get(group=\"*USD*\")={}".format(len(usd_positions))
# sortir ces positions sous forme de tableau en utilisant 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)
print(df)
# terminer la connexion au terminal MetaTrader 5
mt5.shutdown()
Résultat:
Auteur du paquet MetaTrader5 : MetaQuotes Software Corp.
Version du paquet MetaTrader5 : 5.0.29
positions_get(group="*USD*")=5
billetheure type identifiant magique raisonvolume 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
Des descriptions de 3 nouvelles fonctions ont été ajoutées à l'aide :
En outre, les descriptions de nombreuses fonctions ont été modifiées au fur et à mesure qu'elles ont été affinées. Presque tous les exemples ont été réécrits pour refléter la nouvelle fonctionnalité. Cependant, les exemples pour les fonctions suivantes n'ont pas encore été mis à jour sur le site web, ils le seront un peu plus tard :
Messieurs, les gars du fil suivant posent des questions sur les libéraux :
URL: https://www.mql5.com/en/forum/306742/page11#comment_15595095
Pouvez-vous m'apporter votre soutien ?
Réponse dans ce fil
Regardez l'exemple pour positions_get, il y a plusieurs chaînes utilisées
Merci !
Réponse dans ce fil
Rashid, dites-moi, est-il possible d'utiliser le testeur avec MetaTrader5 ?
Lors de la modélisation dans le testeur, il y a un élément très efficace - la mise en parallèle des tâches de simulation dans la ferme de réseau local ou
Je veux utiliser la ressource du testeur avec MetaTrader5.
Pourquoi en avez-vous besoin ? Ne pouvez-vous pas le calculer en Python ? Je suis surpris.
La section d'aide vous indique comment installer et mettre à jour la bibliothèque - https://www.mql5.com/ru/docs/integration/python_metatrader5.
Установка пакета в командной строке:
pip install MetaTrader5
Mettre à niveau le paquet sur la ligne de commande :
pip install --upgrade MetaTrader5
La section d'aide vous indique comment installer et mettre à jour la bibliothèque - https://www.mql5.com/ru/docs/integration/python_metatrader5.
Pour être honnête, ce n'est pas très clair. Parce qu'il ne fonctionne pas sans VS, et ce qui est exactement nécessaire de VS - n'est pas clair (parce que je ne veux pas installer tout le studio, comme il n'est pas nécessaire) ;
Si vous pouvez le clarifier, ce serait formidable.
Pour être honnête, ce n'est pas très clair. Parce qu'il ne fonctionne pas sans VS, et ce qui est exactement requis de VS - n'est pas clair (parce que je ne voudrais pas installer tout le studio parce que je n'en ai pas besoin) ;
Si vous pouviez nous en dire plus, ce serait formidable.
Pourquoi avez-vous besoin de VS ? Python ne nécessite pas VS.
Cherchez sur Google quelque chose comme window python et vous serez prêt.
Messieurs les développeurs, une bonne remarque a été faite dans le fil suivant.
Cela s'applique au traitement des**kwargs, dans le cas de l'écriture de tests - c'est un point très important.
https://www.mql5.com/en/forum/306742/page12#comment_15660939