boucle 10 derniers trades

Forums ProRealTime forum Français Support ProOrder boucle 10 derniers trades

Viewing 6 posts - 1 through 6 (of 6 total)
  • #242201

    Bonjour à tous ! Je me heurte à une difficulté concernant les boucles for … do … next, que je découvre.

    Dans un backtest, je souhaite coder le % de trades gagnants au cours des 10 derniers trades.

    Pour cela , j’intègre dans mon code la partie ci dessous :

    // Compteur de positions gagantes / perdantes
    if LONGONMARKET[1] then
    gainTradeLong = (tradeprice – tradeprice(2))*2-1.40 // le*2-1.40 correspond au levier (2$ le point) et aux frais de transaction (1.40)
    ENDIF
    IF SHORTONMARKET[1] then
    gainTradeShort = (TRADEPRICE(2) – tradeprice) * 2 -1.40
    ENDIF

    // compte les gains cumulés :
    CumulGainTradesLong = CumulGainTradesLong + gainTradeLong

    CumulGainTradesShort = CumulGainTradesShort + gainTradeShort

    // Compte le nombre de trades gagnants par type de trade
    once totalTrades = 0          // je mets à 0 les variables
    once winningTradesLong = 0
    once winningTradesShort = 0

    // compte les trades longs gagnants
    if LONGONMARKET [1] and not LONGONMARKET and gainTradeLong > 0 then
    winningTradesLong = winningTradesLong + 1
    endif
    // compte les trades shorts gagnants
    if SHORTONMARKET [1] and not SHORTONMARKET and gainTradeShort > 0 then
    winningTradesShort = winningTradesShort + 1
    endif
    // compte le nombre total de trades
    If ONMARKET and NOT ONMARKET [1] then
    TotalTrades = TotalTrades + 1
    ENDIF
    // calcule le ratio de trades gagnants
    nbTradesGagnants = winningTradesLong + winningTradesShort
    ratioTradesGagnants =(nbTradesGagnants/totalTrades ) * 100 // donne le % de trades nbTradesGagnants
    // on peut aussi détailler le ratio trades longs ou shorts.

    // Tout le code ci dessus fonctionne bien, mais maintenant je souhaite limiter cela aux 10 derniers trades
    //tableau de résultat des trades
    // Résultat des 10 derniers trades
    Result10dernierstrades = 0
    for i = 0 to 10 DO
    Result10dernierstrades = Result10dernierstrades + nbTradesGagnants[i]
    NEXT

    // j’ai essayé cette boucle mais elle ne fonctionne pas. Je ne sais pas comment trouver ce résultat, pourtant simple a priori…

    Merci de votre aide précieuse !

    Michel

    #242213

    Peut être pour simplifier ma question : comment coder le taux de réussite des 10 derniers trades (qu’ils soient longs ou shorts) ? peu m’importe le montant du gain ou de la perte, je voudrais juste connaitre le % de trades gagnants sur les 10 derniers trades.

    Merci de votre aide !

    Michel

     

     

    #242231

    Voilà:

     

    1 user thanked author for this post.
    #242232

    Cela fonctionne parfaitement ! Un très grand merci !!!

    Michel

     

    1 user thanked author for this post.
    #242271

    J’ai cependant une question : le code retourne les bons pourcentages de trades gagnants/perdants, mais inversés ! …
    En effet quand je regarde le résultat, j’ai 7 trades gagnants sur les 10 derniers trades et le code retourne 7 trades perdants pour 3 gagnants.

    J’ai regardé votre code (qui me fait bien progresser dans les fonctions tableau) mais je ne vois pas où il y aurait une erreur.

    #242274

    Je crois avoir trouvé la solution en modifiant la ligne 9 comme cela  :

    IF NOT ONMARKET AND StrategyProfit <> StrategyProfit[1] THEN
    (en effet la fonction Strategyprofit se modifie dès qu’un trade est ouvert. En ajoutant le IF NOT ONMARKET, cette fonction ne prend effet qu’à la cloture du trade !)
    Le résultat est correct !
    Encore merci !
    Michel
    1 user thanked author for this post.
Viewing 6 posts - 1 through 6 (of 6 total)

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