Bonjour,
L’exemple pédagogique ci-dessous fonctionne très bien pour afficher des résultats dans une marge tout à droite du graphique.
Sauf qu’à chaque nouvelle bougie, il y a un recouvrement du texte.
On relance l’algo et tout rentre dans l’ordre, mais ce problème devient génant dès que l’on aborde les toutes petites UT.
Existe-t-il une astuce pour résoudre ce conflit d’affichage ?
Merci par avance.
X= BarIndex
S= Close
A= Average[5](S)
B= Average[10](S)
IF A CROSSES OVER B THEN
DrawPoint(X, A, 3) Coloured("Lime")
N= N + 1
yA= A
ELSIF A CROSSES UNDER B THEN
DrawPoint(X, A, 3) Coloured("Red")
N= N + 1
yA= A
ENDIF
Xresult= -300
Yresult= -50
Ls= -20 // Line spacing
IF IsLastBarUpdate THEN
DrawText("N: #N#", Xresult, Yresult + 0*LS, Dialog, Bold, 16) Anchor(TopRight)
DrawText("BarIndex: #X#", Xresult, Yresult + 1*Ls, Dialog, Bold, 16) Anchor(TopRight)
DrawText("A last point: #yA#", Xresult, Yresult + 2*LS, Dialog, Bold, 16) Anchor(TopRight)
DrawText("Close: #S#", Xresult, Yresult + 3*Ls, Dialog, Bold, 16) Anchor(TopRight)
ENDIF
RETURN A AS "A", B AS "B"
C’est logique, puisque les informations se cumulent et donc on réécrit au dessus sans arrêt.
Pour éviter cela, on ajoute un
defparam drawonlastbaronly=true
en tête du code, pour ne tracer que sur la dernière bougie.
Mes excuses, c’est résolu.
Cependant est-il possible de rajouter dans le tutoriel ProRealCode la fonction ANCHOR et aussi la fonction COLOR avec notamment le paramètre a d’opacité.. (Demandé par un ami trader qui se lance dans le codage).
Cordialement..
DEFPARAM DrawOnlastBarOnly= True // Force the graph to the right
X= BarIndex
S= Close
A= Average[5](S)
B= Average[10](S)
IF A CROSSES OVER B THEN
DrawPoint(X, A, 3) Coloured("Lime")
N= N + 1
yA= A
ELSIF A CROSSES UNDER B THEN
DrawPoint(X, A, 3) Coloured("Red")
N= N + 1
yA= A
ENDIF
Xresult= X + 10 //-300
Yresult= -50
Ls= -20 // Line spacing
//IF IsLastBarUpdate THEN
DrawText("N: #N#", Xresult, Yresult + 0*LS, Dialog, Bold, 16) Anchor(TopRight, Index, Yshift)
DrawText("BarIndex: #X#", Xresult, Yresult + 1*Ls, Dialog, Bold, 16) Anchor(TopRight, Index, Yshift)
DrawText("A last point: #yA#", Xresult, Yresult + 2*LS, Dialog, Bold, 16) Anchor(TopRight, Index, Yshift)
DrawText("Close: #S#", Xresult, Yresult + 3*Ls, Dialog, Bold, 16) Anchor(TopRight, Index, Yshift)
//ENDIF
RETURN A AS "A", B AS "B"
Ce sera fait, merci pour le retour.