MetaTrader 5 Python User Group - Comment utiliser Python dans Metatrader - page 79

 
Rashid Umarov:

Parce que la méthode head()(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.head.html) renvoie un objet, et non une sortie de journal. Pour voir le contenu, vous devez envoyer explicitement l'objet à print()

Cet anaconda pour la commodité sort les objets comme si print() était appelé.

J'utilise avec succès la méthode head - sans print - pour divers exemples dansjupyter notebook. Mais cette méthode ne fonctionne pas avec l'objet DataFrade que MetaEditor crée. J'ai donc demandé : qu'est-ce qui ne va pas avec l'objet créé par MetaEditor ? Pourquoi la méthode head fonctionne-t-elle pour tous les exemples, mais pas pour l'objet créé par MetaEditor ?

 
Vladimir Karputov:

J'aiutilisé avec succès la méthode head pour différents exemples dansjupyter notebook - sans impression. Mais cette méthode ne fonctionne pas pour l'objet DataFrade, qui est créé par MetaEditor. C'est pourquoi j'ai demandé - quel est le problème avec l'objet créé par MetaEditor ? Pourquoi cela fonctionne-t-il pour tous les exemples, mais pas pour l'objet créé par MetaEditor ?

IPython sort automatiquement (comprend ce qu'il faut imprimer), le terminal l'interprète apparemment différemment

 
Maxim Dmitrievsky:

IPython sort automatiquement (comprend ce qu'il faut imprimer), le terminal l'interprète apparemment différemment

Donc je n'exécute pas l'exemple dans le terminal. Tous les objets DataFrame marqués réussissent à imprimer cinq lignes en utilisant la méthode head, mais pas l'objet créé dans MetaEditor.

 
Vladimir Karputov:

C'est ainsi que j'exécute l'exemple, et non dans le terminal. Tous les objets DataFrame marqués réussissent à imprimer cinq lignes en utilisant la méthode head, mais pas l'objet créé dans MetaEditor.

Eh bien, alors c'est un mystère.

Vous avez deux duplicatas du code dans la liste, d'ailleurs.
 
Maxim Dmitrievsky:

Eh bien, alors c'est un mystère.

Vous avez deux duplicatas du code dans la liste, d'ailleurs.

Merci, copypast probablement.

 

Salut.

Je suis dans la merde !

Je n'arrive pas à comprendre pourquoi il y a une erreur.

De toute façon.

  1. Installé anaconda.
  2. Conda a-t-il mis à jour Conda, Conda a-t-il mis à jour Anaconda ?
  3. Installé PyCharm.
  4. Création d'un nouveau projet pr1.
  5. Sortie dePyCharm.
  6. Dans l'environnementpr1, j'ai installé pip metatrader5.
  7. Démarrage dePyCharm
  8. Ajouté l'importation de metatrader5 comme mt5 - et ici commence le problème....

Pendant quePyCharm indexe quelque chose, je vois l'image suivante:


Mais, lorsque l'indexation se termine et que j'exécute le code ..... :


Il n'y a pas de modulemetatrader5. Comment cela se fait-il ? Il est là dans les paramètres du projet, il est là dans Anaconda, mais quand je l'exécute, il n'est pas là !!!!.

Qu'est-ce qu'il y a ?

 

Ma propre réponse.

importermetatrader5 comme mt5 - faux

Correct :importer MetaTrader5 comme mt5

 

Comment puis-je obtenir un tableau numpy de sorte que chaque valeur qu'il contient soit incrémentée de 1 ?

Tant que vous aviez besoin de quelques éléments, ce numéro fonctionnait :

import numpy as np

X = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

mais comment faire si vous avez besoin d'un tableau de 100 éléments ?

 
Vladimir Karputov:

Comment puis-je obtenir un tableau numpy de sorte que chaque valeur qu'il contient soit incrémentée de 1 ?

Tant que vous aviez besoin de quelques éléments, ce numéro fonctionnait :

mais comment faire si vous avez besoin d'un tableau de 100 éléments ?

np.arange(100)

np.array([xpour x dans l'intervalle(100)] )
 

Une autre question d'un nouvel arrivant.

La situation est la suivante. J'ai un indicateur. Lorsque je l'ajoute au graphique en mode "froid", le calcul prend 7-8 secondes.

J'ai fait la même chose en python. La différence est que python enregistre les données dans un fichier .csv.

Dans les deux cas, le calcul est effectué à partir du 01.01.2019.

Maintenant la question : pourquoi cela peut-il arriver ?


Python travaille sur cette tâche depuis deux heures et demie! C'est juste dommage de l'arrêter... Et si c'était déjà fini...


Juste un petit truc à ajouter. Tout est ficelé sur

copy_ticks_range

Demande de tics pour un jour.



Fini... Presque trois heures. Qu'est-ce qu'il y a à penser ? <<<<< cela signifie 2:58.




Je comprends les pertes de connexion à MT5, les autres frais généraux.... Mais, 8 secondes contre 3 heures...... ? ??????? COMMENT ? ??????????