
QuaScript Documentation
Language guide, engine API, 601 builtins and the preset library · v3.0.0-phase1
render: outputs
Generated from the engine catalog by tools/gen-docs.mjs; do not edit.
render.area
render.area(value, title = , base = na, color = na, width = 1.5, stroke = style.solid, pane = na, offset = 0, backend = ) -> plotFilled area down to base (default: the pane bottom).
| Argument | Kind | Default | Notes |
|---|---|---|---|
value | series | required | |
title | text | "" | |
base | num | na | |
color | color | na | |
width | num | 1.5 | |
stroke | num | style.solid | |
pane | int | na | |
offset | int | 0 | |
backend | text | "" | one of `, canvas, webgl, webgpu` |
render.background
render.background(color, pane = na)Background color of the bar (na = none).
| Argument | Kind | Default | Notes |
|---|---|---|---|
color | color | required | |
pane | int | na |
render.band
render.band(top, bottom, color = color.blue.500, opacity = 0.2, upper_color = na, lower_color = na, mid_color = na, texture = flat, direction = vertical, cloud_style = cumulus, puff_scale = 1, title = , backend = )Fill between two plots (flat, gradient or cloud texture). uppercolor / lowercolor may be series: each bar then fades from its own top color to its own bottom color. direction = "edges" anchors a constant gradient to each bar's edges.
| Argument | Kind | Default | Notes |
|---|---|---|---|
top | plot | required | |
bottom | plot | required | |
color | color | color.blue.500 | |
opacity | num | 0.2 | |
upper_color | color | na | |
lower_color | color | na | |
mid_color | color | na | |
texture | text | flat | one of flat, gradient, cloud |
direction | text | vertical | one of vertical, edges, horizontal |
cloud_style | text | cumulus | |
puff_scale | num | 1 | |
title | text | "" | |
backend | text | "" | one of `, canvas, webgl, webgpu` |
render.band(p_hi, p_lo, upper_color = color.ramp(z, -2, 2, "turbo"), lower_color = color.transparent, title = "Heat channel")render.baseline
render.baseline(value, title = , base = 0, up_color = na, down_color = na, color = na, width = 1.5, stroke = style.solid, pane = na, offset = 0, backend = ) -> plotLine colored above / below a base value.
| Argument | Kind | Default | Notes |
|---|---|---|---|
value | series | required | |
title | text | "" | |
base | num | 0 | |
up_color | color | na | |
down_color | color | na | |
color | color | na | |
width | num | 1.5 | |
stroke | num | style.solid | |
pane | int | na | |
offset | int | 0 | |
backend | text | "" | one of `, canvas, webgl, webgpu` |
render.candle_color
render.candle_color(color)Color of the price bar (na = default).
| Argument | Kind | Default | Notes |
|---|---|---|---|
color | color | required |
render.dots
render.dots(value, title = , shape = shape.circle, size = 3, color = na, width = 1.5, stroke = style.solid, pane = na, offset = 0, backend = ) -> plotA point per bar.
| Argument | Kind | Default | Notes |
|---|---|---|---|
value | series | required | |
title | text | "" | |
shape | num | shape.circle | |
size | num | 3 | |
color | color | na | |
width | num | 1.5 | |
stroke | num | style.solid | |
pane | int | na | |
offset | int | 0 | |
backend | text | "" | one of `, canvas, webgl, webgpu` |
render.flow.depth
render.flow.depth(title = , opacity = 0.8)Order-flow depth (requires host order-book columns).
| Argument | Kind | Default | Notes |
|---|---|---|---|
title | text | "" | |
opacity | num | 0.8 |
Needs host data (order flow).
render.flow.footprint
render.flow.footprint(title = , opacity = 0.8)Order-flow footprint (requires host order-book columns).
| Argument | Kind | Default | Notes |
|---|---|---|---|
title | text | "" | |
opacity | num | 0.8 |
Needs host data (order flow).
render.flow.heatmap
render.flow.heatmap(title = , opacity = 0.8)Order-flow heatmap (requires host order-book columns).
| Argument | Kind | Default | Notes |
|---|---|---|---|
title | text | "" | |
opacity | num | 0.8 |
Needs host data (order flow).
render.flow.liquidity
render.flow.liquidity(title = , opacity = 0.8)Order-flow liquidity (requires host order-book columns).
| Argument | Kind | Default | Notes |
|---|---|---|---|
title | text | "" | |
opacity | num | 0.8 |
Needs host data (order flow).
render.histogram
render.histogram(value, title = , base = 0, color = na, width = 1.5, stroke = style.solid, pane = na, offset = 0, backend = ) -> plotColumns from base to value.
| Argument | Kind | Default | Notes |
|---|---|---|---|
value | series | required | |
title | text | "" | |
base | num | 0 | |
color | color | na | |
width | num | 1.5 | |
stroke | num | style.solid | |
pane | int | na | |
offset | int | 0 | |
backend | text | "" | one of `, canvas, webgl, webgpu` |
render.level
render.level(price, title = , color = color.slate.500, width = 1, stroke = style.dashed, pane = na, backend = ) -> plotHorizontal level; returns a plot handle so levels can be banded.
| Argument | Kind | Default | Notes |
|---|---|---|---|
price | num | required | |
title | text | "" | |
color | color | color.slate.500 | |
width | num | 1 | |
stroke | num | style.dashed | |
pane | int | na | |
backend | text | "" | one of `, canvas, webgl, webgpu` |
render.line
render.line(value, title = , color = na, width = 1.5, stroke = style.solid, pane = na, offset = 0, backend = ) -> plotLine plot; returns a plot handle for render.band.
| Argument | Kind | Default | Notes |
|---|---|---|---|
value | series | required | |
title | text | "" | |
color | color | na | |
width | num | 1.5 | |
stroke | num | style.solid | |
pane | int | na | |
offset | int | 0 | |
backend | text | "" | one of `, canvas, webgl, webgpu` |
render.mark
render.mark(when, shape = shape.triangle_up, at = anchor.below_bar, color = color.emerald.500, text = , size = 1, price = na, title = , text_color = color.white, pane = na, backend = )Shape on bars where when is true.
| Argument | Kind | Default | Notes |
|---|---|---|---|
when | bool | required | |
shape | num | shape.triangle_up | |
at | num | anchor.below_bar | |
color | color | color.emerald.500 | |
text | text | "" | |
size | num | 1 | |
price | num | na | |
title | text | "" | |
text_color | color | color.white | |
pane | int | na | |
backend | text | "" | one of `, canvas, webgl, webgpu` |
render.price.bars
render.price.bars(o = open, h = high, l = low, c = close, up_color = na, down_color = na, title = , pane = na, box = na)Price bars drawn as bars.
| Argument | Kind | Default | Notes |
|---|---|---|---|
o | series | open | |
h | series | high | |
l | series | low | |
c | series | close | |
up_color | color | na | |
down_color | color | na | |
title | text | "" | |
pane | int | na | |
box | num | na |
render.price.candles
render.price.candles(o = open, h = high, l = low, c = close, up_color = na, down_color = na, title = , pane = na, box = na)Price bars drawn as candles.
| Argument | Kind | Default | Notes |
|---|---|---|---|
o | series | open | |
h | series | high | |
l | series | low | |
c | series | close | |
up_color | color | na | |
down_color | color | na | |
title | text | "" | |
pane | int | na | |
box | num | na |
render.price.heikin
render.price.heikin(o = open, h = high, l = low, c = close, up_color = na, down_color = na, title = , pane = na, box = na)Price bars drawn as heikin.
| Argument | Kind | Default | Notes |
|---|---|---|---|
o | series | open | |
h | series | high | |
l | series | low | |
c | series | close | |
up_color | color | na | |
down_color | color | na | |
title | text | "" | |
pane | int | na | |
box | num | na |
render.price.hollow
render.price.hollow(o = open, h = high, l = low, c = close, up_color = na, down_color = na, title = , pane = na, box = na)Price bars drawn as hollow.
| Argument | Kind | Default | Notes |
|---|---|---|---|
o | series | open | |
h | series | high | |
l | series | low | |
c | series | close | |
up_color | color | na | |
down_color | color | na | |
title | text | "" | |
pane | int | na | |
box | num | na |
render.price.kagi
render.price.kagi(o = open, h = high, l = low, c = close, up_color = na, down_color = na, title = , pane = na, box = na)Price bars drawn as kagi.
| Argument | Kind | Default | Notes |
|---|---|---|---|
o | series | open | |
h | series | high | |
l | series | low | |
c | series | close | |
up_color | color | na | |
down_color | color | na | |
title | text | "" | |
pane | int | na | |
box | num | na |
render.price.line_break
render.price.line_break(o = open, h = high, l = low, c = close, up_color = na, down_color = na, title = , pane = na, box = na)Price bars drawn as line_break.
| Argument | Kind | Default | Notes |
|---|---|---|---|
o | series | open | |
h | series | high | |
l | series | low | |
c | series | close | |
up_color | color | na | |
down_color | color | na | |
title | text | "" | |
pane | int | na | |
box | num | na |
render.price.point_figure
render.price.point_figure(o = open, h = high, l = low, c = close, up_color = na, down_color = na, title = , pane = na, box = na)Price bars drawn as point_figure.
| Argument | Kind | Default | Notes |
|---|---|---|---|
o | series | open | |
h | series | high | |
l | series | low | |
c | series | close | |
up_color | color | na | |
down_color | color | na | |
title | text | "" | |
pane | int | na | |
box | num | na |
render.price.renko
render.price.renko(o = open, h = high, l = low, c = close, up_color = na, down_color = na, title = , pane = na, box = na)Price bars drawn as renko.
| Argument | Kind | Default | Notes |
|---|---|---|---|
o | series | open | |
h | series | high | |
l | series | low | |
c | series | close | |
up_color | color | na | |
down_color | color | na | |
title | text | "" | |
pane | int | na | |
box | num | na |
render.profile.session
render.profile.session(rows = 24, value_area = 0.7, width = 120, position = right, up_color = color.teal.500, down_color = color.rose.500, poc_color = color.amber.400, title = , period = session)session profile with POC and value area, computed by the engine.
| Argument | Kind | Default | Notes |
|---|---|---|---|
rows | int | 24 | |
value_area | num | 0.7 | |
width | num | 120 | |
position | text | right | one of right, left |
up_color | color | color.teal.500 | |
down_color | color | color.rose.500 | |
poc_color | color | color.amber.400 | |
title | text | "" | |
period | text | session | one of visible, session, all, bars |
render.profile.tpo
render.profile.tpo(rows = 24, value_area = 0.7, width = 120, position = right, up_color = color.teal.500, down_color = color.rose.500, poc_color = color.amber.400, title = , period = session)tpo profile with POC and value area, computed by the engine.
| Argument | Kind | Default | Notes |
|---|---|---|---|
rows | int | 24 | |
value_area | num | 0.7 | |
width | num | 120 | |
position | text | right | one of right, left |
up_color | color | color.teal.500 | |
down_color | color | color.rose.500 | |
poc_color | color | color.amber.400 | |
title | text | "" | |
period | text | session | one of visible, session, all, bars |
render.profile.volume
render.profile.volume(rows = 24, value_area = 0.7, width = 120, position = right, up_color = color.teal.500, down_color = color.rose.500, poc_color = color.amber.400, title = , period = visible)volume profile with POC and value area, computed by the engine.
| Argument | Kind | Default | Notes |
|---|---|---|---|
rows | int | 24 | |
value_area | num | 0.7 | |
width | num | 120 | |
position | text | right | one of right, left |
up_color | color | color.teal.500 | |
down_color | color | color.rose.500 | |
poc_color | color | color.amber.400 | |
title | text | "" | |
period | text | visible | one of visible, session, all, bars |
render.spline
render.spline(value, title = , color = na, width = 1.5, stroke = style.solid, pane = na, offset = 0, backend = ) -> plotSmoothed curve through the values.
| Argument | Kind | Default | Notes |
|---|---|---|---|
value | series | required | |
title | text | "" | |
color | color | na | |
width | num | 1.5 | |
stroke | num | style.solid | |
pane | int | na | |
offset | int | 0 | |
backend | text | "" | one of `, canvas, webgl, webgpu` |
render.step
render.step(value, title = , color = na, width = 1.5, stroke = style.solid, pane = na, offset = 0, backend = ) -> plotStep line.
| Argument | Kind | Default | Notes |
|---|---|---|---|
value | series | required | |
title | text | "" | |
color | color | na | |
width | num | 1.5 | |
stroke | num | style.solid | |
pane | int | na | |
offset | int | 0 | |
backend | text | "" | one of `, canvas, webgl, webgpu` |
render.stepped_area
render.stepped_area(value, title = , base = na, color = na, width = 1.5, stroke = style.solid, pane = na, offset = 0, backend = ) -> plotStepped filled area.
| Argument | Kind | Default | Notes |
|---|---|---|---|
value | series | required | |
title | text | "" | |
base | num | na | |
color | color | na | |
width | num | 1.5 | |
stroke | num | style.solid | |
pane | int | na | |
offset | int | 0 | |
backend | text | "" | one of `, canvas, webgl, webgpu` |
render.time_mark
render.time_mark(when, title = , color = color.slate.500, width = 1, stroke = style.dotted, pane = na)Vertical line on bars where when is true.
| Argument | Kind | Default | Notes |
|---|---|---|---|
when | bool | required | |
title | text | "" | |
color | color | color.slate.500 | |
width | num | 1 | |
stroke | num | style.dotted | |
pane | int | na |
render.vpane.histogram
render.vpane.histogram(value, price = close, value2 = na, low = na, high = na, period = visible, bars = 500, aggregate = sum, color = color.blue.400, color2 = color.red.500, show_poc = 1, poc_color = color.yellow.400, show_value_area = 0, value_area = 0.7, extend_poc = 0, title = , width = na, rows = 60, row_size = 0, anchor = left, labels = 1)Vertical pane beside the price axis: sums value (and value2, drawn mirrored) by price over the bars of period. Each bar adds value at price, or spreads it over [low, high] when both are set; negative values use color2.
| Argument | Kind | Default | Notes |
|---|---|---|---|
value | series | required | |
price | series | close | |
value2 | series | na | |
low | series | na | |
high | series | na | |
period | text | visible | one of visible, session, all, bars |
bars | int | 500 | |
aggregate | text | sum | one of sum, mean, max, min, last, count |
color | color | color.blue.400 | |
color2 | color | color.red.500 | |
show_poc | bool | 1 | |
poc_color | color | color.yellow.400 | |
show_value_area | bool | 0 | |
value_area | num | 0.7 | |
extend_poc | bool | 0 | |
title | text | "" | |
width | num | na | |
rows | int | 60 | |
row_size | num | 0 | |
anchor | text | left | one of left, right |
labels | bool | 1 |
render.vpane.histogram(volume * math.sign(close - open), low = low, high = high, title = "Delta at price")render.vpane.profile
render.vpane.profile(kind = volume, value_area = 0.7, show_poc = 1, show_value_area = 1, extend_poc = 1, title = , width = na, rows = 60, row_size = 0, anchor = left, labels = 1)One of the chart's built-in vertical panes (volume / buy-sell / delta / session / composite / TPO profiles, time at price, S/R strength, order-book depth ...), computed by the chart from its bars and order book.
| Argument | Kind | Default | Notes |
|---|---|---|---|
kind | text | volume | one of volume, buy_sell, delta, session, composite, tpo, time_at_price, close, wick, sr_strength, volatility, nodes, orderbook, depth, imbalance, liquidity |
value_area | num | 0.7 | |
show_poc | bool | 1 | |
show_value_area | bool | 1 | |
extend_poc | bool | 1 | |
title | text | "" | |
width | num | na | |
rows | int | 60 | |
row_size | num | 0 | |
anchor | text | left | one of left, right |
labels | bool | 1 |