Anomalie dans un indicateur

Forums ProRealTime forum Français Support ProBuilder Anomalie dans un indicateur

  • This topic has 6 replies, 4 voices, and was last updated 1 year ago by avatarBenCD.
Viewing 7 posts - 1 through 7 (of 7 total)
  • #202570

    Bonjour à tous,

    J’ai créé un petit indicateur tout simple, mais il m’affiche des ‘anomalies’ que je n’arrive pas à comprendre, c’est peut être sous mes yeux, mais je ne vois rien!

    Voici le code :

    defparam drawonlastbaronly = true

    if islastbarupdate then
    for i = 50 downto 0 do
    for j = i-1 downto 0 do
    if High[i] > Highest[max(j,1)](High) then
    drawray (Barindex[i], High[i], Barindex, High[i])
    else
    break
    endif
    next
    next
    endif

    return

    Et voici les anomalies que je rencontre, sur le S&P en 5min :

    Le High n’est pas plus grand que le plus grand des Highs sur sa droite,

    Quelqu’un a t il une idée?

    Merci à tous!

    #202572

    Veuillez ne pas inclure de photos ou de documents dans le message. Utilisez le bouton "Sélectionner un fichier" pour les joindre. Merci 🙂

    #202574

    Désolé Roberto! Je le saurai pour la prochaine fois! Merci!

    #202576

    et en changeant le break ,

    le mettre au dessus else

    #202577

    Cela change complètement les résultats 🙁

    #202580

    Bonsoir,

    à vue d’oeil ça serait parce que la bougie immédiatement à droite d’une bougie “i” n’est pas prise en compte dans ton highest, vu que le nombre entre crochets du highest n’est pas un rang, mais un nombre incluant la bougie actuelle de rang 0.

    Exemple: i=3, ton highest[j]() sera au plus highest[i-1](), c’est à dire highest[2](), donc un highest parmi rang 0 et rang 1, tu n’as pas inclus le rang 2 avec cette formulation. Donc j devrait partir de i plutôt que i-1

    D’autre part, même si ce n’est pas lié à l’anomalie directement, je ne vois pas trop pourquoi tu fais cette autre boucle sur j (à moins qu’elle serve dans un autre bout de code non montré). Ne pas faire de boucle sur j, et juste faire “if high[i] > highest[i](high) then” devrait te donner tes drawray sans aussi regarder highest[i-1], highest [i-2], etc… non?

     

     

     

    1 user thanked author for this post.
    #202583

    Ah oui parfait JC cela fonctionne! 🙂

    J’étais parti dans une mauvaise direction en faisant une “double boucle”.
    Pour chaque bougie ‘i’ je testais les bougies à sa droite donc nouvelle boucle ‘j’.

    Après ton explication, je réalise que cela n’était pas très malin!

    Merci pour ton aide rapide et précieuse.

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