Jetzt beitreten
Grafisch/probuilder

DRAWSEGMENT

DRAWSEGMENT in ProBuilder zeichnet ein Liniensegment zwischen zwei Chartpunkten, angegeben als Bar-Index- und Kurskoordinaten, mit optionaler COLOURED-Farbe.

Syntax

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

Parameter

NameTypStandardBeschreibung
x1GanzzahlerforderlichX-Koordinate des Startpunkts, normalerweise ein Bar-Index.
y1KurserforderlichY-Koordinate des Startpunkts, ein Kurs oder ein berechneter Wert.
x2GanzzahlerforderlichX-Koordinate des Endpunktes.
y2KurserforderlichY-Koordinate des Endpunktes.
R, G, BGanzzahlPlattformstandardOptional COLOURED Rot-, Grün- und Blauanteile, 0 bis 255.
aGanzzahl255Optionaler Alphawert (Transparenz), 0 vollständig transparent bis 255 vollständig deckend.

So funktioniert es

DRAWSEGMENT ist ein Indikator-Befehl. Er zeichnet ein gerades Segment vom Startpunkt (x1, y1) zum Endpunkt (x2, y2). Die x-Werte sind Bar-Indizes entlang der horizontalen Achse und die y-Werte sind Kurse auf der vertikalen Achse. Im Gegensatz zu DRAWRAY, endet das Segment genau an seinen beiden Punkten und reicht nicht darüber hinaus.

Die x-Koordinaten stammen typischerweise aus BarIndex, und die y-Koordinaten aus Kursen oder Indikatorwerten. Da das Objekt auf jedem Bar neu gezeichnet wird, setzen die meisten Skripte DEFPARAM DrawOnLastBarOnly = true damit das Segment einmal gezeichnet wird. Der COLOURED Klausel ist optional und setzt Farbe und Transparenz.

Beispiele

Beispiel 1, Ein einzelnes farbiges Segment (Indikator)

probuilder
// A semi-transparent red horizontal segment between two fixed points
DRAWSEGMENT(BarIndex-90, close, BarIndex, close) COLOURED(255, 0, 0, 150)
RETURN

Aus der ursprünglichen Idee übernommen: ein Segment, das zwischen zwei Koordinatenpaaren gezeichnet wird, rot gefärbt mit teilweiser Deckkraft.

Beispiel 2, Trendsegment zwischen zwei Tiefs (Indikator)

probuilder
// Connect the two most recent lows within 30 bars
DEFPARAM DrawOnLastBarOnly = true
period = 30
y2 = Lowest[period](low)
FOR i = 0 TO period DO
    IF low[i] = y2 THEN
        x2 = BarIndex[i]
    ELSIF low[i] < y2 THEN
        y1 = low[i]
        x1 = BarIndex[i]
    ENDIF
NEXT
DRAWSEGMENT(x1, y1, x2, y2) COLOURED(0, 120, 255)
RETURN

Die Schleife findet zwei Tiefpunkte und das Segment verbindet sie als Unterstützungslinie.

Beispiel 3, Segment plus Beschriftung (Indikator)

probuilder
// Segment from the recent high to the current close, with a caption
DEFPARAM DrawOnLastBarOnly = true
hh = Highest[20](high)
DRAWSEGMENT(BarIndex-20, hh, BarIndex, close) COLOURED(200, 120, 0)
DRAWTEXT("range", BarIndex, close) COLOURED(200, 120, 0)
RETURN

DRAWSEGMENT und DRAWTEXT ergänzen sich, um denselben Bereich zu markieren und zu beschriften.

Häufige Fehler und Stolperfallen

  • Nur Indikator. DRAWSEGMENT tut nichts in ProScreener, ProOrder oder ProBacktest. Behalten Sie es in einem ProBuilder Indikator.
  • X ist ein Bar-Index. Die Übergabe eines Preises an x1 oder x2 platziert das Segment falsch. Verwenden Sie BarIndex oder Abstände davon.
  • Kosten des Neuzeichnens. Ohne DrawOnLastBarOnly = true, wird das Segment auf jedem Bar gezeichnet und bremst den Chart.
  • Begrenztes Segment. Sie endet an ihren Endpunkten. Für eine Linie, die über den zweiten Punkt hinausgeht, verwenden Sie DRAWRAY.
  • DRAWLINE, zeichnet eine Linie zwischen zwei Punkten, im Verhalten ähnlich zu DRAWSEGMENT.
  • DRAWHLINE, eine horizontale Linie auf einem Kursniveau.
  • DRAWVLINE, eine vertikale Linie an einem Bar-Index.
  • DRAWRAY, verläuft über seinen zweiten Punkt hinaus.
  • COLOURED, legt Farbe und Transparenz fest.
  • DrawOnLastBarOnly, beschränkt das Zeichnen aus Performancegründen auf den letzten Bar.
  • BarIndex, liefert die x-Koordinaten.
  • DRAWTEXT, fügt dem Segment eine Beschriftung hinzu.