Backtest d’une stratégie de Pullback Supertrend

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #218720 quote
    blindax
    Participant
    New

    Bonjour

    J’essaye de backterster en vue d’automatiser une stratégie de pullback suite à des retournements du supertrend

    C’est une de mes premières programmation Probacktest et à l’évidence je ne maitrise pas tout. Pour l’instant je ne me suis focalisé que sur les Buy, je ferai les Sell une fois que la logique sera bonne sur les Buy. Je teste sur des paires FOREX

    Quand je lance le backtest aucun ordre n’est lancé.

    Dans la logique, suite à un retournement du supertrend à l’achat, je veux placer un ordre d’achat à cours limité sur le supertrend pour jouer le pullback. Mon TP est le plus haut depuis le retournement du ST, mon SL est le plus bas entre les retournements précédents du ST. J’ai mis des offset pour ajouter ou retrancher qq pips sur le SL et TP afin de regarder l’impact sur le résultat.

    Pouvez vous me confirmer que les ordre à cours limité sont à repositionner à chaque bougie ?

    J’ai aussi mis un facteur 100 pour gérer le YEN, mais je pense que je ne fais pas comme il faut, je suis sur qu’il y a bcp plus simple.

    J’ai repris le money management en pourcentage du capital que Nicolas avait proposé sur le Forum, en rajoutant une notion de devise pour traiter des paires avec le bon taux de change.

    Je gère différents facteurs pour savoir quand y aller : Le ratio, le gain minimum (valeur minimum du TP) et est ce qu’il y a un pullback en cours (sur cette variable notamment, je ne suis pas sur du tout de ce que j’ai fait et de comment ProRealTime la recalcule ou pas à chaque nouvelle bougie

    Pour sortir de me positions, soit le TP est atteint, soit je sors au marché sur retournement du Supertrend à la baisse.

    Enfin je pense que mon code est pas du tout optimisé, mais ça viendra dans un seconde temps

    Je vous remercie par avance de l’aide que vous pourrez me donner

    Wilfried

    //Bactest Pullback
    //Variable m , p, OffsetSL,OffsetTP, Ratio, GainMIN
    M=2
    p=10
    OffsetSL=5 //pips
    OffsetTP=2 //pips
    Ratio=0.4
    GainMIN=8
    //Gestion du Yen : Fact =100 pour le Yen, sinon fact = 1
    Fact=1
    
    // Money Management
    Capital = 10000
    TxChange =1.6838
    Risk = 0.005// = 0.5%
    StopLoss = 100 // value of stoploss in pips/points
    REM Calculate contracts
    equity = Capital + StrategyProfit
    maxrisk = round(equity*Risk)
    
    
    st = Supertrend[m,p]
    once PullbackHA=1
    
    if close > st then
    
    //calcul du nombre de bougie jusqu’au premier retounement et au précédent
    i=0
    WHILE (st[i+1] < close[i+1]) DO
    i = i+1
    WEND
    j=i+1
    WHILE (st[j+1] > close[j+1]) DO
    j = j+1
    WEND
    //calcul des tailles de position
    amplitudeSLPB=abs(close - lowest[j](low))
    SLPB = (close - amplitudeSLPB)- OffsetSL/10000*fact
    amplitudeTPPB = abs(close)-highest[i](close)
    TPPB= (close + amplitudeTPPB)- OffsetTP/10000*fact
    TPPBpips=abs(close-TPPB)*10000/fact
    SLPBpips= abs(close-SLPB)*10000/fact
    //taille de position
    PositionSize = abs(round((maxrisk*TxChange/SLPBpips)/PointValue)*pipsize)
    //conditions pour HA
    //ratioPB = TPPBpips/SLPBpips > Ratio
    //GainPB = TPPBpips>GainMIN
    //ObjSTKO = highest[i](high) < TPPB
    //
    If PullbackHA then
    BUY PositionSize LOT AT st LIMIT
    SET STOP LOSS abs(close-SLPB)
    SET TARGET PROFIT abs(close-TPPB)
    pullbackHA=0
    Endif
    Endif
    
    If close CROSSES UNDER ST and LongOnMarket then
    Sell at market
    PullbackHA=1
    Endif
    
    #218730 quote
    Nicolas
    Keymaster
    Master

    Oui en effet, ta position LIMIT ne se maintiendra qu’une seule bougie puisque tu passes directement la condition qui permet son placement à 0 (pullbackHA=0)

    Il faut donc revoir ce principe, peut être faire un pullbackHA=0 uniquement si tu es au marché ?

    Pour la logique de “retournement”, je n’ai pas bien compris, un graphique explicatif ne serait pas de refus 🙂

    blindax thanked this post
    #218740 quote
    blindax
    Participant
    New

    Oui évidemment voici la photo.

    Effectivement il est simple de savoir si l’ordre d’achat a été passé et est encore en cours : La bougie précédente a franchi le superTrend et a clôture au dessus. Je vais essayer ça et je reviens vers vous

    Capture-decran-2023-08-08-a-18.14.35.png Capture-decran-2023-08-08-a-18.14.35.png Capture-decran-2023-08-08-a-18.18.05.png Capture-decran-2023-08-08-a-18.18.05.png
    #218743 quote
    blindax
    Participant
    New

    J’arrive à avoir des ordres quand je supprime mes SET Stop Loss et Set Target Profit. Quand on saisit ces commandes, qu’attend il ? Pips, cours, écart de point avec close ?

    #218813 quote
    Nicolas
    Keymaster
    Master

    Ecart en prix :

    SET Stop Loss et Set Target Profit

    Ecart en points (s’ajuste automatiquement à la taille d’un point pour l’instrument) :

    SET Stop pLoss et Set Target pProfit

    blindax thanked this post
    #218896 quote
    blindax
    Participant
    New

    Merci, c’est compris et j’ai réussi à le mettre en place

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

Backtest d’une stratégie de Pullback Supertrend


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
blindax @blindax Participant
Summary

This topic contains 5 replies,
has 2 voices, and was last updated by blindax
2 years, 6 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 08/08/2023
Status: Active
Attachments: 2 files
Logo Logo
Loading...