Faux Calcul HMA ProOrder

Forums ProRealTime forum Français Support ProOrder Faux Calcul HMA ProOrder

Tagged: 

Viewing 7 posts - 1 through 7 (of 7 total)
  • #90346

    Bonjour,

    J’ai longuement parcouru le forum à la recherche d’une solution à mon problème mais je n’ai rien trouvé à ce sujet.

    J’ai écris le code (bien connu) de la moyenne mobile de Hull pour l’intégrer à une stratégie. Mais lors de la vérification avec la fonction ‘graph’ du backtest je me suis rendu compte que le code retournait la mauvaise valeur de la HMA. Je suis venu voir sur le forum si quelqu’un avait posté le calcul de cette moyenne, (https://www.prorealcode.com/topic/moyenne-mobile-50-de-la-moyenne-hull/) afin de remplacer le miens et voir si l’erreur venait de moi : et bien non! Le code trouvé sur ce lien renvoie la même “fausse” valeur. Etant persuadé que le code était le bon, j’ai donc décidé de tenter de créer un ProBuilder pour voir ce qu’il retournait : le ProBuilder renvoie la bonne valeur! Super, j’ai donc avec la fonction ‘CALL’ appelé mon code dans la stratégie, mais cette même fausse valeur apparaît toujours à la place de la bonne moyenne de Hull.

    Je ne sais pas comment faire, est-ce  que cela viens de chez moi ? Je ne comprends pas. J’ai testé avec un compte réel au lieu d’un compte démo au cas où, mais aucun changement. C’est très étonnant que le même code renvoie deux valeurs différentes en fonction de si il est placé en ProOrder ou ProBuilder…

    Voilà mon code ProOrder (juste pour le calcul de la HMA)

    Voilà le ProBuilder

    La capture d’écran montre sur la zone 2 la vraie HMA (500 pour ce test) en Daily sur le DAX qui retourne la juste valeur, puis sur la zone 3 le ProBuilder retournant la même valeur juste grâce au code à gauche trouvé sur le forum, et enfin, la zone 1, montre la fausse valeur de la HMA 500 et son code sur la gauche identique à celui du ProBuilder.

     

    Merci par avance pour votre aide 🙂

    Cordialement.

     

    Lorenzo

    #90368

    Je me souviens d’un problème similaire et de mémoire j’avais conclut à une erreur d’arrondi de la période dans ProOrder, il faudrait que je retrouve le topic..

    Bref, en attendant, on peut essayer ces potentiels fix:

    • preloadbars plus long
    • ajouter une condition pour que la moyenne ne se calcule qu’à partir de la 500ème barre (soit IF BARINDEX>500 …)

    Pour info, la moyenne mobile de Hull aura sa propre instruction dans PRT v11, plus besoin de la coder très bientôt.

    #90430

    @Nicolas bonjour,

    Merci beaucoup pour ta réponse. En ce qui concerne PreLoadBars plus long j’avais déjà essayé et je viens de retester : ça ne change malheureusement rien. Je viens aussi d’ajouter une condition pour le calcul qu’à partir de la 500ème et cela n’améliore pas la situation.

    J’ai aussi entre temps essayé sur d’autres UTs et avec d’autre valeurs de HMA les écarts sont parfois plus raisonnables mais toujours inexactes. Plutôt embêtant…

    Je n’y avais pas pensé, mais c’est forcément une histoire d’arrondis maintenant que tu le suggères! C’est bien qu’ils l’intègrent pour la v11, mais pour le moment ça n’arrange pas vraiment mon petit projet de code avec HMA mais c’est déjà bien de le savoir.. 🙂

    Si tu as une idée en attendant la prochaine version, je suis preneur! Pour le moment j’essaie”à l’ancienne” de savoir si la stratégie imaginée pourrait-être rentable mais c’est long et fastidieux.

    J’attends avec impatience des nouvelles de ta part

    Bonne journée

    Lorenzo

     

    #91129

    En effet le problème existe bien côté plateforme, un calcul interne ne permet pas d’obtenir la même chose pour ce type de moyenne mobile. Un correctif sera déployé, je n’ai pas de date à communiquer 😐

    #92342

    Bonjour Nicolas,

    Mes excuses pour la réponse tardive, merci pour l’information, dans ce cas j’attendrai l’intégration de la HMA ou de ce correctif 🙂

    Encore pas de chance pour moi rire

    Bonne journée

    #95456

    Pour faire suite à ce problème, voilà ce qui est en découle:
    La formule originale de Alan Hull cast bien le paramètre en entier comme le fait l’indicateur java: https://alanhull.com/hull-moving-average
    Donc on aurait tord de changer la formule java qui est en fait la formule correcte (Java = ProBacktest).
    Donc dans la version 11 à venir, il va être ajouté un nouveau mot clé (floor par exemple) qui permettra de caster une valeur en entier et donc, si l’on veut, de reproduire cet indicateur (même si il sera appelable directement en v11 grâce à une nouvelle instruction hullaverage = mot clé à confirmer) et ce sera toujours utile pour d’autres indicateurs par la suite.

    #95830

    Très bien Nicolas, merci du suivi.

    On va donc attendre la V11, en attendant on va continuer à la main.

Viewing 7 posts - 1 through 7 (of 7 total)

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