interface CandleStyle {
    bodyVisible?: boolean;
    borderDownColor: string;
    borderUpColor: string;
    borderVisible: boolean;
    colorByPreviousClose?: boolean;
    downColor: string;
    hollow?: boolean;
    upColor: string;
    wickDownColor: string;
    wickUpColor: string;
    wickVisible: boolean;
    widthScale?: (bar: Bar) => number;
}

Properties

bodyVisible?: boolean

Paint the body at all. Off leaves the candle as its outline and wick, which is what a settings dialog's "Body" switch means.

Distinct from hollow, which empties only the UP candles and is the hollow-candle chart type. This empties both, and it is the one switch here that can legitimately leave nothing drawn: with borders off as well, a candle is reduced to its wick. That is two deliberate switches rather than an accident, so it is honoured rather than second-guessed.

borderDownColor: string
borderUpColor: string
borderVisible: boolean
colorByPreviousClose?: boolean

"Color bars based on previous close": a bar is up when it closed above the bar before it rather than above its own open. Body, border and wick all follow the same verdict, so the candle never disagrees with itself.

downColor: string
hollow?: boolean

Draw up-candle bodies as outlines only (hollow candles).

upColor: string
wickDownColor: string
wickUpColor: string
wickVisible: boolean
widthScale?: (bar: Bar) => number

Per-bar body-width scale 0..1 (volume candles); 1 = full width.