MAE MFE

Viewing 15 posts - 1 through 15 (of 18 total)
  • Author
    Posts
  • #29436 quote
    gregoire
    Participant
    Senior

    bonjour a tous
    voici un code pour le MAE et MFE trouvé chez notre cher hk lisse.
    je laisse le soin à nicolas d expliquer comment s en servir n ayant pas plus de précision de la par de hk.
    et de le joindre à la Library.
    merci

    once h2=0
     once l2=0
     once j=0
     i=i+1
     //Rem : mettre les conditions d'entrées
     //if xxxxxxxxxxxxx then
     //   condition=-1 (pour la vente à découvert)
     //else
     //    if xxxxxxxxxxxxx then
     //        condition=1 (pour l'achat)
     //   else
     //       condition=0 (on reste hors marché)
     //    endif
     //endif 
    
    // Rem : le calcul se fait sur la close de la bougie qui déclenche le signal 
    
    // Rem : on teste pour une période de 25 bougies
    
     if condition<>0 and flag=0 then
         flag=1
         i=0
         entry=close
         h1=close
         l1=close
         w=AverageTrueRange[10](close)
         if condition=-1 then
             dic=-1
         else
             dic=1
         endif
     else
     endif
     if flag=1and i>0 then
         if i<=25  then
             h1=max(h1,high)
             l1=min(l1,low)
         else
             flag=0
             mfe=h1-entry
             mae=entry-l1
             j=j+1
             if dic=-1 then
                 k=mfe
                 mfe=mae
                 mae=k
             else
             endif
             mfe1=mfe/w
             mae1=mae/w
             h2=(h2+mfe1)
             l2=(l2+mae1)
            
         endif
     endif
     return mfe1,mae1,h2/j,l2/j,condition 
    
    BullFlag thanked this post
    #29444 quote
    GraHal
    Participant
    Master

    Hi Gregus

    Thank you for sharing.

    Error message attached … I’ll need to translate and look at the code … is it due to ‘Condition’ being Rem’d out?

    Ah I think I have it … the whole code above needs to be part of a full Strategy code and then the ‘Condition’ would then be defined?

    Regards
    GraHal

    error.jpg error.jpg
    #29450 quote
    GraHal
    Participant
    Master

    Excusez-moi, je viens juste de réaliser ce thread est sur le FrenchForum

    Salut Gregus

    Merci pour le partage.

    Message d’erreur joint … Je vais devoir traduire et regarder le code … est-ce dû à «Condition» étant Rem’d out?

    Ah je pense que je l’ai … le code entier ci-dessus doit faire partie d’un code de stratégie complète et ensuite la «condition» serait alors défini?

    Cordialement
    Grahal

    #29474 quote
    gregoire
    Participant
    Senior

    hello Grahal
    I am not the author of the code I have recovered on the site of HK LISSE.
    I tried to use it and I also found myself stuck with the REM function and I posted here to find the solution.
    Yes I think this code should be integrated into a strategy but I think nicolas will answer our interrogation.
    cordially

    #29475 quote
    Nicolas
    Keymaster
    Master

    En fait tout est bien expliqué entre le lignes 5 à 18 par l’auteur de ce code. Il permet à priori d’afficher en tant qu’indicateur le MAE et le MFE d’un ordre. Cependant, il faut indiquer quand on ouvre un ordre selon sa propre stratégie (à définir donc comme indiqué entre les lignes de commentaires que je viens de citer).
    Je pense que ce code doit dater d’avant la 10.2 et la fonction GRAPH. Car on pourrait faciliter la visualisation du Max Adverse Excursion et du Max Favorable Excursion en “graphant” ces deux variables lors d’un backtest, au lieu d’écrire le code d’une stratégie dans un indicateur..

    #29480 quote
    gregoire
    Participant
    Senior

    donc par exemple

    //Rem : mettre les conditions d’entrées (nicolas c est sur sa qu on bloque ?)

    if  MM20<MM50 then
    condition=-1 (pour la vente à découvert)
    else
    if MM20>MM50 then
    condition=1 (pour l’achat)
    else
    condition=0 (on reste hors marché)
    endif
    endif

    oui nicolas je suis d accord avec toi il date un peu mais j en vois une utilité et un intérêt pour les membres du forum, et c’est pour sa que je l ai posté et ta proposition de facilité la visualisation en “graphant” ces deux variables lors d’un backtest, cependant en tant que newbies je veux bien un peu d aide sur ce coup là car je me suis collé sur le risk reward ratio j ai réouvert le post et m en suit mis plein la tête depuis ce matin.

    merci pour tes explications

    #29481 quote
    gregoire
    Participant
    Senior

    si j ai bien compris on reprend les lignes 20 à 55 on les intègres à notre stratégie et on lance le backtest pour obtenir les résultat ?

    #29525 quote
    Nicolas
    Keymaster
    Master

    Le MAE et MFE sont désormais inscrits dans les résultats des backtests pour chaque ordre. Mais si tu souhaites voir l’évolution d’un trade de façon graphique, alors il faudrait utiliser un code les calculant et les intégrer dans un code probacktest.
    Dans le blog tu trouveras pour commencer le code d’un Trailing stop qui utilise le calcul du MFE :

    https://www.prorealcode.com/blog/learning/trailing-stop-max-favorable-excursion-mfe/
    Pour le code du MAE, j’ai déjà croisé le code quelque part sur le forum adapté depuis celui du MFE de cet article.. Il faut le chercher 🙂

    #29528 quote
    gregoire
    Participant
    Senior

    Merci nicolas

    oui j ai vu sur les derniers baktest que j ai fait et il y a le wf maintenant pour l optimisation je M y suis pas encore collé.

    le Mfe je l ai déjà mis de côté , je vais chercher dans la file du mae C est celui ci qu il me manque.

    merci pour le lien et tes conseils.

    Bonne soirée

    #29560 quote
    gregoire
    Participant
    Senior

    bonjour nicolas

    pour le code mae dont tu me parlais estce bien celui ci

    //resetting variables when no trades are on market
    if not onmarket then
     MAXPRICE = 0
     MINPRICE = close
    endif
    
    //case SHORT order
    if shortonmarket then
     MAXPRICE = MAX(MAXPRICE,close) //saving the MAE of the current trade
    endif
    
    //case LONG order
    if longonmarket then
     MINPRICE = MIN(MINPRICE,close) //saving the MAE of the current trade
    endif
    
    #29600 quote
    Nicolas
    Keymaster
    Master

    C’est bien ça en effet, si on est en VAD, alors on sauvegarde le prix le plus haut atteint et inversement lors d’un achat. Attention ici on retourne une valeur prix (Close), et non une valeur en monnaie ou une différence en points par rapport au prix d’entrée.

    #29625 quote
    gregoire
    Participant
    Senior

    merci nicolas

    j ai bien vu maxprice, close pour la valeur du prix (close) donc sur la clôture de la bougie ok et non sur une valeur en money ? alors à quel valeur correspond le prix si ce n est ni en money ni en point, il ne reste que %.

    peut on remplacé maxprice,close par maxpips et pour la money heu maxpositionSize ? suivant le besoin.

    justement je trouve sa très intéressant car je galère sur un autre post Risk Reward Ratio je sais le calculé, j ai trouvé pour  tracé les lignes mais je ne sais pas comment associer les 2.

    merci de m avoir éclairé en 2 jours j en ai pris plein la tète et sa fait du bien d avancé.

    #29629 quote
    Nicolas
    Keymaster
    Master

    Je pense qu’en faisant comme ceci tu devrais arriver à trouver la valeur en points du MAE (en comparant le maxprice ou minprice avec le prix d’ouverture du trade en cours)

    //resetting variables when no trades are on market
    if not onmarket then
     MAXPRICE = 0
     MINPRICE = close
     MAEbuy = 0
     MAEsell = 0
    endif
    
    //case SHORT order
    if shortonmarket then
     MAXPRICE = MAX(MAXPRICE,close) //saving the MAE of the current trade
     MAEsell = -MAX(MAEsell,MAXPRICE-tradeprice)/pointsize
    endif
    
    //case LONG order
    if longonmarket then
     MINPRICE = MIN(MINPRICE,close) //saving the MAE of the current trade
     MAEbuy = -MAX(MAEbuy,tradeprice-MINPRICE)/pointsize
    endif

    Cela retournera les valeurs en points entier et positif du MAE de chaque ordre qu’il soit achat ou VAD (attention ce sont des valeurs positives dans ce code example, mais ce sont bien des pertes).

    #29633 quote
    gregoire
    Participant
    Senior

    super merci j en demandait pas autant toute ma gratitude et pour les autres membres à qui sa servira.

    dit moi on peu supprimé des pieces jointe et les remplacé par du code prt ?

    merci

    #29653 quote
    Nicolas
    Keymaster
    Master

    Supprimer des pièces jointes c’est à dire ?

    (sinon pour la conjugaison, si tu peux remplacer ton verbe par un autre du premier groupe qui finit en “re”, alors il faut le mettre à l’infinitif. Exemple: “dit moi on peut vendre”, donc tu peux mettre “dit moi on peut supprimer”).

Viewing 15 posts - 1 through 15 (of 18 total)
  • You must be logged in to reply to this topic.

MAE MFE


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
gregoire @gregus Participant
Summary

This topic contains 17 replies,
has 2 voices, and was last updated by Nicolas
3 years, 5 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 03/22/2017
Status: Active
Attachments: 1 files
Logo Logo
Loading...