DRAWONLASTBARONLY à la fois TRUE et FALSE

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #226271 quote
    Jerome888
    Participant
    Average

    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 quote
    Nicolas
    Keymaster
    Master

    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:
    if islastbarupdate then
        // Effectue un calcul ou une action sur la dernière barre
    endif
    

    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.

    Jerome888 thanked this post
    #227032 quote
    LucasBest
    Participant
    Average

    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

    Jerome888 thanked this post
    #227056 quote
    Jerome888
    Participant
    Average

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

    #227060 quote
    Jerome888
    Participant
    Average

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

    J’utilise bien

    DEFPARAM DRAWONLASTBARONLY=False 
    
    //je dessiner ici des ronds des triangles etc... sur l'historique
    .......
    
    if islastbarupdate then
    
      //Je dessine ici mon indicateur représentant le statut à la dernière bougie
      //mais sa géométrie est variable et donc les différentes formes/tailles etc... 
       //se chevauchent puisque il garde les dessins faits précédemment...
    
    endif

    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 quote
    Nicolas
    Keymaster
    Master

    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 quote
    Jerome888
    Participant
    Average

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

    Merci.

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

DRAWONLASTBARONLY à la fois TRUE et FALSE


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Jerome888 @jerome888 Participant
Summary

This topic contains 6 replies,
has 3 voices, and was last updated by Jerome888
2 years, 1 month ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 01/12/2024
Status: Active
Attachments: No files
Logo Logo
Loading...