Iscriviti ora
Grafica/probuilder

DRAWBARCHART

DRAWBARCHART in ProBuilder disegna una bar OHLC personalizzata a partire dai valori di apertura, massimo, minimo e chiusura, con bar COLOURED e BORDERCOLOR opzionali. Sintassi ed esempi.

Sintassi

probuilder
DRAWBARCHART(open, high, low, close) COLOURED(R, G, B) BORDERCOLOR(R, G, B)

Parametri

NomeTipoPredefinitoDescrizione
openprezzoobbligatorioValore di apertura, disegnato come la tacca sinistra della bar.
highprezzoobbligatorioValore più alto, la cima della bar verticale.
lowprezzoobbligatorioValore più basso, la base della bar verticale.
closeprezzoobbligatorioValore di chiusura, disegnato come la tacca destra della bar.
R, G, B (COLOURED)interopredefinito della piattaformaComponenti del colore della bar, da 0 a 255.
R, G, B (BORDERCOLOR)interopredefinito della piattaformaComponenti del colore del bordo, da 0 a 255.

Come funziona

DRAWBARCHART viene eseguito all'interno di un indicatore ProBuilder. Disegna un bar OHLC, una linea verticale dal minimo al massimo con una tacca di apertura a sinistra e una tacca di chiusura a destra, a partire dai quattro valori passati. Tali valori possono essere costanti, variabili o espressioni, il che lo rende un modo per rappresentare una serie di bar derivata, come un grafico a bar lisciato o mediato. Il bar viene disegnato sul bar corrente su cui è chiamato, quindi non serve alcun argomento di indice del bar.

COLOURED imposta il colore del bar e BORDERCOLOR imposta il contorno. Quando entrambi sono omessi si applicano i colori predefiniti della piattaforma. Si comporta come DRAWCANDLE ma produce una bar anziché un corpo di candela.

Esempi

Esempio 1, Grafico a bar Heikin-Ashi smussato (Indicatore)

probuilder
// Build averaged Heikin-Ashi bars and colour by direction
period = 20
IF BarIndex > period THEN
    avgO = Average[period](open)
    avgH = Average[period](high)
    avgL = Average[period](low)
    avgC = Average[period](close)
    HAClose = (avgO + avgH + avgL + avgC) / 4
    HAOpen = (HAOpen[1] + HAClose[1]) / 2
    HAHigh = MAX(avgH, MAX(HAOpen, HAClose))
    HALow = MIN(avgL, MIN(HAOpen, HAClose))
    IF avgO <= avgC THEN
        DRAWBARCHART(HAOpen, HAHigh, HALow, HAClose) COLOURED(0, 255, 0)
    ELSE
        DRAWBARCHART(HAOpen, HAHigh, HALow, HAClose) COLOURED(255, 0, 0)
    ENDIF
ENDIF
RETURN

La bar è verde quando l'apertura mediata è pari o inferiore alla chiusura mediata, e rossa altrimenti.

Esempio 2, Una bar grezza ricolorata (Indicatore)

probuilder
// Redraw the current bar in a fixed colour
DRAWBARCHART(open, high, low, close) COLOURED(0, 120, 255)
RETURN

Passare i valori OHLC grezzi riproduce la bar con un colore scelto.

Esempio 3, Bar da una serie spostata (Indicatore)

probuilder
// Draw a bar offset up by a fixed amount for comparison
off = 10 * pointsize
DRAWBARCHART(open + off, high + off, low + off, close + off) COLOURED(200, 200, 0)
RETURN

Spostare ogni valore dello stesso offset posiziona una bar di confronto sopra il prezzo.

Errori e insidie comuni

  • Solo indicatori. DRAWBARCHART non ha effetto in ProScreener, ProOrder o ProBacktest. Mantienilo in un indicatore ProBuilder.
  • Ordine degli argomenti. L'ordine è apertura, massimo, minimo, chiusura. Scambiare massimo e minimo o apertura e chiusura disegna una bar malformata.
  • Nessun argomento di indice di bar. La bar viene disegnata sulla bar su cui viene eseguita la chiamata, posizionata in base al punto del ciclo in cui viene eseguita, non da una coordinata x.
  • L'apertura ricorsiva richiede una protezione. Le aperture in stile Heikin-Ashi fanno riferimento a HAOpen[1], quindi condiziona il blocco con un BarIndex test per evitare un primo valore non definito.
  • DRAWCANDLE, disegna una candela personalizzata invece di una bar.
  • Open, la fonte del prezzo di apertura.
  • High, la fonte del prezzo massimo.
  • Low, la fonte del prezzo minimo.
  • Close, la fonte del prezzo di chiusura.
  • COLOURED, imposta il colore della bar.
  • DrawOnLastBarOnly, limita il disegno all'ultima bar.
  • Average, smussa i valori OHLC prima del disegno.