Custom footprint cells
Footprint style cells of your own: every price row of the recent candles painted on a gradient by its imbalance, bid by ask on the point of control row, and stacked imbalances marked.
//@xfscript 1
indicator("Delta Cells")
let lookback: int = input.int(150, "lookback", "Bars to paint", 10, 2000, 10)
let strong: float = input.float(0.6, "strong", "Imbalance for full colour", 0.1, 1, 0.05)
let sell_color: color = input.color("#EF4444CC", "sellColor", "Sellers")
let buy_color: color = input.color("#22C55ECC", "buyColor", "Buyers")
let calm: color = input.color("#6B728033", "calmColor", "Balanced")
let recent: bool = bar_index >= bar_count - lookback
let rows: float = recent && cell.available() ? cell.count() : 0
let poc_row: int = cell.poc_index()
for i = 0 to rows - 1 by 1 {
let p: float = cell.price(i)
let lean: float = nz(cell.imbalance(i), 0)
let shade: color = lean >= 0 ? color.from_gradient(lean, 0, strong, calm, buy_color) : color.from_gradient(lean, -strong, 0, sell_color, calm)
let caption: string = i == poc_row ? str.concat(format.compact(cell.bid_volume(i)), " x ", format.compact(cell.ask_volume(i))) : ""
plot.cell(p, p, shade, caption, "#FFFFFF")
}
let stacked_up: bool = recent && cell.stacked_ask(3, 3)
let stacked_down: bool = recent && cell.stacked_bid(3, 3)
plot.marker(stacked_up, low, "#22C55E", "triangle", "below", 9, 3)
plot.marker(stacked_down, high, "#EF4444", "triangle", "above", 9, 3)