Filtre Hodrick-Prescott – Comment renvoyer les valeurs ?

Forums ProRealTime forum Français Support ProBuilder Filtre Hodrick-Prescott – Comment renvoyer les valeurs ?

  • This topic has 16 replies, 2 voices, and was last updated 1 year ago by avatarDenis.
Viewing 15 posts - 1 through 15 (of 17 total)
  • #204157

    Bonjour à tous,

    Nicolas a republié sur Twitter ce week-end un code qu’il avait élaboré sur la base du Filtre Hodrick–Prescott.

    https://www.prorealcode.com/prorealtime-indicators/hodrick-prescott-filter-hp/?utm_source=ReviveOldPost&utm_medium=social&utm_campaign=ReviveOldPost

    J’ai trouvé ce code intéressant et complémentaire aux indicateurs que j’utilise et j’ai voulu renvoyer les valeurs de traçage du drawsegment restitué par le code en insérant une instruction du type « return $output » comme le suggérait Nicolas dans les commentaires.

    Malheureusement, cela ne me renvoie une valeur qu’à partir de l’instant où j’ouvre un graphique et en plus un peu différente du drawsegment.

    Si quelqu’un a une suggestion pour renvoyer les valeurs de traçage du drawsegment, il m’aiderait grandement.

    En vous remerciant par avance, je vous souhaite un agréable après-midi.

    Denis

     

    #204193

    Attention, il faut bien comprendre qu’on trace les segments dans le passé et que ces valeurs (dans le passé) se modifieront à chaque nouvelle bougie pour coller parfaitement aux nouvelles données acquises (bref, ça repeint..). Donc même si on affiche les données vues dans chaque chandelier en temps réel, elles seront caduques (et donc fausse) à chaque nouvelle données (chandelier) reçues. Ai-je été clair ?

    Donc en gros, les données des segments telles que tu les visualise sur l’historique ne sont pas du tout les mêmes en temps réel.

    1 user thanked author for this post.
    #204194

    Bonjour Nicolas,

    Merci pour ton retour.

    J’ai bien compris que cela repeint.

    Y a-t-il quand même moyen d’afficher cet historique des valeurs ?

    En te remerciant par avance.

    Denis

    #204378

    Bonjour Nicolas,

    Désolé de te déranger.

    Aurais-tu une idée pour afficher les données ?

    Merci par avance pour ton aide.

    Denis

    #204381

    Oui c’est bien ce que fait l’indicateur actuellement 🙂

    Je crois que tu n’as pas bien compris. On peut afficher la valeur à l’instant T, le temps s’écoule, cette valeur se décale dans le passé à la bougie n-1, et on recommence. C’est ce que tu observes, cette valeur ne sera plus valable dès le prochain tick reçu car elle se verra modifié avec les nouvelles données disponibles. Rien qu’on ne calcule en temps réel ne sera valable hormis dans l’historique, donc purement visuel et c’est pour cela qu’on trace ces infos avec un dessin constitué de segments.

    1 user thanked author for this post.
    #204382

    Tu as raison, je ne comprends pas bien, désolé.

    Pour l’indicateur ZigZag qui repeint lui aussi, on a quand même une valeur même si elle est amenée à être modifiée.

    Ce n’est pas possible de faire pareil ?

     

    #204626

    Un zigzag pointe un plus haut et un plus bas du prix, il sera fixé après X bougies. Donc le principe est le même, l’information en temps réel est susceptible de changer durant X bougies, après ce laps de temps elle sera fixé, donc en temps réel on ne peut connaître la dernière valeur qu’aura le zigzag.

    1 user thanked author for this post.
    #204646

    Bonjour Nicolas,

    Merci pour ton retour. Je me suis peut-être mal exprimé :

    Je ne discute pas le fait que les dernières valeurs changent jusqu’à être figées à un moment, que ce soit pour le ZigZag ou le Hodrick-Prescott.

    Mais même susceptible de bouger, c’est une valeur qui est renvoyée pour le ZigZag et pas un segment.

    J’ai essayé désespérément de rajouter une commande dans ton code Hodrick-Prescott pour renvoyer des valeurs plutôt qu’un segment mais sans succès.

    Toi qui es bien plus à même que moi de trouver une subtilité de code, aurais-tu une suggestion pour renvoyer l’historique des valeurs plutôt qu’un segment ?

    Même si les dernières changent et ne se figent qu’au bout de X bougies, cela importe peu.

    En te remerciant par avance pour ton aide.

    #204647

    La valeur temps réel de l’indicateur c’est la première colonne du tableau $output, soit:

    Dans l’image jointe, c’est la ligne blanche.

    1 user thanked author for this post.
    #204652

    Mille mercis Nicolas, je vais essayer cela et te tiens au courant. Bon apm

    #204654

    Sauf erreur de ma part, cela renvoie bien la dernière valeur à l’instant t (celui où on ouvre le graphique) et ensuite les suivantes (sous réserve de laisser le graphique ouvert) mais pas celles précédant la dernière valeur à l’instant où on ouvre le graphique.

    Cela donne le même résultat que de mettre dans la boucle “V=output[i]” et à la fin “return V”

    Faut-il en conclure que ce n’est pas possible d’avoir les valeurs historiques comme pour le ZigZag ?

    Ou faut-il que je fasse une demande spécifique de prestation payant ?

    Merci pour ton retour Nicolas

    #204656

    Ces valeurs ont changées, peut être une centaine de fois, comme tu peux le voir sur les images que j’ai posté, la ligne jaune c’est la même valeur que la ligne blanche mais qui s’adapte à chaque nouvelle bougie.

    Avec le code ci-dessous, le calcule démarre dés la première barre de l’historique, donc tu auras les anciennes valeurs du tableau, plus gourmand en ressources par contre.

     

    1 user thanked author for this post.
    #204657

    Encore une fois merci pour ton aide précieuse Nicolas

    Je teste à la pause de mes cours cet apm

    A+

    #204659

    Cela fonctionne bien, même si gourmand en ressources en effet.
    Cf. graphique en exemple ; segment en noir et valeurs en rose.
    Encore un grand merci Nicolas.
    Bonne fin de journée à toi.

     

     

    #204797

    Bonjour Nicolas,

    Encore merci pour ton aide.

    Il y a quelque chose que je ne m’explique pas :

    Quelle que soit la valeur que je mette pour Lambda dans la version avec valeurs (Cf. image jointe, courbes rose et jaunes superposés et segments en noir), la courbe reste la même alors que dans la version avec segment, on a bien des courbes différentes selon la valeur de Lambda (courbes en rose et bleu dans la 2e image)?

    As-tu une idée d’où cela peut-il venir ?

    En te remerciant par avance.

Viewing 15 posts - 1 through 15 (of 17 total)

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