输入/搜索内容
内置函数
结构体
Ticker
Depth
OrderBook
Trade
Record
Market
Order
Condition
Account
Asset
Position
Funding
其它结构
HttpQuery-options
HttpQuery-return
LogStatus-table
LogStatus-btnTypeOne
LogStatus-btnTypeTwo
状态栏组件
grid
tabs
kpi
stat
progress
gauge
sparkline
chart
heatmap
calendar
histogram
pie
timeline
markdown
alert
badge
Chart-options
Chart-return
KLineChart-options
KLineChart-return
SetData-data
EventLoop-return
exchange.Go-return
DBExec-return
Dial-return
Thread.join-return
内置变量与常量
通用约定
交易所

简易图表:折线、柱状或面积,支持多条序列、右侧纵轴和买卖点标记;需要更多配置时用Chart。

示例

收盘价折线叠加右轴成交量柱,并在最高收盘价处做标记。

javascript
function main() { var r = exchange.GetRecords(PERIOD_H1) if (!r || r.length < 48) return r = r.slice(-48) var top = r.reduce(function (a, b) { return b.Close > a.Close ? b : a }) LogStatus({ type: "chart", title: "最近48小时", x: r.map(function (b) { return b.Time }), series: [ {name: "收盘价", data: r.map(function (b) { return b.Close })}, {name: "成交量", kind: "bar", axis: "right", color: "muted", data: r.map(function (b) { return b.Volume })} ], marks: [{x: top.Time, text: "最高", color: "up"}] }) }
python
def main(): r = exchange.GetRecords(PERIOD_H1) if not r or len(r) < 48: return r = r[-48:] top = max(r, key=lambda b: b["Close"]) LogStatus({ "type": "chart", "title": "最近48小时", "x": [b["Time"] for b in r], "series": [ {"name": "收盘价", "data": [b["Close"] for b in r]}, {"name": "成交量", "kind": "bar", "axis": "right", "color": "muted", "data": [b["Volume"] for b in r]} ], "marks": [{"x": top["Time"], "text": "最高", "color": "up"}] })
rust
fn join<T: ToString>(v: impl Iterator<Item = T>) -> String { v.map(|x| x.to_string()).collect::<Vec<_>>().join(",") } fn main() { let Ok(r) = exchange.GetRecords(None, PERIOD_H1, None) else { return }; if r.len() < 48 { return; } let r = &r[r.len() - 48..]; let top = r.iter().fold(&r[0], |a, b| if b.Close > a.Close { b } else { a }); LogStatus!(format!( r#"{{"type": "chart", "title": "最近48小时", "x": [{}], "series": [ {{"name": "收盘价", "data": [{}]}}, {{"name": "成交量", "kind": "bar", "axis": "right", "color": "muted", "data": [{}]}}], "marks": [{{"x": {}, "text": "最高", "color": "up"}}]}}"#, join(r.iter().map(|b| b.Time)), join(r.iter().map(|b| b.Close)), join(r.iter().map(|b| b.Volume)), top.Time )); }

属性

名称类型描述

type

string

必填,固定为 chart。

series

object数组

必填。数据序列。

series[].data

数值数组

必填。与 x 一一对应;非数字处断开。

series[].name

string

图例名称。

series[].kind

string

该序列的类型,覆盖 kind。

series[].color

string

序列颜色,默认按顺序分配。取值见状态栏组件。

series[].axis

string

写 right 画在右侧纵轴,用于量级不同的数据(如价格与成交量)。

kind

string

line、bar 或 area。默认 line。

x

string数组 / 数值数组

横轴刻度。全是毫秒时间戳时按时间轴显示;不给时按序号。

marks

object数组

标记点,如买卖点、调仓点。

marks[].x

string / number

必填。x 中的一个值;时间轴上取最近的点。

marks[].y

number

纵坐标。默认取第一条序列在该处的值。

marks[].text

string

标记文字。

marks[].color

string

up 画 ▲(在线下方),down 画 ▼(在线上方),其它画圆点。

stacked

bool

堆叠显示。默认 false。

height

number

高度(像素),120–600。默认 260。

format

object

左轴数值格式,默认 {"compact": true},见状态栏组件。

rightFormat

object

右轴数值格式。默认同 format。

title

string

标题,显示在组件左上角。

id

string

稳定标识。组件的个数或顺序会变化时设置,状态栏刷新时组件不重建。

span

number

在所在grid中占几列。默认 1。

参考

备注

每条序列最多 5000 个点,超出时显示错误卡片。多条序列时显示图例;在图上拖动可以放大横轴区间。