Rejoignez-nous
Graphiques/probuilder

DRAWSEGMENT

DRAWSEGMENT en ProBuilder dessine un segment de droite entre deux points du graphique donnés en coordonnées d'index de bar et de prix, avec une couleur COLOURED optionnelle.

Syntaxe

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

Paramètres

NomTypePar défautDescription
x1entierrequisCoordonnée X du point de départ, normalement un indice de bar.
y1prixrequisCoordonnée Y du point de départ, un prix ou une valeur calculée.
x2entierrequisCoordonnée X du point d'arrivée.
y2prixrequisCoordonnée Y du point d'arrivée.
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

DRAWSEGMENT est une instruction d'indicateur. Elle trace un segment droit depuis le point de départ (x1, y1) au point final (x2, y2). Les valeurs x sont des indices de bar sur l'axe horizontal et les valeurs y sont des prix sur l'axe vertical. Contrairement à DRAWRAY, le segment s'arrête exactement à ses deux points et ne se prolonge pas au-delà.

Les coordonnées x proviennent généralement de BarIndex, et les coordonnées y à partir des prix ou des valeurs d'indicateur. Comme l'objet est redessiné à chaque bar, la plupart des scripts définissent DEFPARAM DrawOnLastBarOnly = true pour que le segment ne soit dessiné qu'une seule fois. Le COLOURED clause est facultative et définit la couleur et la transparence.

Exemples

Exemple 1, Un seul segment coloré (Indicateur)

probuilder
// A semi-transparent red horizontal segment between two fixed points
DRAWSEGMENT(BarIndex-90, close, BarIndex, close) COLOURED(255, 0, 0, 150)
RETURN

Conservé de l'idée d'origine : un segment dessiné entre deux paires de coordonnées, coloré en rouge avec une opacité partielle.

Exemple 2, Segment de tendance entre deux plus bas (Indicateur)

probuilder
// Connect the two most recent lows within 30 bars
DEFPARAM DrawOnLastBarOnly = true
period = 30
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
DRAWSEGMENT(x1, y1, x2, y2) COLOURED(0, 120, 255)
RETURN

La boucle trouve deux points bas et le segment les relie comme une ligne de support.

Exemple 3, Segment avec une étiquette (Indicateur)

probuilder
// Segment from the recent high to the current close, with a caption
DEFPARAM DrawOnLastBarOnly = true
hh = Highest[20](high)
DRAWSEGMENT(BarIndex-20, hh, BarIndex, close) COLOURED(200, 120, 0)
DRAWTEXT("range", BarIndex, close) COLOURED(200, 120, 0)
RETURN

DRAWSEGMENT et DRAWTEXT se combinent pour marquer et annoter la même zone.

Erreurs et pièges courants

  • Indicateur uniquement. DRAWSEGMENT ne fait rien dans ProScreener, ProOrder ou ProBacktest. Réservez-le à un indicateur ProBuilder.
  • X est un indice de bar. Passer un prix à x1 ou x2 place mal le segment. Utilisez BarIndex ou des décalages par rapport à celui-ci.
  • Coût du redessin. Sans DrawOnLastBarOnly = true, le segment est tracé sur chaque bar et ralentit le graphique.
  • Segment délimité. Il s'arrête à ses extrémités. Pour une ligne qui se prolonge au-delà du second point, utilisez DRAWRAY.
  • DRAWLINE, trace une ligne entre deux points, de comportement proche de DRAWSEGMENT.
  • DRAWHLINE, une ligne horizontale à un niveau de prix.
  • DRAWVLINE, une ligne verticale à un indice de bar.
  • DRAWRAY, s'étend au-delà de son second point.
  • COLOURED, définit la couleur et la transparence.
  • DrawOnLastBarOnly, limite le tracé au dernier bar pour des raisons de performance.
  • BarIndex, fournit les coordonnées x.
  • DRAWTEXT, ajoute une légende au segment.