DRAWRAY
DRAWRAY i ProBuilder tegner en stråle som starter i ett punkt og strekker seg uendelig gjennom et annet punkt, med valgfri COLOURED-farge. Syntaks og eksempler.
Syntaks
DRAWRAY(x1, y1, x2, y2) COLOURED(R, G, B, a)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
x1 | heltall | påkrevd | X-koordinaten for startpunktet, normalt en barindeks. |
y1 | pris | påkrevd | Y-koordinaten for startpunktet, en pris eller en beregnet verdi. |
x2 | heltall | påkrevd | X-koordinaten til et annet punkt som angir retningen. |
y2 | pris | påkrevd | Y-koordinaten for det andre punktet. |
R, G, B | heltall | plattformstandard | Valgfritt COLOURED rød, grønn og blå komponent, 0 til 255. |
a | heltall | 255 | Valgfri alfa (gjennomsiktighet), 0 helt gjennomsiktig til 255 helt ugjennomsiktig. |
Slik fungerer det
DRAWRAY kjører inne i en ProBuilder-indikator. Den tegner en halvlinje som starter ved (x1, y1) og går gjennom (x2, y2), og fortsetter deretter forbi det andre punktet uten å stoppe. Retningen avhenger av rekkefølgen på parene: hvis (x1, y1) er til høyre for (x2, y2), strekker strålen seg mot venstre, og omvendt.
Dette skiller DRAWRAY fra DRAWLINE og DRAWSEGMENT, som slutter ved sine to punkter. Som for andre tegneobjekter setter skript DEFPARAM DrawOnLastBarOnly = true slik at strålen tegnes én gang. Den COLOURED leddet er valgfritt.
Eksempler
Eksempel 1, En enkelt projisert trendlinje (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)
RETURNStrålen starter 40 barer tilbake og fortsetter forbi gjeldende bar, og projiserer stigningen fremover.
Eksempel 2, Stråler fra periodens ekstremverdier (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
RETURNÅ sikre beregningen med IsLastBarUpdate kjører løkken bare én gang. Hver stråle er forankret i et periodeekstremum og projisert gjennom gjeldende bar.
Eksempel 3, Horisontal stråle som et åpent nivå (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)
RETURNFordi begge y-verdiene er like, er strålen horisontal og strekker seg til høyre for startpunktet.
Vanlige feil og fallgruver
- Kun for indikatorer.
DRAWRAYhar ingen effekt i ProScreener, ProOrder eller ProBacktest. Behold den i en ProBuilder-indikator. - Retningen avhenger av rekkefølgen på punktene. Å bytte om de to punktene reverserer retningen strålen strekker seg i. Sjekk hvilket par som er ankeret.
- X er en barindeks. Å sende en pris inn i
x1ellerx2plasserer strålen feil. BrukBarIndexeller forskyvninger fra den. - Avgrensede alternativer. For en linje som stopper ved begge punktene, bruk
DRAWLINEellerDRAWSEGMENTi stedet.
Relaterte instruksjoner
DRAWLINE, en linje avgrenset av sine to punkter.DRAWSEGMENT, et segment mellom to punkter.DRAWHLINE, en horisontal linje ved én pris.DRAWVLINE, en vertikal linje ved én barindeks.COLOURED, setter farge og gjennomsiktighet.DrawOnLastBarOnly, begrenser tegning til siste bar av ytelsesgrunner.IsLastBarUpdate, kjører en blokk én gang på siste bar.BarIndex, angir x-koordinatene.