Rejoignez-nous
Graphiques/probuilder

DRAWRECTANGLE

DRAWRECTANGLE en ProBuilder dessine un rectangle à partir de deux coins opposés donnés en index de bar et en prix, avec un contour COLOURED et un remplissage FILLCOLOR optionnels.

Syntaxe

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

Paramètres

NomTypePar défautDescription
x1entierrequisCoordonnée X du premier coin, normalement un index de bar.
y1prixrequisCoordonnée Y du premier coin, un prix ou une valeur calculée.
x2entierrequisCoordonnée X du coin opposé.
y2prixrequisCoordonnée Y du coin opposé.
R, G, Bentiervaleur par défaut de la plateformeOptionnel COLOURED du contour, composantes rouge, verte et bleue, de 0 à 255.
aentier255Alpha (transparence) optionnel du contour, 0 à 255.

Comment ça marche

DRAWRECTANGLE s'exécute dans un indicateur ProBuilder. Il dessine un rectangle dont les deux coins opposés sont (x1, y1) et (x2, y2). Les coordonnées x sont des indices de bar sur l'axe horizontal et les coordonnées y des prix sur l'axe vertical, si bien que le rectangle couvre à la fois une plage de temps et une plage de prix. Cela convient pour marquer des zones de consolidation, des zones de breakout ou des figures graphiques.

Le paramètre facultatif COLOURED clause définit la couleur et la transparence du contour, et FILLCOLOR définit le remplissage intérieur. Comme l'objet est redessiné sur chaque bar, les scripts définissent généralement DEFPARAM DrawOnLastBarOnly = true.

Exemples

Exemple 1, Mettre en évidence une plage étroite (Indicateur)

probuilder
// Draw a red box around a 20-bar range if it stays inside a height limit
DEFPARAM DrawOnLastBarOnly = true
period = 20
boxheight = 20
hh = Highest[period](high)
ll = Lowest[period](low)
IF hh - ll <= boxheight * pointsize THEN
    FOR i = 0 TO period DO
        IF high[i] = hh THEN
            x2 = BarIndex[i]
        ENDIF
        IF low[i] = ll THEN
            x1 = BarIndex[i]
        ENDIF
    NEXT
    IF ABS(x2 - x1) >= period THEN
        DRAWRECTANGLE(x1, ll, x2, hh) COLOURED(255, 10, 10)
    ENDIF
ENDIF
RETURN

Le cadre n'est dessiné que lorsque la plage est suffisamment étroite et que les extrêmes sont suffisamment éloignés l'un de l'autre.

Exemple 2, Rectangle à l'intérieur rempli (Indicateur)

probuilder
// Green outline, purple fill, spanning the last five bars
DEFPARAM DrawOnLastBarOnly = true
DRAWRECTANGLE(BarIndex, close, BarIndex[5], close[5]) COLOURED(0, 200, 0) FILLCOLOR(255, 0, 255)
RETURN

FILLCOLOR colore l'intérieur tandis que COLOURED définit la bordure.

Exemple 3, Zone de référence fixe (Indicateur)

probuilder
// A grey semi-transparent zone between two price levels
DEFPARAM DrawOnLastBarOnly = true
upper = Highest[50](high)
lower = upper - 30 * pointsize
DRAWRECTANGLE(BarIndex-50, lower, BarIndex, upper) COLOURED(128, 128, 128, 120)
RETURN

Un seul appel marque une bande fixe sur les 50 derniers bars.

Erreurs et pièges courants

  • Indicateur uniquement. DRAWRECTANGLE n'a aucun effet dans ProScreener, ProOrder ou ProBacktest. Réservez-le à un indicateur ProBuilder.
  • X est un indice de bar. Passer un prix à x1 ou x2 décale le cadre horizontalement. Utilisez BarIndex ou des décalages par rapport à celui-ci.
  • Des coins, pas une largeur et une hauteur. Les quatre valeurs sont deux coins opposés, pas une position et une taille.
  • Coût du redessin. Sans DrawOnLastBarOnly = true, le rectangle est dessiné sur chaque bar et ralentit le graphique.
  • DRAWELLIPSE, dessine une ellipse à l'intérieur du même type de cadre englobant.
  • DRAWTRIANGLE, trace une forme à trois sommets.
  • DRAWLINE, trace une ligne entre deux points.
  • COLOURED, définit la couleur du contour et la transparence.
  • FILLCOLOR, définit la couleur de remplissage intérieure.
  • DrawOnLastBarOnly, limite le tracé au dernier bar pour des raisons de performance.
  • BarIndex, fournit les coordonnées x.
  • Highest, trouve le sommet d'un range à encadrer.