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
DRAWRECTANGLE(x1, y1, x2, y2) COLOURED(R, G, B, a)Paramètres
| Nom | Type | Par défaut | Description |
|---|---|---|---|
x1 | entier | requis | Coordonnée X du premier coin, normalement un index de bar. |
y1 | prix | requis | Coordonnée Y du premier coin, un prix ou une valeur calculée. |
x2 | entier | requis | Coordonnée X du coin opposé. |
y2 | prix | requis | Coordonnée Y du coin opposé. |
R, G, B | entier | valeur par défaut de la plateforme | Optionnel COLOURED du contour, composantes rouge, verte et bleue, de 0 à 255. |
a | entier | 255 | Alpha (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)
// 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
RETURNLe 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)
// 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)
RETURNFILLCOLOR colore l'intérieur tandis que COLOURED définit la bordure.
Exemple 3, Zone de référence fixe (Indicateur)
// 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)
RETURNUn seul appel marque une bande fixe sur les 50 derniers bars.
Erreurs et pièges courants
- Indicateur uniquement.
DRAWRECTANGLEn'a aucun effet dans ProScreener, ProOrder ou ProBacktest. Réservez-le à un indicateur ProBuilder. - X est un indice de bar. Passer un prix à
x1oux2décale le cadre horizontalement. UtilisezBarIndexou 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.
Instructions liées
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.