内置函数
结构体
Ticker
Depth
OrderBook
Trade
Record
Market
Order
Condition
Account
Asset
Position
Funding
其它结构
内置变量与常量
通用约定
交易所
heatmap
热力图:二维网格按数值深浅着色,适合时段 × 品种的收益、相关性矩阵。
示例
用小时K线画最近3天每个小时的涨跌幅。
javascript
function main() {
var r = exchange.GetRecords(PERIOD_H1)
if (!r || r.length < 73) return
var rets = r.slice(-73).map(function (b, i, a) { return i ? b.Close / a[i - 1].Close - 1 : 0 })
var days = [1, 25, 49] // 每天 24 根,第一行是最早的一天
LogStatus({
type: "heatmap", title: "最近3天逐小时涨跌", format: {percent: true, precision: 2},
x: r.slice(-24).map(function (b) { return _D(b.Time, "hh:00") }),
y: days.map(function (d) { return _D(r[r.length - 73 + d].Time, "MM-dd") }),
z: days.map(function (d) { return rets.slice(d, d + 24) })
})
}
python
def main():
r = exchange.GetRecords(PERIOD_H1)
if not r or len(r) < 73:
return
bars = r[-73:]
rets = [0] + [bars[i]["Close"] / bars[i - 1]["Close"] - 1 for i in range(1, 73)]
days = [1, 25, 49] # 每天 24 根,第一行是最早的一天
LogStatus({
"type": "heatmap", "title": "最近3天逐小时涨跌",
"format": {"percent": True, "precision": 2},
"x": [_D(b["Time"] / 1000, "%H:00") for b in bars[-24:]],
"y": [_D(bars[d]["Time"] / 1000, "%m-%d") for d in days],
"z": [rets[d:d + 24] for d in days]
})
rust
fn main() {
let Ok(r) = exchange.GetRecords(None, PERIOD_H1, None) else { return };
if r.len() < 73 { return; }
let bars = &r[r.len() - 73..];
let days = [1usize, 25, 49]; // 每天 24 根,第一行是最早的一天
// Rust 的 _D() 固定输出 UTC 时间
let x: Vec<String> = bars[49..].iter()
.map(|b| format!("\"{}:00\"", &_D(b.Time)[11..13]))
.collect();
let y: Vec<String> = days.iter()
.map(|&d| format!("\"{}\"", &_D(bars[d].Time)[5..10]))
.collect();
let ret = |i: usize| (bars[i].Close / bars[i - 1].Close - 1.0).to_string();
let row = |d: usize| format!("[{}]", (d..d + 24).map(ret).collect::<Vec<_>>().join(","));
let z: Vec<String> = days.iter().map(|&d| row(d)).collect();
LogStatus!(format!(
r#"{{"type": "heatmap", "title": "最近3天逐小时涨跌",
"format": {{"percent": true, "precision": 2}},
"x": [{}], "y": [{}], "z": [{}]}}"#,
x.join(","), y.join(","), z.join(",")
));
}属性
| 名称 | 类型 | 描述 |
type | string | 必填,固定为 |
x | string数组 / 数值数组 | 必填。横轴刻度。 |
y | string数组 / 数值数组 | 必填。纵轴刻度,第一个在最下面。 |
z | array | 必填。二维数值数组 |
min | number | 颜色映射的下限。默认取数据最小值。 |
max | number | 颜色映射的上限。默认取数据最大值。 |
color | string | 单色深浅。不设置且数据有正有负时,正值涨色、负值跌色,深浅按绝对值。取值见 |
format | object | 数值格式 |
height | number | 高度(像素), |
title | string | 标题,显示在组件左上角。 |
id | string | 稳定标识。组件的个数或顺序会变化时设置,状态栏刷新时组件不重建。 |
span | number | 在所在 |
参考
备注
x 与 y 个数的乘积不超过 40000,超出或 z 的行列数对不上时显示错误卡片。鼠标悬停显示格子的数值。