Execution Cost Audit
- Utilitaires
-
Carlos Macaya Rodriguez
I build tools for MetaTrader 5 — trade and risk management utilities, panels, and diagnostics that work with the terminal's own data. - Version: 2.0
- Activations: 10
Vous êtes-vous déjà demandé ce que votre trading vous coûte vraiment ? Execution Cost Audit lit l'historique clôturé déjà présent sur votre compte et vous le dit : le spread qui vous était coté à l'instant de chaque exécution, de combien chaque exécution a glissé, et ce que la commission et le swap ont ajouté par-dessus. Rien à installer à l'avance, rien à attendre. Il ne fait que lire, il n'envoie jamais d'ordre.
Pourquoi je l'ai créé
Je voulais savoir ce que me coûtait mon propre trading, et tous les outils que j'ai trouvés donnaient la même réponse : installez-le et revenez dans quelques semaines. Pourtant l'historique était déjà là, sur mon compte, avec chaque deal et chaque prix. Le spread au moment de chaque exécution était dans l'archive de ticks du broker. Toutes les pièces existaient ; personne ne les assemblait.
Alors j'ai écrit quelque chose qui le fait. Posez-le sur un graphique : il lit l'historique clôturé que vous avez déjà, reconstruit chaque aller-retour à partir de ses deals et va chercher dans l'archive de ticks ce qui était coté à la milliseconde de chaque exécution et à quelle distance cette exécution s'est faite du prix demandé par l'ordre. La commission et le swap viennent des deals eux-mêmes. Une minute plus tard, vous savez ce que vous ont coûté les quatre-vingt-dix derniers jours, ou la dernière année, ou tout ce dont le terminal se souvient.
Il n'ouvre, ne modifie et ne ferme jamais un ordre. Il n'y a aucune fonction de trading dans le code, et le trading automatique n'a pas besoin d'être activé.
Ce qu'il vous dit
- Le spread, tel qu'il était coté à l'instant de chaque exécution. Pas celui affiché maintenant à l'écran, pas une moyenne du broker, et pas le champ spread d'une bougie M1, qui moyenne une minute entière, y compris celle où il s'est élargi.
- Le slippage, comme différence entre ce que l'ordre demandait et ce qu'il a obtenu. Le prix demandé pour un ordre au marché, le niveau pour un stop ou une limite. Le signe est choisi pour qu'un nombre positif signifie toujours que c'était contre vous.
- La commission, les frais et le swap, par aller-retour, directement depuis les deals.
- Et quand l'archive de ticks n'a rien pour une exécution, il vous le dit. L'exécution reste non mesurée plutôt qu'inventée, et le rapport indique quelle part cela représente.
Ne pas mélanger les quatre coûts
Voici une erreur facile à commettre : additionner spread, slippage, commission et swap et retrancher le tout du résultat brut. Cela compte deux fois. Le spread et le slippage sont déjà dans le résultat brut, parce que vous avez acheté à l'ask et vendu au bid ; la commission et le swap sont facturés en plus. Le rapport les garde séparés. Il montre ce qui est réellement arrivé sur votre compte et, à côté, ce que les mêmes trades auraient rapporté s'ils avaient été exécutés au prix médian, sans commission ni swap. Quand il exprime le coût en pourcentage, c'est ce second chiffre qui sert de dénominateur.
Même soin pour le swap. Vous le voyez net dans le résultat, puis décomposé entre ce que vous avez payé et ce que vous avez perçu. Seule la partie payée compte comme coût, de sorte que les lignes de coût font toujours le total.
Où est passé l'argent
Chaque chiffre est ventilé par symbole, par heure d'entrée, par jour de la semaine, par session, par direction, par numéro magique et par mode de clôture de la position. Le slippage des sorties par stop loss est présenté à part, parce que c'est généralement là que sont les surprises. Vous avez aussi les dix allers-retours les plus coûteux et la part de votre friction totale concentrée dans les dix pour cent les pires. C'est souvent plus qu'on ne le pense, et cela désigne quelque chose que l'on peut changer.
Comment votre broker vous exécute
Trois choses que l'on peut exiger d'un broker, et aucune ne dit si votre stratégie est bonne :
1. Le spread est-il stable ? Le 90e percentile du spread coté rapporté à sa médiane. Un spread annoncé qui ne vaut que lorsqu'il ne se passe rien apparaît ici.
2. Quelle est l'ampleur du slippage ? Mesurée par rapport au spread typique de l'instrument, pour que quelques points sur l'or et quelques points sur EURUSD ne soient pas jugés de la même façon.
3. Est-il équilibré ? Parmi les exécutions qui ont bougé, combien ont bougé contre vous. Un carnet qui ne glisse jamais que dans un sens n'a pas un problème de latence.
Les trois se combinent en une note de 0 à 100 et une lettre. Si une composante n'a pas assez d'échantillons, elle est écartée et le reste est remis à l'échelle, de sorte qu'un compte dont le broker ne publie pas d'archive de ticks est tout de même noté sur ses exécutions.
Convertir les points en argent sans se tromper soi-même
Le raccourci habituel est la valeur actuelle du tick, et elle transporte le taux de change d'aujourd'hui dans un trade d'il y a quatre mois. À la place, chaque position clôturée calibre sa propre conversion à partir de son profit réalisé : elle a parcouru une distance connue et enregistré un résultat connu, ce qui révèle la conversion appliquée par le broker à ce moment-là, taux croisé compris. La valeur du tick n'est qu'un repli pour les positions qui ont à peine bougé.
Il vous dit ce qu'il laisse de côté
Un rapport filtré ressemble exactement à un rapport complet, et c'est ainsi que quelqu'un audite quatre trades d'un compte qui en a soixante-dix et conclut que ses coûts vont bien. Celui-ci indique toujours la période couverte par les trades audités, la période recherchée, les filtres actifs et combien d'allers-retours clôturés se trouvent en dehors de cette période. Dans le panneau, dans le rapport HTML et dans le CSV.
Ce qui en sort
- Un panneau sur le graphique avec cinq pages : Overview, Symbols, Time, Quality et Method. Il s'ancre dans n'importe quel coin, s'ajuste à la hauteur du graphique et défile quand il y a plus que la place disponible.
- Un rapport HTML autonome avec les graphiques intégrés. Aucun fichier externe : il s'ouvre sur n'importe quel ordinateur et s'imprime proprement. Pratique pour l'envoyer à votre broker, ou à vous-même dans six mois.
- Un CSV avec une ligne par aller-retour, UTF-8 avec marque d'ordre des octets et le séparateur de votre choix, pour votre propre tableur.
Essayez-le avant de l'acheter
Le testeur de stratégie n'a pas d'historique de compte à auditer ; dans le testeur, le produit construit donc un jeu de trades simulés sur le flux de ticks et audite celui-ci à la place. Aucun ordre n'est envoyé. Les spreads, le mouvement du prix entre la décision et l'exécution et les exécutions de stop loss proviennent tous des ticks enregistrés par le broker pour ce symbole et cette période, de sorte que les chiffres d'exécution décrivent cet instrument chez ce broker. Seul le calendrier des trades est inventé, et chaque écran le dit. Utilisez le modèle « Chaque tick basé sur les ticks réels » : les modèles OHLC et prix d'ouverture génèrent des ticks trop espacés pour chronométrer une exécution, et quand cela arrive, le rapport indique combien d'exécutions il a laissées non mesurées.
Cela a un effet secondaire utile. Pointez-le sur n'importe quel symbole et n'importe quelle période, et il répond à une question que vous vous êtes peut-être posée avant d'ouvrir un compte : combien m'aurait coûté le trading de cet instrument chez ce broker ?
Ce qu'il vous faut
MetaTrader 5, sans DLL. Comptes hedging ou netting, tout symbole, toute unité de temps. La mesure du spread a besoin de l'archive de ticks des symboles que vous avez tradés. La première exécution sur un symbole peut prendre une minute pendant que le terminal télécharge ses ticks ; le panneau et le rapport nomment les symboles encore manquants, et l'audit réessaie de lui-même pendant quelques minutes.
Paramètres principaux
- Période : les N derniers jours, une plage de dates personnalisée ou tout l'historique disponible.
- Filtres : symboles (avec ou sans suffixe du broker), numéros magiques et plages, direction, volume minimal.
- Mesure : fenêtre de recherche de cotation en millisecondes, demi-spread ou spread complet par exécution, calibration monétaire automatique ou valeur actuelle du tick.
- Sessions : heures d'Asie, de Londres et de New York en heure serveur, passage de minuit autorisé.
- Panneau : coin, décalages, taille de police, couleurs, intervalle de rafraîchissement automatique.
- Rapports : HTML et CSV activables, séparateur CSV, export au premier audit, masquage des données du compte, dossier de rapport et suffixe de nom.
- Démonstration dans le testeur de stratégie : taille, trades par jour, durée de détention, commission supposée, distance du stop.
Limites, dites clairement
- Seuls les allers-retours entièrement clôturés sont comptés. Une position ouverte est un demi aller-retour, et un demi aller-retour n'a pas de sortie à mesurer.
- Sur les comptes en exécution au marché, l'ordre ne porte pas de prix demandé, donc le slippage d'entrée ne peut pas être mesuré. Le rapport affiche le taux de couverture plutôt que de combler le vide.
- Sur certains serveurs, un ordre au marché est enregistré à son prix d'exécution. Quand toutes les exécutions au marché du compte affichent exactement zéro slippage, elles sont traitées comme non mesurées plutôt que notées comme parfaites, et le rapport le dit.
- Le spread et le slippage sont des mesures de ce que contient l'archive, et l'archive est celle du broker.
- La note d'exécution décrit les exécutions, pas la rentabilité. Un broker parfait ne fait pas gagner une stratégie perdante.
Questions
Si quelque chose dans votre rapport ne colle pas, posez la question dans les commentaires du produit ou envoyez-moi un message privé sur MQL5. Je lis les deux, et un rapport qu'on n'arrive pas à expliquer est exactement le genre de chose dont je veux entendre parler.
