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
DEFPARAM DrawOnLastBarOnly = trueParametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
DrawOnLastBarOnly | boolsk | false | Nå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)
// Print "LastBar" once, at the current close
DEFPARAM DrawOnLastBarOnly = true
ONCE font = "Arial"
DRAWTEXT("LastBar", BarIndex, close) COLOURED(255, 0, 0)
RETURNTeksten tegnes bare på den gjeldende baren i stedet for på hver bar i historikken.
Eksempel 2, Linjer for nylig high og low (Indikator)
// 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)
RETURNUten 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)
// 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)
RETURNLøkken skanner historikken på den siste baren, og den enkelte linjen tegnes der.
Vanlige feil og fallgruver
- Kun en indikatorinnstilling.
DrawOnLastBarOnlygjelder tegninger i ProBuilder-indikatorer. Den har ingen betydning i ProScreener, ProOrder eller ProBacktest. - Deklarer med DEFPARAM øverst. Den må settes med
DEFPARAMfør tegnekoden, ikke midt i skriptet. - Påvirker tegninger, ikke beregning. Den begrenser hvor objekter tegnes, ikke hvor mye som beregnes. Kombiner den med
CalculateOnLastBarsfor 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.
Relaterte instruksjoner
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.