Extratrend stratégie en un indicateur

Forums ProRealTime forum Français Support ProBuilder Extratrend stratégie en un indicateur

Viewing 14 posts - 16 through 29 (of 29 total)
  • #196048

    J’avais tenté de marquer cela comme suit, mais il me dit qu’il y a une erreur à la ligne 86. Je suis un peu bloqué :

    capitalinitial=10000
    risque=1
    exitstrategy=1
    profitfactor=6
    stopfactor=1.5
    partialprofit=1
    partialprofitfactor=3
    ratchetfactor=7
    // PULLBACK CONDITIONS
    SMA20= Average[20](close)
    PB = (close <= SMA20)

    // Appel des valeurs d’ExtraTrend
    myTrend, ignored, ignored, myReDyn, ignored = CALL “ExtraTrend”[0,0,0,0,0](close)

    // Tendance ExtraTrend
    if myTrend>myTrend[1] then
    tendance=1
    endif
    if myTrend<myTrend[1] then
    tendance=0
    endif

    // Break Résistance Dynamique ExtraTrend
    if myReDyn>myReDyn[1] then
    ReDyn=1
    endif
    if myReDyn<myReDyn[1] then
    ReDyn=0
    endif

    // score Metascore
    myScore, ignored, ignored = CALL “MetaScore”[80, 0, 0](close)

    //STRATEGIES OF BUY
    // Entrée début de tendance
    if tendance and not tendance[1] and not ionmarket and myscore>80 and ReDyn=1 THEN
    drawarrowup(barindex,low-AverageTrueRange[14](close)/2) coloured(“black”)
    istoploss = close-stopfactor*averagetruerange[20]
    //set stop loss stopfactor*averagetruerange[20]
    if exitstrategy=0 then
    itakeprofit = close+profitfactor*averagetruerange[20]
    //set target profit profitfactor*averagetruerange[20]
    endif
    flag=0
    ionmarket=1
    endif

    // Pullback dans tendance
    if tendance[1] and not ionmarket and myScore>80 and PB THEN
    drawarrowup(barindex,low-AverageTrueRange[14](close)/2) coloured(“black”)
    istoploss = close-stopfactor*averagetruerange[20]
    //set stop loss stopfactor*averagetruerange[20]
    if exitstrategy=0 then
    itakeprofit = close+profitfactor*averagetruerange[20]
    //set target profit profitfactor*averagetruerange[20]
    endif
    flag=0
    ionmarket=1
    endif

    if ionmarket and close>=myTrend+partialprofitfactor*averagetruerange[20] and flag=0 and partialprofit=1 then
    drawtext(“X”,barindex,high+AverageTrueRange[14](close)/2,dialog,bold,20) coloured(“green”)
    flag=1
    endif

    if ionmarket and exitstrategy=1 and close<lowest[30](highest[55](high)-ratchetfactor*averagetruerange[20])then
    drawtext(“OUT”,barindex,high+AverageTrueRange[14](close)/2,dialog,bold,20) coloured(“black”)
    ionmarket=0
    endif

    //test stoploss & takeprofit
    if ionmarket then
    if high >= itakeprofit and exitstrategy=0 then
    drawtext(“TP”,barindex,high+AverageTrueRange[14](close)/2,dialog,bold,20) coloured(“black”)
    ionmarket=0
    elsif low <= istoploss then
    drawtext(“SL”,barindex,high+AverageTrueRange[14](close)/2,dialog,bold,20) coloured(“red”)
    ionmarket=0
    endif
    endif

    return itakeprofit style(dottedline2) coloured(“green”), istoploss style(dottedline3) coloured(“black”)

    //STRATEGIES OF SELL
    IF tendance[0] and not sonmarket and myScore<20 and not ionmarket then
    drawarrowdown(barindex,low-AverageTrueRange[14](close)/2) coloured(“red”)
    sstoploss = close-stopfactor*averagetruerange[20]
    //set stop loss stopfactor*averagetruerange[20]
    IF exitstrategy=0 then
    stakeprofit = close+profitfactor*averagetruerange[20]
    //set target profit profitfactor*averagetruerange[20]
    endif
    flag=0
    sonmarket=1
    endif

    if sonmarket and close>=myTrend+partialprofitfactor*averagetruerange[20] and flag=0 and partialprofit=1 then
    drawtext(“X”,barindex,high+AverageTrueRange[14](close)/2,dialog,bold,20) coloured(“green”)
    flag=1
    endif

    if sonmarket and exitstrategy=1 and close<lowest[30](highest[55](high)-ratchetfactor*averagetruerange[20])then
    drawtext(“OUT”,barindex,high+AverageTrueRange[14](close)/2,dialog,bold,20) coloured(“black”)
    sonmarket=0
    endif

    //test stoploss & takeprofit
    if sonmarket then
    if high >= stakeprofit and exitstrategy=0 then
    drawtext(“TP”,barindex,high+AverageTrueRange[14](close)/2,dialog,bold,20) coloured(“black”)
    sonmarket=0
    elsif low <= sstoploss then
    drawtext(“SL”,barindex,high+AverageTrueRange[14](close)/2,dialog,bold,20) coloured(“red”)
    sonmarket=0
    endif
    endif

    return stakeprofit style(dottedline2) coloured(“green”), sstoploss style(dottedline3) coloured(“black”)

    #196091

    Bonjour Nicolas,

    Merci beaucoup pour le code, cependant il reste un point que je n’arrive à comprendre et je n’arrive pas à avoir de réponse de Christophe.

    En mettant exitstrategy=0, je ne trouve jamais une occurence de “TP” pour laquelle on aurait donc le Take profit total et non pas partiel.

    As tu un exemple sur lequel on peut voir le “TP”?  qui déclencherait donc le drawtext(“TP”,barindex,high+AverageTrueRange[14](close)/2,dialog,bold,20) coloured(“green”)

    Merci,

    #196121

    Bonjour à tous.

    J’ai humblement essayé différentes stratégies avec Extratrend, et les résultats que j’obtiens sont radicalement différents d’un Timeframe à l’autre. De ce que j’ai compris ca marche mieux sur les UT longues genre daily, car les tendances sont plus claires, car logiquement beaucoup moins de faux signaux, de bruits, de gaps, etc… Ca devient beaucoup plus compliqué quand on descend les UT genre 15 min, la performance est anéantie par des titres en range pleins de faux signaux, et même en utilisant des gardes fous genre Metascore + multi timeframe pour être sûr d’être en tendance en Journalier & 1 heure, avant de prendre une position en 15 min quand metascore au-dessus de 90, les résultats sont peu convaincants, je vous partage ici le dernier code a ce sujet inspiré de ce qu’a proposé Christophe et d’autres participants de ce file ( que je remercie).
    En bref je suis toujours en recherche d’une stratégie efficace en UT courte pour avoir la meilleure performance en un minimum de temps.
    J’ai aussi testé une stratégie de sortie de position via un stop inspiré des Tortues, ca marche mieux que le stop ratchet de Christophe dans quelques cas, mais le plus souvent le stop de Christophe est plus efficace, tout depends du titre tradé…

    #196122

    J’ai aussi testé une autre stratégie basée sur la cassure de la resistance dynamique, et dans le meme esprit que la précédente les résultats sont bons quand la tendance est belle longue et bien établie, mais dès qu’on descend les unités de Temps avec un graphique sans tendance clair, alors rien ne va plus… (Voir screenshot)
    Pas facile de trouver le meilleur des 2 mondes.

    #196125

    Bonjour,

    Ce n’est peut-être pas le but de l’indicateur Extratrend d’entrer sur des positions “short” lorsqu’une nouvelle tendance baissière s’amorce (bande grise sans bande bleue), mais est-ce que quelqu’un aurait déjà essayer d’ajouter un bout de code pour essayer ?

     

     

     

     

    #196126

    désolé ne tenez pas compte de mon précédent message je n’avais pas vu qu’il y avait un essai avec une partie “short” dans la page précédente !

    #196447

    Bonjour à tous,

    Je vous partage ma version actuelle de stratégie long/short qui fait appel à Extratrend :

    J’ai fait comme j’ai pu pour transformer cette stratégie en indicateur pour l’utiliser en temps réel sur mes graphiques. Je ne suis pas certain de la partie “Renforcement Short” :

    Je suis vraiment très débutant en codage sur PRT. Donc si des personnes clémentes acceptent de vérifier mes codes, je leur en serai gré. Ils doivent sans doute comporter des erreurs.

    Au plaisir d’échanger ensemble.

    1 user thanked author for this post.
    #196449

    Notamment la partie SHORT de l’indicateur, je ne suis pas très sûr de la véracité de mon codage. J’ai peur que cela ne relate pas la stratégie du backtesting.

    #196496

    Nicolas,

    Je ne sais pas si tu peux y jeter un oeil stp ?

    Car je galère vraiment à transformer ma stratégie en indicateur.

    Merci d’avance,

    Thibaut

    #199503

    Bonjour

     

    J’ai codé une stratégie longue en utilisant ExtraTrend et Metascore avec les caractéristiques suivantes

    • Entrée avec Stop Loss, pour la définition de la taille de position
    • 2  possibilités de pyramidage avec le même nombre de titres
    • Cloture sur StopSuiveur dans toute la durée de trade

    Il y a une conditon supplémentaire, attente d’au minimum 20 barres après la clôture avant de reprendre un position

    Cette stratégie est globalement gagnante (de très beaux ^rofits lorsque l’on prend une tendance) mais elle est impactée par les éléments suivants

    • Trop de trades proposés
    • le pourcentage de trades perdants est beaucoup trop important

    Je cherche donc à filtrer mieux mes entrées, dans l’espoir de réduire le % de trades perdants.

    L’un de vous aurait-il une bonne idée pour filtrer les entrées ?

    Au plaisir de vous lire et bons trades… à tous

    1 user thanked author for this post.
    #199546

    Bonsoir,

    votre post a suscité mon intérêt, je serai intéressé pour jeter un oeil à votre code 🙂

    Concernant votre question, difficile de répondre mais peut-être qu’en filtrant avec le metascore pourrait être intéressant.

    On pourrait imaginer par exemple :

    • ne prendre que les signaux pour lesquels le metascore est au-dessus d’un seuil
    • ou bien ne prendre que les signaux pour lesquels le metascore est en hausse par rapport à la période précédente
    • ou bien le metascore est supérieur à la moyenne des metascore des x dernières périodes

    Dans tous les cas, il est certain que faire des backtests pour tester les config profitable est une bonne approche 🙂

    Bonne continuation.

     

    #199635

    Oups j’ai vu que mon message n’était pas en “reply” du tien mais c’etait bien une réponse à ton message …. https://www.prorealcode.com/topic/extratrend-strategie-en-un-indicateur/page/2/#post-199546

    #199660

    Bonjour

    Je suis loin d’être un programmeur averti et mon code est assez compliqué. J’ai eu en particulier des difficultés pour réaliser les pyramidages, les reconnaitre et limiter leur nombre.

    Le code est prévu pour un investissement avec un risque de 250 € (capital initial de 100 k€, risque 0,25 % sur la position initiale, au minimum de 0,8 % si les 2 pyramidages sont réalisés

    L’objectif est de faire tourner ce backtest sur les principales Action Euronext, Allemagne, Nyse, Nasdaq, d’obtenir un portefeuille de trades classés par date de prise de position sur 10 ans du 1/01/2011 au 31/12/2020 (clôture des trades en cours imposée au 30/6/2021)

    Pour la simulation de portefeuille j’ai développé (encore en cours de modification pour étudier les options de Money Management) un programme Visual Basic 2019 qui réalise la simulation de portefeuille (positions, frais de bourse, calcul des taux de changes USD/EUR et frais de change).

    Sortie

    • liste détaillée des positions
    • capital final trades fermés
    • DrawDown maxi en % et absolu, date du DrawDown et Capital théorique maxi

    Tous les commentaires, simplifications, améliorations sont les bienvenus.

    Au plaisir de lire les réponses

     

     

     

    1 user thanked author for this post.
    #202369

    Bonjour à tous

    je vous annonce avoir crée un nouveau sujet dans le forum Discussion Generale sur le Trading, sujet nommé

    Backtests et Screeners Base TrendFrance (Monsterstock, ExtraTrend, Metascore) #202362

    https://www.prorealcode.com/topic/backtests-et-screeners-base-trendfrance-monsterstock-extratrend-metascore/

    Merci par avance pour vos contributions

    Bons trades à tous

    plbourse

    1 user thanked author for this post.
Viewing 14 posts - 16 through 29 (of 29 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login