Bli medlem i dag
Grafisk/probuilder

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

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

Parametere

NavnTypeStandardBeskrivelse
x1heltallpåkrevdX-koordinaten for startpunktet, normalt en barindeks.
y1prispåkrevdY-koordinaten for startpunktet, en pris eller en beregnet verdi.
x2heltallpåkrevdX-koordinaten til et annet punkt som angir retningen.
y2prispåkrevdY-koordinaten for det andre punktet.
R, G, BheltallplattformstandardValgfritt COLOURED rød, grønn og blå komponent, 0 til 255.
aheltall255Valgfri 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)

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

Strålen starter 40 barer tilbake og fortsetter forbi gjeldende bar, og projiserer stigningen fremover.

Eksempel 2, Stråler fra periodens ekstremverdier (Indikator)

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

Å 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)

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

Fordi begge y-verdiene er like, er strålen horisontal og strekker seg til høyre for startpunktet.

Vanlige feil og fallgruver

  • Kun for indikatorer. DRAWRAY har 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 x1 eller x2 plasserer strålen feil. Bruk BarIndex eller forskyvninger fra den.
  • Avgrensede alternativer. For en linje som stopper ved begge punktene, bruk DRAWLINE eller DRAWSEGMENT i stedet.