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: [],
});
}이 챕터는 로그인 후 볼 수 있습니다
무료 계정을 만들면 예제 코드와 단계별 설명을 포함한 전체 챕터를 읽을 수 있습니다.
로그인하고 계속 보기