Rejoignez-nous
Graphiques/probuilder

DRAWLINE

DRAWLINE en ProBuilder dessine une ligne droite entre deux points du graphique donnés sous forme de coordonnées d'indice de bar et de prix, avec une couleur COLOURED optionnelle. Syntaxe et exemples.

Syntaxe

probuilder
DRAWLINE(x1, y1, x2, y2) COLOURED(R, G, B, a)

Paramètres

NomTypePar défautDescription
x1entierrequisCoordonnée X du premier point, normalement un indice de bar tel que BarIndex.
y1prixrequisCoordonnée Y du premier point, un prix ou une valeur calculée.
x2entierrequisCoordonnée X du second point.
y2prixrequisCoordonnée Y du deuxième point.
R, G, Bentiervaleur par défaut de la plateformeOptionnel COLOURED composantes rouge, verte et bleue, de 0 à 255.
aentier255Alpha optionnel (transparence), 0 totalement transparent à 255 totalement opaque.

Comment ça marche

DRAWLINE s'exécute dans un indicateur ProBuilder. À chaque bar, la plateforme trace une ligne droite entre les deux paires de coordonnées (x1, y1) et (x2, y2). Les coordonnées x sont des indices de bars, donc BarIndex et BarIndex-1 placent les extrémités sur des bars précises, tandis que les coordonnées y sont des prix sur l'axe vertical.

La ligne relie exactement les deux points donnés, contrairement à DRAWRAY, qui s'étend au-delà. Comme dessiner sur chaque bar répète le même objet de nombreuses fois, la plupart des scripts préfixent le code par DEFPARAM DrawOnLastBarOnly = true donc la ligne est dessinée une seule fois, sur le bar actuel.

Le paramètre facultatif COLOURED clause définit la couleur. Lorsqu'elle est omise, la couleur par défaut de la plateforme est utilisée.

Exemples

Exemple 1, Lignes de pivot de Fibonacci (Indicateur)

probuilder
// Draw pivot and Fibonacci support/resistance as short horizontal lines
DEFPARAM DrawOnLastBarOnly = true
dh = DHigh(1)
dl = DLow(1)
P = (dh + dl + DClose(1)) / 3
R1 = P + 0.382 * (dh - dl)
S1 = P - 0.382 * (dh - dl)
DRAWLINE(BarIndex-1, P,  BarIndex, P)  COLOURED(153, 153, 0)
DRAWLINE(BarIndex-1, R1, BarIndex, R1) COLOURED(0, 153, 0)
DRAWLINE(BarIndex-1, S1, BarIndex, S1) COLOURED(153, 0, 0)
RETURN

Chaque ligne va du bar précédent au bar en cours à un prix fixe, elle se lit donc comme un court marqueur de niveau.

Exemple 2, Relier deux plus bas récents (Indicateur)

probuilder
// Draw a line between the two most recent lowest points over 20 bars
DEFPARAM DrawOnLastBarOnly = true
period = 20
y2 = Lowest[period](low)
FOR i = 0 TO period DO
    IF low[i] = y2 THEN
        x2 = BarIndex[i]
    ELSIF low[i] < y2 THEN
        y1 = low[i]
        x1 = BarIndex[i]
    ENDIF
NEXT
DRAWLINE(x1, y1, x2, y2)
RETURN

La boucle localise les indices de bar de deux points bas, puis un seul DRAWLINE les relie en une ligne de tendance.

Exemple 3, Marquer une distance fixe (Indicateur)

probuilder
// A green line from 10 bars back at the low to the current close
DEFPARAM DrawOnLastBarOnly = true
DRAWLINE(BarIndex-10, low[10], BarIndex, close) COLOURED(0, 200, 0, 200)
RETURN

Un appel minimal utilisant des offsets littéraux pour les coordonnées x et des prix pour les coordonnées y.

Erreurs et pièges courants

  • Indicateur uniquement. DRAWLINE n'a aucun effet dans ProScreener, ProOrder ou ProBacktest. Gardez le code de tracé dans un indicateur ProBuilder.
  • X est un indice de bar, pas un prix. Une erreur fréquente consiste à passer un prix à x1 ou x2. Les coordonnées x situent les bars sur l'axe horizontal, utilisez BarIndex ou des décalages par rapport à celui-ci.
  • Coût du redessin. Sans DrawOnLastBarOnly = true, la ligne est tracée sur chaque barre historique, ce qui ralentit le graphique. Définissez-la une seule fois en haut du script.
  • Bornée, pas infinie. DRAWLINE s'arrête à ses deux points. Pour une ligne qui les dépasse, utilisez DRAWRAY.
  • DRAWSEGMENT, dessine un segment de droite entre deux points, proche dans son comportement de DRAWLINE.
  • DRAWHLINE, une ligne horizontale à un niveau de prix.
  • DRAWVLINE, une ligne verticale à un indice de bar.
  • DRAWRAY, une ligne qui se prolonge au-delà de son second point.
  • COLOURED, définit la couleur et la transparence de la ligne.
  • DrawOnLastBarOnly, limite le tracé au dernier bar pour des raisons de performance.
  • BarIndex, fournit les coordonnées x.
  • DRAWTEXT, étiquette la ligne avec du texte.