Harbor SDK
生命周期与状态
平台在对应事件发生时调用策略函数。至少实现 onBar、onTick、onTimer 之一,否则策略没有机会运行。
| 函数 | 何时调用 |
|---|---|
| onInit | 实例启动时,适合读一次参数或已有状态 |
| onTick | 收到一笔最新价 |
| onBar | 一根 K 线走完,参数是这根 K 线 |
| onTimer | 定时触发,不带行情参数 |
| onFill | 有成交。参数里有 clientOrderId、price、amount、fee、timestamp |
| onStop | 实例停止时,用来收尾日志或界面 |
01日志和少量状态
- rt.log(level, message) 的 level 是 info、warn 或 error。内容出现在实例日志里。
- rt.kvGet(key) 读取之前存的字符串,没有则是 null。
- rt.kvSet(key, value) 保存字符串。用来记是否已经买过、当前持有哪个 symbol,不要拿来存大段 K 线。
async function onBar(rt, bar) {
rt.log("info", bar.close);
}