DRAWRAY
DRAWRAY en ProBuilder dessine une demi-droite qui part d'un point et s'étend à l'infini en passant par un second point, avec une couleur COLOURED optionnelle. Syntaxe et exemples.
Syntaxe
DRAWRAY(x1, y1, x2, y2) COLOURED(R, G, B, a)Paramètres
| Nom | Type | Par défaut | Description |
|---|---|---|---|
x1 | entier | requis | Coordonnée X du point de départ, normalement un indice de bar. |
y1 | prix | requis | Coordonnée Y du point de départ, un prix ou une valeur calculée. |
x2 | entier | requis | Coordonnée X d'un second point qui définit la direction. |
y2 | prix | requis | Coordonnée Y du deuxième point. |
R, G, B | entier | valeur par défaut de la plateforme | Optionnel COLOURED composantes rouge, verte et bleue, de 0 à 255. |
a | entier | 255 | Alpha optionnel (transparence), 0 totalement transparent à 255 totalement opaque. |
Comment ça marche
DRAWRAY s'exécute dans un indicateur ProBuilder. Elle trace une demi-droite qui commence à (x1, y1) et passe par (x2, y2), puis se prolonge au-delà de ce second point sans s'arrêter. La direction dépend de l'ordre des paires : si (x1, y1) est à droite de (x2, y2), la demi-droite s'étend vers la gauche, et vice versa.
Cela distingue DRAWRAY depuis DRAWLINE et DRAWSEGMENT, qui s'arrêtent à leurs deux points. Comme pour les autres objets graphiques, les scripts définissent DEFPARAM DrawOnLastBarOnly = true pour que la demi-droite ne soit dessinée qu'une fois. La COLOURED clause est optionnelle.
Exemples
Exemple 1, Une seule ligne de tendance projetée (Indicateur)
// Ray from a swing low projected forward through the current low
DEFPARAM DrawOnLastBarOnly = true
DRAWRAY(BarIndex-40, low[40], BarIndex, low) COLOURED(0, 120, 255)
RETURNLa demi-droite part 40 bars en arrière et continue au-delà du bar actuel, projetant la pente vers l'avant.
Exemple 2, Demi-droites depuis les extrêmes de la période (Indicateur)
// Two red rays built from the highest high and lowest low over a period
DEFPARAM DrawOnLastBarOnly = true
period = 70
IF IsLastBarUpdate THEN
y2 = Lowest[period](low)
yy2 = Highest[period](high)
FOR i = 0 TO period DO
IF low[i] = y2 THEN
x2 = BarIndex[i]
ENDIF
IF high[i] = yy2 THEN
xx2 = BarIndex[i]
ENDIF
NEXT
x1 = BarIndex
y1 = low
xx1 = BarIndex
yy1 = high
DRAWRAY(x1, y1, x2, y2) COLOURED(255, 10, 10)
DRAWRAY(xx1, yy1, xx2, yy2) COLOURED(255, 10, 10)
ENDIF
RETURNProtéger le calcul avec IsLastBarUpdate n'exécute la boucle qu'une seule fois. Chaque demi-droite est ancrée sur un extrême de la période et projetée à travers le bar courant.
Exemple 3, Demi-droite horizontale comme niveau ouvert (Indicateur)
// A grey ray at a fixed price extending to the right
DEFPARAM DrawOnLastBarOnly = true
DRAWRAY(BarIndex-10, close[10], BarIndex, close[10]) COLOURED(128, 128, 128)
RETURNComme les deux valeurs y sont égales, la demi-droite est horizontale et s'étend à droite du point de départ.
Erreurs et pièges courants
- Indicateur uniquement.
DRAWRAYn'a aucun effet dans ProScreener, ProOrder ou ProBacktest. Réservez-le à un indicateur ProBuilder. - La direction dépend de l'ordre des points. Échanger les deux points inverse la direction dans laquelle la demi-droite s'étend. Vérifiez quelle paire sert d'ancrage.
- X est un indice de bar. Passer un prix à
x1oux2place mal la demi-droite. UtilisezBarIndexou des décalages par rapport à celui-ci. - Alternatives délimitées. Pour une ligne qui s'arrête aux deux points, utilisez
DRAWLINEouDRAWSEGMENTà la place.
Instructions liées
DRAWLINE, une ligne délimitée par ses deux points.DRAWSEGMENT, un segment entre deux points.DRAWHLINE, une ligne horizontale à un prix.DRAWVLINE, une ligne verticale à un indice de bar.COLOURED, définit la couleur et la transparence.DrawOnLastBarOnly, limite le tracé au dernier bar pour des raisons de performance.IsLastBarUpdate, exécute un bloc une seule fois sur le dernier bar.BarIndex, fournit les coordonnées x.