Help : Probacktest et Probuilder en désaccord

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #46310 quote
    Tom78
    Participant
    New

    Bonjour à tous,

    Je débute en programmation sur Prorealtime, j’ai fait un petit programme qui est un “momentum amélioré”, en ce sens qu’au lieu de calculer la différence de prix entre 2 dates distantes de 60 jours, il calcule la différence de prix entre 2 moyennes mobiles de 10 jours distantes de 60 jours.

    Or les résultats de ce programme mis dans Probacktest et dans Probuilder sont incohérents. Le principe c’est que lorsque le “momentum amélioré” > 0 il achète, lorsque “momentum amélioré” < 0 il vend. Or les achats/ventes de Probacktest ne correspondent pas du tout aux passages dans le positif ou le négatif de Probuilder.

    J’ai joint une copie d’écran montrant le décalage complet entre les 2.

    Merci d’avance pour votre aide …..

     

    Probuilder :

    //Nombre de jours séparant les deux bornes du momentum
    Duree = 60
    
    //Nombre de jours des moyennes mobiles
    n = 10
    
    //Moyenne mobile actuelle
    Now = 0
    
    //Moyenne mobile il y a "Duree" jours
    Before = 0
    
    //Calcul de la moyenne mobile de n jours
    // - actuelle (Now)
    // - il y a "Duree" jours (Before)
    
    FOR i = 0 to n DO
    
    Now = Now + DClose(i)
    
    Before = Before + DClose(Duree+i)
    
    NEXT
    
    Now = Now / (n+1)
    
    Before = Before / (n+1)
    
    Elan = Now - Before
    
    return Elan

    ProBackTest :

    DEFPARAM CumulateOrders = false
    
    //Nombre de jours séparant les deux bornes du momentum
    Duree = 60
    
    //Nombre de jours des moyennes mobiles
    n = 10
    
    //Moyenne mobile actuelle
    Now = 0
    
    //Moyenne mobile il y a "Duree" jours
    Before = 0
    
    //Calcul de la moyenne mobile de n jours
    // - actuelle (Now)
    // - il y a "Duree" jours (Before)
    
    FOR i = 0 to n DO
    
    Now = Now + DClose(i)
    
    Before = Before + DClose(Duree+i)
    
    NEXT
    
    Now = Now / (n+1)
    
    Before = Before / (n+1)
    
    Elan = Now - Before
    
    // Conditions pour ouvrir une position acheteuse
    IF Elan > 0 THEN
       BUY 1 CONTRACTS AT MARKET
    ENDIF
    
    // Conditions pour fermer une position acheteuse
    IF Elan < 0 THEN
       SELL AT MARKET
    ENDIF
    #46364 quote
    Nicolas
    Keymaster
    Master

    Il faudrait comprendre ce que retourne la variable ‘Elan’ dans Probacktest pour comparer avec l’indicateur. On peut le faire facilement en ajoutant cette instruction dans le programme de trading automatique :

    GRAPH Elan

    #46432 quote
    Tom78
    Participant
    New

    Merci pour votre réponse,

    J’ai donc utilisé GRAPH Elan et résultat étonnant :

    • Dans probacktest :

    DClose(60) = Close[60] = cours de clôture il y a 60 unité de temps !!!

    • Dans probuilder :

    DClose(60) signifie le cours de clôture il y a 60 jours

    Close[60] signifie le cours de clôture il y a 60 unité de temps

     

    Comme mon unité de temps était mensuelle lorsque j’écrivais DClose(i) pour Probuilder c’était il y a “i” jours pour Probacktest c’était il y a “i” mois.

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

Help : Probacktest et Probuilder en désaccord


Support ProOrder

New Reply
Author
author-avatar
Tom78 @tom78 Participant
Summary

This topic contains 2 replies,
has 2 voices, and was last updated by Tom78
8 years, 4 months ago.

Topic Details
Forum: Support ProOrder
Language: French
Started: 09/15/2017
Status: Active
Attachments: 1 files
Logo Logo
Loading...