Type entier positif – erreur de calcul

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #223560 quote
    Talavente
    Participant
    New

    Bonjour,

    Je débute, voici un bout de code pour rechercher et afficher le plus hauts des plus haut des 500 dernières bougies……

    x=170
    
    a=  highest [(High  )[500]]
    
    DRAWTEXT(a, barindex[150],x+2) coloured (255,0,0)
    
    return
    

    l’erreur de calcul suivante est renvoyée :       un paramètre de type entier positif est attendu avec highest

    je tourne en rond , le prix est souvent decimal…….un peu d’aide svp.

    Merci

    2023-11-12_01h42_01.png 2023-11-12_01h42_01.png
    #223566 quote
    JC_Bywan
    Moderator
    Master

    Bonjour,

    La syntaxe attendue serait plutôt:

    a=highest[500](high)

    Highest

    #223574 quote
    Talavente
    Participant
    New

    Bonjour,

    Merci,

    oups, l’erreur se voit comme le nez sur la figure

    c’est peut-être le propre des débutants

    maintenant, je vais essayer de récupérer l’index de la barre concernée…….

    Bon dimanche

    #223577 quote
    JC_Bywan
    Moderator
    Master

    Pour cela, tu peux passer par l’instruction barssince, en recherchant la fois la plus récente où high valait ce highest, cela donne le nombre de barres écoulées depuis l’événement.

    BarsSince

    Pour le convertir ensuite en barindex, il suffit de déduire ce nombre du barindex:

    a=highest[500](high)

    b=barindex-BarsSince(high=a)

    return b, barindex

    #223628 quote
    Talavente
    Participant
    New

    Re,

    Merci pour le code qui me cause un petit souci:

    a=highest[500](high)

    b=barindex-BarsSince(high=a)

    return b, barindex

    b=barindex-BarsSince(high=a)   compte les bars de la droite vers la gauche après le highest (51 eme bar), donc renvoie  pour mon cas 646  entier positif (l’histo total compte 697 bars )

    par contre  b= BarsSince(high=a)  renvoie le bon compte >51 mais c’est un entier négatif car si j’affecte la variable b à barindex[b]   j’ai la même erreur de calcul   >un paramètre de type entier positif est attendu avec b

    Tout celà m’a permis de découvrir que barindex vaut 697…….

    donc j’ai testé  b= barindex-(barindex-BarsSince(high=a)) qui vaut >51  mais un entier négatif qui génère la même erreur…….

    Bizarre……

    Bonne soirée

    #223632 quote
    JC_Bywan
    Moderator
    Master

    Bonsoir, dans le lien fourni pour barssince, il est précisé:

    “If no value, it will return the value -1.”

    Ce qui sera le cas sur autant de bougies qu’il en faudra en début d’historique avant d’avoir la première occurrence d’un high=a.

    Pour éviter toute confusion entre les 2 formules différentes pour b, je vais garder b pour b=barindex-BarsSince(high=a) 

    et utiliserc pour  c= BarsSince(high=a)

    En soi ce n’est pas gênant pour c seul de valoir -1 sur des bougies en début d’historique avant de devenir positif ou nul, mais ça le devient si on veut utiliser c entre crochets dans barindex[c] pendant que c=-1 sur le début d’historique.

    Il faut donc encadrer le code créé utilisant c entre crochets par un if testant si c est positif ou nul:

    if c>=0 then

    blablacode d’une ou plusieurs lignes utilisant [c]

    endif

    Talavente thanked this post
    #223636 quote
    Talavente
    Participant
    New

    ah, voilà….je comprends

    barssince( ) renvoi -1 jusqu’à ce qu’il trouve une valeur ,  a  dans mon exemple.

    Donc le code s’arrête à la première barre testée car il lit un entier négatif…..donc la variable entre crochet vaut -1 qui n’est pas accepté et génère l’erreur.

    defparam DRAWONLASTBARONLY  = true  //évite le défilement excessif
    
    a= highest[500] (high)
    
    b=BarsSince(high=a)
    
    If b>=0 then
    
    DRAWTEXT(a, barindex[b],a+3) coloured (255,0,0)
    
    ENDIF 
    
    return

    maintenant ça fonctionne….

    Cent fois merci.

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

Type entier positif – erreur de calcul


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Talavente @talavente Participant
Summary

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

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 11/12/2023
Status: Active
Attachments: 1 files
Logo Logo
Loading...