度宽量化
简体中文
返回手册

Harbor SDK

示例:趋势

这个示例做永续单标的。每根 K 线读取最近几根 1 小时收盘价,用倒数第二根和最新收盘价比方向。没有持仓并且价格上涨时,市价买入。

  • markets 是 swap,symbolMode 是 single。
  • 先 getKlines,再 getPositions。空仓用持仓数组长度为 0 判断。
  • clientOrderId 使用 trend- 加上 K 线时间。
  • 每根 K 线写一条 info 日志,方便在实例里核对收盘价。

它只在上涨且空仓时买入,没有写卖出。实盘前要自己补上离场条件,并先用模拟账户看日志。完整示例:

const manifest = {
  name: "趋势",
  version: "1.0.0",
  ccxtIds: ["binance"],
  markets: ["swap"],
  symbolMode: "single",
  params: {},
  permissions: ["market", "order", "account"],
};
async function onBar(rt, bar) {
  const bars = await rt.market.getKlines(bar.symbol, "1h", 3);
  const prev = bars.length > 1 ? Number(bars[bars.length - 2].close) : Number(bar.close);
  const last = Number(bar.close);
  const pos = await rt.account.getPositions();
  if (last > prev && pos.length === 0) {
    await rt.order.create({
      clientOrderId: "trend-" + bar.time,
      symbol: bar.symbol,
      side: "buy",
      type: "market",
      amount: "0.01",
    });
  }
  rt.log("info", "trend " + bar.close);
}
本章节内容登录后可见

注册账号即可免费阅读完整章节,包括示例代码与逐步操作说明。

登录 / 注册后查看