圖表渲染
執行 Pine Script 後,調用 instance.chart() 可獲取 Chart —— 腳本產生的完整視覺輸出集合。本文件描述圖表資料模型,以便你可在任何前端(Canvas、SVG、WebGL、原生 UI 等)中進行渲染。
基本存取圖表和腳本資訊的 Rust API 模式請參閱讀取輸出。
概述
Chart 包含兩類視覺元素:
| 類別 | 存取方式 | 描述 |
|---|---|---|
| 序列圖 | chart.series_graphs() | 逐 K 線資料:每根 K 線一個值。包括 plot()、plotshape()、plotchar()、plotarrow()、plotcandle()、plotbar()、bgcolor()、fill()。 |
| 非序列圖 | chart.graphs() | 由 *.new() 創建的時間點繪圖物件。包括 label、line、box、table、polyline、hline、linefill。 |
序列圖按 K 線索引(索引 0 = 第一根 K 線)。非序列圖為具有顯式座標的獨立物件。
存取圖表
use openpine_vm::*;
// 1. Build an instance with bar data
let mut instance = Instance::builder(candlesticks, source, TimeFrame::days(1), "NASDAQ:AAPL")
.build().await?;
// 2. Run the script against all bars
instance.run_to_end("NASDAQ:AAPL", TimeFrame::days(1)).await?;
// 3. Access the chart (borrow)
let chart = instance.chart();
// Or take ownership (consumes the instance)
let chart = instance.into_chart();
// 4. Access script configuration
let info = instance.script_info();關鍵圖表方法
| 方法 | 返回類型 | 描述 |
|---|---|---|
background_color() | Option<Color> | 圖表級背景色 |
series_graphs() | Iterator<(SeriesGraphId, &SeriesGraph)> | 所有逐 K 線視覺序列 |
series_graph(id) | Option<&SeriesGraph> | 按 ID 查找特定序列圖 |
graphs() | Iterator<(GraphId, &Graph)> | 所有繪圖物件 |
graph(id) | Option<&Graph> | 按 ID 查找特定繪圖物件 |
series_len() | usize | K 線總數 |
bar_colors() | &BarColors | 每根 K 線的 K 線顏色覆蓋 |
filled_orders_on_bar(i) | &[FilledOrder] | 第 i 根 K 線上的成交訂單(信號名、價格、數量) |
圖表結構
Chart
|-- background_color: Option<Color>
|-- bar_colors: BarColors
|-- filled_orders: { bar_index -> [FilledOrder] }
|
|-- series_graphs: { SeriesGraphId -> SeriesGraph }
| |-- Plot
| |-- PlotShape
| |-- PlotChar
| |-- PlotArrow
| |-- PlotBar
| |-- PlotCandle
| |-- BackgroundColor
| |-- Fill
|
|-- graphs: { GraphId -> Graph }
|-- Hline
|-- Label
|-- Line
|-- LineFill
|-- Box
|-- Polyline
|-- Table腳本配置 (ScriptInfo)
通過 instance.script_info() 存取。這描述腳本如何聲明自身 —— 控制窗格布局、繪製順序和數值格式。indicator() 和 strategy() 共享相同的渲染相关欄位。
let info = instance.script_info();
// Access rendering fields via script_type
let is_overlay = match &info.script_type {
ScriptType::Indicator(ind) => ind.overlay,
ScriptType::Strategy(strat) => strat.overlay,
ScriptType::Library(lib) => lib.overlay,
};| 欄位 | 類型 | 默認值 | 描述 |
|---|---|---|---|
title | String | — | 顯示名称,用於圖表圖例和資料視窗 |
short_title | Option<String> | None | 紧凑顯示的缩写名称(狀態列、價格刻度) |
overlay | bool | false | true = 繪製在主圖价格窗格;false = 在單獨副圖中繪製 |
format | Format | Inherit | 價格刻度、工具提示、資料視窗上顯示數值的格式 |
precision | Option<u8> | None | 數值小数位。None = 使用品种默認值 |
scale | ScaleType | None | 價格刻度位置:None(自动)、Left、Right |
explicit_plot_zorder | bool | false | true = 按聲明順序渲染(先聲明 = 底层)。false = 默認繪製順序 |
behind_chart | bool | false | true = 在 K 線后方繪製而非上方 |
overlay 是最重要的渲染决策:
true-> 在主圖价格窗格繪製所有視覺元素,共享价格 Y 轴。false-> 在圖表下方創建單獨副圖,擁有自己的 Y 轴。
overlay 同时設定腳本創建的每个視覺元素的 force_overlay 默認值。当 overlay = true 时,所有視覺元素默認為 force_overlay = true(主圖)。当 overlay = false 时,默認為 force_overlay = false(副圖)。Pine 用户可通過顯式传递 force_overlay 参数,按視覺元素覆蓋此設定。
format 控制副圖 Y 軸標籤及十字準線/工具提示中數值的格式化方式,應用於所有副圖數值標籤:
Inherit/Price— 格式化為價格(如150.25、0.0042)Percent— 添加百分號(如3.14%)Volume— 縮寫大數值(如1.5M、200K)MinTick— 使用品種最小 tick 格式化(不可用時視為Price)
explicit_plot_zorder 控制图层:
false(默認)— 由渲染器决定繪製順序true— 按series_graphs()中的出现順序繪製(先出现 = 底层)
常見類型
Color
打包為 32 位 RGBA 的值,以 0xRRGGBBAA 格式儲存為 u32。
| 方法 | 描述 |
|---|---|
red() -> u8 | 红色通道 (0-255) |
green() -> u8 | 绿色通道 (0-255) |
blue() -> u8 | 蓝色通道 (0-255) |
alpha() -> u8 | 透明通道 (0 = 透明,255 = 不透明) |
transparency() -> u8 | alpha 的倒数 (0 = 不透明,100 = 透明) |
as_u32() -> u32 | 原始打包值 |
轉換為 CSS:rgba(color.red(), color.green(), color.blue(), color.alpha() as f64 / 255.0)。
序列化為 JSON 时,Color 顯示為普通整数(例如红色 0xFF0000FF 為 4294901760)。
值為 None 的 Option<Color> 表示“使用默認顏色”或“不可见”,取決於上下文。
Series<T>
Series<T> 是逐 K 線值的順序陣列,由 VecDeque<T> 支持。索引 0 為第一根 K 線,索引 len() - 1 為最后一根 K 線。
| 方法 | 描述 |
|---|---|
get(index) -> Option<&T> | 獲取 K 線索引处的值 |
len() -> usize | K 線數量 |
is_empty() -> bool | 序列是否為空 |
last() -> Option<&T> | 最后一根 K 線的值 |
大多數序列類型為 Series<Option<f64>> 或 Series<Option<Color>>。None 条目表示 na(不可用/該 K 線无數值)。渲染时跳过 None 条目 —— 該 K 線不繪製任何内容。
序列化為 JSON 时,Series 顯示為普通陣列:[null, 150.0, 153.2, null, ...]。
PlotDisplay (Bitflags)
控制視覺元素的顯示位置。為位掩码 —— 可组合多个標誌。
| 標誌 | 值 | 描述 |
|---|---|---|
ALL | 0xFFFF | 随处顯示(默認) |
NONE | 0x0 | 隱藏 —— 不渲染任何地方 |
PANE | 0x2 | 在圖表窗格中顯示(視覺圖形本身) |
DATA_WINDOW | 0x1 | 在資料視窗面板中顯示 |
PRICE_SCALE | 0x8 | 在價格刻度轴上顯示數值 |
STATUS_LINE | 0x10 | 在狀態/圖例行上顯示數值 |
渲染規則:仅当 display 包含 PANE 標誌(display & 0x2 != 0)时,在圖表窗格中渲染視覺元素。若 display 為 NONE(0x0),则完全跳过渲染。
序列圖(逐 K 線数据)
使用 chart.series_graphs() 迭代。每项為 (SeriesGraphId, &SeriesGraph) 对。使用模式匹配识别類型:
for (id, sg) in chart.series_graphs() {
match sg {
SeriesGraph::Plot(plot) => { /* render plot */ }
SeriesGraph::PlotShape(shape) => { /* render shapes */ }
SeriesGraph::PlotChar(pchar) => { /* render characters */ }
SeriesGraph::PlotArrow(arrow) => { /* render arrows */ }
SeriesGraph::PlotCandle(candle) => { /* render candles */ }
SeriesGraph::PlotBar(bar) => { /* render OHLC bars */ }
SeriesGraph::BackgroundColors(bg) => { /* render bg colors */ }
SeriesGraph::Fill(fill) => { /* render fill area */ }
}
}或使用存取方法:sg.as_plot()、sg.as_plot_shape() 等。
Plot
最常見的序列圖。由 Pine plot() 函数产生。
Pine 示例:
plot(close, "Close", color.blue, linewidth=2, style=plot.style_line)欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
title | Option<String> | 圖形标题。顯示在圖表圖例、資料視窗中,用作默認工具提示标签。None = 無標題。 |
series | Series<Option<f64>> | 逐 K 線數值。每项对应一根 K 線。None = na(該 K 線无点 —— 根据 style 和 join 断开或留空)。 |
colors | Series<Option<Color>> | 圖形的逐 K 線顏色。可随 K 線动态变化(如上涨绿色、下跌红色)。None = 使用默認顏色。 |
line_width | i32 | 線條或轮廓的像素宽度。默認:1。适用於所有样式。 |
style | PlotStyle | 决定序列数据的視覺渲染方式:连续线、阶梯线、面积填充、直方图柱、列或点标记(圆、十字、菱形)。參見 PlotStyle 列舉的所有选项。 |
line_style | PlotLineStyle | 基于線條样式的描边模式:Solid、Dashed 或 Dotted。仅适用於 Line、LineBr、StepLine、StepLineBr 样式。 |
track_price | bool | 若為 true,从最后繪製值向右延伸一条水平虚线至圖表右边缘,并在價格刻度上顯示該值。用於突出当前指标值。 |
histbase | f64 | Histogram、Area、AreaBr 和 Columns 样式的基准值。这些样式填充序列值与 histbase 之间的区域。默認:0.0。例如 histbase = 50.0 时,數值 80 的直方图柱从 50 向上绘至 80,數值 30 的柱从 50 向下绘至 30。 |
offset | i32 | 将整个圖形按给定 K 線数左右偏移。正值向右(未来),负值向左(过去)。默認:0。渲染器应在 bar_index + offset 而非 bar_index 处繪製。 |
join | bool | 控制 Line、StepLine 和 Area 样式的空值處理。true = 连接连续的 non-na 点,即使中间有 na 值(跨越空值)。false = 在 na 处断开。*Br 样式(LineBr、StepLineBr、AreaBr)无论此設定如何,始终在 na 处断开。 |
show_last | Option<usize> | 若設定,仅渲染圖形最后 N 根 K 線。更早的 K 線隱藏。用於减少視覺杂乱。None = 顯示全部。 |
display | PlotDisplay | 控制圖形可见位置的位標誌:圖表窗格、資料視窗、價格刻度、狀態列,或全部/无。仅当設定 PANE 標誌时在圖表上渲染。參見 PlotDisplay。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定(參見 ScriptInfo)。可通過 plot() 的 force_overlay 参数按调用覆蓋。 |
渲染逻辑:
for bar_index in 0..chart.series_len():
value = plot.series[bar_index] // Option<f64>
color = plot.colors[bar_index] // Option<Color>
if value is None:
if style is Line/StepLine/Area and join is true:
// skip but connect to next valid point
else:
// break the line / skip the bar
continue
actual_bar = bar_index + plot.offset
y = value_to_pixel(value)
x = bar_to_pixel(actual_bar)
match plot.style:
Line/LineBr -> draw line segment to (x, y)
StepLine/... -> draw horizontal then vertical to (x, y)
Area/AreaBr -> fill between y and histbase
Histogram -> draw thin vertical bar from histbase to y
Columns -> draw wide vertical bar from histbase to y
Circles -> draw circle at (x, y)
Cross -> draw + at (x, y)
Diamond -> draw diamond at (x, y)PlotShape
在圖表上渲染形状符号。由 Pine plotshape() 函数产生。
Pine 示例:
plotshape(close > open, style=shape.triangleup, location=location.belowbar, color=color.green)欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
title | String | 圖形标题,顯示在圖表圖例和資料視窗中。 |
series | (private) | 逐 K 線值,决定是否繪製形状。通過 bool_value(i)(若形状应在 K 線 i 上顯示则返回 Some(true))或 float_value(i)(原始數值)存取。当 location 為 Absolute 时,float 值用作 Y 坐标。 |
style | Shape | 要繪製的形状符号類型(如三角形、箭头、圆、十字、菱形、旗帜、标签、方形、X 形)。 |
location | Location | 控制形状的垂直位置。AboveBar/BelowBar 在 K 線最高/最低价上下固定偏移处放置。Top/Bottom 锚定到窗格顶部/底部。Absolute 将序列 float 值用作精确 Y 价格坐标。 |
colors | Series<Option<Color>> | 形状的逐 K 線顏色。可為常量或随 K 線动态变化(如看涨信号绿色、看跌信号红色)。 |
offset | i32 | 按给定 K 線数左右偏移形状。默認:0。 |
text | Option<String> | 形状旁顯示的可选文本。支持 \n 多行。在形状位置附近渲染。 |
text_colors | Series<Option<Color>> | 文本的逐 K 線顏色。与形状顏色獨立。 |
size | Size | 控制圖表上形状的視覺大小:Auto、Tiny、Small、Normal、Large、Huge。 |
show_last | Option<usize> | 若設定,仅在最末 N 根 K 線上繪製形状(从最近 K 線向前计数)。 |
display | PlotDisplay | 控制可见性的位標誌。參見 PlotDisplay。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定。 |
存取方法:
bool_value(bar_index) -> Option<bool>— 值非零時返回true(應繪製形狀),零時false,na 時None。float_value(bar_index) -> Option<f64>— 返回原始 float 值。
渲染逻辑:
for bar_index in 0..chart.series_len():
show = plotshape.bool_value(bar_index) // Option<bool>
if show is None or show == false:
continue
x = bar_to_pixel(bar_index + offset)
y = match location:
AboveBar -> bar_high_pixel - margin
BelowBar -> bar_low_pixel + margin
Absolute -> value_to_pixel(plotshape.float_value(bar_index))
Top -> pane_top
Bottom -> pane_bottom
draw_shape(style, x, y, size, colors[bar_index])
if text is not None:
draw_text(text, x, y, text_colors[bar_index])PlotChar
与 PlotShape 类似,但渲染单个字符。由 Pine plotchar() 函数产生。
Pine 示例:
plotchar(crossover, char='*', location=location.abovebar, color=color.yellow)欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
title | String | 圖形标题,顯示在圖表圖例和資料視窗中。 |
series | (private) | 逐 K 線值。通過 bool_value(i)/float_value(i) 存取。与 PlotShape 行為相同:location 為 Absolute 时 float 值决定 Y 位置;否则布尔值决定字符是否顯示。 |
char | char | 用作視覺标记的任意单个 Unicode 字符(如 '*'、'✓'、'❄')。 |
location | Location | 垂直位置。与 PlotShape 相同:AboveBar、BelowBar、Top、Bottom 或 Absolute。 |
colors | Series<Option<Color>> | 字符的逐 K 線顏色。 |
offset | i32 | 按给定 K 線数左右偏移字符。默認:0。 |
text | Option<String> | 字符旁顯示的可选额外文本。支持 \n 多行。 |
text_colors | Series<Option<Color>> | 额外文本的逐 K 線顏色。 |
size | Size | 圖表上字符的大小:Auto、Tiny、Small、Normal、Large、Huge。 |
show_last | Option<usize> | 若設定,仅在最末 N 根 K 線上繪製。 |
display | PlotDisplay | 控制可见性的位標誌。參見 PlotDisplay。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定。 |
渲染与 PlotShape 相同,仅用 char 字符替代形状符号。
PlotArrow
渲染方向箭头。由 Pine plotarrow() 函数产生。箭头方向由值的符号决定。
Pine 示例:
plotarrow(close - open, colorup=color.green, colordown=color.red)欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
title | String | 圖形标题,顯示在圖表圖例和資料視窗中。 |
series | Series<Option<f64>> | 决定箭头方向和相对高度的逐 K 線數值。正值在 K 線上方繪製向上箭头;负值在 K 線下方繪製向下箭头。None (na) = 該 K 線不繪製箭头。绝对值决定箭头相对于序列中其他箭头的高度 —— 更大绝对值产生更高箭头。 |
up_colors | Series<Option<Color>> | 向上箭头的逐 K 線顏色(序列值為正时繪製)。可随 K 線动态变化。None = 使用默認顏色。 |
down_colors | Series<Option<Color>> | 向下箭头的逐 K 線顏色(序列值為负时繪製)。可随 K 線动态变化。None = 使用默認顏色。 |
offset | i32 | 按给定 K 線数左右偏移箭头。默認:0。渲染器应在 bar_index + offset 而非 bar_index 处繪製箭头。 |
min_height | usize | 箭头最小可能高度(像素)。序列中最小绝对值映射到此高度。默認:5。 |
max_height | usize | 箭头最大可能高度(像素)。序列中最大绝对值映射到此高度。默認:100。箭头高度根据該 K 線绝对值与整个序列最大绝对值的比例,在 min_height 与 max_height 之间线性插值。 |
show_last | Option<usize> | 若設定,仅在最末 N 根 K 線上繪製箭头(从最近 K 線向前计数)。更早的 K 線隱藏。None = 顯示全部。 |
display | PlotDisplay | 控制箭头数据可见位置的位標誌:圖表窗格、資料視窗、價格刻度、狀態列,或全部/无。仅当設定 PANE 標誌时在圖表上渲染。參見 PlotDisplay。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定。 |
渲染逻辑:
for bar_index in 0..chart.series_len():
value = series[bar_index]
if value is None:
continue
x = bar_to_pixel(bar_index + offset)
if value > 0:
// Up arrow: draw above the bar
color = up_colors[bar_index]
height = scale(abs(value), min_height, max_height)
draw_up_arrow(x, bar_high - margin, height, color)
else:
// Down arrow: draw below the bar
color = down_colors[bar_index]
height = scale(abs(value), min_height, max_height)
draw_down_arrow(x, bar_low + margin, height, color)箭头高度根据绝对值相对于序列最大绝对值的比例,在 min_height 与 max_height 之间成比例缩放。
PlotCandle
渲染 OHLC K 線。由 Pine plotcandle() 函数产生。用於繪製自定义 K 線叠加(如 Heikin Ashi)。
Pine 示例:
plotcandle(haOpen, haHigh, haLow, haClose, title="Heikin Ashi", color=haClose >= haOpen ? color.green : color.red)欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
title | String | 圖形标题,顯示在圖表圖例和資料視窗中。 |
series | Series<Option<Bar>> | 逐 K 線 OHLC 数据(开、高、低、收)。每项為 Bar 結構體。None = 該 K 線不繪製。若四个 OHLC 值中有 NaN,则不应繪製該 K 線。四个值的最大值用作最高价,最小值用作最低价,与来自哪个欄位无关。 |
colors | Series<Option<Color>> | K 線实体(开收之间的矩形)的逐 K 線顏色。可随 K 線动态变化 —— 通常 close >= open 时為绿色/看涨,否则红色/看跌。None = 使用默認顏色。 |
wick_colors | Series<Option<Color>> | K 線影线(从实体延伸至最高最低价的细垂线)的逐 K 線顏色。None = 使用默認影线顏色(通常与实体或边框色相同)。 |
border_colors | Series<Option<Color>> | K 線实体边框的逐 K 線顏色。作為实体矩形周围的描边繪製。None = 使用默認边框顏色。 |
show_last | Option<usize> | 若設定,仅在最末 N 根 K 線上繪製 K 線(从最近 K 線向前计数)。更早的 K 線隱藏。None = 顯示全部。 |
display | PlotDisplay | 控制 K 線数据可见位置的位標誌。仅当設定 PANE 標誌时在圖表上渲染。參見 PlotDisplay。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定。 |
Bar 結構體(OHLC 数据):
| 欄位 | 類型 | 描述 |
|---|---|---|
open | f64 | 开盘价 |
high | f64 | 最高价 |
low | f64 | 最低价 |
close | f64 | 收盘价 |
渲染:
对每根具有非 None OHLC 值的 K 線:
- 使用
wick_colors繪製影线(从low到high的垂线)。 - 使用
colors填充繪製实体(从open到close的矩形)。 - 使用
border_colors繪製实体边框。 close >= open為看涨;否则看跌。顏色已由腳本按 K 線設定。
PlotBar
渲染 OHLC 條形图(细线,非 K 線)。由 Pine plotbar() 函数产生。
欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
title | String | 圖形标题,顯示在圖表圖例和資料視窗中。 |
series | Series<Option<Bar>> | 逐 K 線 OHLC 数据。每项為 Bar 結構體。None = 該 K 線不繪製。若四个值中有 NaN,则不应繪製。四个值的最大值用作最高价,最小值用作最低价。 |
colors | Series<Option<Color>> | 应用於整个 OHLC 條的逐 K 線顏色(垂线、开盘标记、收盘标记均用此顏色繪製)。可随 K 線动态变化。None = 使用默認顏色。 |
show_last | Option<usize> | 若設定,仅在最末 N 根 K 線上繪製 OHLC 條。None = 顯示全部。 |
display | PlotDisplay | 控制 OHLC 條数据可见位置的位標誌。仅当設定 PANE 標誌时在圖表上渲染。參見 PlotDisplay。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定。 |
渲染:
每根 K 線:繪製从 low 到 high 的垂线,在 open 处的左侧标记,在 close 处的右侧标记。均使用 colors[bar_index] 的顏色。
BackgroundColor (bgcolor)
用逐 K 線顏色填充圖表背景。由 Pine bgcolor() 函数产生。
Pine 示例:
bgcolor(close > open ? color.new(color.green, 90) : color.new(color.red, 90))欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
colors | Series<Option<Color>> | 逐 K 線背景色。每项用指定顏色填充該 K 線的整个垂直條(从窗格顶部到底部)。通常使用半透明顏色(高 alpha/透明度)以着色背景而不遮挡圖表数据。None = 該 K 線无填充/透明。 |
offset | i32 | 将背景色序列按给定 K 線数左右偏移。默認:0。渲染器应在 bar_index + offset 而非 bar_index 处应用顏色。 |
title | Option<String> | 圖表圖例和資料視窗中顯示的标题。None = 無標題。 |
show_last | Option<usize> | 若設定,仅对最末 N 根 K 線应用背景色。更早的 K 線不填充。None = 应用至全部。 |
display | PlotDisplay | 控制 bgcolor 数据可见位置的位標誌。仅当設定 PANE 標誌时在圖表上渲染。參見 PlotDisplay。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定。 |
渲染:
每根 K 線:若 colors[bar_index] 非 None,用指定顏色填充該 K 線的垂直條(从窗格顶到底)。通常為半透明。
Fill
填充两个锚点(两个圖形或两条 hline)之间的区域。由 Pine fill() 函数产生。
Pine 示例:
p1 = plot(sma(close, 10))
p2 = plot(sma(close, 20))
fill(p1, p2, color=color.new(color.blue, 80))欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
from | FillAnchor | 填充区域的第一边界。引用 Plot 序列圖(通過 SeriesGraphId)或 Hline 圖形(通過 GraphId)。两个锚点必须為同一類型 —— 不能混合 Plot 与 Hline。 |
to | FillAnchor | 填充区域的第二边界。与 from 锚点類型相同。每根 K 線在 from 与 to 的 Y 值之间繪製填充。 |
colors | Series<Option<FillColor>> | 逐 K 線填充顏色或渐变。每项可為 Solid(Color) 表示均匀填充,或 Gradient(Gradient) 表示基于 Y 位置在两种顏色间插值的垂直渐变。None = 該 K 線无填充。可随 K 線动态变化。 |
title | Option<String> | 圖表圖例和資料視窗中顯示的标题。None = 無標題。 |
show_last | Option<usize> | 若設定,仅填充最末 N 根 K 線。更早的 K 線不填充。None = 填充全部。 |
fillgaps | bool | 当一个锚点在 K 線上有 na(缺失)值时控制行為。true = 使用缺失锚点的最后已知值,因此填充跨越空值。false = 任锚点為 na 的 K 線上填充中断。 |
display | PlotDisplay | 控制填充数据可见位置的位標誌。仅当設定 PANE 標誌时在圖表上渲染。參見 PlotDisplay。 |
Gradient 結構體(由 FillColor::Gradient 使用):
| 欄位 | 類型 | 描述 |
|---|---|---|
top_value | f64 | color1 完全生效的 Y 轴价格。等于或高于此值的点完全以 color1 渲染。 |
bottom_value | f64 | color2 完全生效的 Y 轴价格。等于或低于此值的点完全以 color2 渲染。 |
color1 | Color | 在 top_value 处应用的顏色。渐变在两值之间从 color1 线性插值到 color2。 |
color2 | Color | 在 bottom_value 处应用的顏色。 |
渲染逻辑:
// Resolve anchor Y values
for bar_index in 0..chart.series_len():
y1 = resolve_anchor(fill.from, bar_index) // f64 or None
y2 = resolve_anchor(fill.to, bar_index) // f64 or None
if y1 is None or y2 is None:
if fillgaps: use last known values
else: skip this bar
fill_color = fill.colors[bar_index]
if fill_color is None:
continue
match fill_color:
Solid(color) -> fill_rect(x, min(y1,y2), bar_width, abs(y1-y2), color)
Gradient(g) -> fill_gradient(x, y1, y2, g.color1, g.color2, g.top_value, g.bottom_value)解析锚点:
FillAnchor::Plot(id)->chart.series_graph(id)?.as_plot()?.series[bar_index]FillAnchor::Hline(id)->chart.graph(id)?.as_hline()?.value(对所有 K 線恒定)
非序列圖(繪圖物件)
使用 chart.graphs() 迭代。每项為 (GraphId, &Graph) 对。这些為时间点物件 —— 不按 K 線索引。它们具有顯式坐标。
for (id, graph) in chart.graphs() {
match graph {
Graph::Hline(h) => { /* render horizontal line */ }
Graph::Label(l) => { /* render label */ }
Graph::Line(l) => { /* render line */ }
Graph::LineFill(lf) => { /* render line fill */ }
Graph::Box(b) => { /* render box */ }
Graph::Polyline(p) => { /* render polyline */ }
Graph::Table(t) => { /* render table */ }
}
}或使用存取方法:graph.as_hline()、graph.as_label() 等。
Hline
固定价格水平的水平线。由 Pine hline() 函数产生。
Pine 示例:
hline(70, "Overbought", color=color.red, linestyle=hline.style_dashed)欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
value | f64 | 繪製水平线的固定 Y 轴值。該值处線條横跨整个窗格宽度。必须為常量(非逐 K 線)。 |
color | Option<Color> | 水平线顏色。必须為常量。None = 使用默認顏色。 |
title | Option<String> | 圖表圖例和資料視窗中顯示的标题。None = 無標題。 |
line_style | HlineStyle | 水平线描边模式:Solid、Dashed 或 Dotted。參見 HlineStyle。 |
line_width | i32 | 水平线像素宽度。默認:1。 |
display | PlotDisplay | 控制 hline 可见位置的位標誌。注意:hline 使用简化的 display,仅支持 display.none 和 display.all。參見 PlotDisplay。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定 —— hline 无 Pine 级 force_overlay 参数。 |
渲染: 根据 force_overlay 确定目标窗格及其值范围(与其他視覺元素逻辑相同)。在該窗格全宽处,繪製与 value 对应像素 Y 处的水平线。
Label
带可选背景形状的定位文本标注。由 Pine Script 中的 label.new() 产生。
Pine 示例:
label.new(bar_index, high, "Buy Signal", style=label.style_label_down, color=color.green)欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
x | i64 | 标签锚点的 X 坐标。解释取決於 xloc:XLocation::Index 时為 0 基 K 線索引;XLocation::Time 时為毫秒级 Unix 时间戳。 |
y | f64 | 标签锚点的 Y 坐标(价格值)。yloc 為 AboveBar 或 BelowBar 时忽略此值,标签相对于给定 X 处 K 線的最高/最低价定位。 |
text | String | 标签内顯示的文本内容。支持 \n 多行。 |
xloc | XLocation | X 轴坐标系。Index = K 線索引(默認),Time = 毫秒级 Unix 时间戳。决定 x 的解释方式。 |
yloc | YLocation | Y 轴定位模式。Price(默認)= 将 y 用作精确价格坐标。AboveBar = 在给定 X 处 K 線最高价上方定位。BelowBar = 在给定 X 处 K 線最低价下方定位。 |
color | Option<Color> | 标签形状的背景填充色。視覺形状由 style 决定。None = 透明背景。 |
style | LabelStyle | 控制标签背景的視覺形状:方向性气泡(上、下、左、右)、箭头、几何形状(圆、菱形、方形、三角)或纯文本(None)。參見 LabelStyle。 |
text_color | Option<Color> | 标签内文本顏色。None = 使用默認文本顏色。 |
size | u32 | 文本字体大小(磅)。 |
text_align | HorizontalAlign | 文本在标签区域内的水平对齐:Left、Center 或 Right。仅对多行或比文本宽的标签有意义。 |
tooltip | Option<String> | 用户悬停标签时在工具提示弹窗中顯示的文本。None = 无工具提示。支持 \n 多行。 |
text_font_family | FontFamily | 标签文本字体族:Default(比例)或 Monospace。 |
text_formatting | TextFormatting | 文本样式:None(常规)、Bold 或 Italic。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定。 |
Line
两点之间的线段。由 Pine Script 中的 line.new() 产生。
Pine 示例:
line.new(bar_index[10], high[10], bar_index, high, color=color.blue, width=2)欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
x1 | i64 | 线段起点的 X 坐标。解释取決於 xloc:K 線索引或毫秒级 Unix 时间戳。 |
y1 | f64 | 线段起点的 Y 坐标(价格)。 |
x2 | i64 | 线段终点的 X 坐标。与 x1 相同坐标系。 |
y2 | f64 | 线段终点的 Y 坐标(价格)。 |
xloc | XLocation | X 轴坐标系。Index = K 線索引(默認),Time = 毫秒级 Unix 时间戳。适用於 x1 和 x2。 |
extend | Extend | 控制线段是否在其定义端点之外延伸。None(默認)= 仅在 (x1,y1) 与 (x2,y2) 之间繪製。Left = 在 (x1,y1) 左侧无限延伸。Right = 在 (x2,y2) 右侧无限延伸。Both = 双向延伸。延伸沿线段斜率。 |
color | Option<Color> | 线段描边顏色。None = 使用默認顏色。 |
style | LineStyle | 描边模式:Solid、Dashed、Dotted,或端点带箭头的样式(ArrowLeft、ArrowRight、ArrowBoth)。參見 LineStyle。 |
width | i32 | 线段描边像素宽度。默認:1。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定。 |
LineFill
填充两条 Line 物件之间的区域。由 Pine Script 中的 linefill.new() 产生。
欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
line1 | GraphId | 第一条 Line 繪圖物件的 ID。通過 chart.graph(line1) 解析獲取线段端点。两条线必须存在且有效才能渲染填充。 |
line2 | GraphId | 第二条 Line 繪圖物件的 ID。通過 chart.graph(line2) 解析。填充繪製在两条线之间的区域。 |
color | Option<Color> | 两条线之间区域的填充顏色。通常為半透明。None = 透明(不渲染填充)。 |
渲染: 通過各自的 GraphId 解析两条线,然后填充它们形成的多边形/区域。填充区域由两条线段(或若任一线設定了 extend 则為其延伸)界定。若任一线被删除或缺失,则不渲染填充。
Box
带可选文本的轴对齐矩形。由 Pine Script 中的 box.new() 产生。
Pine 示例:
box.new(bar_index - 10, high, bar_index, low, bgcolor=color.new(color.blue, 80))欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
left | i64 | 左边缘的 X 坐标。解释取決於 xloc:K 線索引或毫秒级 Unix 时间戳。 |
top | f64 | 上边缘的 Y 坐标(较高价格值)。 |
right | i64 | 右边缘的 X 坐标。与 left 相同坐标系。 |
bottom | f64 | 下边缘的 Y 坐标(较低价格值)。 |
border_color | Option<Color> | 矩形边框描边顏色。None = 不繪製边框。 |
border_width | i32 | 矩形边框像素宽度。默認:1。设為 0 表示无边框。 |
border_style | LineStyle | 矩形边框描边模式:Solid、Dashed 或 Dotted。箭头样式通常不用於矩形。參見 LineStyle。 |
extend | Extend | 控制矩形是否在左右边缘外延伸。None(默認)= 仅在 left 与 right 之间繪製。Left = 左边缘延伸至圖表起始。Right = 右边缘延伸至圖表末端。Both = 双向延伸。上下 Y 值保持不变。 |
xloc | XLocation | left 和 right 的 X 轴坐标系。Index = K 線索引(默認),Time = 毫秒级 Unix 时间戳。 |
background_color | Option<Color> | 矩形内部填充色。通常為半透明。None = 透明(无填充)。 |
text | String | 矩形内顯示的文本,根据 text_halign 和 text_valign 定位。空字符串 = 无文本。支持 \n 多行。 |
text_size | u32 | 文本字体大小(磅)。 |
text_color | Option<Color> | 矩形内文本顏色。None = 使用默認文本顏色。 |
text_halign | HorizontalAlign | 文本在矩形内的水平对齐:Left、Center(默認)或 Right。 |
text_valign | VerticalAlign | 文本在矩形内的垂直对齐:Top、Middle(默認)或 Bottom。 |
text_wrap | TextWrap | 文本换行行為:Auto = 换行以适应矩形宽度,None = 不换行(文本可能溢出)。 |
text_font_family | FontFamily | 文本字体族:Default(比例)或 Monospace。 |
text_formatting | TextFormatting | 文本样式:None(常规)、Bold 或 Italic。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定。 |
Polyline
连接的线段序列(可选闭合和/或曲线)。由 Pine Script 中的 polyline.new() 产生。
欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
points | Vec<(i64, f64)> | 定义折线路径的 (x, y) 顶点有序列表。X 為 K 線索引,Y 為价格。点按順序连接。空列表表示不繪製任何内容。 |
curved | bool | 控制点之间的插值。true = 作為通過点的平滑曲线渲染(使用三次样条或贝塞尔插值)。false = 用直线段连接点。 |
closed | bool | 控制路径是否形成闭合形状。true = 将最后点连接回第一点形成多边形。false = 路径开放(首尾点不连接)。 |
line_color | Option<Color> | 折线路径描边顏色。None = 不繪製描边。 |
fill_color | Option<Color> | 内部填充顏色。仅当 closed 為 true 时有意义 —— 填充闭合多边形内部。closed 為 false 时忽略。None = 无填充。通常為半透明。 |
line_style | LineStyle | 折线描边模式:Solid、Dashed 或 Dotted。參見 LineStyle。 |
line_width | i32 | 折线描边像素宽度。默認:1。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定。 |
渲染:
- 将所有
(x, y)点轉換為像素坐标。 - 若
curved:使用三次样条或贝塞尔插值。 - 若
closed:将最后点连接至第一点。 - 用
line_color、line_style、line_width描边路径。 - 若設定
fill_color且closed:填充内部。
Table
锚定在圖表固定位置的单元格网格。由 Pine Script 中的 table.new() 产生。
Pine 示例:
var t = table.new(position.top_right, 2, 3)
table.cell(t, 0, 0, "Header", text_color=color.white, bgcolor=color.blue)欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
position | Position | 表格在圖表上的锚定位置。表格作為浮动叠加层在 9 个位置之一渲染(如 TopRight、BottomCenter、MiddleLeft)。表格不随圖表滚动 —— 保持在指定位置。參見 Position。 |
background_color | Option<Color> | 整个表格的背景色。应用於所有单元格后方。None = 透明。 |
frame_color | Option<Color> | 外框(整个表格周围边框)顏色。None = 无外框。 |
frame_width | i32 | 外框像素宽度。默認:0(无框)。 |
border_color | Option<Color> | 单元格之间网格线的默認边框顏色。None = 无单元格边框。 |
border_width | i32 | 单元格边框默認像素宽度。默認:0(无边框)。 |
force_overlay | bool | true = 在主圖窗格繪製。false = 在副圖繪製。默認為腳本的 overlay 設定。 |
方法:
| 方法 | 返回類型 | 描述 |
|---|---|---|
num_columns() | usize | 列数 |
num_rows() | usize | 行数 |
cell(row, col) | &TableCell | 存取单元格(越界时 panic) |
cell_opt(row, col) | Option<&TableCell> | 存取单元格(越界时返回 None) |
TableCell 欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
text | String | 单元格内顯示的文本内容。支持 \n 多行。空字符串 = 无文本。 |
width | f32 | 单元格宽度占圖表可用宽度的百分比。0.0 = 根据内容自动调整。值為百分比(如 25.0 = 圖表宽度的 25%)。 |
height | f32 | 单元格高度占圖表可用高度的百分比。0.0 = 根据内容自动调整。 |
text_color | Option<Color> | 单元格内文本顏色。None = 使用默認文本顏色。 |
text_halign | HorizontalAlign | 文本在单元格内的水平对齐:Left、Center(默認)或 Right。 |
text_valign | VerticalAlign | 文本在单元格内的垂直对齐:Top、Middle(默認)或 Bottom。 |
text_size | u32 | 文本字体大小(磅)。 |
background_color | Option<Color> | 該单元格的背景色。覆蓋表格级 background_color。None = 继承自表格。 |
tooltip | Option<String> | 用户悬停单元格时在工具提示弹窗中顯示的文本。None = 无工具提示。 |
text_font_family | FontFamily | 单元格文本字体族:Default(比例)或 Monospace。 |
text_formatting | TextFormatting | 文本样式:None(常规)、Bold 或 Italic。 |
colspan | usize | 該单元格跨列的列数。默認:1。大于 1 时将該单元格与右侧相邻单元格合并。 |
rowspan | usize | 該单元格跨行的行数。默認:1。大于 1 时将該单元格与下方相邻单元格合并。 |
K 線顏色
通過 chart.bar_colors() 存取。控制主 K 線/條形圖的逐 K 線顏色覆蓋。由 Pine barcolor() 函数产生。
Pine 示例:
barcolor(close > open ? color.green : color.red)欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
colors | Series<Option<Color>> | 主 K 線/條形圖的逐 K 線顏色覆蓋。設定后,整根 K 線或条(实体、影线、边框)以此顏色繪製,覆蓋默認的涨跌配色。None = 該 K 線无覆蓋(使用圖表默認配色)。 |
offset | i32 | 将顏色序列按给定 K 線数左右偏移。默認:0。渲染器应在 bar_index + offset 而非 bar_index 处应用顏色覆蓋。 |
show_last | Option<usize> | 若設定,仅对最末 N 根 K 線应用顏色覆蓋。更早的 K 線使用默認配色。None = 应用至全部。 |
title | Option<String> | 圖表圖例和資料視窗中顯示的标题。None = 無標題。 |
display | PlotDisplay | 控制 barcolor 数据可见位置的位標誌。仅当設定 PANE 標誌时应用顏色覆蓋。參見 PlotDisplay。 |
渲染: 繪製主 OHLC K 線/条时,檢查 bar_colors.colors[bar_index]。若為 Some(color),使用該顏色替代默認涨跌配色。
成交訂單(策略)
对于策略腳本,chart.filled_orders_on_bar(bar_index) 返回给定 K 線上的成交訂單列表。每项為 FilledOrder(信号/订单 ID、价格、带符号數量)。
FilledOrder 欄位:
| 欄位 | 類型 | 描述 |
|---|---|---|
order_id | String | strategy.entry()、strategy.exit() 或 strategy.order() 中的信號名(入场/出场 ID)。顯示在圖表上成交标记旁(TradingView 风格)。 |
price | f64 | 订单成交价格。用作在圖表上渲染成交标记时的 Y 坐标。 |
quantity | f64 | 該次执行的成交量(合约/股数)。正 = 买入,负 = 卖出。用符号决定标记方向(如买入用上箭头,卖出用下箭头)。 |
渲染器应繪製每笔成交,并顯示其信號名(order_id)和带符号數量:买入在 K 線上方,卖出在下方;同一 K 線多笔成交叠加。若需每 K 線总量,对列表中的 quantity 求和。
列舉参考
ScriptInfo Enums
Format — 副圖 Y 軸標籤及十字準線/工具提示中的數值格式:
| 變體 | 描述 | 輸出示例 |
|---|---|---|
Inherit | 使用圖表默認格式(默認) | 150.25 |
Price | 格式化為價格 | 150.25 |
Volume | 使用成交量縮寫格式 | 1.5M、200K |
Percent | 格式化為百分比 | 3.14% |
MinTick | 使用品種最小 tick 格式化 | (不可用時視為 Price) |
format 應用於所有副圖軸標籤和工具提示數值。主圖(蠟燭圖)價格軸無論此欄位為何值,始終使用價格格式。
ScaleType — 價格刻度位置:
| 变体 | 描述 |
|---|---|
None | 自动/无专用刻度(默認) |
Left | 顯示在左侧刻度 |
Right | 顯示在右侧刻度 |
Plot Enums
PlotStyle — Plot 的渲染样式:
| 变体 | 描述 |
|---|---|
Line | 用直线段连接点(默認) |
LineBr | 类似 Line,但在 na 处断开 |
StepLine | 阶梯线(先水平后垂直) |
StepLineBr | 类似 StepLine,但在 na 处断开 |
Area | 線條与 histbase 之间的填充区域 |
AreaBr | 类似 Area,但在 na 处断开 |
Histogram | 从 histbase 到值的细垂直柱 |
Columns | 从 histbase 到值的宽垂直柱 |
Circles | 每点处圆形标记 |
Cross | 每点处十字 (+) 标记 |
Diamond | 每点处菱形标记 |
PlotLineStyle — 基于線條圖形的描边模式:
| 变体 | 描述 |
|---|---|
Solid | 实线描边(默認) |
Dashed | 虚线描边 |
Dotted | 点线描边 |
HlineStyle — 水平线描边模式:
| 变体 | 描述 |
|---|---|
Solid | 实线描边 |
Dashed | 虚线描边 |
Dotted | 点线描边 |
Shape / Marker Enums
Shape — PlotShape 的符号類型:
| 变体 | 視覺 |
|---|---|
XCross | X 形(默認) |
Cross | + 形 |
Circle | 圆形 |
Square | 方形 |
Diamond | 菱形 |
TriangleUp | 向上三角形 |
TriangleDown | 向下三角形 |
ArrowUp | 向上箭头 |
ArrowDown | 向下箭头 |
Flag | 旗帜 |
LabelUp | 指向上方的标签 |
LabelDown | 指向下方的标签 |
Location — PlotShape / PlotChar 的垂直位置:
| 变体 | 描述 |
|---|---|
AboveBar | K 線最高价上方的固定偏移(默認) |
BelowBar | K 線最低价下方的固定偏移 |
Absolute | 将序列值用作 Y 坐标 |
Top | 在窗格顶部 |
Bottom | 在窗格底部 |
Size — 形状和字符的大小:
| 变体 | 描述 |
|---|---|
Auto | 自动调整大小(默認) |
Tiny | 超小 |
Small | 小 |
Normal | 标准大小 |
Large | 大 |
Huge | 超大 |
Drawing Enums
LineStyle — Line、Box 边框、Polyline 的描边样式:
| 变体 | 描述 |
|---|---|
Solid | 实线描边(默認) |
Dashed | 虚线描边 |
Dotted | 点线描边 |
ArrowLeft | 带左指向箭头的线 |
ArrowRight | 带右指向箭头的线 |
ArrowBoth | 两端带箭头的线 |
Extend — 线/矩形延伸模式:
| 变体 | 描述 |
|---|---|
None | 不延伸(默認) |
Left | 向左无限延伸 |
Right | 向右无限延伸 |
Both | 双向无限延伸 |
LabelStyle — Label 的形状样式:
| 变体 | 描述 |
|---|---|
None | 仅文本,无背景形状 |
LabelDown | 向下的标签气泡(默認) |
LabelUp | 向上的标签气泡 |
LabelLeft | 向左的标签气泡 |
LabelRight | 向右的标签气泡 |
LabelCenter | 居中的标签气泡 |
LabelLowerLeft | 左下标签气泡 |
LabelLowerRight | 右下标签气泡 |
LabelUpperLeft | 左上标签气泡 |
LabelUpperRight | 右上标签气泡 |
ArrowDown | 向下箭头 |
ArrowUp | 向上箭头 |
Circle | 圆形 |
Cross | 十字 (+) 形 |
Diamond | 菱形 |
Square | 方形 |
Flag | 旗帜形 |
TriangleDown | 向下三角形 |
TriangleUp | 向上三角形 |
XCross | X 形 |
TextOutline | 带轮廓的文本,无填充 |
Coordinate Enums
XLocation — X 轴坐标系:
| 变体 | 描述 |
|---|---|
Index | X 值為 K 線索引(0 基整数) |
Time | X 值為毫秒级 Unix 时间戳 |
YLocation — Y 轴定位(仅标签):
| 变体 | 描述 |
|---|---|
Price | Y 為 Y 轴上的价格值(默認) |
AboveBar | 在给定 X 处 K 線最高价上方 |
BelowBar | 在给定 X 处 K 線最低价下方 |
Position Enum
表格在圖表上的锚定位置:
| 变体 | 描述 |
|---|---|
TopLeft | 左上角 |
TopCenter | 顶部居中 |
TopRight | 右上角 |
MiddleLeft | 左侧居中 |
MiddleCenter | 圖表中心 |
MiddleRight | 右侧居中 |
BottomLeft | 左下角 |
BottomCenter | 底部居中 |
BottomRight | 右下角 |
Text Enums
| 列舉 | 变体 | 描述 |
|---|---|---|
HorizontalAlign | Left、Center、Right | 文本水平对齐 |
VerticalAlign | Top、Middle、Bottom | 文本垂直对齐 |
FontFamily | Default、Monospace | 字体选择 |
TextFormatting | None、Bold、Italic | 文本样式 |
TextWrap | Auto、None | 文本换行行為 |
Fill Enums
FillAnchor — Fill 的边界引用:
| 变体 | 描述 |
|---|---|
Plot(SeriesGraphId) | 引用 Plot 序列圖 |
Hline(GraphId) | 引用 Hline 圖形 |
FillColor — 填充顏色類型:
| 变体 | 描述 |
|---|---|
Solid(Color) | 均匀填充顏色 |
Gradient(Gradient) | 两值间的垂直渐变 |
渲染順序
推荐的繪製順序(从后到前):
- 圖表背景 — 用主题背景色清空。
- 网格线 — 价格和时间轴网格线。
- 背景色 — 迭代
series_graphs,繪製BackgroundColor条。 - 填充 — 迭代
series_graphs,繪製锚点之间的Fill区域。 - 主 K 線/条 — 输入 OHLC 数据(应用
bar_colors覆蓋)。若behind_chart為false,在其上繪製腳本視覺元素;否则在其后繪製。 - Hline — 迭代
graphs,繪製水平线。 - Plot 序列 — 迭代
series_graphs,繪製Plot(线、面积、直方图、标记)。 - 扩展序列 — 迭代
series_graphs,繪製PlotCandle、PlotBar、PlotArrow、PlotChar、PlotShape。 - 繪圖物件 — 迭代
graphs,繪製Line、Box、Polyline、LineFill。 - Label — 迭代
graphs,繪製Label(文本 + 形状)。 - Table — 迭代
graphs,在其锚定位置繪製Table。 - 坐标轴 — 價格刻度、时间刻度、成交量刻度。
- 订单成交 — 对于策略,从
filled_orders繪製成交标记。 - 十字线/交互叠加层 — 鼠标跟踪、工具提示。
若 explicit_plot_zorder 為 true,严格按迭代順序(即腳本中的聲明順序)繪製序列圖。先聲明 = 底层。
若任何視覺元素的 force_overlay 為 true,无论腳本是否為叠加,均在主圖价格窗格渲染。
当設定 show_last 时,仅渲染最后 N 项。当設定 offset 时,按該 K 線数偏移視覺元素。