variable globale ?

Viewing 5 posts - 1 through 5 (of 5 total)
  • #237082

    Bjr, Dans probuilder, comment créer une variable globale qui puisse conserver une valeur pour être utilisée sur la boucle de calcul suivante (jour suivant) ? j’ai trouvé la fonction DEFPARAM à mettre et initiée en début de code, mais si je mets DEFPARAM toto=1000 ça marche pas (“commande inconnue” avec un triangle jaune…).

    merci pour votre aide

    #237084

    Bonjour,

    Le code est lu à chaque bougie de l’historique, et en live il est même lu à chaque nouveau tick dans le cas d’un indicateur (mais pas d’une stratégie auto) et garde en mémoire la valeur d’une variable de la fin d’une bougie vers le début de la suivante (jour suivant si en ut jour, heure suivante si en UTH etc…), sans rien préciser d’autre, donc tout simplement : toto=1000

    Attention, si la variable toto est ensuite modifiée par une formule plus loin dans le code, alors c’est la dernière valeur obtenue qui est retenue en début de relecture du code en bougie suivante, jusqu’à éventuellement retomber sur la ligne toto=1000

    Le forum regorge d’exemples de code pour se familiariser avec probuilder:

    https://www.prorealcode.com/forum/prorealtime-forum-francais/support-probuilder/

    Bienvenue, et bonne continuation

    #237090

    Merci pour votre aide. le problème dans le programme ci-dessous:

    a=fonction….
    IF a<aprecedent THEN
    a=aprecedent
    ELSE
    a=0
    ENDIF
    //aprecedent=a
    return a

    est bien sûr l’initialisation de aprecedent, sachant que si je mets aprecedent=a[1] ça marche pas

    #237093

    Ok, dans ce cas, le a précédent est bien a[1], mais on ne peut pas parler de a[1] à la toute première bougie (le barindex=0) car a[1] n’y est pas défini, et la non-définition va se propager d’une bougie à l’autre, donc on ne relie a à a[1] qu’à partir de la 2e bougie (le barindex=1), par exemple comme ceci:

    a=fonction… (si la fonction ne dépend pas de valeur de a antérieure)

    if barindex>=1 then

    if a<a[1] then

    a=a[1]

    else

    a=0

    endif

    endif

    return a

     

    2 users thanked author for this post.
    #237096

    MANY THX !

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

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