MetaTrader 5 Python User Group - Comment utiliser Python dans Metatrader - page 76
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, Maxim !
Je suis déjà en train de l'essayer. Le cycle a commencé, mais le dossier ne s'ouvre pas encore. Je vais laisser la boucle en fonctionnement et attendre.
Salutations, Vladimir.
P.S. Pardon ! Je n'ai pas prêté attention tout de suite à ce qui se passe à l'heure. Je l'ai modifié pour que le fichier EUR_USD_QUOTE.csv soit ouvert à la minute mais j'ai obtenu ce message dans l'onglet Run de Pycharm:
�訡�� : �� 㤠���� ���� ����� "excel.exe".
Puis, après une minute environ, le fichier s'est fermé et rouvert, mais dans Exel, un onglet est apparu sur le côté gauche de la feuille de calcul, me demandant d'enregistrer le texte précédemment ouvert. J'ai attendu un peu plus longtemps pour voir ce qui allait se passer ensuite, mais le cycle s'est arrêté et un message comme celui-ci est apparu :
�ᯥ譮 : ����� "EXCEL.EXE", � �����䨪�� 4208, � �����襭.
����� "EXCEL.EXE", � �����䨪�� 3168, �� �����襭.
Traceback (dernier appel le plus récent) :
Fichier "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", ligne 37, in <module>
get_data(save_file='EUR_USD_QUOTE.csv')
Fichier "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", ligne 23, in get_data
with open(save_file, 'w') as save :
PermissionError : [Errno 13] Permission refusée : 'EUR_USD_QUOTE.csv'.
Voici le résultat obtenu jusqu'à présent, mais j'ai déjà fait des progrès !
Sincèrement, Vladimir.
Peut-être qu'Excel n'a pas eu le temps de se fermer et qu'il essayait déjà d'accéder au fichier, puis...
Ajoutez un délai de 5 à 10 secondes ici, et le programme attendra la fermeture d'Excel.
Je n'ai pas encore décidé ce que je vais faire de la fenêtre de gauche).
Je veux apprendre comment prendre des citations sur Internet en utilisant le langage Python pour les regarder non pas dans le terminal, mais dans un fichier quelconque, par exemple, csv. Je pensais que c'était la tâche la plus élémentaire, mais il s'est avéré que ce n'était pas le cas. Je suis peut-être sur la mauvaise voie, mais celui qui ne cherche rien ne trouve rien.
Je vais maintenant passer au code que vous avez proposé. Après le lancement du code, un message est apparu dans l' environnement de développement Pycharm :
Traceback (dernier appel le plus récent) :
Fichier "C:/Users/Vladimir/PycharmProjects/My_Python_Project/10.py", ligne 25, in <module>
main()
Fichier "C:/Users/Vladimir/PycharmProjects/My_Python_Project/10.py", line 13, in main
eurusd_bid = soup.find('td', 'pid-1-bid').text.replace(',', '.')
AttributeError : 'NoneType' object has no attribute 'text'
Processus terminé avec le code de sortie 1
Que dois-je changer pour voir comment le code fonctionne ?
Respectueusement, Vladimir.
La raison pour laquelle cela ne fonctionne pas est que ce site vous a bloqué l'envoi de requêtes. Le fait que vous deviez falsifier un agent utilisateur devait être un indice que vous faisiez quelque chose qu'ils ne voulaient pas que vous fassiez. L'analyse du Web dépasse largement le cadre de ce sujet. Nous devrions donc arrêter d'en parler et revenir au sujet qui nous occupe. Vous avez des questions sur l'utilisation du package MetaTrader5 ?
Il se peut qu'il n'ait pas eu le temps de fermer Excel et qu'il essaie d'accéder au fichier, puis...
ajoutez un délai de 5 à 10 secondes, le programme attendra qu'Excel se ferme.
Je n'ai pas encore décidé ce que je vais faire de la fenêtre de gauche).
Maxim, merci beaucoup pour le code, que vous m'avez aidé à améliorer. Le panneau de gauche est peu préoccupant pour l'instant. J'ajouterai votre nouveau code plus tard, très probablement pendant le week-end, car j'ai été complètement débordé au travail aujourd'hui et j'ai besoin de repos. Je vous tiendrai au courant dès que j'aurai de nouveaux résultats.
Salutations, Vladimir.
Sur quel décalage la bibliothèque MT5 renvoie-t-elle l'heure des ordres ouverts?
Mais dans le terminal, c'est un autre temps
Comment puis-je synchroniser correctement l'heure dans le programme python avec l'heure des ordres (positions) ?
Sur quel décalage la bibliothèque MT5 renvoie-t-elle l'heure des ordres ouverts?
Mais dans le terminal, c'est un autre temps
Comment puis-je synchroniser correctement l'heure dans le programme python avec l'heure des ordres (positions) ?
Vous devez d'abord connaître le fuseau horaire exact du serveur commercial. Créez ensuite un objet fuseau horaire en utilisant pytz. Enfin, passez l'objet fuseau horaire à une méthode.
https://stackoverflow.com/questions/13866926/is-there-a-list-of-pytz-timezonesVous devez d'abord connaître le fuseau horaire exact du serveur commercial. Créez ensuite un objet fuseau horaire en utilisant pytz. Enfin, passez l'objet fuseau horaire à la méthode.
https://stackoverflow.com/questions/13866926/is-there-a-list-of-pytz-timezonesMerci, je vais essayer comme ceci
Je voudrais synchroniser l'heure automatiquement car le serveur de trading peut changer.Merci, je vais essayer.
Je voudrais synchroniser l'heure automatiquement, car le serveur commercial peut changer.Les timestamps UNIX sont agnostiques par rapport au fuseau horaire. Vous devez donc connaître le fuseau horaire du courtier pour donner au timestamp un contexte tenant compte du fuseau horaire. La seule façon de le faire est de connaître le réglage du fuseau horaire du serveur commercial. Je ne pense pas qu'il y ait un moyen d'obtenir cette information de manière programmatique. Ce que vous pouvez faire, c'est créer un fichier de configuration pour associer les différents serveurs commerciaux que vous utilisez au fuseau horaire. Exemple :
config.json
Les timestamps UNIX sont agnostiques par rapport au fuseau horaire. Vous devez donc connaître le fuseau horaire du courtier pour donner au timestamp un contexte tenant compte du fuseau horaire. La seule façon de le faire est de connaître le réglage du fuseau horaire du serveur commercial. Je ne pense pas qu'il y ait un moyen d'obtenir cette information de manière programmatique. Ce que vous pouvez faire, c'est créer un fichier de configuration pour associer les différents serveurs commerciaux que vous utilisez au fuseau horaire. Exemple :
config.json
Eh bien... oui
un moyen plus facile sans pytz :
Nous pouvons également ouvrir un ordre en attente loin du prix, avant de lancer l'EA. Et comparez la différence en heures entre " pt " etdatetime.utcnow()
pour décaler automatiquement l'heureEh bien... oui
un moyen plus facile sans pytz :
Nous pouvons également ouvrir un ordre en attente loin du prix, avant de lancer l'EA. Et comparez la différence en heures entre 'pt' et pour décaler automatiquement l'heure.J'ai pensé la même chose mais je me suis souvenu que l'heure de la commande est stockée dans un timestamp UNIX qui n'a pas de fuseau horaire. En d'autres termes, vous ne pouvez pas extrapoler le fuseau horaire du courtier à partir de l'horodatage de l'ordre, car les horodatages sont les mêmes quel que soit le fuseau horaire. Si vous voulez connaître le décalage GMT, vous devez connaître l'heure actuelle du terminal (broker) et il n'existe actuellement aucun moyen d'utiliser python pour obtenir l'heure actuelle du terminal ou le décalage GMT.
Il se peut qu'il n'ait pas eu le temps de fermer Excel et qu'il essaie d'accéder au fichier, puis...
ajoutez un délai de 5 à 10 secondes, le programme attendra qu'Excel se ferme.
Je n'ai pas encore décidé ce que je vais faire de la fenêtre de gauche).
Bonjour Maxim !
Je vous ai promis plus tôt qu'en fin de semaine je vérifierais la variante avec ajout de code de retard. Je l'ai vérifié, mais le retard n'a rien affecté. Je n'ai aucun problème avec l'onglet de gauche, car je n'y prête tout simplement pas attention.
Encore une fois, merci beaucoup pour votre aide. Je ne poserai plus de questions dans ce fil.
Salutations, Vladimir.