MMTMMT Docs

Changelog

New Scripting v3 features and changes, newest first.

This page lists what has been added to Scripting v3 since launch, newest first. For the differences between v2 and v3, see what's new in Scripting v3.

October 2026

Cells plots

plot.cells draws rows of cells inside each bar: a price band, a width, colors, and a number. It is built for footprints, per-bar profiles, and ladders, and keeps them for far more bars than box entities can.

data chart = subscribe(data.ohlcv)
data vol = subscribe(data.volume)

plot footprint = plot.cells(
  title: "Bid x Ask",
  columns: 2,
  candles: cellcandles.side,
)

on chart.update {
  let rows = vol.bucketsByStep(25.0)
  if rows != null {
    footprint.clear(time: rows.time)
    for row in rows {
      footprint.cell(row.from, row.to, weight: row.sell, value: row.sell,
        color: #e0443a80, column: 0, align: align.right, time: rows.time)
      footprint.cell(row.from, row.to, weight: row.buy, value: row.buy,
        color: #2fa66a80, column: 1, align: align.left, time: rows.time)
    }
  }
}
  • Columns. Each bar can be split into 1 to 4 side-by-side columns.
  • Scale. scale chooses what a full-width cell means: the largest weight on its own bar (cellscale.bar), the largest on the visible bars (cellscale.view), or a fraction from 0 to 1 (cellscale.unit).
  • Limits. Each bar holds at most 1024 cells per plot. Your plan sets the total a script keeps; when it is reached, the oldest bars lose their cells first.

See the plot.cells reference and the footprint cells example.

Candles beside or hidden behind cells

The candles argument of plot.cells chooses how the chart's own candles are drawn while the plot is visible on the main price pane.

  • cellcandles.overlay leaves the candles as they are, behind the cells. This is the default.
  • cellcandles.side draws them as a thin strip at the left edge of each bar, beside the cells.
  • cellcandles.hidden does not draw them.

Number format for cell values

Four arguments of plot.cells choose how each cell's value is written.

  • format picks the style. cellformat.compact shortens large numbers with a suffix, so 3214.56 reads 3.21K. cellformat.fixed writes the number in full. cellformat.percent treats the value as a ratio, so 0.153 reads 15.3%.
  • decimals is the number of digits after the decimal point, from 0 to 8. Left out, the chart chooses.
  • sign writes a + before values above zero.
  • grouping separates thousands with commas, so 53100000 reads 53,100,000. It applies to fixed and percent only.

Together they cover forms from 3.21K to +3,215 or 15.3%.

Volume buckets on a fixed price grid

bucketsByStep on a data.volume subscription groups volume into price buckets of a fixed size. Buckets start at whole multiples of the step, so the same price always falls in the same bucket on every snapshot. It pairs with plot.cells for footprints, as in the example above.

See the data reference.

On this page