Rejoignez-nous
Graphiques/probuilder

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

probuilder
DRAWRAY(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 d'un second point qui définit la direction.
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

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)

probuilder
// 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)
RETURN

La 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)

probuilder
// 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
RETURN

Proté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)

probuilder
// 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)
RETURN

Comme 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. DRAWRAY n'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 à x1 ou x2 place mal la demi-droite. Utilisez BarIndex ou des décalages par rapport à celui-ci.
  • Alternatives délimitées. Pour une ligne qui s'arrête aux deux points, utilisez DRAWLINE ou DRAWSEGMENT à la place.
  • 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.