DoQuant
한국어
매뉴얼로 돌아가기

Harbor SDK

예시: 현물 그리드

이 예시는 현물 심볼 하나입니다. 첫 봉에서 시장가로 한 번 매수하고 그 사실을 kv에 저장해, 이후 봉에서는 다시 사지 않습니다. UI는 지표 카드에 종가를 보여 주고 점이 하나인 선을 그립니다.

  • 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: [],
  });
}
이 챕터는 로그인 후 볼 수 있습니다

무료 계정을 만들면 예제 코드와 단계별 설명을 포함한 전체 챕터를 읽을 수 있습니다.

로그인하고 계속 보기