Taille des objets qui s’adapte automatiquement au niveau de “zoom”
Forums › ProRealTime forum Français › Support ProBuilder › Taille des objets qui s’adapte automatiquement au niveau de “zoom”
- This topic has 11 replies, 4 voices, and was last updated 3 weeks ago by
Aarnii.
-
-
11/07/2025 at 2:26 PM #253408
Bonjour,
Comment faire pour que la taille des objets créés via le code s’adapte automatiquement au nombre de bougies affichées sur la graphique?
Concrètement je créé une ellipse sous/au-dessus d’une bougie sous certains conditions et je souhaiterais que cette ellipse garde à peu près son apparence quelque soit l’historique/ le nombre de bougies affichées.Sur le premier graph ci-joint, on voit que les bulles sont relativement petites lorsque l’historique est large; en revanche, les bulles deviennent de plus en plus étalées au fur et à mesure que l’on “zoome” sur les bougies.
Comment donc faire pour que les bougies gardent toujours la même apparence/taille?
Merci d’avance!
11/09/2025 at 2:17 PM #253420Bonjour,
A la vue de tes deux graphs, quelque soit ton historique, ton algo code les ellipses sur cinq bougies.
Il en sera toujours de même que tu appliques un zoom ou non.
Peut-être souhaites-tu des ellipses dans une autre UT , et les superposer ? Alors c’est un autre sujet qu’il faudrait préciser.
Cordialement.11/09/2025 at 7:40 PM #253435Hello,
merci pour ta réponse.
En réalité, les ellipses pourront faire 5 bougies comme 1 bougie ou 10. La taille d’une ellipse à l’autre pourra varier; il y aura des ellipses plus grosses que d’autres.
Mais quand je vais dézoomer, je voudrai que ces ellipses restent visibles, qu’elles “s’adaptent” à ce niveau de (dé)-zoom et qu’on arrive toujours à détecter les grosses ellipses des petites ellipses. En gros, qu’elles continuent à occuper le même espace, la même surface à l’écran qu’on soit en plein zoom ou totalement dézoomé.Je ne sais pas si c’est un peu plus clair?
11/09/2025 at 10:10 PM #253441Hello,
1- La longueur x des ellipses est variable => Gestion sur l’axe BarIndex
2- La taille pourra varier => Gestion de la taille sur l’axe y
Ne serait-il pas préférable de gérer cet algo dans un premier temps sous le graph en mode Histogramme ?
Puis réfléchir à l’intégration sur le graph des prix.
Peux-tu publier 2 captures extrêmes, (1 ou 2 bougies) et (9 ou 10bougies) ?
A+ 🙂11/10/2025 at 5:37 AM #253443Vous pouvez ancrer des objets en pixels (d’écran) plutôt qu’en coordonnées liées au temps et au prix…
Le lien ci-dessous explique ces nouvelles instructions…
https://www.prorealcode.com/topic/new-drawing-instructions-anchoring-in-pixels/
1 user thanked author for this post.
11/10/2025 at 5:28 PM #253500Hello!
merci pour vos réponses.
Pour les ancrages avec la formule Anchor, j’avais vu que cela existait mais je comprends peut-être mal comment cela fonctionne mais cela ne semble pas correspondre à ce que je veux exactement. Les bulles doivent s’adapter avec le niveau de zoom ou de dézoom.
Voici un autre exemple, où l’on voit des bulles de tailles différentes. Sur le graph zoomé (Grande bulle2), on voit bien la différence de taille. En revanche, dès que l’on dézoome, on perd toute la largeur des grosses bulles. La bulle sous laquelle il y a indiqué 142 va être en gros 3 fois plus grosse que les bulles sous lesquelles il y a 50/60. On voit bien la différence en zoomant, mais on ne la voit plus en dézoomant malheureusement car la largeur est “écrasée”. C’est cela que je veux fixer.
11/10/2025 at 10:32 PM #253514Hello,
Je rejoins la réponse de JS.
Hormis les 2 méthodes: Temps et prix d’une part, Ancrage d’un objet d’autre part, je ne vois pas d’autres solutions.
Si tu ancres une ellipse, certes elle sera figée, mais les bougies des zooms vont s’éloigner de l’ellipse de référence.
La taille des ellipses étant importante pour toi, je te suggère de les remplacer par un résultat en mode Texte. Ce dernier restera attaché à la bougie du signal et il sera complètement indépendant des zooms.
Par exemple: sur un sommet, tu peux afficher son No, un delta, une mention etc… DrawText(“mon texte”, BarIndex[i], delta #delta#, Quantité #Qté#, Dialog, Bold, 14)
Bon trades.1 user thanked author for this post.
11/11/2025 at 9:38 PM #25354611/11/2025 at 10:29 PM #253547Bonsoir,
Si sur le papier, on ne peut pas adapter la taille des objets graphiques au niveau de zoom (de façon générale on ne peut pas coder dans probuilder des actions en lien avec la souris), on peut contourner le problème si tu n’as pas besoin d’une bulle “trop grande” en se servant du fait que le texte va garder une taille indépendante du zoom, pas seulement pour écrire des caractères de type lettres/chiffres, mais aussi pour dessiner via drawtext de “caractère spéciaux” un petit cercle donc on peut préciser taille couleur et transparence dans les options de l’instruction, par exemple ci-dessous un petit cercle plein, rouge, de taille 30, et de transparence mise à 100 pour voir à travers:
DRAWTEXT(“●”, barindex, high,SansSerif,bold,30) COLOURED(255,0,0,100)
11/25/2025 at 4:19 PM #253958Bonjour,
je n’ai pas eu le temps de me repencher sur le sujet depuis mon dernier message, mais merci JC_Bywan, je vais essayer avec ta méthode. J’avais déjà essayé avec la fonction DRAWPOINT mais la taille maximale étant de 5, cela ne me convenait pas.
Selon le doc de Probuilder, la taille maxi des fonts est de 30, je verrai donc si cela passe. Au pire de cas, aucun moyen de forcer des tailles plus grandes?Deux questions subsidiaires:
1/ Quand je dessine des ellipses ou des rectangles par exemple, même avec un alpha à 255, la forme apparaît “derrière” la bougie. Comment faire en sorte que la bulle cache la bougie qu’elle recouvre? que celle-ci passe au deuxième plan?
2/ Je souhaiterais que mon indicateur ne se mette à dessiner les bulles qu’à partir du moment où il est lancé; je ne veux pas qu’il dessine sur tout l’historique précédent. J’ai essayé avec “DefParam DrawOnLastBarOnly = true”, mais dans ce cas, la bulle n’apparaît que sur la bougie en cours; toutes les bulles précédemment dessinées disparaissent dès qu’un nouveau chandelier apparaît.3 en extra/ comment savoir, au tick près, qu’une nouvelle bougie vient de commencer? il n’y a aucune fonction/variable particulière? je dois gérer ça en regardant si mon barindex a changé par exemple?
Merci d’avance!
11/26/2025 at 7:16 PM #254000Pour ne dessiner qu’à partir du lancement de l’indicateur, tu peux te servir de islastbarupdate dans un if…endif :
12345if islastbarupdate then//lignes de code pour ce qui ne doit être dessiné qu'à partir du lancement de l'indicateurendif3 users thanked author for this post.
11/27/2025 at 10:37 PM #254016 -
AuthorPosts
