DRAWRAY
DRAWRAY in ProBuilder zeichnet einen Strahl, der an einem Punkt beginnt und unendlich durch einen zweiten Punkt verläuft, mit optionaler COLOURED-Farbe. Syntax und Beispiele.
Syntax
DRAWRAY(x1, y1, x2, y2) COLOURED(R, G, B, a)Parameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
x1 | Ganzzahl | erforderlich | X-Koordinate des Startpunkts, normalerweise ein Bar-Index. |
y1 | Kurs | erforderlich | Y-Koordinate des Startpunkts, ein Kurs oder ein berechneter Wert. |
x2 | Ganzzahl | erforderlich | X-Koordinate eines zweiten Punktes, der die Richtung festlegt. |
y2 | Kurs | erforderlich | Y-Koordinate des zweiten Punkts. |
R, G, B | Ganzzahl | Plattformstandard | Optional COLOURED Rot-, Grün- und Blauanteile, 0 bis 255. |
a | Ganzzahl | 255 | Optionaler Alphawert (Transparenz), 0 vollständig transparent bis 255 vollständig deckend. |
So funktioniert es
DRAWRAY läuft innerhalb eines ProBuilder-Indikators. Es zeichnet eine Halblinie mit Startpunkt bei (x1, y1) und verläuft durch (x2, y2), und läuft dann über diesen zweiten Punkt hinaus weiter, ohne zu stoppen. Die Richtung hängt von der Reihenfolge der Paare ab: wenn (x1, y1) liegt rechts von (x2, y2), verläuft der Strahl nach links, und umgekehrt.
Das unterscheidet DRAWRAY von DRAWLINE und DRAWSEGMENT, die an ihren beiden Punkten enden. Wie bei anderen Zeichenobjekten legen Skripte DEFPARAM DrawOnLastBarOnly = true damit der Strahl nur einmal gezeichnet wird. Die COLOURED -Klausel ist optional.
Beispiele
Beispiel 1, Eine einzelne projizierte Trendlinie (Indikator)
// 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)
RETURNDer Strahl beginnt 40 Bars zurück und verläuft über den aktuellen Bar hinaus und projiziert so die Steigung nach vorne.
Beispiel 2, Strahlen von den Extremwerten einer Periode (Indikator)
// 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
RETURNDie Absicherung der Berechnung mit IsLastBarUpdate führt die Schleife nur einmal aus. Jeder Strahl ist an einem Periodenextrem verankert und wird durch den aktuellen Bar projiziert.
Beispiel 3, Horizontaler Strahl als offenes Niveau (Indikator)
// 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)
RETURNDa beide y-Werte gleich sind, ist der Strahl horizontal und verläuft nach rechts vom Startpunkt.
Häufige Fehler und Stolperfallen
- Nur Indikator.
DRAWRAYhat keine Wirkung in ProScreener, ProOrder oder ProBacktest. Behalten Sie es in einem ProBuilder Indikator. - Die Richtung hängt von der Reihenfolge der Punkte ab. Das Vertauschen der beiden Punkte kehrt die Richtung um, in die der Strahl verläuft. Prüfen Sie, welches Paar der Anker ist.
- X ist ein Bar-Index. Die Übergabe eines Preises an
x1oderx2platziert den Strahl falsch. Verwenden SieBarIndexoder Abstände davon. - Begrenzte Alternativen. Für eine Linie, die an beiden Punkten endet, verwenden Sie
DRAWLINEoderDRAWSEGMENTstattdessen.
Verwandte Befehle
DRAWLINE, eine Linie, die durch ihre zwei Punkte begrenzt ist.DRAWSEGMENT, ein Segment zwischen zwei Punkten.DRAWHLINE, eine horizontale Linie auf einem Kurs.DRAWVLINE, eine vertikale Linie an einem Bar-Index.COLOURED, legt Farbe und Transparenz fest.DrawOnLastBarOnly, beschränkt das Zeichnen aus Performancegründen auf den letzten Bar.IsLastBarUpdate, führt einen Block einmal auf dem letzten Bar aus.BarIndex, liefert die x-Koordinaten.