MetaTrader 5 Python User Group - Comment utiliser Python dans Metatrader - page 85
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
Étrange, mais une table vide arrive aussi. Il n'est pas nécessaire d'ouvrir quoi que ce soit dans le terminal lui-même comme dans Quicksilver pour que le déchargement fonctionne ?
Tout graphique avec la paire souhaitée (pour les ticks).
Quelqu'un peut-il le confirmer ? Y a-t-il un moyen d'obtenir un commentaire de la part du courtier ?
Pourriez-vous ajouter une description à la documentation ?
Ajouté
Je veux organiser une comptabilité commerciale virtuelle en python. J'en ai besoin pour distinguer les caractéristiques des différentes stratégies commerciales. Le courtier utilisé est Otkritie. Il n'y a pas de filet. Il existe une position commune pour l'instrument, l'arrêt et la prise de la position sont communs. J'ai décidé de faire ceci : j'ouvre un trade par n'importe quelle stratégie par marché avec n'importe quel volume, sans stop et take. A la place, j'ai mis un ordre stop et un ordre limite de la même taille. Je mémorise les ordres du tableau séparément. A chaque période de temps, je place des ordres = mt5.orders_get(symbol=symb) et j'obtiens une liste des ordres connus de tickets.ticket.tolist().
Ensuite, je passe en revue mon tableau de transactions et je vérifie si un ticket d'ordre stop ou limite existe toujours dans la liste des ordres ouverts reçus. S'il n'y a pas de stop loss, cela signifie qu'un stop loss s'est déclenché virtuellement ; s'il n'y a pas de limite, cela signifie un take profit. Ensuite, je supprime les entrées pour cette transaction de ma table et je supprime l'ordre en attente restant pour cette transaction. Et tout fonctionne, sauf une chose : je ne sais pas comment calculer le bénéfice virtuel sur cette affaire. Dans l'image, vous pouvez voir que le stop de vente est fixé à 141430, mais en réalité il y a eu un glissement et le prix ouvert est de 141350. Je demande la requête pour une position déclenchée : deals = mt5.history_orders_get(ticket=246525084) (ce ticket a été enregistré dans le système lorsque l'ordre a été passé, comme dans l'image ci-dessus), mais dans ma réponse je ne vois aucune information sur le lieu de l'ordre, seulement des informations sur le lieu de l'ordre. L'historique montre que le stop de vente a bien été exécuté dans le ticket 15215696 et je peux demander le bon prix dans ce ticket. Mais d'abord, je dois trouver le billet du commerce. Comment faire correspondre ce ticket avec le ticket de l'ordre en attente (stop de vente) ?
order_send et order_check renvoient None. Je ne sais pas où chercher. S'il vous plaît, dites-moi ce qui ne va pas. S'il vous plaît.
Code
Sortie
J'ai réussi à résoudre le problème. Dans la demande, les champs volume, prix, sl, tp doivent être de type flottant. Cela fonctionne comme suit
Chers collègues, veuillez me conseiller :
1. Comment puis-je extraire de mt5 les intervalles de session de trading disponibles par instrument en Python et les mettre à jour périodiquement ?
2. Dois-je m'attendre à voir une méthode dans la bibliothèque pour demander et modifier le Trailing Stop sur les positions ouvertes?