problème drawtext avec des nombres

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #188023 quote
    Yvan63
    Participant
    Senior

    Bonjour,

    Pour afficher l’état de mes différentes variables j’utilise DRAWTEXT mais il me renvoie
    n/d si je veux afficher certains nombres, d’autre fois les nombres sont illisibles car les digits sont les uns sur les autres …
    Je calcul par exemple des % qui me donne des valeurs comme 0,00056, je veux les multiplier par 100 et là n/d

    Il y a une limitation ou une astuce pour palier ce problème ?

     

    Merci

    #188025 quote
    fifi743
    Participant
    Master

    comme ceci
    entre hashtag

     

    c=4 
    DrawText("#c#",barindex,high,SansSerif,Standard,17)
    Yvan63 thanked this post
    #188048 quote
    Yvan63
    Participant
    Senior

    Je vais essayer ça merci.

    #188073 quote
    Yvan63
    Participant
    Senior

    Certains nombres ne s’affichent pas, exemple ci-dessous…

    nd2.png nd2.png
    #188084 quote
    robertogozzi
    Moderator
    Master

    @ Yvan63

    Veuillez ne pas incorporer de fichiers et de documents dans votre texte, car cela ralentit le chargement des pages.

    Merci 🙂

    Yvan63 thanked this post
    #188155 quote
    JC_Bywan
    Moderator
    Master

    Bonjour,

    Concernant la superposition, à part utiliser la taille la plus petite de texte (10) et dézoomer, il n’y a pas grand chose d’autre à faire, le texte reste de taille constante indépendante du zoom à l’écran, donc si trop long pour la largeur dispo sur 1 barindex à zoom donné, il va chevaucher son voisin et il faut dézoomer pour lui donner plus de place. Comme astuce on peut éventuellement créer un décalage sur la verticale selon qu’on est en bougie paire ou impaire, ça donne un peu plus de place sans dézoomer trop (dans la même veine on peut jouer sur 3 bougies avec un décalage vertical supplémentaire entre 2e et 3e etc…

    Concernant le n/d, il n’y a pas une réponse unique à un n/d qui vaudrait quel que soit le code, mais si le nombre est non défini, il sera affiché n/d… par exemple un nombre calculé par récurrence mais non initialisé. Ce n’est qu’un exemple parmi d’autres, toute autre formule de calcul d’un nombre incorporant un autre nombre non défini même sans récurrence, et c’est un nombre non défini qui va en ressortir… Pour aller plus loin il faudrait voir le code, au moins tout ce qui concerne le calcul d’un affichage n/d en amont de vouloir l’afficher avec drawtext, mais je suppose que si tu voulais le montrer tu l’aurais déjà fait, donc difficile de répondre plus précisément. Cela permettrait de conclure si le problème vient de la plateforme ou du code (cette histoire de 0.00056*100 qui se calcule avant mais pas après le *100 est plutôt intrigante…).

    Yvan63 thanked this post
    #188156 quote
    Yvan63
    Participant
    Senior

    Bonjour,
    Rien de secret ici, je suis simplement entrain de décortiquer le code ZIGZAG de Nicolas pour compréhension, voici le code à exécuter en UT 5, il faut évidement dézoomer pour lire les valeurs.
    Dézoomer ne me pose pas de problème même si ce n’est pas pratique, ce qui me gêne le plus c’est de ne pas pouvoir lire le contenu des variables par moment.

    percent = 0.011
    //if Dynamic then
    //var = cumsum(range)/barindex
    //varP = var/close*100
    //percent = average[100](varP)
    //else
    //percent = PercentVariation
    //endif
    
    //Pic = Peak
    if lastpoint<=0 then
    drawtext("HIGHER avant#higher#",barindex,high+2,SansSerif,Standard,14) coloured(255,0,0)
    //DrawText("#c#",barindex-65,0.75,SansSerif,Standard,17)
    higher = max(higher,close)
    drawtext("HIGHER après#higher#",barindex,high+4,SansSerif,Standard,14) coloured(255,0,0)
    //drawtext("Higher #higher#",barindex,high+1) coloured(255,0,0)
    if higher <>higher[1] then
    highbar = barindex
    endif
    endif
    peakpercent =((higher-close)/higher)
    drawtext("pourcent#peakpercent#",barindex,high+5,SansSerif,Standard,13)coloured ("white")
    drawtext("percent#percent#",barindex,high+6,SansSerif,Standard,13)coloured ("white")
    newpeak = peakpercent >= percent/100
    
    if newpeak then
    drawtext("■",highbar,higher+1) coloured(255,0,0)
    
    higher=0
    lastpoint=1
    endif
    
    // Creux = Trough
    once lower = close // parce que sinon il démarrera jamais car lower = 0 au démarrage
    if lastpoint>=0 then
    lower=min(lower,close)
    
    if lower <> lower[1] then
    lowbar = barindex
    endif
    troughpercent = (close-lower) / lower
    newtrough = troughpercent >= percent/100
    
    if newtrough then
    drawtext("■",lowbar,lower-1) coloured("cyan")
    lower=close*100 // pour etre sur de réinitialiser la variable
    lastpoint=-1
    endif
    endif
    
    Return
    #188159 quote
    JC_Bywan
    Moderator
    Master

    Ok, c’est une division par zéro qui crée le nombre non défini, quand newpeak est vraie ligne26, higher est mis à 0 en ligne 29 et lastpoint à 1 ligne 30, n’est pas modifié tant que pas de newtrough, donc en bougie suivante en ligne 21 peakpercent qui est calculé avec une division par higher se retrouve en division par zéro, donc n/d et pas visualisable par drawtext tant qu’on ne retombe pas sur un higher différent de zéro en ligne 14 que si visite du if ligne 11 (donc un lastpoint<=0 venant de ligne 53, donc un newtrough vrai). En d’autres termes, peakpercent sera n/d la plupart du temps.

    Yvan63 thanked this post
    #188164 quote
    Yvan63
    Participant
    Senior

    Un grand merci pour cette explication détaillée !!
    J’aurais pu chercher un moment.
    Concernant le “lastpoint<=0 de la ligne 53” de ton commentaire tu voulais faire allusion à la ligne 47 ?

    #188167 quote
    JC_Bywan
    Moderator
    Master

    Oui pardon ligne 47… me suis mélangé les pinceaux entre lignes du post et lignes dans l’éditeur de code, la 53 était la même ligne dans mon éditeur mais décalée, ayant rajouté quelques lignes pour n’afficher les peakpercent que quand higher<>0 et vérifier le scénario décrit, désolé pour la confusion.

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

problème drawtext avec des nombres


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Yvan63 @yvan63 Participant
Summary

This topic contains 9 replies,
has 4 voices, and was last updated by JC_Bywan
4 years, 1 month ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 02/10/2022
Status: Active
Attachments: 1 files
Logo Logo
Loading...