DoQuant
Русский
К оглавлению

Harbor SDK

Пример: спотовая сетка

В этом примере один спотовый символ. На первом баре стратегия один раз покупает по рынку и сохраняет этот факт в kv, чтобы следующие бары не покупали снова. Интерфейс показывает цену закрытия на карточке метрики и линию из одной точки.

  • markets — только spot. symbolMode — single.
  • params.amount — поле объёма на странице создания. Пример заявки по-прежнему использует 0.01. Когда подключите форму, используйте значение, которое ввёл пользователь.
  • В clientOrderId входит время бара, поэтому повторный запуск на том же баре не становится двумя заявками.
  • В permissions входят market, order и account.

Полный пример:

const manifest = {
  name: "现货网格",
  version: "1.0.0",
  ccxtIds: ["binance"],
  markets: ["spot"],
  symbolMode: "single",
  params: { amount: { type: "number", label: "数量" } },
  permissions: ["market", "order", "account"],
};
async function onBar(rt, bar) {
  const bought = await rt.kvGet("bought");
  if (!bought) {
    await rt.order.create({
      clientOrderId: "grid-" + bar.time,
      symbol: bar.symbol,
      side: "buy",
      type: "market",
      amount: "0.01",
    });
    await rt.kvSet("bought", "1");
  }
  rt.setUi({
    cards: [{ kind: "metric", id: "px", label: "close", value: bar.close }],
    buttons: [],
    charts: [{ kind: "chart", id: "c", label: "close", points: [{ time: bar.time, value: bar.close }] }],
    fields: [],
  });
}
Эта глава доступна после входа

Создайте бесплатный аккаунт, чтобы прочитать главу целиком, включая примеры кода и пошаговые инструкции.

Войти и продолжить