Bli medlem i dag
Grafisk/probuilder

DrawOnLastBarOnly

DrawOnLastBarOnly i ProBuilder er et DEFPARAM-flagg som begrenser grafiske tegninger til den siste baren, noe som reduserer kostnaden ved gjentegning og holder diagrammet rent.

Syntaks

probuilder
DEFPARAM DrawOnLastBarOnly = true

Parametere

NavnTypeStandardBeskrivelse
DrawOnLastBarOnlyboolskfalseNår true, tegnes grafiske objekter bare på den siste baren. Deklarert med DEFPARAM øverst i skriptet.

Slik fungerer det

DrawOnLastBarOnly er en DEFPARAM flagg satt én gang ved starten av en ProBuilder-indikator. Når det er true, enhver DRAW kommandoen som følger, tegner bare på den siste baren i diagrammet, i stedet for å gjenta seg på hver historiske bar. Dette er viktig fordi tegneinstruksjoner som standard kjører på hver bar, så en linje eller et merke plassert uten flagget tegnes om tusenvis av ganger, noe som gjør diagrammet tregere og kan etterlate overlappende objekter.

Den egner seg godt til objekter som beskriver gjeldende tilstand, som støtte- og motstandslinjer, pivoter eller en statusetikett. Den brukes ofte sammen med CalculateOnLastBars for å begrense både beregning og tegning. Fordi tegningen skjer på den siste baren, fungerer koordinatoppslag over historikken likevel: løkken som finner et swing-punkt kjører på den siste baren, og objektet tegnes der.

Eksempler

Eksempel 1, En enkelt etikett på den siste baren (Indikator)

probuilder
// Print "LastBar" once, at the current close
DEFPARAM DrawOnLastBarOnly = true
ONCE font = "Arial"
DRAWTEXT("LastBar", BarIndex, close) COLOURED(255, 0, 0)
RETURN

Teksten tegnes bare på den gjeldende baren i stedet for på hver bar i historikken.

Eksempel 2, Linjer for nylig high og low (Indikator)

probuilder
// Draw the 15-bar high and low once
DEFPARAM DrawOnLastBarOnly = true
hh = Highest[15](high)
ll = Lowest[15](low)
DRAWHLINE(hh) COLOURED(0, 200, 0)
DRAWHLINE(ll) COLOURED(200, 0, 0)
RETURN

Uten flagget ville disse to linjene blitt tegnet på nytt på hver bar. Med det vises de én gang.

Eksempel 3, En trendlinje bygget på den siste baren (Indikator)

probuilder
// Find two lows across 20 bars and connect them, once
DEFPARAM DrawOnLastBarOnly = true
period = 20
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
DRAWLINE(x1, y1, x2, y2) COLOURED(0, 120, 255)
RETURN

Løkken skanner historikken på den siste baren, og den enkelte linjen tegnes der.

Vanlige feil og fallgruver

  • Kun en indikatorinnstilling. DrawOnLastBarOnly gjelder tegninger i ProBuilder-indikatorer. Den har ingen betydning i ProScreener, ProOrder eller ProBacktest.
  • Deklarer med DEFPARAM øverst. Den må settes med DEFPARAM før tegnekoden, ikke midt i skriptet.
  • Påvirker tegninger, ikke beregning. Den begrenser hvor objekter tegnes, ikke hvor mye som beregnes. Kombiner den med CalculateOnLastBars for også å redusere beregningen.
  • Historiske markører forsvinner. Med flagget på tegnes ikke tidligere signaler. Hvis du vil ha en pil ved hver tidligere hendelse, la det være av og styr hver tegning med sin egen betingelse.
  • DRAWLINE, en tegning som har nytte av å begrenses til den siste baren.
  • DRAWHLINE, en nivålinje som vanligvis tegnes én gang.
  • DRAWVLINE, en vertikal markør som vanligvis tegnes én gang.
  • DRAWTEXT, en etikett som vanligvis tegnes én gang.
  • CalculateOnLastBars, begrenser beregningen til nylige barer.
  • IsLastBarUpdate, en annen måte å kjøre kode på den siste baren.
  • ONCE, initialiserer en verdi én enkelt gang.
  • BarIndex, leverer koordinater for tegningene.