Transformez l’historique MT5 en rapport.
Exécutions réelles. Dépôts séparés. Export des résultats.
Télécharger l'exemple Python · ZIP ↓
Transcription étape par étape
- 0:00
Transformez l’historique MT5 en rapport.
Ce tutoriel vous montre comment consulter l’historique des transactions MT5, calculer le résultat comptabilisé et exporter un rapport clair avec Python.
- 0:12
Connectez-vous en lecture seule.
Ouvrez mt5.mrpc.pro et choisissez ConnectEx. Saisissez l’identifiant, le mot de passe et le serveur de votre compte de démonstration. Utilisez TRIAL ou votre clé API. Laissez le champ facultatif id vide. Cet enregistrement utilise un mot de passe investisseur en lecture seule. La console conserve l’identifiant du terminal reçu.
- 0:41
Vérifiez la devise du compte.
Exécutez AccountSummary. Il s’agit d’un compte de démonstration en dollars américains. Son solde est de quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf dollars et quatre-vingt-seize cents. Présentez les gains et les frais dans la devise du compte.
- 1:01
Choisissez une période terminée.
Choisissez DealsHistory. Renseignez inputFromUtc et inputToUtc avec des horodatages se terminant par Z. Laissez vides les champs correspondants en heure du courtier. Ici, la période va du premier octobre au début du vingt-huit octobre. Gardez cet intervalle pour les pages suivantes.
- 1:27
Récupérez toutes les pages.
Après HTTP Status Code 200, vérifiez d’abord error. Cette réponse ne contient aucune erreur API. Avec pageSize égal à deux, la première page ne contient que deux des treize exécutions. Copiez nextPageToken dans pageToken sans changer les filtres. Continuez jusqu’à ce que nextPageToken soit vide.
- 1:53
Ordres, exécutions et positions.
Un ordre est une instruction de trading ; un deal enregistre une exécution. AllHistoryOrders affiche les ordres. Dans DealsHistory, order renvoie au ticket de l’ordre, tandis que positionId regroupe les exécutions liées. Cette position comporte une entrée de zéro virgule zéro deux lot et deux sorties de zéro virgule zéro un lot.
- 2:19
Additionnez les montants signés.
Pour chaque deal, additionnez profit, commission, swap et fee tels qu’ils sont renvoyés. Conservez les signes : ne soustrayez pas une seconde fois une commission déjà négative. Cette sortie a rapporté deux cents sans frais. Incluez aussi les entrées, car le courtier peut facturer une commission à l’ouverture.
- 2:42
Séparez les mouvements de fonds.
La première ligne est un dépôt de démonstration de cent mille dollars. Son type est BALANCE, sans ordre ni position. Ce n’est pas un gain de trading. Le rapport sépare les deals Buy et Sell des autres types. Vérifiez les frais indépendants, crédits et ajustements dans le fichier other-deals.
- 3:03
Vérifiez la portée du rapport.
Les treize enregistrements sont présents. Les douze deals de trading totalisent moins quatre cents. Les commissions, swaps et frais sont nuls ici. Le dépôt est séparé. Il s’agit des montants comptabilisés sur la période, pas du gain latent. Une position ouverte auparavant peut avoir des frais hors de cet intervalle.
- 3:29
Exportez les données avec Python.
Le script appelle le même endpoint DealsHistory, parcourt les pages et vérifie le nombre final d’enregistrements. Il utilise une arithmétique décimale et regroupe les montants par positionId. Placez votre clé API et l’id du terminal dans des variables d’environnement privées. Le script n’ouvre ni ne ferme de transaction.
- 3:56
Ouvrez les trois fichiers.
Lancez le script avec vos dates UTC fixes. Il crée trade-deals.csv, other-deals.csv et summary.json. L’export de démonstration a été vérifié avec cet historique capturé. En cas d’erreur API ou de pages manquantes, le script s’arrête au lieu de présenter un total incomplet.
- 4:22
Déconnectez-vous à la fin.
Enfin, appelez Disconnect dans la console pour libérer le terminal. Notre session est maintenant déconnectée. Vous avez récupéré l’historique, séparé les fonds du résultat de trading et exporté un rapport que vous pouvez examiner et réutiliser.