DRAWSEGMENT
DRAWSEGMENT in ProBuilder tekent een lijnsegment tussen twee punten op de grafiek, opgegeven als barindex- en prijscoördinaten, met een optionele COLOURED-kleur.
Syntaxis
DRAWSEGMENT(x1, y1, x2, y2) COLOURED(R, G, B, a)Parameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
x1 | geheel getal | verplicht | X-coördinaat van het beginpunt, normaal gesproken een bar-index. |
y1 | prijs | verplicht | Y-coördinaat van het beginpunt, een prijs of berekende waarde. |
x2 | geheel getal | verplicht | X-coördinaat van het eindpunt. |
y2 | prijs | verplicht | Y-coördinaat van het eindpunt. |
R, G, B | geheel getal | platformstandaard | Optioneel COLOURED rood-, groen- en blauwcomponenten, 0 tot 255. |
a | geheel getal | 255 | Optionele alpha (transparantie), 0 volledig transparant tot 255 volledig dekkend. |
Hoe het werkt
DRAWSEGMENT is een indicatorinstructie. Het tekent een recht segment van het startpunt (x1, y1) naar het eindpunt (x2, y2). De x-waarden zijn barindices langs de horizontale as en de y-waarden zijn koersen op de verticale as. Anders dan DRAWRAY, eindigt het segment precies bij zijn twee punten en loopt het niet verder door.
De x-coördinaten komen doorgaans uit BarIndex, en de y-coördinaten uit koersen of indicatorwaarden. Omdat het object op elke bar opnieuw wordt getekend, zetten de meeste scripts DEFPARAM DrawOnLastBarOnly = true zodat het segment één keer wordt getekend. De COLOURED clausule is optioneel en stelt kleur en transparantie in.
Voorbeelden
Voorbeeld 1, Eén gekleurd segment (Indicator)
// A semi-transparent red horizontal segment between two fixed points
DRAWSEGMENT(BarIndex-90, close, BarIndex, close) COLOURED(255, 0, 0, 150)
RETURNOvergenomen uit het oorspronkelijke idee: een segment getekend tussen twee coördinatenparen, rood gekleurd met gedeeltelijke dekking.
Voorbeeld 2, Trendsegment tussen twee lows (Indicator)
// 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)
RETURNDe loop vindt twee lage punten en het segment verbindt ze als een steunlijn.
Voorbeeld 3, Segment plus een label (Indicator)
// 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)
RETURNDRAWSEGMENT en DRAWTEXT werken samen om hetzelfde gebied te markeren en te annoteren.
Veelvoorkomende fouten en valkuilen
- Alleen indicator.
DRAWSEGMENTdoet niets in ProScreener, ProOrder of ProBacktest. Houd het in een ProBuilder-indicator. - X is een bar-index. Een prijs doorgeven aan
x1ofx2plaatst het segment verkeerd. GebruikBarIndexof offsets daarvan. - Kosten van opnieuw tekenen. Zonder
DrawOnLastBarOnly = true, wordt het segment op elke bar getekend en wordt de grafiek langzamer. - Begrensd segment. Hij stopt bij zijn eindpunten. Voor een lijn die voorbij het tweede punt doorloopt, gebruik
DRAWRAY.
Gerelateerde instructies
DRAWLINE, tekent een lijn tussen twee punten, qua gedrag dicht bijDRAWSEGMENT.DRAWHLINE, een horizontale lijn op één prijsniveau.DRAWVLINE, een verticale lijn op één bar-index.DRAWRAY, loopt door voorbij haar tweede punt.COLOURED, stelt kleur en transparantie in.DrawOnLastBarOnly, beperkt het tekenen tot de laatste bar om prestatieredenen.BarIndex, levert de x-coördinaten.DRAWTEXT, voegt een tekstlabel toe aan het segment.