DRAWONLASTBARONLY à la fois TRUE et FALSE

Forums ProRealTime forum Français Support ProBuilder DRAWONLASTBARONLY à la fois TRUE et FALSE

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

    Bonjour,

    J’ai une function FCT1 assez gourmande en temps de calcul.

    J’aimerais afficher le résultat de cette FCT1 :

    • sur les barres historiques  (OK utilisation  DRAWONLASTBARONLY = False)
    • mais aussi différement (autre présentation) sur la dernière barre  (il faudrait donc normalement l’utilisation  de DRAWONLASTBARONLY = True)

    Y a-t-il une autre solution que d’inclure l’indicateur 2 fois (qui double donc le temps de calcul) ?

    Merci.

     

    #227005

    Hormis, si ton code retrace sans arrêt les résultats sur les chandeliers précédents, une fois l’historique lu, les calculs ne se feront plus sur les chandeliers précédents le dernier. Donc quoi qu’il arrive, les calculs de ton indicateur ne se feront toujours que sur le dernier chandelier.

    Sinon, pour savoir si on est présent sur le dernier chandelier, tu peux utiliser IsLastBarUpdate.

    Cette instruction est utilisée pour déterminer si la barre actuelle est la dernière mise à jour dans un graphique en temps réel. C’est particulièrement utile pour des stratégies ou des indicateurs qui nécessitent une action ou un calcul uniquement sur la dernière barre, notamment en temps réel.

    Voici quelques points clés sur islastbarupdate :

    • Utilisation: islastbarupdate renvoie 1 si la barre actuelle est la dernière barre mise à jour dans un graphique. Sinon, elle renvoie 0.
    • Contexte d’utilisation: C’est très utile dans les graphiques en temps réel où tu veux exécuter un calcul ou une action uniquement lorsque la dernière barre est mise à jour, sans affecter les barres historiques.
    • Exemple de code:

    Dans cet exemple, le code à l’intérieur du bloc if ne s’exécute que lorsque la dernière barre est en train d’être mise à jour. Cela permet d’optimiser les performances en évitant des calculs inutiles sur chaque barre historique.

     

    1 user thanked author for this post.
    #227032

    J’ajouterais que lorsque l’on utilise l’instruction DRAWONLASTBARONLY = True, le code efface tous les tracés précédant à chaque nouvelle bougie et ne retrace que ce qui découle de la dernière lecture du code (en relation avec la dernière bougie).
    Dans ces cas là, si l’on veut garder à l’écran une partie ou la totalité des tracés précédant, il faut les enregistrer dans un tableau et utiliser une boucle qui parcours le tableau et qui permet de redessiner le résultat de cette FCT1 calculé à partir des barres historiques.

    C’est le cas par exemple ici

    1 user thanked author for this post.
    #227056

    Merci beaucoup à vous 2 c’est exactement ce que je cherchais… simple et efficace en plus

    #227060

    En fait j’ai toujours le même problème

    J’utilise bien

    Donc la seule solution que je vois c’est le tableau + DRAWONLASTBARONLY=True mais pour l’avoir déjà fait une fois sur un autre indicateur, ça consomme des ressources : les ventilos se mettent en route !

    Merci

    #227065

    la seule solution que je vois c’est le tableau + DRAWONLASTBARONLY=True

    En effet, c’est la solution la plus efficace. Concernant la consommation de ressources, tout dépend de ton code, mais c’est en général beaucoup plus rapide que de faire les calculs sur chaque bougie de l’historique.

    #227072

    OK merci alors je réessayerai et ferai attention à optimiser un peu le code

    Merci.

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