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
DRAWRAY(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 een tweede punt dat de richting bepaalt. |
y2 | prijs | verplicht | Y-coördinaat van het tweede punt. |
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
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)
// 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)
RETURNDe 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)
// 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
RETURNDe 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)
// 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)
RETURNOmdat beide y-waarden gelijk zijn, is de straal horizontaal en loopt hij naar rechts vanaf het startpunt.
Veelvoorkomende fouten en valkuilen
- Alleen indicator.
DRAWRAYheeft 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
x1ofx2plaatst de ray verkeerd. GebruikBarIndexof offsets daarvan. - Begrensde alternatieven. Voor een lijn die bij beide punten stopt, gebruik je
DRAWLINEofDRAWSEGMENTin plaats daarvan.
Gerelateerde instructies
DRAWLINE, een lijn die begrensd wordt door haar twee punten.DRAWSEGMENT, een segment tussen twee punten.DRAWHLINE, een horizontale lijn op één prijs.DRAWVLINE, een verticale lijn op één bar-index.COLOURED, stelt kleur en transparantie in.DrawOnLastBarOnly, beperkt het tekenen tot de laatste bar om prestatieredenen.IsLastBarUpdate, voert een blok één keer uit op de laatste bar.BarIndex, levert de x-coördinaten.