Le calcul du drawdown de Metaquotes est FAUX

Présentation, Développement, Améliorations et Ressources pour les Stratégies de Trading Automatique.

Modérateur : Administrateurs

Répondre
Message
Auteur
Avatar de l’utilisateur
ionone
Membre actif et régulier
Messages : 98
Inscription : 29 sept. 2016, 16:10

Le calcul du drawdown de Metaquotes est FAUX

#1 Message par ionone »

bonjour

alors j'ai fais une petite expérience car vous vous en êtes peut-être rendu compte mais le calcul du drawdow de MT4 est faux. (je n'ai pas expérimenté avec celui de MT5 pour l'instant)

j'ai simplement ouvert plusieurs ordres à la suite sans fermer les premiers et je les ai tous fermés en même temps. En trading réel, vous aurez du profit avec les premiers trades et vous pourrez en ouvrir d'autre et leur drawdown sera couvert par le profit des premiers trades, n'est-ce pas ?

FAUX

MT4 calcule son DD de manière particulière : il va regarder quel a été le maximum de la balance OU de l'équité et le comparer avec le minimum de la balance ou de l'équité.

Ca peut paraitre juste dit comme ça, mais pourquoi prendre en compte le max d'équité ?
Si par exemple j'ouvre un ordre qui est rapidement en profit à +100, j'ai alors de la marge pour ouvrir d'autres ordres.
Si j'ouvre un deuxième ordre qui descend à -100, le DD devrait être de 0 pas de -100 !
Et pourtant avec MT4 le DD calculé sera de -100, même si mon profit n'est jamais allé dans le rouge !

voici le BT de l'expérience
Image

le DD de MT4 est de 213 (!) tandis que le BT calculé par mes soins n'est que de 20.87 !

en regardant les trades, avec des lots de 0.01, il est impossible d'avoir un DD de 213 car ils vont quasiment tous directement en profit.

et pourtant avec Metaquotes c'est possible !

De plus vous avez sûrement remarqué que les DD des Live Statements était différent des BTs (beaucoup plus bas). Metaquote utilise d'autres calculs quand il s'agit de Live Statement ! C'est à n'y rien y comprendre. Dans les Live Statements, chaque ordre est regardé séparément et le DD est le DD min de chaque ordre...

bref Métaquote utilise deux calculs de DD et les deux sont faux, si on regarde le trading réel...Allez sans rancune, j'utilise d'autres calculs dans mes EAs

@+

Jeff

MaPomme
Membre assidu
Messages : 184
Inscription : 21 oct. 2015, 14:07

Re: Le calcul du drawdown de Metaquotes est FAUX

#2 Message par MaPomme »

Salut

Oui bien sur, mais il est de notoriété publique que les BTs de MT ne doivent pas être pris au pied de la lettre. Outre servir de support a divers escrocs, ils contribuent surtout a déboguer un algo et a s'assurer qu'il fait ce pourquoi il a été conçu. Il ne faut pas leur accorder davantage d'importance et ceux qui ignorent cela s'en mordent généralement assez vite les doigts. :oops:

Avatar de l’utilisateur
Trader55
VideoBourse family
Messages : 1280
Inscription : 21 sept. 2014, 21:30

Re: Le calcul du drawdown de Metaquotes est FAUX

#3 Message par Trader55 »

@Ionome, lorsque tu parles du "DD de Metaquotes", de quoi parles tu ?

Je connais le DD en temps réel balance-equity, le DD max qui apparait dans les rapport de BT (assez proche d'ailleurs du DD max reel balance-equity, mais quel est ce "DrawDown de Metaquotes" dont tu parles ?

royaltea
Membre assidu
Messages : 340
Inscription : 22 sept. 2016, 16:55

Re: Le calcul du drawdown de Metaquotes est FAUX

#4 Message par royaltea »

Je pense qu' il faut bien se mettre dans la tète que métaquote, qui était a l' origine un simple 'screener' de graphique, a pactisé avec les brokers contre nous. Nous, simple utilisateurs finaux, somme un peu comme les toxicos en bout de chaîne d' intermédiaires qui se sucrent sur notre dos.
Bref, c' est juste mon avis, mais partagé par les initiés, que MT4, MT5, l' environnement mql, et l' immense majorité des brokers qui gravitent autour de ce système a la apple,en gros on est pas les potes de métaquote, et qu' ils ne font rien pour vraiment nous simplifier la vie pour de vrai.
Oui dans les backtest MT4, on peut toujours courrir pour connaitre le DD a un instant T, et j' ai cru comprendre que leur façons de tester les algos n' était basé que sur les ticks d' ouverture, un truc dans le genre, qui est loin d' etre optimum pour savoir a quoi s' en tenir sur le réel potentiel d' un ea un peu compliqué.
C' est choquant pour celui qui débute, et pourtant c' est comme les billets de banque, tout le monde pense que c' est l' état qui gère ça, alors que c' est une boite privé qui s' occupe, intérets a l' appuie, de faire tourner une monnaie creuse, l' euro en l' occurrence ici, mais c' est pareil pour le dollar...

Avatar de l’utilisateur
ionone
Membre actif et régulier
Messages : 98
Inscription : 29 sept. 2016, 16:10

Re: Le calcul du drawdown de Metaquotes est FAUX

#5 Message par ionone »

Trader55 a écrit :@Ionome, lorsque tu parles du "DD de Metaquotes", de quoi parles tu ?

Je connais le DD en temps réel balance-equity, le DD max qui apparait dans les rapport de BT (assez proche d'ailleurs du DD max reel balance-equity, mais quel est ce "DrawDown de Metaquotes" dont tu parles ?
je parle du DD de MT4 (des backtests et des lives statements)

Avatar de l’utilisateur
Trader55
VideoBourse family
Messages : 1280
Inscription : 21 sept. 2014, 21:30

Re: Le calcul du drawdown de Metaquotes est FAUX

#6 Message par Trader55 »

Je te confirme que les DD des backtests sont exacts car je les calcule en temps réel en BT et je compare aux résultats des rapports finaux de BT.

Mais qu'appelles tu les live statement ?

Avatar de l’utilisateur
ionone
Membre actif et régulier
Messages : 98
Inscription : 29 sept. 2016, 16:10

Re: Le calcul du drawdown de Metaquotes est FAUX

#7 Message par ionone »

Trader55 a écrit :Je te confirme que les DD des backtests sont exacts car je les calcule en temps réel en BT et je compare aux résultats des rapports finaux de BT.

Mais qu'appelles tu les live statement ?
oh ils sont mathématiquement corrects mais ils ne représentent pas le vrai DD que tu auras en live

les live statements sont les rapports des trades live.

oswaldo717
Membre actif
Messages : 12
Inscription : 11 janv. 2018, 03:55

Re: Le calcul du drawdown de Metaquotes est FAUX

#8 Message par oswaldo717 »

Hello!
Excellent interaction I have nurtured their participation. How they contribute to the business.

kariboo
Membre actif et régulier
Messages : 89
Inscription : 09 nov. 2015, 17:27

Re: Le calcul du drawdown de Metaquotes est FAUX

#9 Message par kariboo »

Ce genre de post montre une méconnaissance de MT4 qui propose au moins 8 calculs de drawdown différents, même si les rapports de backtest n'en reprennent qu'un seul type basé sur l'équity.

Si le type de drawdown séléctionné par défaut par MT4 dans les rapports ne vous convient pas, les autres sont calculés aussi:



STAT_BALANCE_DD
Maximum balance drawdown in monetary terms. In the process of trading, a balance may have numerous drawdowns; here the largest value is taken
double

STAT_BALANCEDD_PERCENT
Balance drawdown as a percentage that was recorded at the moment of the maximum balance drawdown in monetary terms (STAT_BALANCE_DD).
double

STAT_BALANCE_DDREL_PERCENT
Maximum balance drawdown as a percentage. In the process of trading, a balance may have numerous drawdowns, for each of which the relative drawdown value in percents is calculated. The greatest value is returned
double

STAT_BALANCE_DD_RELATIVE
Balance drawdown in monetary terms that was recorded at the moment of the maximum balance drawdown as a percentage (STAT_BALANCE_DDREL_PERCENT).
double

STAT_EQUITY_DD
Maximum equity drawdown in monetary terms. In the process of trading, numerous drawdowns may appear on the equity; here the largest value is taken
double

STAT_EQUITYDD_PERCENT
Drawdown in percent that was recorded at the moment of the maximum equity drawdown in monetary terms (STAT_EQUITY_DD).
double

STAT_EQUITY_DDREL_PERCENT
Maximum equity drawdown as a percentage. In the process of trading, an equity may have numerous drawdowns, for each of which the relative drawdown value in percents is calculated. The greatest value is returned
double

STAT_EQUITY_DD_RELATIVE
Equity drawdown in monetary terms that was recorded at the moment of the maximum equity drawdown in percent (STAT_EQUITY_DDREL_PERCENT).
double

Avatar de l’utilisateur
Trader55
VideoBourse family
Messages : 1280
Inscription : 21 sept. 2014, 21:30

Re: Le calcul du drawdown de Metaquotes est FAUX

#10 Message par Trader55 »

A quel endroit et comment configure t'on le choix des DD ?

kariboo
Membre actif et régulier
Messages : 89
Inscription : 09 nov. 2015, 17:27

Re: Le calcul du drawdown de Metaquotes est FAUX

#11 Message par kariboo »

Trader55 a écrit :A quel endroit et comment configure t'on le choix des DD ?
Il faut utiliser la fonction TesterStatistics




PS: Je viens de lire un post (thread est fermé) au sujet d'un EA a réparer. Franchement le gars se ridiculise en disant qu'on lui a rendu un EA cassé et qu'il ne peut plus l'utiliser, comme s'il avait prêté sa Ferrari. Voila le type de raison pour lesquelles je ne développe pas pour les autres.

Perso j'ai un versionning de tous mes algos sur du cloud (pas le versionning intégré dans le cloud Metaquotes). Quand on développe sérieusement ou professionnellement c'est juste indispensable.

Avatar de l’utilisateur
ionone
Membre actif et régulier
Messages : 98
Inscription : 29 sept. 2016, 16:10

Re: Le calcul du drawdown de Metaquotes est FAUX

#12 Message par ionone »

hey merci infiniment pour ce post très enrichissant,

je ne savais vraiment pas qu'on pouvait changer le calcul de DD, je vais tester ça de ce pas

PS : mes excuses à Metaquotes pour les avoir sous-estimés

Jeff

Jeff719
VideoBourse family
Messages : 785
Inscription : 28 sept. 2015, 16:18

Re: Le calcul du drawdown de Metaquotes est FAUX

#13 Message par Jeff719 »

Je reviens sur ce fil de discussion. Sorte de marronnier, une fois par an environ on recommence à débattre sur le calcul de DD.

Certes Metaquote offre divers calculs de DD, mais est-ce vraiment opérationnel ? Là est la question.

Tout d'abord les backtest. Il convient d'éviter la gestion proportionnel afin de bannir l'EC exponentielle. En effet dans ce cas les mesures de performance dépendent plus du proche passé que du passé lointain. On ne se fait pas une idée correcte de la robustesse au fil du temps et de l'aptitude à enjamber des conditions de marché différentes, notamment les évènements graves.

Donc en backtest on trade à lots fixe (ou à lots variables pour d'autres raisons que l'equity, la volat par exemple). De fait au bout de quelques années la balance a grossi et le DD en % n'a aucun sens. Pour ne pas se noyer dans un verre d'eau c'est très simple, on part d'une balance initiale et on l'imagine constante par la pensée. 10000$ par exemple. Quand le pire DD est 2000$, le DD subit est donc de 20% et non 10% si d'aventure l'EC était passé à 20000$, 10% fallacieux que l'on trouvera dans le rapport de backtest (qui suppose une gestion proportionnelle de la part de l'EA).

La présentation des résultat d'une EC par Darwinex résout élégamment la question. Les esprits observateurs auront remarqué qu'on additionne des % et qu'on ne les multiplie pas ce qui peut sembler surprenant au premier regard. Ainsi on fait fi de la balance et des withdrawals, les calculs restant valable quelque soit le contexte. Si l'EC passe de 150% à 120%, le DD n'est pas de 30% mais de 20%

On fait donc ce calcul de tête en lisant le backtest. Un bon indice d'un concepteur d'EA pas trop sérieux (à moins qu'il s'agisse de marketing), c'est de présenter avec fierté un backtest en gestion proportionnelle (EC exponentielle).

Maintenant le 2ème sujet et sans doute le plus intéressant : le calcul habituel de DD est il correct quand on analyse le risque d'une position? Ici l'approche position centric me semble la meilleure et je rejoint non pas les derniers commentaires mais le premier post de Jeff que j'agrée à 100%.

Le calcul de DD ECtoEC me semble abusivement pessimiste. Lors de la construction d'une position un calcul BalanceToEC me semble meilleur et la façon habituelle de compter est anormalement négative. C'est surtout vrai d'un swinger qui pyramide et qui tente le grand mouvement avec un trailing stop de grande taille. Dans ce contexte, une position très bien réussie passant par un pic inespéré puis jetant l'éponge après la perte d'une partie des gains se verra affublé d'un gros DD ce qui est stupide évidemment (on vient seulement de rendre une partie des gains récents).

Les bons calculs sont donc à faire à la main dans le DeInit() afin de compléter avantageusement le rapport de backtest.

Un bémol à ma conclusion cependant, si d'aventure un investisseur achète un Darwin au moment du pic inespéré, alors celui-là va réellement subir le DD pessimiste. :lol: C'est pourquoi il faut éviter d'acheter le Darwin d'un swinger qui a une pose en cours et qui est en train de gagner méchament : attention à la sortie, danger!
Les informations présentées ne peuvent être considérées ni comme un conseil en investissement, ni comme une recommandation d'investissement. Il s'agit de commentaires généraux sur les marchés et de raisonnements que l'on peut tenir à leur sujet.

Avatar de l’utilisateur
ionone
Membre actif et régulier
Messages : 98
Inscription : 29 sept. 2016, 16:10

Re: Le calcul du drawdown de Metaquotes est FAUX

#14 Message par ionone »

kariboo a écrit :Ce genre de post montre une méconnaissance de MT4 qui propose au moins 8 calculs de drawdown différents, même si les rapports de backtest n'en reprennent qu'un seul type basé sur l'équity.

Si le type de drawdown séléctionné par défaut par MT4 dans les rapports ne vous convient pas, les autres sont calculés aussi:



STAT_BALANCE_DD
Maximum balance drawdown in monetary terms. In the process of trading, a balance may have numerous drawdowns; here the largest value is taken
double

STAT_BALANCEDD_PERCENT
Balance drawdown as a percentage that was recorded at the moment of the maximum balance drawdown in monetary terms (STAT_BALANCE_DD).
double

STAT_BALANCE_DDREL_PERCENT
Maximum balance drawdown as a percentage. In the process of trading, a balance may have numerous drawdowns, for each of which the relative drawdown value in percents is calculated. The greatest value is returned
double

STAT_BALANCE_DD_RELATIVE
Balance drawdown in monetary terms that was recorded at the moment of the maximum balance drawdown as a percentage (STAT_BALANCE_DDREL_PERCENT).
double

STAT_EQUITY_DD
Maximum equity drawdown in monetary terms. In the process of trading, numerous drawdowns may appear on the equity; here the largest value is taken
double

STAT_EQUITYDD_PERCENT
Drawdown in percent that was recorded at the moment of the maximum equity drawdown in monetary terms (STAT_EQUITY_DD).
double

STAT_EQUITY_DDREL_PERCENT
Maximum equity drawdown as a percentage. In the process of trading, an equity may have numerous drawdowns, for each of which the relative drawdown value in percents is calculated. The greatest value is returned
double

STAT_EQUITY_DD_RELATIVE
Equity drawdown in monetary terms that was recorded at the moment of the maximum equity drawdown in percent (STAT_EQUITY_DDREL_PERCENT).
double
donc MT4 offre différents calculs de DD, mais ça ne change pas le fait que le DD affiché est faux. MT4 peut proposer d'autres calculs, personne ne regardera ces autres calculs, le DD affiché dans le rapport de BT n'est pas correct.

Jeff719
VideoBourse family
Messages : 785
Inscription : 28 sept. 2015, 16:18

Re: Le calcul du drawdown de Metaquotes est FAUX

#15 Message par Jeff719 »

ionone a écrit : donc MT4 offre différents calculs de DD, mais ça ne change pas le fait que le DD affiché est faux. MT4 peut proposer d'autres calculs, personne ne regardera ces autres calculs, le DD affiché dans le rapport de BT n'est pas correct.
Salut, (les Jeff parlent aux Jeff, ici Londres...)

En fait, vrai ou faux, c'est plutôt une question de point de vue.

Il est vrai que les diverses mesures de DD présentée pas MT4, c'est du flan (pas grande valeur ajoutée à présenter les mêmes calculs dans tous les sens). C'est pas ça la question, comme je l'ai développé plus haut.

Le fait est que si vous voulez des métriques robustes, faut développer le backoffice de vos EA vous même. Zut, encore du taf en plus... :lol:

PS : N'imaginez pas une seconde que MQL5 c'est moins de la daube. 8)
Les informations présentées ne peuvent être considérées ni comme un conseil en investissement, ni comme une recommandation d'investissement. Il s'agit de commentaires généraux sur les marchés et de raisonnements que l'on peut tenir à leur sujet.

kariboo
Membre actif et régulier
Messages : 89
Inscription : 09 nov. 2015, 17:27

Re: Le calcul du drawdown de Metaquotes est FAUX

#16 Message par kariboo »

Jeff719 a écrit :
Le fait est que si vous voulez des métriques robustes, faut développer le backoffice de vos EA vous même. Zut, encore du taf en plus... :lol:
C'est tout l’intérêt d'utiliser le "custom parameter" d'optimisation.


Quand je suis passé au trading algo, je me voyais aux seychelles a siroter des cocktails en recevant des alertes sur mon smartphone pour comptabiliser les PV.

La vérité c'est que je n'ai jamais aussi peu dormi, j'ai des tonnes de BT en liste d'attente (malgré plusieurs BT qui tournent en parallèle quasi 24h/24), je surveille ce que font les algos en live, je rejoues les incidents en backtest à posteriori pour comprendre et debugger les comportements non prévus, sans compter l'amélioriration et l'adaptation du code pour prendre en compte des situations non prévues que l'on découvre, et je dois aussi élargir le nombre de paires traitées.

Bref, une vraie vie de chien l'algo. C'est pire que le discrétionnaire.

Jeff719
VideoBourse family
Messages : 785
Inscription : 28 sept. 2015, 16:18

Re: Le calcul du drawdown de Metaquotes est FAUX

#17 Message par Jeff719 »

Hihi oui c'est à peu près ça.

Pour l'édification du public :

Quand on lance un backtest, on peut choisir une fonction qu'on écrit soit même et qui donne une note de performance au backtest (pour une valeur de la collection de paramètres):
SelectCustom.PNG
SelectCustom.PNG (6.34 Kio) Consulté 19937 fois
Ensuite faut programmer la fonction Ontester(void), il suffit qu'elle existe quelque part dans l'EA :
CallCustom.PNG
CallCustom.PNG (9.28 Kio) Consulté 19937 fois
Chacun bricole ce qu'il veut au dessous. :wink:

Pour les apprenants, vous pouvez tous simplement appeler la fonction PF : TesterStatistics(STAT_PROFIT_FACTOR) et retourner le résultat. Ça fera la même chose que de choisir le profit facteur en terme d'optimisation (juste pour vérifier l'architecture).

Ensuite l'idée est de développer un meilleur diagnostic de la valeur de l'EC (à vos claviers).

Un temps j'ai fait une proposition ici : http://www.videobourse.fr/forum-forex/v ... 500#p70521

Mais on fait ce qu'on veut.

Personnellement je fais une stat de tous les DD entre les HVM ce qui permet d'évaluer le sigma à l'aide d'un modèle ad hoc. Ainsi on se fait un Sharpe à la louche qui a du sens (pas comme les bouffons de MyFx). 8)

Ensuite ?

Bien sûr on préfère les meilleurs sharpes.

Mais ça n'enlève rien au fait que les effets de la sur optimisation sont monstrueux, insidieux, prégnants et majoritairement sous estimés. Quoi de mieux pour plumer l'investisseur retail ou encore vendre des EA ?
Les informations présentées ne peuvent être considérées ni comme un conseil en investissement, ni comme une recommandation d'investissement. Il s'agit de commentaires généraux sur les marchés et de raisonnements que l'on peut tenir à leur sujet.

Jeff719
VideoBourse family
Messages : 785
Inscription : 28 sept. 2015, 16:18

Re: Le calcul du drawdown de Metaquotes est FAUX

#18 Message par Jeff719 »

oups...

HVM, je voulais dire HWM (High Water Mark) bien sûr. :oops:
Les informations présentées ne peuvent être considérées ni comme un conseil en investissement, ni comme une recommandation d'investissement. Il s'agit de commentaires généraux sur les marchés et de raisonnements que l'on peut tenir à leur sujet.

JUPITRADER
Membre assidu
Messages : 149
Inscription : 08 nov. 2014, 11:15

Re: Le calcul du drawdown de Metaquotes est FAUX

#19 Message par JUPITRADER »

kariboo a écrit :La vérité c'est que je n'ai jamais aussi peu dormi, j'ai des tonnes de BT en liste d'attente (malgré plusieurs BT qui tournent en parallèle quasi 24h/24), je surveille ce que font les algos en live, je rejoues les incidents en backtest à posteriori pour comprendre et debugger les comportements non prévus, sans compter l'amélioriration et l'adaptation du code pour prendre en compte des situations non prévues que l'on découvre, et je dois aussi élargir le nombre de paires traitées.

Bref, une vraie vie de chien l'algo. C'est pire que le discrétionnaire.
Merci pour cette information mais la vérité c'est aussi que le trading auto t'a énormément fait progresser d'un point de vue programmation. Et ça ça vaut de l'or, ne l'oublie pas. Le trader discrétionnaire lui passe son temps devant l'écran dans l'espoir de faire des gains et finit toujours par se ruiner sans avoir rien appris.
Etant depuis peu en automatique et étudiant doucement la programmation, j'essaie de ne pas tomber dans cette voie mais mon Dieu que le temps passe vite.

kariboo
Membre actif et régulier
Messages : 89
Inscription : 09 nov. 2015, 17:27

Re: Le calcul du drawdown de Metaquotes est FAUX

#20 Message par kariboo »

JUPITRADER a écrit :Merci pour cette information mais la vérité c'est aussi que le trading auto t'a énormément fait progresser d'un point de vue programmation.
FAUX
A 14 ans je programmais en assembler 68000 sur les atari et amiga, et participait aux codings party.
Dans mon métier j'ai également développé des milliers de ligne de code autrement plus compliqué que ce qu'on peut faire avec du MQL4

Désolé dans mon cas ça n'est pas Metatrader qui m'a fait progressé en programmation, c'est plutôt que mon expertise en développement C me facilite la programmation en MQL4

Avatar de l’utilisateur
Cati
Nouveau
Messages : 2
Inscription : 23 nov. 2020, 02:11

Re: Le calcul du drawdown de Metaquotes est FAUX

#21 Message par Cati »

Bonsoir,
Merci beaucoup pour ces précisions et commentaires ... Moi qui ne regardait pas assez les DD !

Répondre