Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Twitter !
Rejoignez notre page de fans
Un script intéressant ?
Poster un lien vers celui-ci -
laisser les autres l'évaluer
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
Scripts

Portfolio Correlation Analyzer - script pour MetaTrader 5

Seckin Erkut
Seckin Erkut
Algo Trading Systems Developer. I develop strategies and portfolios not by hypes but from solid academic literature.

I put my money where my mouth is, be sure to check the performance of my EAs through my signals.
| French English Русский 中文 Español Deutsch 日本語 Português 한국어 Italiano Türkçe
Vues:
35
Note:
(1)
Publié:
Mise à jour:
MQL5 Freelance Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance

L'idée

Si vous exécutez plusieurs EA sur un même compte, ce qui compte, ce n’est pas le montant que chacun d’entre eux génère, mais la mesure dans laquelle leurs risques combinés s’annulent mutuellement.

Mesurez la pire série de pertes de chaque système pris individuellement et additionnez ces chiffres. Mesurez ensuite la pire série de pertes de l'ensemble du compte sur la même période. Le deuxième chiffre est toujours inférieur. L'ampleur de cette différence est la seule mesure honnête de votre diversification, et aucun rapport de terminal ne la montre.

Ce script la mesure. Il analyse l’historique de vos transactions clôturées, les regroupe par « magic number » et fournit quatre informations.

Ce qu’il indique

1. Par système. Nombre de transactions, résultat net et drawdown maximal pour chaque « magic number » répondant au filtre de nombre minimum de transactions.

2. Compression. La somme de tous les drawdowns individuels par rapport au drawdown du compte combiné, ainsi que le rapport entre ces deux valeurs. Un rapport proche de 1 signifie que les systèmes évoluent de front et que vous disposez plusieurs fois de la même stratégie. Un rapport élevé signifie que leurs mauvaises périodes se produisent à des dates différentes.

3. Corrélation. La matrice complète de corrélation de Pearson par paires sur les profits et pertes de la période, la valeur moyenne absolue de rho, la part des paires inférieures à 0,30 et la paire la plus corrélée par nom. Cette même matrice est représentée sur le graphique sous forme de carte thermique : les zones claires indiquent que les deux systèmes s’ignorent mutuellement, le rouge signifie qu’ils gagnent et perdent ensemble, et le bleu qu’ils sont opposés.

4. Monte Carlo. Les mêmes résultats par période, réorganisés dans un nouvel ordre aléatoire plusieurs milliers de fois. L’historique vous a donné un ordre des mois. Le marché était libre de présenter ces mêmes mois dans n’importe quel autre ordre, et la pire période change lorsque cela se produit. Le script indique le drawdown aux 50e, 90e et 95e centiles de ce nuage, et vous indique où se situe votre trajectoire historique unique à l’intérieur de celui-ci. La plupart des backtests se situent dans la moitié favorable.

Toutes les données sont également enregistrées au format CSV, ce qui permet de représenter la matrice sous forme de carte thermique dans un tableur.

Comment interpréter les résultats

Le taux de compression est l’élément clé. Deux, trois, dix fois : voilà ce que la diversification vous a rapporté, dans votre propre devise, sur vos propres transactions.

Le rho absolu moyen vous indique si la composition du portefeuille est véritablement différente ou si elle ne fait que paraître différente. Des valeurs inférieures à 0,15 sur de nombreuses paires indiquent un véritable portefeuille. Des valeurs supérieures à 0,40 signifient que vous exploitez des variantes d’une seule et même idée.

Le centile de Monte Carlo est le plus dérangeant. Si votre drawdown historique se situe au 60e centile du nuage, cela signifie que les deux tiers des scénarios alternatifs vous ont été plus favorables que celui qui s’est réellement produit. Déterminez la taille de vos positions en fonction de la queue du nuage, et non d’un seul scénario.

Panneau

Données d’entrée

  • InpGrain – granularité de regroupement pour la série de profits et pertes : mensuelle, hebdomadaire ou quotidienne. La granularité mensuelle est la valeur par défaut et la plus sûre : les corrélations calculées sur des tranches quotidiennes clairsemées sont ramenées vers zéro par les cellules vides. Le script vous avertit lorsque la granularité choisie laisse trop de tranches vides.
  • InpMCRuns - nombre de simulations de Monte Carlo. Valeur par défaut : 2 000. Les valeurs inférieures à 100 ou supérieures à 100 000 sont limitées.
  • InpMinTrades - nombres magiques : les transactions clôturées dont le nombre est inférieur à cette valeur sont exclues du rapport, ainsi que du portefeuille combiné, afin que la comparaison porte sur des éléments comparables. Valeur par défaut : 20.
  • InpRefBalance - solde de référence utilisé uniquement pour exprimer le drawdown de Monte Carlo en pourcentage. Valeur par défaut : 10 000.
  • InpExportCSV - écrit le tableau des profits et pertes de la période ainsi que la matrice de corrélation dans le dossier MQL5\Files. Les noms de fichiers sont préfixés par « PCA_ » afin qu’ils n’écrasent jamais l’exportation d’un autre outil.
  • InpDrawPanel - affiche la carte thermique sur le graphique. Si la valeur est « false », tout panneau laissé par une exécution précédente est supprimé.
  • InpMaskMagics – attribue les étiquettes S01, S02, etc. aux systèmes au lieu d’afficher les numéros magiques réels. Utile pour les captures d’écran.
  • InpPanelX, InpPanelY: décalage du panneau par rapport au coin supérieur gauche, en pixels.
  • InpPanelMaxPx – Côté maximal de la grille de la carte thermique. La taille des cellules s’adapte au nombre de systèmes ; les petits portefeuilles ont des cellules plus grandes.
  • InpPanelMaxSys: au-delà de ce nombre de systèmes, le panneau est ignoré, car la grille nécessiterait plus de rectangles que le graphique ne peut en redessiner confortablement. L’export CSV contient toujours la matrice complète. Valeur par défaut : 64.
  • InpMCSeed - la valeur 0 génère une graine aléatoire ; toute autre valeur rend les centiles de Monte Carlo reproductibles. Utilisez une graine fixe lorsque le graphique est intégré à un rapport.

Remarques et limites

Les drawdowns sont calculés à partir des résultats des transactions clôturées, à la granularité choisie. Ils n’incluent pas la variation en cours des positions ouvertes, qui est plus importante, souvent d’un tiers ou plus sur les systèmes multi-symboles. Interprétez ces chiffres comme des drawdowns réalisés, et gardez à l’esprit que le drawdown de votre capital a été plus important.

Les transactions d’entrée et de sortie sont toutes deux prises en compte. La plupart des courtiers facturent également une commission sur l’entrée, et le fait de ne compter que les transactions de sortie sous-estime implicitement les coûts.

Le « magic number » 0 est inclus s’il passe le filtre de transaction, et le script l’indique dans le journal. Sur la plupart des terminaux, ce groupe regroupe les transactions manuelles et tout EA conservant son « magic number » par défaut ; il ne s’agit donc pas nécessairement d’un seul système.

La corrélation nécessite un nombre suffisant de périodes pour être significative. Deux systèmes se chevauchant sur six mois produiront un chiffre, mais celui-ci ne sera pas fiable.

Les objets du panneau restent affichés sur le graphique une fois le script terminé, ce qui est idéal pour réaliser une capture d'écran. Relancez-le en définissant InpDrawPanel sur « false » pour les supprimer.

Ce qu’il ne fait pas

Il ne passe, ne modifie ni ne clôture jamais d'ordre. Il ne fait aucune prévision, ne génère aucun signal et ne se connecte à aucun réseau ni service externe. Il lit votre historique et rend compte de son contenu.

Entièrement en MQL5, un seul fichier, aucune bibliothèque externe.


Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/75606

IronHawk SMC Trade Zones M5 IronHawk SMC Trade Zones M5

A closed-bar M5 indicator combining market structure, liquidity sweeps, BOS/CHoCH and momentum to display Entry, SL, TP1 and TP2, with retail-frequency signals and clickable setup history.

Sessionvolatilityheatmap Sessionvolatilityheatmap

Affiche la fourchette de prix moyenne par heure de la journée de négociation sous forme de carte thermique intégrée au graphique, avec en outre un ombrage correspondant aux sessions asiatique, londonienne et new-yorkaise derrière les chandeliers — ce qui vous permet de voir quand un titre évolue réellement, sans avoir à deviner.

SHK Heikin Ashi MACD Signal Arrows SHK Heikin Ashi MACD Signal Arrows

Un indicateur graphique pour MetaTrader 5 qui trace des chandeliers Heikin Ashi, affiche des flèches de confirmation d'achat et de vente, propose un filtrage optionnel des divergences de l'histogramme MACD et offre des alertes configurables.

PropFirmGuard PropFirmGuard

Equity guard that enforces a daily loss limit and a total drawdown limit, flattens the account on breach and blocks trading until the next daily reset. Includes the guard as a reusable include file plus a self-test expert that proves the behaviour in the strategy tester.