Word nu lid
Grafisch/probuilder

DRAWRAY

DRAWRAY in ProBuilder tekent een straal die bij één punt begint en oneindig door een tweede punt doorloopt, met een optionele COLOURED-kleur. Syntaxis en voorbeelden.

Syntaxis

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

Parameters

NaamTypeStandaardBeschrijving
x1geheel getalverplichtX-coördinaat van het beginpunt, normaal gesproken een bar-index.
y1prijsverplichtY-coördinaat van het beginpunt, een prijs of berekende waarde.
x2geheel getalverplichtX-coördinaat van een tweede punt dat de richting bepaalt.
y2prijsverplichtY-coördinaat van het tweede punt.
R, G, Bgeheel getalplatformstandaardOptioneel COLOURED rood-, groen- en blauwcomponenten, 0 tot 255.
ageheel getal255Optionele alpha (transparantie), 0 volledig transparant tot 255 volledig dekkend.

Hoe het werkt

DRAWRAY loopt binnen een ProBuilder-indicator. Het tekent een halve lijn die begint op (x1, y1) en gaat door (x2, y2), en loopt dan voorbij dat tweede punt door zonder te stoppen. De richting hangt af van de volgorde van de paren: als (x1, y1) ligt rechts van (x2, y2), loopt de straal naar links, en vice versa.

Dit onderscheidt DRAWRAY van DRAWLINE en DRAWSEGMENT, die bij hun twee punten eindigen. Net als bij andere tekenobjecten stellen scripts DEFPARAM DrawOnLastBarOnly = true zodat de straal eenmaal wordt getekend. De COLOURED clausule is optioneel.

Voorbeelden

Voorbeeld 1, Eén geprojecteerde trendlijn (Indicator)

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

De straal begint 40 bars terug en loopt door voorbij de huidige bar, waarmee de helling vooruit wordt geprojecteerd.

Voorbeeld 2, Stralen vanaf de extremen van de periode (Indicator)

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

De berekening afschermen met IsLastBarUpdate doorloopt de lus maar één keer. Elke straal is vastgezet op een periode-extreem en wordt door de huidige bar geprojecteerd.

Voorbeeld 3, Horizontale straal als open niveau (Indicator)

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

Omdat beide y-waarden gelijk zijn, is de straal horizontaal en loopt hij naar rechts vanaf het startpunt.

Veelvoorkomende fouten en valkuilen

  • Alleen indicator. DRAWRAY heeft geen effect in ProScreener, ProOrder of ProBacktest. Houd het in een ProBuilder-indicator.
  • De richting hangt af van de volgorde van de punten. Als je de twee punten omwisselt, keert de richting waarin de straal doorloopt om. Controleer welk paar het ankerpunt is.
  • X is een bar-index. Een prijs doorgeven aan x1 of x2 plaatst de ray verkeerd. Gebruik BarIndex of offsets daarvan.
  • Begrensde alternatieven. Voor een lijn die bij beide punten stopt, gebruik je DRAWLINE of DRAWSEGMENT in plaats daarvan.